02.001.Counter using only NBT - MCJE-Tech-Community/Datapack-WIki GitHub Wiki
⏲️ NBTのみを用いたカウンター
NBTのみを用いて1073741760から2147483520まで範囲のカウンターを作ることができます。 範囲内であればカウンターを1増加させたり1減少させたりできます。
スコアボードを使いたくない場合や、ストレージ内のNBTを書き換える際にスコアボードを経由するのを避けたい場合に有用です。
実装例
-
#> initialize.mcfunction data modify storage _ counter set value 1073741760 -
#> increment.mcfunction # counterが2147483520を上回るとincrementで1だけ増加しなくなってしまうので、それを防止する。 execute if data storage _ {counter: 2147483520} run return 0 # counterが1073741760以上かつ2147483520以下の場合のみ、counterを1増やすことができる execute store result storage _ counter int 1.0000000009313226 run data get storage _ counter -
#> decrement.mcfunction # counterが1073741760を下回るとincrementで増加させられなくなるので、それを防止する。 execute if data storage _ {counter: 1073741760} run return 0 # counterが1以上の場合のみ、counterを1減らすことができる execute store result storage _ counter int 0.9999999999999999 run data get storage _ counter