43 public const string fName =
"DeciduousLeavesBlock";
52 float autumnTransitionLightening) {
85 f:
MathUtils.
Hash((uint)(x + 59 * y + 2497 * z)) / 4.2949673E+09f,
124 if (!base.ShouldGenerateFace(
160 result.CellFace = raycastResult.
CellFace;
163 return base.GetDigValue(subsystemTerrain, componentMiner, value, toolValue, raycastResult);
170 List<BlockDropValue> dropValues,
171 out
bool showDebris) {
189 $
"{LanguageControl.Get(fName, (int)GetSeason(Terrain.ExtractData(value)))}{base.GetDisplayName(subsystemTerrain, value)}";
202 _ => base.GetShadowStrength(value)
255 int num = (int)(Math.Clamp(timeOfSeason, 0f, 0.999f) * 8f);
256 return (data & -8) | (num & 7);
261 public static int SetIsShaken(
int data,
bool isManuallyCleared) => (data & -33) | (isManuallyCleared ? 32 : 0);
263 public static float Hat(
float f) => 1f - 2f * MathF.Abs(f - 0.5f);
static int Min(int x1, int x2)
static float Lerp(float x1, float x2, float f)
DeciduousLeavesBlock(float summerStart, float autumnStart, float winterStart, float springStart, BlockColorsMap blockColorsMap, Color autumnColor1, Color autumnColor2, float autumnTransitionLightening)
override bool ShouldGenerateFace(SubsystemTerrain subsystemTerrain, int face, int value, int neighborValue, int x, int y, int z)
static float GetTimeOfSeason(int data)
readonly float WinterInterval
readonly float AutumnTransitionLightening
readonly float SummerIntervalInv
virtual int SetTimeOfYear(int data, float timeOfYear)
readonly float SummerStart
readonly Color SpringColor
override int GetShadowStrength(int value)
static float Hat(float f)
readonly float SpringStart
override Color GetLeavesBlockColor(int value, Terrain terrain, int x, int y, int z)
static Season GetSeason(int data)
readonly BlockColorsMap BlockColorsMap
readonly float AutumnInterval
static int SetTimeOfSeason(int data, float timeOfSeason)
override BlockPlacementData GetDigValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, int toolValue, TerrainRaycastResult raycastResult)
readonly float SummerInterval
override Color GetLeavesItemColor(int value, DrawBlockEnvironmentData environmentData)
static int SetSeason(int data, Season season)
readonly float SpringInterval
readonly float AutumnStart
static bool GetIsShaken(int data)
readonly float AutumnIntervalInv
readonly Color AutumnColor1
override string GetDisplayName(SubsystemTerrain subsystemTerrain, int value)
readonly float WinterStart
override void GetDropValues(SubsystemTerrain subsystemTerrain, int oldValue, int newValue, int toolLevel, List< BlockDropValue > dropValues, out bool showDebris)
static int SetIsShaken(int data, bool isManuallyCleared)
readonly float WinterIntervalInv
readonly float SpringIntervalInv
override IEnumerable< int > GetCreativeValues()
readonly float AutumnSpeedupFactor
virtual float GetLeafDropProbability(int value)
readonly Color AutumnColor2
static float Interval(float t1, float t2)
static int ExtractContents(int value)
static int ReplaceData(int value, int data)
static int MakeBlockValue(int contents)
static int ExtractData(int value)
virtual Subsystem FindSubsystem(Type type, string name, bool throwOnError)
static Color Lerp(Color c1, Color c2, float f)
static Color MultiplyColorOnly(Color c, float s)
static Color LerpNotSaturated(Color c1, Color c2, float f)