Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
FlowerBlock.cs
浏览该文件的文档.
1namespace Game {
2 public abstract class FlowerBlock : CrossBlock {
3 public override int GetFaceTextureSlot(int face, int value) {
4 if (GetIsSmall(Terrain.ExtractData(value))) {
5 return 11;
6 }
7 return base.GetFaceTextureSlot(face, value);
8 }
9
10 public override void GetDropValues(SubsystemTerrain subsystemTerrain,
11 int oldValue,
12 int newValue,
13 int toolLevel,
14 List<BlockDropValue> dropValues,
15 out bool showDebris) {
16 int data = Terrain.ExtractData(oldValue);
17 if (!GetIsSmall(data)) {
18 dropValues.Add(new BlockDropValue { Value = Terrain.MakeBlockValue(Terrain.ExtractContents(oldValue), 0, data), Count = 1 });
19 }
20 showDebris = true;
21 }
22
23 public override int GetShadowStrength(int value) {
24 if (!GetIsSmall(Terrain.ExtractData(value))) {
26 }
27 return DefaultShadowStrength / 2;
28 }
29
30 public static bool GetIsSmall(int data) => (data & 1) != 0;
31
32 public static int SetIsSmall(int data, bool isSmall) {
33 if (!isSmall) {
34 return data & -2;
35 }
36 return data | 1;
37 }
38 }
39}
int DefaultShadowStrength
static int SetIsSmall(int data, bool isSmall)
override int GetFaceTextureSlot(int face, int value)
static bool GetIsSmall(int data)
override int GetShadowStrength(int value)
override void GetDropValues(SubsystemTerrain subsystemTerrain, int oldValue, int newValue, int toolLevel, List< BlockDropValue > dropValues, out bool showDebris)
static int ExtractContents(int value)
static int MakeBlockValue(int contents)
static int ExtractData(int value)