コマンド・NBTの質問トピック

シングル/マルチ含め、ゲームプレイに関する質問ができます
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.321498)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月02日(金) 02:40

[quote="Hira04"][quote="rafael0110"]Version 1.13のコマンドについて質問です。
落ちているアイテムのうち、特定のものを別の場所に移動する、というコマンドを考えています。
こちら[url]http://forum.minecraftuser.jp/viewtopic.php?f=5&t=19525&start=140[/url]を参考にさせていただきました。
(実際に移動させたいアイテムは違います)

[code]
/scoreboard objectives add isDiamond dummy
/scoreboard players set @e[type=Item] isDiamond 1 {Item:{id:"minecraft:diamond"}}
/teleport @e[type=Item,score_isDiamond_min=1] ~ ~ ~
/scoreboard objectives remove isDiamond
[/code]

このようなコマンドを考え、functionを作成したのですが、
2行目にあたるコマンドにて、Itemの指定方法が正しくなくコードが実行されません。
このような処理は不可能でしょうか。[/quote]

1.13からnbt指定の記述に変更があったため旧来の書き方が出来なくなったのが原因ですね。
[code]/scoreboard players set @e[type=minecraft:item,nbt={Item:{id:"minecraft:diamond"}}] isDiamond 1[/code]

本来の用途全てを記述されているわけではないと思いますが、アイテムを判定してすぐスコアボードを消されてしまうのであれば、
tagコマンド(旧scoreboard players tag)でtagを対象に付与してしまうほうが動作として軽くなるかと思います。[/quote]

Hira04さんありがとうございます!
wikiを見て学んだつもりでしたが、まだまだだったようです、ご指摘の部分変更したところうまくいきました!

またtagコマンドを使うやり方ですが、本来の用途でも問題なく実装できそうですのでそちらにチェンジしてやっていきたいと思います。
そちらの方もアドバイスありがとうございました!
ゲスト
ID:955c182b
 

  • (PostNo.321729)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月11日(日) 08:17

オリジナルのステータス効果をコマンドで追加する方法はありませんか?
以下の動画の3:20ごろに「麻痺」というオリジナルっぽいステータス効果があったのですが…
https://www.youtube.com/watch?v=E5f0KJp ... e=youtu.be
ゲスト
ID:1cdc5d10
 

  • (PostNo.321740)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月11日(日) 13:27

ver.1.13です。
https://napoan.com/inventory-item-click/2/ を参考にして、同様のコマンドを完成させようとしていますが、


/scoreboard players set @a clickLobbyItem 1 {Inventory:[{Slot:22b,id:"minecraft:diamond",Count:1b,tag:{display:{Name:"ロビーに戻る",Lore:["クリックでロビーに戻ります"]}}}]}
の書換として、「/scoreboard players set @a<---> clickLobbyItem 1」の<--->に当たる部分がわかりません。

インベントリのスロット"ABC"にディスプレイネーム"XYZ" で説明文"PQR"が"N"個ある すべてのプレイヤーを対象にする記述を教えてください。


上記サイトにて、fillクロックが採用されていますが、これはver.1.13で動作しますか?
コマンドブロックのリピートモードで代用できると思ったので、その違いも教えていただければ幸いです


コマンドブロックの実行順と方角の関係はありますか?

以上です。海外のサイトも参考に、何度か試したのですが、いずれも成功しなかったので質問させていただきました。ゲストながらすみません。
ゲスト
ID:cbe862fd
 

  • (PostNo.321741)

Re: コマンド・NBTの質問トピック

投稿記事by Hira04 » 2018年11月11日(日) 14:13

ゲスト さんが書きました:ver.1.13です。
https://napoan.com/inventory-item-click/2/ を参考にして、同様のコマンドを完成させようとしていますが、


/scoreboard players set @a clickLobbyItem 1 {Inventory:[{Slot:22b,id:"minecraft:diamond",Count:1b,tag:{display:{Name:"ロビーに戻る",Lore:["クリックでロビーに戻ります"]}}}]}
の書換として、「/scoreboard players set @a<---> clickLobbyItem 1」の<--->に当たる部分がわかりません。

インベントリのスロット"ABC"にディスプレイネーム"XYZ" で説明文"PQR"が"N"個ある すべてのプレイヤーを対象にする記述を教えてください。


