30 public virtual void Update(
float dt) {
35 if ((precipitationShaftInfo.
Intensity > 0f && key.
Y >= precipitationShaftInfo.
YLimit - 1)
46 float num =
float.MaxValue;
71 public override void OnBlockAdded(
int value,
int oldValue,
int x,
int y,
int z) {
75 public override void OnBlockRemoved(
int value,
int newValue,
int x,
int y,
int z) {
79 public override void OnBlockModified(
int value,
int oldValue,
int x,
int y,
int z) {
89 List<Point3> list =
new();
91 if (key.
X >= chunk.Origin.X
92 && key.
X < chunk.Origin.X + 16
93 && key.
Z >= chunk.Origin.Y
94 && key.
Z < chunk.Origin.Y + 16) {
98 foreach (
Point3 item
in list) {
107 worldItem.ToRemove =
true;
119 base.Load(valuesDictionary);
129 Vector3 v =
new(0.5f, 0.15f, 0.5f);
138 Point3 key =
new(x, y, z);
140 value.IsStopped =
true;
145 public bool AddFuel(
int x,
int y,
int z,
int value,
int count) {
159 int num3 = (int)num2;
160 float num4 = num2 - num3;
161 if (
m_random.Float(0f, 1f) < num4) {
177 int num2 = Math.Clamp(num + steps, 0, 15);
static int Min(int x1, int x2)
static int Max(int x1, int x2)
static float Lerp(float x1, float x2, float f)
static bool PeriodicEvent(double period, double offset)
virtual bool IsNonAttachable(int value)
virtual float GetFuelFireDuration(int value)
virtual float GetFuelHeatLevel(int value)
virtual void RemoveActiveTool(int removeCount)
SubsystemTerrain SubsystemTerrain
void RemoveCampfireParticleSystem(int x, int y, int z)
override void OnNeighborBlockChanged(int x, int y, int z, int neighborX, int neighborY, int neighborZ)
Dictionary< Point3, FireParticleSystem > m_particleSystemsByCell
Dictionary< Point3, FireParticleSystem >.KeyCollection Campfires
override bool OnInteract(TerrainRaycastResult raycastResult, ComponentMiner componentMiner)
bool ResizeCampfire(int x, int y, int z, int steps, bool playSound)
SubsystemTime m_subsystemTime
void AddCampfireParticleSystem(int value, int x, int y, int z)
SubsystemParticles m_subsystemParticles
SubsystemAmbientSounds m_subsystemAmbientSounds
override void OnChunkDiscarding(TerrainChunk chunk)
override int[] HandledBlocks
override void OnBlockGenerated(int value, int x, int y, int z, bool isLoaded)
override void OnHitByProjectile(CellFace cellFace, WorldItem worldItem)
override void Load(ValuesDictionary valuesDictionary)
virtual void Update(float dt)
override void OnBlockRemoved(int value, int newValue, int x, int y, int z)
bool AddFuel(int x, int y, int z, int value, int count)
SubsystemWeather m_subsystemWeather
List< Point3 > m_toReduce
override void OnBlockAdded(int value, int oldValue, int x, int y, int z)
override void OnBlockModified(int value, int oldValue, int x, int y, int z)
bool TryExplodeBlock(int x, int y, int z, int value)
static int ExtractContents(int value)
static int ReplaceData(int value, int data)
static int ExtractData(int value)
ValuesDictionary ValuesDictionary