Fix chunk ticking range
Dieser Commit ist enthalten in:
Ursprung
0c14711c28
Commit
4ff5387091
@ -1,4 +1,4 @@
|
|||||||
From 435506a861b923a8f536856f51c269544dae2e7e Mon Sep 17 00:00:00 2001
|
From 2233464aa54f578f003c64beb1cb9ad36460e64e Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 14 Jan 2018 17:36:02 -0500
|
Date: Sun, 14 Jan 2018 17:36:02 -0500
|
||||||
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent
|
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent
|
||||||
@ -9,10 +9,10 @@ from triggering monster spawns on a server.
|
|||||||
Also a highly more effecient way to blanket block spawns in a world
|
Also a highly more effecient way to blanket block spawns in a world
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
index 74a1b4a852..81b82aeeef 100644
|
index fba9f4b8a1..f5e62b0418 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
@@ -764,11 +764,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -764,11 +764,22 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange;
|
chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange;
|
||||||
chunkRange = (chunkRange > 8) ? 8 : chunkRange;
|
chunkRange = (chunkRange > 8) ? 8 : chunkRange;
|
||||||
|
|
||||||
@ -24,10 +24,15 @@ index 74a1b4a852..81b82aeeef 100644
|
|||||||
return this.playerMap.a(chunkcoordintpair.pair()).noneMatch((entityplayer) -> {
|
return this.playerMap.a(chunkcoordintpair.pair()).noneMatch((entityplayer) -> {
|
||||||
- return !entityplayer.isSpectator() && a(chunkcoordintpair, (Entity) entityplayer) < blockRange; // Spigot
|
- return !entityplayer.isSpectator() && a(chunkcoordintpair, (Entity) entityplayer) < blockRange; // Spigot
|
||||||
+ // Paper start -
|
+ // Paper start -
|
||||||
+ com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent event
|
+ com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent event;
|
||||||
+ = new com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent(entityplayer.getBukkitEntity(), (byte) finalChunkRange);
|
+ double blockRange = 16384.0D;
|
||||||
+ final double blockRange = (double)((event.getSpawnRadius() << 4) * (event.getSpawnRadius() << 4));
|
+ if (reducedRange) {
|
||||||
+ return event.isCancelled() || (!entityplayer.isSpectator() && a(chunkcoordintpair, (Entity) entityplayer) < blockRange); // Spigot
|
+ event = new com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent(entityplayer.getBukkitEntity(), (byte) finalChunkRange);
|
||||||
|
+ blockRange = (double) ((event.getSpawnRadius() << 4) * (event.getSpawnRadius() << 4));
|
||||||
|
+ if (event.isCancelled()) return true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return (!entityplayer.isSpectator() && a(chunkcoordintpair, (Entity) entityplayer) < blockRange); // Spigot
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From df72aa59ccf7c5c0dfd445a850a41f2724d728a9 Mon Sep 17 00:00:00 2001
|
From 34f06af441370b08d6c7f513573984728a0f84fc Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sat, 21 Jul 2018 08:25:40 -0400
|
Date: Sat, 21 Jul 2018 08:25:40 -0400
|
||||||
Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
|
Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
|
||||||
@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
|
|||||||
Add -Ddebug.entities=true to your JVM flags to gain more information
|
Add -Ddebug.entities=true to your JVM flags to gain more information
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||||
index ddfa88bac..291a8029e 100644
|
index ddfa88bac5..291a8029ed 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||||
@@ -75,6 +75,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
@@ -75,6 +75,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||||
@ -19,10 +19,10 @@ index ddfa88bac..291a8029e 100644
|
|||||||
if (bukkitEntity == null) {
|
if (bukkitEntity == null) {
|
||||||
bukkitEntity = CraftEntity.getEntity(world.getServer(), this);
|
bukkitEntity = CraftEntity.getEntity(world.getServer(), this);
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
index c1d9f31b4..485fb95e1 100644
|
index f5e62b0418..7bdf0e2d67 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
@@ -926,6 +926,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -931,6 +931,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
} else {
|
} else {
|
||||||
PlayerChunkMap.EntityTracker playerchunkmap_entitytracker = new PlayerChunkMap.EntityTracker(entity, i, j, entitytypes.isDeltaTracking());
|
PlayerChunkMap.EntityTracker playerchunkmap_entitytracker = new PlayerChunkMap.EntityTracker(entity, i, j, entitytypes.isDeltaTracking());
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ index c1d9f31b4..485fb95e1 100644
|
|||||||
this.trackedEntities.put(entity.getId(), playerchunkmap_entitytracker);
|
this.trackedEntities.put(entity.getId(), playerchunkmap_entitytracker);
|
||||||
playerchunkmap_entitytracker.track(this.world.getPlayers());
|
playerchunkmap_entitytracker.track(this.world.getPlayers());
|
||||||
if (entity instanceof EntityPlayer) {
|
if (entity instanceof EntityPlayer) {
|
||||||
@@ -968,7 +969,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -973,7 +974,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
if (playerchunkmap_entitytracker1 != null) {
|
if (playerchunkmap_entitytracker1 != null) {
|
||||||
playerchunkmap_entitytracker1.a();
|
playerchunkmap_entitytracker1.a();
|
||||||
}
|
}
|
||||||
@ -40,7 +40,7 @@ index c1d9f31b4..485fb95e1 100644
|
|||||||
|
|
||||||
protected void g() {
|
protected void g() {
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index d7229f100..5cf3aea4f 100644
|
index d7229f100b..5cf3aea4fc 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -68,6 +68,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
|
@@ -68,6 +68,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
|
||||||
@ -52,7 +52,7 @@ index d7229f100..5cf3aea4f 100644
|
|||||||
public boolean captureBlockStates = false;
|
public boolean captureBlockStates = false;
|
||||||
public boolean captureTreeGeneration = false;
|
public boolean captureTreeGeneration = false;
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index 8cffbabfb..f6ba51d14 100644
|
index 8cffbabfb6..f6ba51d14a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -69,6 +69,9 @@ public class WorldServer extends World {
|
@@ -69,6 +69,9 @@ public class WorldServer extends World {
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren