okayurisotto.net

私が好きでやったことが他の人のためにもなったらお得かも!

【Minecraft】「乾燥した昆布」の特異性

公開日:

はじめに

Minecraft Java Editionに1.13で追加されたアイテムとして、「乾燥した昆布」があります。これは燃料として使える「乾燥した昆布ブロック」の材料となるアイテムですが、食料としてそのまま食べることもできるようになっています。しかし満腹度回復量はたった1で、隠し満腹度回復量も0.6しかなく、食料としては好まれません。

そんな食料としての「乾燥した昆布」ですが、実は面白い仕様をしています。

「乾燥した昆布」は素早く食べることができる

Minecraftにある食料は、基本的に食べるのに32ティックの時間が必要です。1ティックは1/20秒ですから、1.6秒かかる計算になります。しかし「乾燥した昆布」だけは例外的に、その半分の16ティックで食べることができます。時間を基準として見たとき、「乾燥した昆布」は「スイカの薄切り」と同等なのです。(「スイカの薄切り」の満腹度回復量は2で、隠し満腹度回復量は1.2。)

なぜ素早く食べられるのか?

MinecraftのMOD開発で使われるツール(mapping)を参照したところ、このような仕様を持つ食べ物は「乾燥した昆布」のみであることがわかりました。それと同時に、そのツールではこの機能を「snack」という言葉で表現していることもわかりました。ある食べ物のisSnack()trueだった場合のみ、使用にかかる時間を16ティックにしているようなのです。

なぜそのMOD開発ツールで「snack」という言葉が使われているのかはわかりませんでした。しかしある程度予想はできます。おやつとして乾燥させた昆布を食べる習慣は日本にもあり、そしてそのおやつは軽い食感ですぐに食べ切ってしまいます。おそらくMinecraftにあるこの仕様も、現実にあるおやつから来たものなのでしょう。

おわりに

「乾燥した昆布」では、満腹度や隠し満腹度といったものとはまったく違った「食べるのにかかる時間」という要素がもたらされて、なかなか面白いと感じます。食料それぞれに、その食べやすさに合わせた所要時間が設定されていたら面白そうです。

所要時間が普通でない食料アイテムとしては「乾燥した昆布」以外にも「ハチミツ入りの瓶」があり、こちらは40ティック(2秒)かかるようになっています。しかしこちらはsnackではありません。もっと別の方法によって40ティックかかるように設定されています。(HoneyBottleItemクラスが継承するItemクラスのgetMaxUseTimeメソッドをoverrideしている。基本的に食べ物はFoodComponent.Builderが使われるが、「ハチミツ入りの瓶」では使われていない。)