この記事では、Minecraft Java Edition(バージョン1.20.1)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
アイテムの消失で悩んでいるマインクラフター
「ドロップしているアイテムは5分で消えちゃうけど、指定した時間で消えるようにできないかな? 消えないようにする方法もあれば知りたいな!」
こんな疑問を解決します!
- Ageでアイテムが消えるまでの時間を操作する
- Ageに-32768を指定するとアイテムが消えない
こんにちは!
マインクラフターのなつめ(@natsume_717b)です。
2016年3月からマイクラをプレイしています!
最近はコマンドやデータパックなどの技術的なものを勉強しています。
この記事では、ドロップしているアイテムが消えるまでの時間をコマンドで操作する方法、消えないようにする方法というものを解説していきます。
dataコマンドを使うため複雑に思えるかもしれませんが、コマンド自体はシンプルなものです。
なので、ぜひ最後まで読んでくれると嬉しいです。
というわけで、さっそく見ていきましょう!
Ageでアイテムが消えるまでの時間を操作する
アイテムが消えるまでの時間を調整するには、Ageという項目の値を変更します。
このAgeというのは、ドロップしている状態のアイテムに存在しているもので、値が6000になると消えるようになっています。
mobにもAgeという項目は存在し、子どもの状態から大人の状態に成長する際に関するパラメーターとなっています。
Ageはtickという単位で管理されており、1tickは1/20秒です。
つまり、20tick経過した時は1秒経過したことと同じなので、6000tickは300秒、5分であることが分かります。
もし5秒経過した時点で削除するようにしたければ、Ageの値を5900にすれば良いということですね。
その際のコマンドは以下の通り。
/data merge entity @e[type=item,limit=1] {Age:5900}
上記のコマンドで、dataコマンドで落ちているアイテムのAgeを書き換えています。
ただし、アイテムの種類を指定していないため、落ちている全てのアイテムの中から1つだけが5秒後に消えるようになります。
dataコマンドは単体にしか使用できません。
しかしexecuteコマンドでコマンドの実行者を複数にしたうえで@sを指定することでまとめて指示することも可能です。
もしアイテムの種類を指定したい場合は、ターゲットセレクター部分を詳しく書き記せばOKです。
5分以上の時間を経過させた後に消えるようにしたい場合は、マイナスの値で指示しましょう。
-6000という値を指示すれば、6000までの差として12000あります。
なので、10分後に消失するようにすることが可能です。
Ageに-32768を指定するとアイテムが消えない
アイテムを消えないようにするには、Ageに対して-32768を指示します。
この値にすることで、Ageの値が時間経過で変動しません。
なので、コマンドとしては以下の通り。
/data merge entity @e[type=item,limit=1] {Age:-32768}
1度実行してAgeが-32768に更新されれば、それ以降いじる必要がないのが有難いですね。
本当にAgeが変動しないのかを確認する際は以下のコマンドで確認可能です。
(複数のアイテムが落ちている状態なら確実に指定できるようにターゲットセレクター部分を細かく入力しましょう)
/data get entity @e[limit=1,type=item] Age
まとめ
というわけで、今回のまとめです。
今回使ったコマンドはこちら。
/data merge entity @e[type=item,limit=1] {Age:5900}
/data merge entity @e[type=item,limit=1] {Age:-32768}
/data get entity @e[limit=1,type=item] Age
この記事は以上になります。