• Minecraft ver1.15のコマンド雑記

    2019-12-14 13:14

    ● gameruleで追加されたコマンド

    - gamerule doImmediateRespawn <true/false>

    プレイヤーが死んだときに、ゲームオーバー画面を出さずにすぐにリスポーンする(しない)ように設定できる

    - gamerule drowingDamage <true/false>

    - gamerule fallDamage <true/false>

    - gamerule fireDamage <true/false>

    それぞれ、水中ダメージ・落下ダメージ・燃焼ダメージを受けるかどうかせっていできる これらのためにエフェクトつけなくて良くなったよ!やったね!

    - gamerule doInsomnia <true/false>

    ファントムが夜にスポーンするか


    spectate コマンド

    /spectate @e[type=pig,limit=1] @p

    というコマンドで、「プレイヤーがスペクテイターモードならば」豚のところまでTPして視界ジャックさせられます。ただし、SHIFTキーで抜けられます。

    SHIFTで抜けたことを検知したい場合は、

    /scoreboard objectives add SHIFT minecraft.custom:minecraft.sneak_time

    で検知できるので、再度かけ直したり、元の場所に移動させたりできます。

    今までTPで無理やりプレイヤーの視点を動かしていた人は、完全に視界が固定できるようになるのでマウス操作をグリグリしても動かなくなってキレイなムービーが作れるようになるよ!


    schedule コマンド

    - schedule clear <id>

    schedule コマンドで実行したコマンドをキャンセルできるようになります。

    - schedule function <id> <time> append

    schedule コマンドで同じIDを連続で実行した場合に、すべて実行されます。(今までと同じ挙動)

    - schedule function <id> <time> replace

    schedule コマンドで同じIDを連続で実行した場合に、前のschedule コマンドを上書きします。 そして、1.15ではappend/replaceを省略した場合は、replaceの挙動になります。


    storage関連

    - storageとは

    structureファイルみたいにゲーム内じゃなくて外部にNBTを保存できるようになる。 入れることのできるNBTは適当につくれるので、自由度は高い。

    今までアーマースタンドなどに一時的にスコアを保存していた人や文字を保存しておきたい人がメリット高い。 あとはコマンドの簡略化なども可能。データ保存なので読み込みが速いらしい。

    ちなみに出力されたデータは、saves/world/data/command_storage_<データパック名>.datに保存されます。 NBTExplorerなどのNBTを見れるツールで開くと、何が設定してあるか確認できます。

    - storageを使うコマンド類

    • /data 関係 ※ なぜかgetが上手く表示されない、だから何を保存したか忘れたら放置しっぱなし
    • /execute store で保存 (数値のみ)
    • /titleや/tellraw、看板、本などのJson

    - どう使えばよいのか

    1. プレイヤーのNBTの一部を保存する(まるごとも可)
    ## プレイヤーの持ち物をすべてplayer(ストレージ名)のitems(nbtパス)に保存する
    /data modify storage player items set from entity @p Inventory

    ## しばらく経ったあと

    ## playerのitemsに保存した持ち物を適当にチェストに放り込む
    ## ちゃんと全アイテムを放り込むにはもう少し手間が必要になります
    /data modify block <x> <y> <z> Items set from storage player items
    1. スコアボードの現在値を保存してまた書き出す
    ## スコアボードの値を設定する
    /scoreboard players set pc1 SCORE 100

    ## スコアボードの値を保存する
    /execute store result storage player score int 1 run scoreboard players get pc1 SCORE

    ## スコアボードの値を変更する
    /scoreboard players set pc1 SCORE 0

    ## スコアボードに値を戻す
    /execute store result score pc1 SCORE run data get storage player score

    別のスコアボードに値を入れておいたほうが楽じゃんと思ったあなた。私もそう思います。

    1. 手に持っていたアイテム名を保存してタイトルに出す (ログアウトしていても出す)
    ## プレイヤーの手に持っているアイテム名をplayerのitemNameに保存する
    /data modify storage player itemName set from entity @p SelectedItem.tag.display.Name

    ## しばらく経ったあと

    ## playerのitemNameをタイトルで出す
    /title @p title {"nbt":"itemName","interpret":true,"storage":"player"}
    • titleコマンド内のinterpretについて補足

      nbtはNBTパス、storageはストレージ名ですが、interpretはJSON文字を解析して出力する設定です。 詳しく説明すると、金床でアイテム名をつけた場合、SelectedItem.tag.display.Nameは以下になってます。

      {SelectedItem:{tag:{display:{Name:'{"text":"アイテム名"}'}}}}
      => '{"text":"アイテム名"}'

      これをinterpretを付けずにタイトルに表示すると

      {"text":"アイテム名"}

      と表示されてしまいます。しかし、interpretを付けると

      アイテム名

      と言う感じで、内部のJSON文字を解析して表示してくれます。

    - さらに応用して

    外部ファイルになったことで、他のワールドにコピーすれば同じ内容のstorageを使い回すことができます。 使いみちがあるかどうかはわからないけども...


    predicate関連

    - predicateとは

    今まで、loot tableファイルの条件式conditionを別ファイルにしたもの。 predicateは複雑な条件を記載できるので、長い条件のコマンドを短く見せることができるようになる。

    predicateファイルは以下に保存すればOK。

    datapacks/<pack名>/data/<名前空間>/predicates/<ファイル名>.json

    - predicateファイルの書き方

    基本的にはloot tableファイルのconditionの書き方を参照して下さい。 また、利用できる項目は https://minecraft.gamepedia.com/Predicate を参照して下さい。

    例えば以下のように書くと、「とあるエンティティに幸運エフェクトが付加されている」判定になります。

    {
    "condition": "entity_properties",
    "entity": "this",
    "predicate": {
    "effects": {
    "minecraft:luck": {
    }
    }
    }
    }

    ※ "minecraft:luck"の中に何も書かれていない場合は、単純に効果が付与されているかのみチェックします。

    - predicateの使い方

    例えば、上で書いた例のものを datapacks/pack/data/game/predicates/luck.json に保存したとしましょう。 その場合、以下のコマンドで自分自身に幸運エフェクトが付与されているかが検知できます。

    /execute if entity @p[predicate=game:luck] run say 幸運状態!

    ## もしくは自分でコマンド入力する場合には
    /execute if predicate game:luck run say 幸運状態!


  • 広告
  • Builders(建築伝言ゲーム・建築ゲーム) 説明書 -P6- 建築しりとりゲーム

    2019-11-11 23:24

    [建築しりとりゲーム]


    ★ 建築しりとりゲームとは

    建築しりとりゲームは建築でしりとりをして次々と伝えていくゲームになります。
    まず、プレイヤーは最初の単語を書きます。
    その後、別のプレイヤーがそれぞれ

     建築 → 回答 → 建築 → 回答 → 建築 → 回答

    を行い、3回の建築と回答を行った後に、最後までしりとりが伝わったかを確認します。
    ちゃんと伝わっていればしりとりゲームとして成功です!

    ★ ゲームに参加する

    サーバーに入ったすぐ近くに緑の床があるため、そこに入ると参加表明できます。一度、入るとその状態が続くため、待っている間はアスレなどで遊んでいても大丈夫です。参加表明状態になっていないと、ゲーム開始時にゲームに参加できません。

    参加表明状態を解除する場合は、赤の床に入って下さい。
    自分の状態を確認したい場合は、Tabキーを押すと確認することができます。自分の名前が緑色になっていれば、参加表明状態です。

    ★ 最初の単語を書く

    ゲームが始まると、紙を渡されます。金床で紙に、最初の単語を書いてください。初めてプレイする場合は、自分でも作れる物を書くと良いでしょう。
    単語を紙に書き終わったら、Fキーでオフハンドに紙を持って下さい。
    Tabキーを押して自分の名前のところが1になっていれば、単語を受け付けた状態になっています。0ならば、まだ単語を受け付けていません。

     
    ※稀に紙がオフハンドに行かない場合があるようです。その場合はEキーでインベントリを開いて、盾マークのある枠に直接紙を置いて下さい

    ★ お題を建築する

    全員が単語を書き終わると、建築フェイズになります。
    クリエイティブモードになるので、制限時間以内にお題に続く単語を建築して下さい。建築物は文字数指定がありますので、注意して下さい。建築中は壁よりも高くなく、壁を壊さなければ問題ありません



    その他にも以下のような特殊な環境になっています。
    • バリアブロックがデフォルトで手元に用意されます
    • 床は数マスまでなら壊しても修復します
    • モブをスポーンエッグで召喚すると、その場で動かなくなります
    • ゾンビなどの日中に燃えるモブも一部を除いて燃えなくなります
    • モブを殴ると一撃で死ぬようになっています
    • アイテムを投げると建築中は拾えますが、建築後は拾えず、消えないようになります
    • 炎は燃え移りませんが、その場で燃え続けます

    ★ 建築物を見て、答える

    制限時間が0秒になると、次の場所にテレポートし、回答フェイズになります。
    テレポートすると目の前に建築物があるので、それを見て、何を建築したものなのかを察して紙に書いて下さい。紙に書いた後は、お題のときと同じようにFキーでオフハンドに紙を持つと回答が確定されます。



    このとき、クリエイティブモードになっていますが決して建築物を壊したり、ブロックを置いたりしないで下さい
    全員が回答すると、また建築フェイズになり、3回繰り返すと確認フェイズに進みます。

    ★ しりとりが伝わったか確認する

    3回の建築と回答フェイズが完了すると、狭い部屋にテレポートします。
    今までの回答が表示されますので、それらを見て「あってた」か「ちがった」を木のボタンで回答して下さい。


    ★ 建築物を見て回る

    ゲーム終了後、黄色の床から建築物を見学できます。スペクテイターモードになるので、どのようにしりとりされたのか見て回りましょう。スペクテイターモードではマウスのスクロールで移動速度を変更することができます。
    1番の最後の建築物の奥に行くと自動的に、2番の手前にテレポートできます。
     
    最後まで見たら、ロビーの上空に青の床があるため、そこに近づくとアドベンチャーモードに戻れます。


    [目次へ戻る] [前のページ]

  • Builders(建築伝言ゲーム・建築ゲーム) 説明書 -P5- 建築ゲーム

    2019-11-10 11:47

    [建築ゲーム]


    ★ 建築ゲームとは

    建築ゲームは3人が出したお題を次々と建築していくゲームになります。
    まず、3人の選ばれたプレイヤーは作ってほしいお題を書きます。他のプレイヤーは3人が書き終わるまで待ちます。
    その後、別のプレイヤーがそれぞれ建築を3回連続で行います。
    同じお題を全員が作るため、他のプレイヤーとの感性の違いを見てみましょう!

    ★ ゲームに参加する

    サーバーに入ったすぐ近くに緑の床があるため、そこに入ると参加表明できます。一度、入るとその状態が続くため、待っている間はアスレなどで遊んでいても大丈夫です。参加表明状態になっていないと、ゲーム開始時にゲームに参加できません。

    参加表明状態を解除する場合は、赤の床に入って下さい。
    自分の状態を確認したい場合は、Tabキーを押すと確認することができます。自分の名前が緑色になっていれば、参加表明状態です。

    ★ お題を書く

    ゲームが始まると、3人だけ紙を渡されます。金床で紙に、伝わってほしい建築物のお題を書いてください。初めてプレイする場合は、自分でも作れる物をお題に書くと良いでしょう。他のプレイヤーはお題が書き終わるまで待ちます。
    3人はお題を紙に書き終わったら、Fキーでオフハンドに紙を持って下さい。
    Tabキーを押して自分の名前のところが1になっていれば、お題を受け付けた状態になっています。0ならば、まだお題を受け付けていません。
     
    ※稀に紙がオフハンドに行かない場合があるようです。その場合はEキーでインベントリを開いて、盾マークのある枠に直接紙を置いて下さい

    ★ お題を建築する

    3人がお題を書き終わると、建築フェイズになります。
    お題を出したプレイヤー以外はクリエイティブモードになるので、制限時間以内にお題を建築して下さい。建築中は壁よりも高くなく、壁を壊さなければ問題ありません

    その他にも以下のような特殊な環境になっています。
    • バリアブロックがデフォルトで手元に用意されます
    • 床は数マスまでなら壊しても修復します
    • モブをスポーンエッグで召喚すると、その場で動かなくなります
    • ゾンビなどの日中に燃えるモブも一部を除いて燃えなくなります
    • モブを殴ると一撃で死ぬようになっています
    • アイテムを投げると建築中は拾えますが、建築後は拾えず、消えないようになります
    • 炎は燃え移りませんが、その場で燃え続けます
    お題を出したプレイヤーは他のプレイヤーの建築を見て回ることができます。
    建築を3回繰り返したあと、ゲームが終了します。

    ★ 建築物を見て回る

    ゲーム終了後、黄色の床から建築物を見学できます。スペクテイターモードになるので、どのような建築がされたのか見て回りましょう。スペクテイターモードではマウスのスクロールで移動速度を変更することができます。

    最後まで見たら、ロビーの上空に青の床があるため、そこに近づくとアドベンチャーモードに戻れます。


    [目次へ戻る] [前のページ] [次のページ]