2017年12月12日火曜日

minecraft-pi-ruby サンプル集

概要

ちょろっと触ったので残しておきます
基本的な操作を押さえています
minecraft-pi-ruby の環境構築こちら

環境

  • macOS X 10.13.2
  • Minecraft 1.12.2
  • Forge 1.12.2 - 14.23.1.2555
  • Raspberry Jam 0.93
  • Ruby 2.4.1p111
  • minecraft-pi-ruby 0.0.1

サンプルスクリプト

# coding: utf-8
require 'minecraft-pi-ruby'

mc = Minecraft.new

# プレイヤーの座標を取得
ppos = mc.get_player_position
mc.say ppos

# プレイヤーの隣に丸石を作成
x = ppos.x + 1
mc.set_block(x, ppos.y, ppos.z, Block::STONE)

# プレイヤーの前にダイヤブロックを作成
z = ppos.z + 1
mc.set_block(ppos.x, ppos.y, z, Block::DIAMOND_BLOCK)

# プレイヤーの上に金ブロックを作成
y = ppos.y + 2
mc.set_block(ppos.x, y, ppos.z, Block::GOLD_BLOCK)

# 現在位置から 10 高い頭上に 10 x 10 の金ブロックを作成
bpos1 = ppos.clone
bpos1.y += 10
bpos2 = bpos1.clone
bpos2.x += 9
bpos2.y += 9
bpos2.z += 9
mc.say bpos1
mc.say bpos2
mc.set_blocks(bpos1, bpos2, Block::GOLD_BLOCK)

# x 方向に 10 個TNT を作成
bpos3 = ppos.clone
bpos3.x += 2
bpos4 = bpos3.clone
bpos4.x += 9
mc.say bpos3
mc.say bpos4
mc.set_blocks(bpos3, bpos4, Block::TNT)

# カメラモード切替 (なぜか動作しない)
mc.set_camera_mode(:fixed)

# 真下のブロックの ID を取得 (なぜか常に Fail になる)
mc.say mc.get_block(ppos.x, ppos.y - 1, ppos.z)

# 現在の位置から高さ 30 のところにプレイヤーを移動 (落ちないようにブロックを作成)
mc.set_block(ppos.x, ppos.y + 29, ppos.z, Block::STONE)
mc.set_player_position(ppos.x, ppos.y + 30, ppos.z)

記載のバージョン PC 版ではうまく動作しないメソッドもありました
ブロックの設置とプレイヤーの移動ができれば何とかなると思います
使えるブロックの一覧はこちらでコードと石の対応はこちらこちらが参考になると思います

これを使って家でも自動で構築できるスクリプトでも書いてみようと思います

0 件のコメント:

コメントを投稿