9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-29 19:49:09 +00:00

Updated Upstream (Paper)

This commit is contained in:
Dreeam
2023-12-13 22:49:59 -05:00
parent 07a2ca6b82
commit b69f76dc1b
125 changed files with 894 additions and 810 deletions

View File

@@ -52,22 +52,22 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 75f706d580c84deb2faf778552f8129a98bf32c6..4600ebd99e910287c3c97d6b9179af716da7f4c6 100644
index 19625d104b19e02101ee7685a1df5bfd0c905296..643143fa45c7c480e4bbd3d03e1b7cc19e2969e2 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -507,6 +507,7 @@ public class ServerChunkCache extends ChunkSource {
} else {
LevelData worlddata = this.level.getLevelData();
+ this.level.resetIceAndSnowTick(); // Gale - Airplane - optimize random calls in chunk ticking - reset ice & snow tick random
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
boolean flag1 = this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
@@ -603,6 +603,7 @@ public class ServerChunkCache extends ChunkSource {
player.playerNaturallySpawnedEvent = event;
}
// Paper end - optimise chunk tick iteration
+ this.level.resetIceAndSnowTick(); // Gale - Airplane - optimize random calls in chunk ticking - reset ice & snow tick random
int l = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
boolean flag1 = this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && this.level.getLevelData().getGameTime() % this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 67c9dabe4a33fe0335aeaee7759ec52b8ab169e0..a7972fba6490aa9f0a9808119b8343b71314391f 100644
index e38cd60ba31129ed53c8c3839fedd6f77440f4b1..be1dbe955461823de7b3dbf032d399837be62ea9 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -941,6 +941,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -958,6 +958,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
// Paper end
@@ -76,7 +76,7 @@ index 67c9dabe4a33fe0335aeaee7759ec52b8ab169e0..a7972fba6490aa9f0a9808119b8343b7
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
ChunkPos chunkcoordintpair = chunk.getPos();
boolean flag = this.isRaining();
@@ -948,7 +950,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -965,7 +967,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
int k = chunkcoordintpair.getMinBlockZ();
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
@@ -85,7 +85,7 @@ index 67c9dabe4a33fe0335aeaee7759ec52b8ab169e0..a7972fba6490aa9f0a9808119b8343b7
blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper
if (this.isRainingAt(blockposition)) {
@@ -976,7 +978,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -993,7 +995,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
@@ -93,7 +93,7 @@ index 67c9dabe4a33fe0335aeaee7759ec52b8ab169e0..a7972fba6490aa9f0a9808119b8343b7
+ if (!this.paperConfig().environment.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper // Gale - Airplane - optimize random calls in chunk ticking - optimize further random ticking
for (int l = 0; l < randomTickSpeed; ++l) {
if (this.random.nextInt(48) == 0) {
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
// Paper start
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 c5ab3058f66a54dba397aa4b562ec95e4fd25686..cd375184c63453829be96449c4df88372f905d9e 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java