mirror of
https://github.com/PaperMC/Folia.git
synced 2024-11-25 12:35:23 +01:00
Remove unused skyLightSources
Starlight does not use the sky light sources, and there appear to be issues with TE access on Folia when initializing them. So, we can just delete it entirely.
This commit is contained in:
parent
b886376c26
commit
9b2ffd03cf
81
patches/server/0019-Remove-unused-skyLightSources.patch
Normal file
81
patches/server/0019-Remove-unused-skyLightSources.patch
Normal file
@ -0,0 +1,81 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Sat, 10 Jun 2023 14:05:26 -0700
|
||||
Subject: [PATCH] Remove unused skyLightSources
|
||||
|
||||
Starlight does not use the sky light sources, and there
|
||||
appear to be issues with TE access on Folia when initializing
|
||||
them. So, we can just delete it entirely.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
index 8b96d1b7548d354fbcabe6d1b5e9d6c3e2a5cb9d..e8fb179c5f443efd70293f31cdf00ca2eaf05006 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
@@ -74,7 +74,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom
|
||||
@Nullable
|
||||
protected BlendingData blendingData;
|
||||
public final Map<Heightmap.Types, Heightmap> heightmaps = Maps.newEnumMap(Heightmap.Types.class);
|
||||
- protected ChunkSkyLightSources skyLightSources;
|
||||
+ // Folia - remove unused skyLightSources
|
||||
private final Map<Structure, StructureStart> structureStarts = Maps.newHashMap();
|
||||
private final Map<Structure, LongSet> structuresRefences = Maps.newHashMap();
|
||||
protected final Map<BlockPos, CompoundTag> pendingBlockEntities = Maps.newHashMap();
|
||||
@@ -137,7 +137,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom
|
||||
this.inhabitedTime = inhabitedTime;
|
||||
this.postProcessing = new ShortList[heightLimitView.getSectionsCount()];
|
||||
this.blendingData = blendingData;
|
||||
- this.skyLightSources = new ChunkSkyLightSources(heightLimitView);
|
||||
+ // Folia - remove unused skyLightSources
|
||||
if (sectionArray != null) {
|
||||
if (this.sections.length == sectionArray.length) {
|
||||
System.arraycopy(sectionArray, 0, this.sections, 0, this.sections.length);
|
||||
@@ -549,12 +549,12 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom
|
||||
}
|
||||
|
||||
public void initializeLightSources() {
|
||||
- this.skyLightSources.fillFrom(this);
|
||||
+ // Folia - remove unused skyLightSources
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChunkSkyLightSources getSkyLightSources() {
|
||||
- return this.skyLightSources;
|
||||
+ return null; // Folia - remove unused skyLightSources
|
||||
}
|
||||
|
||||
public static record TicksToSave(SerializableTickContainer<Block> blocks, SerializableTickContainer<Fluid> fluids) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index 7a3b7f2466f4a1ed107497d99c8509a6e9ba3624..4d4e503cfdefb8c8e7f03f5792f354ec0a41c125 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -306,7 +306,7 @@ public class LevelChunk extends ChunkAccess {
|
||||
}
|
||||
}
|
||||
|
||||
- this.skyLightSources = protoChunk.skyLightSources;
|
||||
+ // Folia - remove unused skyLightSources
|
||||
this.setLightCorrect(protoChunk.isLightCorrect());
|
||||
this.unsaved = true;
|
||||
this.needsDecoration = true; // CraftBukkit
|
||||
@@ -497,7 +497,7 @@ public class LevelChunk extends ChunkAccess {
|
||||
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
||||
|
||||
gameprofilerfiller.push("updateSkyLightSources");
|
||||
- this.skyLightSources.update(this, j, i, l);
|
||||
+ // Folia - remove unused skyLightSources
|
||||
gameprofilerfiller.popPush("queueCheckLight");
|
||||
this.level.getChunkSource().getLightEngine().checkBlock(blockposition);
|
||||
gameprofilerfiller.pop();
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
|
||||
index 6c72eb36020bc05104b21e52cea89de09b85f2d7..d361975826247a85a6aa5989814b525c2d1cbbc7 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
|
||||
@@ -140,7 +140,7 @@ public class ProtoChunk extends ChunkAccess {
|
||||
}
|
||||
|
||||
if (LightEngine.hasDifferentLightProperties(this, pos, blockState, state)) {
|
||||
- this.skyLightSources.update(this, m, j, o);
|
||||
+ // Folia - remove unused skyLightSources
|
||||
this.lightEngine.checkBlock(pos);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user