Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
WaterPlantBlock.cs
浏览该文件的文档.
1using Engine;
2
3namespace Game {
4 public abstract class WaterPlantBlock : WaterBlock {
5 public override BlockPlacementData GetPlacementValue(SubsystemTerrain subsystemTerrain,
6 ComponentMiner componentMiner,
7 int value,
8 TerrainRaycastResult raycastResult) {
9 Point3 point = raycastResult.CellFace.Point + CellFace.FaceToPoint3(raycastResult.CellFace.Face);
10 int cellValue = subsystemTerrain.Terrain.GetCellValue(point.X, point.Y, point.Z);
11 int num = Terrain.ExtractContents(cellValue);
12 int data = Terrain.ExtractData(cellValue);
13 BlockPlacementData result;
14 if (BlocksManager.Blocks[num] is WaterBlock) {
15 result = default;
16 result.CellFace = raycastResult.CellFace;
17 result.Value = Terrain.MakeBlockValue(BlockIndex, 0, data);
18 return result;
19 }
20 result = default;
21 return result;
22 }
23 }
24}
int BlockIndex
定义 Block.cs:6
static int ExtractContents(int value)
virtual int GetCellValue(int x, int y, int z)
static int MakeBlockValue(int contents)
static int ExtractData(int value)
override BlockPlacementData GetPlacementValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, TerrainRaycastResult raycastResult)
方块放置方向
static Point3 FaceToPoint3(int face)