19 for (
int i = 0; i < 8; i++) {
21 float num2 = MathF.Min(0.3f * num, 0.7f * (1f - num));
29 color.R =
byte.MaxValue;
63 for (
int j = 0; j < 8; j++) {
67 float num3 = boundingBox.Max.X - boundingBox.
Min.
X;
69 float num4 = (0.8f - num3) / 2f;
70 boundingBox.Min.X -= num4;
71 boundingBox.Min.Z -= num4;
72 boundingBox.Max.X += num4;
73 boundingBox.Max.Y = 0.4f;
74 boundingBox.Max.Z += num4;
109 new Color(160, 160, 160),
145 return base.GetNutritionalValue(value);
152 List<BlockDropValue> dropValues,
153 out
bool showDebris) {
168 Color color = size == 7 ? Color.White :
new Color(0, 128, 128);
180 string str =
"BasePumpkinBlock";
201 public static int GetSize(
int data) => 7 - (data & 7);
203 public static int SetSize(
int data,
int size) => (data & -8) | (7 - (size & 7));
205 public static bool GetIsDead(
int data) => (data & 8) != 0;
ModelMesh FindMesh(string name, bool throwIfNotFound=true)
ReadOnlyList< ModelMeshPart > MeshParts
static float Lerp(float x1, float x2, float f)
override int GetDamageDestructionValue(int value)
override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
static int GetSize(int data)
BasePumpkinBlock(bool isRotten)
static int SetIsDead(int data, bool isDead)
override int GetShadowStrength(int value)
override int GetRotPeriod(int value)
override void Initialize()
override string GetDisplayName(SubsystemTerrain subsystemTerrain, int value)
static bool GetIsDead(int data)
override void GetDropValues(SubsystemTerrain subsystemTerrain, int oldValue, int newValue, int toolLevel, List< BlockDropValue > dropValues, out bool showDebris)
override BlockDebrisParticleSystem CreateDebrisParticleSystem(SubsystemTerrain subsystemTerrain, Vector3 position, int value, float strength)
override int SetDamage(int value, int damage)
BoundingBox[][] m_collisionBoxesBySize
static int SetSize(int data, int size)
override BoundingBox[] GetCustomCollisionBoxes(SubsystemTerrain terrain, int value)
override float GetNutritionalValue(int value)
override bool IsSuitableForPlants(int value, int plantValue)
override IEnumerable< int > GetCreativeValues()
BlockMesh[] m_blockMeshesBySize
override void DrawBlock(PrimitivesRenderer3D primitivesRenderer, int value, Color color, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
BlockMesh[] m_standaloneBlockMeshesBySize
override int GetDamage(int value)
virtual void GenerateCrossfaceVertices(Block block, int value, int x, int y, int z, Color color, int textureSlot, TerrainGeometrySubset subset)
virtual void GenerateMeshVertices(Block block, int x, int y, int z, BlockMesh blockMesh, Color color, Matrix? matrix, TerrainGeometrySubset subset)
float DestructionDebrisScale
static Matrix GetBoneAbsoluteTransform(ModelBone modelBone)
static void DrawMeshBlock(PrimitivesRenderer3D primitivesRenderer, BlockMesh blockMesh, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
static object Get(Type type, string name)
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
TerrainGeometrySubset SubsetAlphaTest
TerrainGeometrySubset SubsetOpaque
static int ReplaceData(int value, int data)
static int MakeBlockValue(int contents)
static int ExtractData(int value)
static Color Lerp(Color c1, Color c2, float f)
static Matrix CreateTranslation(float x, float y, float z)
static Matrix CreateScale(float scale)