Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
MagmaBlock.cs
浏览该文件的文档.
1using Engine;
2namespace Game {
3 public class MagmaBlock : FluidBlock {
4 public static int Index = 92;
5
6 public new static int MaxLevel = 4;
7
8 public MagmaBlock() : base(MaxLevel) => CanBeBuiltIntoFurniture = true;
9
10 public override bool IsFaceTransparent(SubsystemTerrain subsystemTerrain, int face, int value) {
11 if (GetIsTop(Terrain.ExtractData(value))) {
12 return face != 5;
13 }
14 return false;
15 }
16
17 public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z) {
19 generator,
20 value,
21 x,
22 y,
23 z,
26 geometry.OpaqueSubsetsByFace
27 );
28 }
29
30 public override bool ShouldAvoid(int value) => true;
31
32 public override bool ShouldAvoid(int value, ComponentPilot componentPilot) {
33 ComponentHealth componentHealth = componentPilot.m_componentCreature.ComponentHealth;
34 if (componentHealth.MagmaResilience == float.PositiveInfinity) {
35 return false;
36 }
37 return base.ShouldAvoid(value, componentPilot);
38 }
39 }
40}
bool CanBeBuiltIntoFurniture
ComponentCreature m_componentCreature
static bool GetIsTop(int data)
FluidBlock(int maxLevel)
void GenerateFluidTerrainVertices(BlockGeometryGenerator generator, int value, int x, int y, int z, Color sideColor, Color topColor, TerrainGeometrySubset[] subset)
override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
override bool ShouldAvoid(int value)
MagmaBlock() override bool IsFaceTransparent(SubsystemTerrain subsystemTerrain, int face, int value)
override bool ShouldAvoid(int value, ComponentPilot componentPilot)
static new int MaxLevel
TerrainGeometrySubset[] OpaqueSubsetsByFace
static int ExtractData(int value)
static Color White