チャンク
と呼ばれる16x16ブロックごとに分けられる
これをもとに
スライムチャンクとかの範囲が決まっている
どの範囲が1チャンクなのか
java版は表示できるが
統合版は見れない
ので座標から判断する
座標の表示は設定で切り替えられる
目次
チャンクの範囲
1つのチャンクの範囲は
x,zともに
16n から16(n+1)-1 の範囲
座標がマイナスの時は
16(n-1) から 16n-1 の範囲
nは整数
例えば
(x, z) = (1123, -251)
を含むチャンクの範囲は
x が 1120 から 1135
z が -256 から -241
の範囲だ
計算方法
始めにx座標の範囲を求めてみる
任意の座標
ここではx=1123を16で割る
1123 ÷ 16 = 70.1875
整数部分
ここでは70に対して16をかける
16n
70 × 16 = 1120
また、整数部分に
ここでは70に1を足して16をかけてから1引く
16(n+1)-1
(70+1) × 16 - 1
= 71 × 16 -1
= 1136 - 1
= 1135
これでxの範囲
1120から1135が求められた。
zも同様に計算できる
z = -251 を16で割って
-251 ÷ 16 = -15.6875
マイナスになるので
整数部分を1引いてから16をかけて
16(n-1)
( -15 - 1 ) × 16
= -16 × 16
= -256
また整数部分に16をかけてから1引いて
16n-1
-15 × 16 -1
= -240 - 1
= -241
これで範囲
-256から-241が求められた
計算しない方法
計算すると
だいたい計算をミスる
特にマイナスを含む計算は難しい
この記事は
スライムファインダーで確認しながら書いた
マップ左下の
x, z に任意の座標を入力
go でマーカーが現れる
マーカー部分にカーソルを重ねると
そのチャンクの範囲が右下に表示される
(x, z) = (1123, -251) なら
Chunk (70/-16) from (1120 / -256) to (1135 / -241)
from, to のところが ( x / z )の範囲となっている
これなら計算しなくてもチャンクの境がわかる
まとめ
チャンクの計算方法を確認してみた
巨大装置などはチャンクをまたいで作ると
壊れるパターンがあるので
どこが境界線なのか
確認してから作りたい