上記サイトにて、fillクロックが採用されていますが、これはver.1.13で動作しますか?
コマンドブロックのリピートモードで代用できると思ったので、その違いも教えていただければ幸いです


コマンドブロックの実行順と方角の関係はありますか?

以上です。海外のサイトも参考に、何度か試したのですが、いずれも成功しなかったので質問させていただきました。ゲストながらすみません。

1.13においてnbtがからむコマンドは記述が変わっておりますので、従来の記述では使用できません。
  1. /scoreboard players set @a[nbt={Inventory:[{Slot:ABCb,id:"minecraft:diamond",Count:Nb,tag: {display: {Lore: ["PQR"], Name: "{\"text\":\"XYZ\"}"}}}]}] clickLobbyItem 1
  2. fillクロックはそもそもコマンドブロックにインパルスモードしかなかった時代に毎tick実行したいということから生まれた技術であり、現時点においてはリピートモードで実行する方が処理順がわかりやすく、実行コマンド数も少なく、配置に影響されないため無用の長物です
  3. コマンドの読み込みに座標(チャンク)依存の要素はありますが、リピートモードとチェインモードを使えばよほどのことがない限り問題は起こらないでしょう
検証勢を見守る勢
コマンド難しいです…
JSONのエスケープは手打ち勢には厳しい…
アバター
Hira04
ID:580b7a09
石掘り
 
記事: 91
登録日時: 2016年6月29日(水) 16:48

  • (PostNo.321780)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月12日(月) 06:28

Hira04さん、ありがとうございました。
早く、コマンドを活用してMinecraftをもっと楽しむために頑張ります
ゲスト
ID:81f466e4
 

  • (PostNo.321781)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月12日(月) 06:30

↑PCからではなく、スマートフォンからなのでiDが違います
ゲスト
ID:81f466e4
 

  • (PostNo.321829)

Re: コマンド・NBTの質問トピック

投稿記事by chuzume » 2018年11月13日(火) 02:50

ゲスト さんが書きました:オリジナルのステータス効果をコマンドで追加する方法はありませんか?
以下の動画の3:20ごろに「麻痺」というオリジナルっぽいステータス効果があったのですが…
https://www.youtube.com/watch?v=E5f0KJp ... e=youtu.be

現状、新しいステータス効果を与えることはできないので、既存のエフェクトを置き換えて新しいエフェクトに見せかけてます。
例えば配布マップでめったに使わない「不運」のエフェクトのアイコンを変え、langファイルの不運の部分を「麻痺」に書き換えれば、見た目は新しいエフェクトになります。

でもそれだけじゃ見た目が違うだけなので、「不運」のエフェクトを受けているプレイヤーにexecuteコマンドなどで色々実行することで、今度こそオリジナルのステータス効果が完成する…ハズ。
  Herobrineの再帰 -The Negative Example-
  ~懲りずに配信中~
ないよう


聖なる魔法弾と、あらゆる攻撃を弾き返すパリィを駆使し、復活したHerobrine卿を打ち倒せ!

…すべての配布マッパーに送る、サイテーの反面教師。
ラスボス戦以外の全ステージに理不尽な要素とか、イライラさせる要素が詰め込んであります。
いわゆる悪いお手本です。ダメダメ配布マップを作らないように参考にしてやろう。

  <=見に行ってみる=>
アバター
chuzume
ID:11ffbcbd
石炭掘り
 
記事: 152
登録日時: 2013年5月25日(土) 07:42

  • (PostNo.321883)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月14日(水) 16:08

chuzumeさん前回に引き続きありがとうございます!
ずっと気になっていたのでスッキリしました!
ゲスト
ID:1cdc5d10
 

  • (PostNo.322019)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月18日(日) 12:11

