1using System.Globalization;
7 public static int Index = 189;
17 for (
int i = 0; i < 16; i++) {
19 float radians =
GetRotation(i) == 0 ? 0f : (float)Math.PI / 2f;
20 string name = $
"Grave{(variant % 4 + 1).ToString(CultureInfo.InvariantCulture)}";
21 bool num = variant >= 4;
78 bool flag = num2 == 7 || num2 == 4 || num2 == 52;
79 int num4 = (int)(
MathUtils.
Hash((uint)(x + 172 * y + 18271 * z)) & 0xFFFF);
82 float radians = 0.2f * (num4 % 16 / 7.5f - 1f);
83 float radians2 = 0.1f * ((num4 >> 4) % 16 / 7.5f - 1f);
94 float f = num3 ? 0f :
MathUtils.
Sqr((num4 >> 8) % 16 / 15f);
127 return base.GetCustomCollisionBoxes(terrain, value);
141 result.CellFace = raycastResult.
CellFace;
146 result.CellFace = raycastResult.
CellFace;
164 List<BlockDropValue> dropValues,
165 out
bool showDebris) {
172 public static int SetRotation(
int data,
int rotation) => (data & -9) | ((rotation << 3) & 8);
176 public static int SetVariant(
int data,
int variant) => (data & -8) | (variant & 7);
ModelMesh FindMesh(string name, bool throwIfNotFound=true)
void Initialize(ModelData modelData, bool keepSourceVertexDataInTags)
ReadOnlyList< ModelMeshPart > MeshParts
virtual void GenerateMeshVertices(Block block, int x, int y, int z, BlockMesh blockMesh, Color color, Matrix? matrix, TerrainGeometrySubset subset)
static Matrix GetBoneAbsoluteTransform(ModelBone modelBone)
static void DrawMeshBlock(PrimitivesRenderer3D primitivesRenderer, BlockMesh blockMesh, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
ComponentCreatureModel ComponentCreatureModel
ComponentCreature ComponentCreature
static object Get(Type type, string name)
static int GetRotation(int data)
override BlockPlacementData GetPlacementValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, TerrainRaycastResult raycastResult)
方块放置方向
override void DrawBlock(PrimitivesRenderer3D primitivesRenderer, int value, Color color, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
static int SetVariant(int data, int variant)
BoundingBox[][] m_collisionBoxes
static int GetVariant(int data)
BlockMesh[] m_blockMeshes
override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
override void Initialize()
override BoundingBox[] GetCustomCollisionBoxes(SubsystemTerrain terrain, int value)
override IEnumerable< int > GetCreativeValues()
static int SetRotation(int data, int rotation)
BlockMesh[] m_standaloneBlockMeshes
override void GetDropValues(SubsystemTerrain subsystemTerrain, int oldValue, int newValue, int toolLevel, List< BlockDropValue > dropValues, out bool showDebris)
TerrainGeometrySubset SubsetOpaque
static int ExtractContents(int value)
virtual int GetCellValueFast(int x, int y, int z)
static int MakeBlockValue(int contents)
static int ExtractData(int value)
static Color Lerp(Color c1, Color c2, float f)
static Matrix CreateRotationX(float radians)
static Matrix CreateFromQuaternion(Quaternion quaternion)
static Matrix CreateTranslation(float x, float y, float z)
static Matrix CreateRotationZ(float radians)
static readonly Matrix Identity
static Matrix CreateRotationY(float radians)
static readonly Vector3 UnitX
static readonly Vector3 UnitZ
static float Dot(Vector3 v1, Vector3 v2)