Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SubsystemLadderBlockBehavior.cs
浏览该文件的文档.
1using Engine;
2
3namespace Game {
5 public override int[] HandledBlocks => [59, 213];
6
7 public override void OnNeighborBlockChanged(int x, int y, int z, int neighborX, int neighborY, int neighborZ) {
8 int ladderBlockValue = SubsystemTerrain.Terrain.GetCellValue(x, y, z);
9 int face = LadderBlock.GetFace(Terrain.ExtractData(ladderBlockValue));
10 Point3 point = CellFace.FaceToPoint3(face);
11 int cellValue = SubsystemTerrain.Terrain.GetCellValue(x - point.X, y - point.Y, z - point.Z);
12 int num = Terrain.ExtractContents(cellValue);
13 if (BlocksManager.Blocks[num].IsFaceNonAttachable(SubsystemTerrain, face, cellValue, ladderBlockValue)) {
14 SubsystemTerrain.DestroyCell(
15 0,
16 x,
17 y,
18 z,
19 0,
20 false,
21 false
22 );
23 }
24 }
25 }
26}
virtual bool IsFaceNonAttachable(SubsystemTerrain subsystemTerrain, int face, int value, int attachBlockValue)
static int GetFace(int data)
override void OnNeighborBlockChanged(int x, int y, int z, int neighborX, int neighborY, int neighborZ)
static int ExtractContents(int value)
static int ExtractData(int value)
static Point3 FaceToPoint3(int face)