キャラクターを軸に周りのブロックを回転させたいと思った。
プラグインの World Edit を使ってみたが、コピー元とコピー先が重なっている時に、
ローテーションして、ペーストすると、思った通りにいかなかった。
ということで、オリジナルのプラグインで対応することにした。
Y座標は動かさずに、プレーヤーのいるY座標を軸に回転させる。
X座標とZ座標を変更させるが、3次元の回転の数式がよくわからない。
例えば、5 x 5 のブロックの場合。
上から見るとこうなる。(X座標,Z座標)
(-2,-2)(-2,-1)(-2,0)(-2,1)(-2,2)
(-1,-2)(-1,-1)(-1,0)(-1,1)(-1,2)
(0,-2)(0,-1)(0,0)(0,1)(0,2)
(1,-2)(1,-1)(1,0)(1,1)(1,2)
(2,-2)(2,-1)(2,0)(2,1)(2,2)
これが、左か右方向に回転するということで、
ある法則を見つけた。
90度回転した場合、X座標 と Z座標 が反対になって、
90度の時は、X座標に マイナス1をかける。
ー 90度の時は、Z座標に マイナス1をかける。
これでいけた。