Ver.1.13.1です。
とあるサーバーで旗の模様をクラフトしようとしたら何故かできなかったのでコマンドで出そうと思ったんですが
バナーシミュレーター(http://www.needcoolshoes.com/banner)で出力できるコマンドが古いバージョンのマインクラフトのものなのか使えませんでした。

/give @p minecraft:banner 1 0 {BlockEntityTag:{Base:1,Patterns:[{Pattern:bo,Color:0},{Pattern:ss,Color:0}]}}

どこを書き換えれば1.13.1で使えるようになるでしょうか?


/give @p minecraft:black_banner{Patterns:[{Color:0,Pattern:"bo"},{Color:0,Pattern:"ss"}]}

一応自分でここまで書き換えてみたんですが、模様のない下地の色のままの旗しか出てきませんでした。
ゲスト
ID:78735e2d
 

  • (PostNo.322045)

Re: コマンド・NBTの質問トピック

投稿記事by midorinohito » 2018年11月18日(日) 21:43

Ver 1.13.2です

コード: 全て選択
/execute if entity @e[type=minecraft:armor_stand,name=C1] if entity @e[distance=..2,type=minecraft:item_frame,nbt={Item:{id:"minecraft:potato"}}] if entity @a[nbt={SelectedItem:{id:"minecraft:iron_sword",Count:1b}},distance=..2,scores={shift=1..}] run say u

このようにコマンドを組みましたが、最後のプレイヤーを指定するところで
if entity @a[nbt={SelectedItem:{id:"minecraft:iron_sword",Count:1b}},distance=..2,scores={shift=1..}
のdistance=..2が、前述のポテトの入った額縁ではなく
コマンドブロックから二ブロック以内になってしまいます。
ポテトの入った額縁から二ブロック以内にするにはどうすればいいのでしょうか

追記

/execute if entity @e[type=minecraft:armor_stand・・・
のif entityをatに変更することで解決しました
画像
midorinohito
ID:dffb7a65
石炭掘り
 
記事: 206
登録日時: 2016年9月07日(水) 19:29

  • (PostNo.322087)

Re: コマンド・NBTの質問トピック

投稿記事by midorinohito » 2018年11月20日(火) 23:06

連続質問失礼します
Ver 1.13.2です

チェストの中のアイテムの総数をスコアに代入するにはどのようなコマンドを組めばいいのでしょうか
storeを使用して、エンティティが持つアイテムを代入することは出来ましたが、総数を代入するもしくは
一つずつ足していくが私にはアイディアが出ませんでした。
どのようにしてコマンドを組めば、チェスト内のアイテムの総数を代入することができるのでしょうか
御返答して頂けるとありがたいです。
画像
midorinohito
ID:dffb7a65
石炭掘り
 
記事: 206
登録日時: 2016年9月07日(水) 19:29

  • (PostNo.322140)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月22日(木) 18:06

PostNo.322019さん
このサイトで1.13のバナー生成コマンドを作れたと思います。
http://minecraft.tools/en/banner.php
出来なかったらすみません…
ゲスト
ID:1cdc5d10
 

  • (PostNo.322143)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月22日(木) 20:21

PostNo.322140さん

ありがとう!ちゃんとコマンド使えました!
1.13で使えるコマンド出力サイトを教えてもらうのは盲点だった・・・
ゲスト
ID:78735e2d
 

  • (PostNo.322170)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月23日(金) 19:51

前回、とても丁寧に回答頂いたので、また質問させていただきます
ver1.13 tellrawコマンドで、特定のチームに属するプレイヤー名を全て表示、その名前それぞれにクリックイベントを付与する方法を探しています
 http://minecraft.tools/en/tellraw.php を使っているため、このサイトでの操作の説明ならなおさらありがたいです。
ゲスト
ID:cbe862fd
 

  • (PostNo.322208)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月25日(日) 06:23

PostNo.322170さん

このブログに使い方が載っていますよ。
https://napoan.com/tellraw-command-generator/
毎回urlしか貼れなくてすいません…
ゲスト
ID:1cdc5d10
 

  • (PostNo.322212)

Re: コマンド・NBTの質問トピック

投稿記事by ゲスト » 2018年11月25日(日) 11:18

PostNo.322208 さんありがとうございました。
ゲスト
ID:cbe862fd
 

  • (PostNo.322701)

Re: コマンド・NBTの質問トピック

投稿記事by Hira04 » 2018年12月16日(日) 10:53

midorinohito さんが書きました:連続質問失礼します
Ver 1.13.2です

チェストの中のアイテムの総数をスコアに代入するにはどのようなコマンドを組めばいいのでしょうか
storeを使用して、エンティティが持つアイテムを代入することは出来ましたが、総数を代入するもしくは
一つずつ足していくが私にはアイディアが出ませんでした。
どのようにしてコマンドを組めば、チェスト内のアイテムの総数を代入することができるのでしょうか
御返答して頂けるとありがたいです。

エンティティ(防具立て)を一瞬26体使用します
下記コマンド郡x y z部分をチェスト座標に変えて使用してください(3行目は全て1つのコマンドです)
コマンド
  1. scoreboard objectives add chestcounter dummy {"text":"チェストアイテム総数"}
  2. scoreboard objectives setdisplay sidebar chestcounter
  3. summon minecraft:armor_stand ~ ~ ~ {Tags:["Counter"],Marker:1b,Passengers:[{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]}]}
  4. scoreboard players set @e[tag=Counter] chestcounter 0
  5. scoreboard players set @p chestcounter 0
  6. execute store result score @p chestcounter run data get block x y z Items[0].Count 1
  7. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[1].Count 1
  8. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[2].Count 1
  9. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[3].Count 1
  10. ~
  11. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[26].Count 1
  12. execute as @e[tag=Counter,scores={chestcounter=1..}] run scoreboard players operation @p chestcounter += @s chestcounter
  13. kill @e[type=minecraft:armor_stand,tag=Counter]


3行目で防具立てを26体(チェストが27スロット、Slot:0はプレイヤーが担当するため)召喚
4,5行目でスコアをリセット
6~行目でCountを取得していきます
10行目はItems[1]~Items[26]までを書くと大変な行数なので省略です
12行目で全て合算していきますが、防具立てのスコアが1以上とすることでアイテムがあったスロット分だけしか実行しないようにして負荷軽減
13行目にて役目を終えた防具立てには退場していただきます
検証勢を見守る勢
コマンド難しいです…
JSONのエスケープは手打ち勢には厳しい…
アバター
Hira04
ID:580b7a09
石掘り
 
記事: 91
登録日時: 2016年6月29日(水) 16:48

  • (PostNo.322755)

Re: コマンド・NBTの質問トピック

投稿記事by midorinohito » 2018年12月18日(火) 21:53

Hira04 さんが書きました:
midorinohito さんが書きました:連続質問失礼します
Ver 1.13.2です

チェストの中のアイテムの総数をスコアに代入するにはどのようなコマンドを組めばいいのでしょうか
storeを使用して、エンティティが持つアイテムを代入することは出来ましたが、総数を代入するもしくは
一つずつ足していくが私にはアイディアが出ませんでした。
どのようにしてコマンドを組めば、チェスト内のアイテムの総数を代入することができるのでしょうか
御返答して頂けるとありがたいです。

エンティティ(防具立て)を一瞬26体使用します
下記コマンド郡x y z部分をチェスト座標に変えて使用してください(3行目は全て1つのコマンドです)
コマンド
  1. scoreboard objectives add chestcounter dummy {"text":"チェストアイテム総数"}
  2. scoreboard objectives setdisplay sidebar chestcounter
  3. summon minecraft:armor_stand ~ ~ ~ {Tags:["Counter"],Marker:1b,Passengers:[{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]},{id:"minecraft:armor_stand",Marker:1b,Tags:["Counter"]}]}
  4. scoreboard players set @e[tag=Counter] chestcounter 0
  5. scoreboard players set @p chestcounter 0
  6. execute store result score @p chestcounter run data get block x y z Items[0].Count 1
  7. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[1].Count 1
  8. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[2].Count 1
  9. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[3].Count 1
  10. ~
  11. execute store result score @e[tag=Counter,scores={chestcounter=0},limit=1] chestcounter run data get block x y z Items[26].Count 1
  12. execute as @e[tag=Counter,scores={chestcounter=1..}] run scoreboard players operation @p chestcounter += @s chestcounter
  13. kill @e[type=minecraft:armor_stand,tag=Counter]


3行目で防具立てを26体(チェストが27スロット、Slot:0はプレイヤーが担当するため)召喚
4,5行目でスコアをリセット
6~行目でCountを取得していきます
10行目はItems[1]~Items[26]までを書くと大変な行数なので省略です
12行目で全て合算していきますが、防具立てのスコアが1以上とすることでアイテムがあったスロット分だけしか実行しないようにして負荷軽減
13行目にて役目を終えた防具立てには退場していただきます

アマスタ一体一体に一枠ずつ担当させて最後に足すのは思いつきませんでした。
とても参考になりました、有難うございました!
画像
midorinohito
ID:dffb7a65
石炭掘り
 
記事: 206
登録日時: 2016年9月07日(水) 19:29

1つ前へ

Return to 質問:プレイ全般

x