実を言うとプログラミング技術と関係があるかなって疑問に思って、
投稿をためらっていたのですが、
他に相応しい場所も持っていないし、
遠回りに技術として役に立つのなら良いかなと思い、
投稿するに至りました。
0. 理由
mobGriefing falseで爆発してもブロックを破壊しないようにはできるのですが、
村人が農業しなくなってしまって困ったので、
手軽に破壊活動だけを止めれないかと考えて、
この方法に至った次第。
1. 環境
- minecraft 1.15.2
2. 方法
すべてのmobの持つ、entityデータを編集する。
今回は爆発半径のExplosionRadiusを0にした。
3. コマンド
/execute as @e[type=minecraft:creeper] run data merge entity @s[type=minecraft:creeper] {ExplosionRadius:0}
4. 困ったこと
ログがうるさい
/gamerule commandBlockOutput false
で黙らせた。
X. あとがき
ガストの破壊活動も止める。
本当は爆発によるブロックへのダメージをなくせば良いんだけど、
そんなピンポイントな方法知らないので、
今度また考えます。
pluginとかdatapackとか、
今は色々できるみたいだし。
では。