SlideShare a Scribd company logo
・松明の明るさは14
・モンスターは
明るさが7以下でスポーン
・松明から1ブロック離れると
明るさは1低下する
湧き潰しのルール
・6マスごとに松明を置くと
明るさが7以下にならない
・最も単純な置き⽅
湧き潰し
fillコマンド
01.fill_command.mov
デモ
from mcrcon import MCRcon
with MCRcon(server_address, server_passwd, 25575) as mcr:
start_x, start_y, start_z = 6, 68, 108 <----- 湧き潰し範囲の指定
end_x, end_y, end_z = 60, 69, 144
for x in range(start_x, end_x): <----- x座標による繰り返し
for z in range(start_z, end_z): <----- z座標による繰り返し
if x % 6 == 0 and z % 6 == 0: <----- x座標、z座標が共に6の倍数だったら
for y in range(start_y, end_y): <----- y座標による繰り返し
res = mcr.command("/fill %s %s %s %s %s %s minecraft:torch" % (x, y, z, x, y, z))
自動湧き潰しのロジック
イテレータ
for x in range(start_x, end_x):
「start_x以上、end_x未満のイテレータを⽣成する」
イテレータ:繰り返し項⽬を抽象化したもの
in演算⼦によってイテレータから要素を1つずつ取り出す
デモ
ループが正しく実⾏されているか
02.iterator.mov
if文
if x % 6 == 0 and z % 6 == 0:
「xを6で割った余りが0 = xが6の倍数だったら」
参考:6の倍数だけのイテレータを作成する
for x in filter(lambda x:x%6==0, range(start_x, end_x)):
デモ
空中に松明が置かれる
03.make_torch.mov
松明を地面に置く
y軸(⾼さ)⽅向にブロックをチェックして置く
←空気(minecraft:air):松明を置ける
←草ブロック(minecraft:grass):×
←⼟ブロック(minecraft:dirt):×下からチェックする
草を刈って松明を置くロジックを組み込む
草を刈る?
←草(minecraft:tallgrass):草を刈って松明を置く
←⼟ブロック(minecraft:dirt):×
マインクラフトコマンド
「もし〜だったら、commandを実⾏する」
もしブロックがairだったら、torchを置く
/execute if block x, y, z minecraft:air 
run fill x, y, z, x, y, z minecraft:torch
execute if run command
res = mcr.command("execute if block %s %s %s minecraft:air run 
fill %s %s %s %s %s %s minecraft:torch" % (x, y, z, x, y, z, x, y, z))
if res == "Successfully filled 1 blocks":
print(res)
break
res = mcr.command("execute if block %s %s %s minecraft:tallgrass run 
fill %s %s %s %s %s %s minecraft:torch" % (x, y, z, x, y, z, x, y, z))
if res == "Successfully filled 1 blocks":
print(res)
break
airかgrassなら松明を置く
⾼低差、元からあるブロックを考慮した湧き潰し
04.optimized_torching.mov
デモ
・地下鉄を作る
・設計図をベースに複雑な建造物を作る
・坑道を作る
等々
自動化のアイデア
今回のポイント
・Pythonのイテレータで繰り返し処理を⾏える
・マインクラフトのコマンドにも、
条件付きで実⾏できるものがある
・アイデア次第で何でも⾃動化出来る!

More Related Content

More from Ryo Fujita

マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料
Ryo Fujita
 
マイクラ自動化枠第1回資料
マイクラ自動化枠第1回資料マイクラ自動化枠第1回資料
マイクラ自動化枠第1回資料
Ryo Fujita
 
デジタルトランスフォーメーションにおけるOSSの活用
デジタルトランスフォーメーションにおけるOSSの活用デジタルトランスフォーメーションにおけるOSSの活用
デジタルトランスフォーメーションにおけるOSSの活用
Ryo Fujita
 
2019.01.17 cloud data_store
2019.01.17 cloud data_store2019.01.17 cloud data_store
2019.01.17 cloud data_store
Ryo Fujita
 
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩
Ryo Fujita
 
Jenkins X on AKS
Jenkins X on AKSJenkins X on AKS
Jenkins X on AKS
Ryo Fujita
 

More from Ryo Fujita (6)

マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料
 
マイクラ自動化枠第1回資料
マイクラ自動化枠第1回資料マイクラ自動化枠第1回資料
マイクラ自動化枠第1回資料
 
デジタルトランスフォーメーションにおけるOSSの活用
デジタルトランスフォーメーションにおけるOSSの活用デジタルトランスフォーメーションにおけるOSSの活用
デジタルトランスフォーメーションにおけるOSSの活用
 
2019.01.17 cloud data_store
2019.01.17 cloud data_store2019.01.17 cloud data_store
2019.01.17 cloud data_store
 
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩
 
Jenkins X on AKS
Jenkins X on AKSJenkins X on AKS
Jenkins X on AKS
 

Recently uploaded

シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
TatsuyaHanayama
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 

Recently uploaded (6)

シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
 

マイクラ自動化枠第4回資料