6 public static int Index = 133;
27 for (
int i = 0; i < 6; i++) {
44 Vector3 v5 = v2 - 0.5f * v3 - 0.5f * v4;
45 Vector3 v6 = v2 + 0.5f * v3 + 0.5f * v4 + 0.05f * v;
67 if (!color.HasValue) {
70 return 1 << color.Value;
78 for (
int i = 0; i < 6; i++) {
97 for (
int i = 0; i < 6; i++) {
104 for (
int i = 0; i < 6; i++) {
144 int num2 = wireFacesBitmask | (1 << raycastResult.
CellFace.
Face);
146 if (num2 != wireFacesBitmask
150 result.CellFace = raycastResult.
CellFace;
166 result.CellFace = raycastResult.
CellFace;
174 List<BlockDropValue> dropValues,
175 out
bool showDebris) {
177 for (
int i = 0; i < 6; i++) {
183 showDebris = dropValues.Count > 0;
221 num |= bitmask & 0x3F;
226 if ((data & 0x40) != 0) {
227 return (data >> 7) & 0xF;
233 if (color.HasValue) {
234 return (data & -1985) | 0x40 | ((color.Value & 0xF) << 7);
ModelMesh FindMesh(string name, bool throwIfNotFound=true)
ReadOnlyList< ModelMeshPart > MeshParts
virtual void GenerateWireVertices(int value, int x, int y, int z, int mountingFace, float centerBoxSize, Vector2 centerOffset, TerrainGeometrySubset subset)
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)
string GetName(int index)
Color GetColor(int index)
TerrainGeometrySubset SubsetOpaque
static int ExtractContents(int value)
static int ReplaceData(int value, int data)
virtual int GetCellValue(int x, int y, int z)
static int ReplaceContents(int value, int contents)
方块值的最低10位,替换为目标Content
static int MakeBlockValue(int contents)
static int ExtractData(int value)
int? GetPaintColor(int value)
override void GetDropValues(SubsystemTerrain subsystemTerrain, int oldValue, int newValue, int toolLevel, List< BlockDropValue > dropValues, out bool showDebris)
ElectricElement CreateElectricElement(SubsystemElectricity subsystemElectricity, int value, int x, int y, int z)
static ? int GetColor(int data)
ElectricConnectorType? GetConnectorType(SubsystemTerrain terrain, int value, int face, int connectorFace, int x, int y, int z)
override BlockPlacementData GetDigValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, int toolValue, TerrainRaycastResult raycastResult)
static bool WireExistsOnFace(int value, int face)
override void DrawBlock(PrimitivesRenderer3D primitivesRenderer, int value, Color color, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
override IEnumerable< int > GetCreativeValues()
static int SetWireFacesBitmask(int value, int bitmask)
override string GetDisplayName(SubsystemTerrain subsystemTerrain, int value)
static readonly Color WireColor
int GetConnectedWireFacesMask(int value, int face)
static int SetColor(int data, int? color)
override BoundingBox[] GetCustomCollisionBoxes(SubsystemTerrain terrain, int value)
override BlockPlacementData GetPlacementValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, TerrainRaycastResult raycastResult)
方块放置方向
static int GetWireFacesBitmask(int value)
BoundingBox[] m_collisionBoxesByFace
int Paint(SubsystemTerrain subsystemTerrain, int value, int? color)
int GetConnectionMask(int value)
override void Initialize()
override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
BlockMesh m_standaloneBlockMesh
static Matrix CreateTranslation(float x, float y, float z)
static readonly Vector2 Zero
static Vector3 Max(Vector3 v, float f)
static Vector3 Min(Vector3 v, float f)
static int OppositeFace(int face)
static Vector3 FaceToVector3(int face)
static Point3 FaceToPoint3(int face)