Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-16 03:20:07 +01:00
18c3716c49
This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. We also store counts by type to further enable other performance optimizations in later patches.
39 Zeilen
2.0 KiB
Diff
39 Zeilen
2.0 KiB
Diff
From 0b776c2a991e7b2afc49d7dd72d8d44a55574465 Mon Sep 17 00:00:00 2001
|
|
From: vemacs <d@nkmem.es>
|
|
Date: Thu, 3 Mar 2016 01:19:22 -0600
|
|
Subject: [PATCH] All chunks are slime spawn chunks toggle
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index 4c57b9cbf..a289ba019 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -227,4 +227,9 @@ public class PaperWorldConfig {
|
|
private void disableChestCatDetection() {
|
|
disableChestCatDetection = getBoolean("game-mechanics.disable-chest-cat-detection", false);
|
|
}
|
|
+
|
|
+ public boolean allChunksAreSlimeChunks;
|
|
+ private void allChunksAreSlimeChunks() {
|
|
+ allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
|
|
index 272b22652..3d3a9ca04 100644
|
|
--- a/src/main/java/net/minecraft/server/EntitySlime.java
|
|
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
|
|
@@ -251,8 +251,8 @@ public class EntitySlime extends EntityInsentient implements IMonster {
|
|
if (biomebase == Biomes.h && this.locY > 50.0D && this.locY < 70.0D && this.random.nextFloat() < 0.5F && this.random.nextFloat() < this.world.G() && this.world.getLightLevel(new BlockPosition(this)) <= this.random.nextInt(8)) {
|
|
return super.P();
|
|
}
|
|
-
|
|
- if (this.random.nextInt(10) == 0 && chunk.a(world.spigotConfig.slimeSeed).nextInt(10) == 0 && this.locY < 40.0D) { // Spigot
|
|
+ boolean isSlimeChunk = world.paperConfig.allChunksAreSlimeChunks || chunk.a(world.spigotConfig.slimeSeed).nextInt(10) == 0; // Spigot // Paper
|
|
+ if (this.random.nextInt(10) == 0 && isSlimeChunk && this.locY < 40.0D) { // Paper
|
|
return super.P();
|
|
}
|
|
}
|
|
--
|
|
2.18.0
|
|
|