mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2025-02-16 20:32:32 +01:00
Merge branch 'ver/1.16.5' of github.com:YatopiaMC/Yatopia into staging/1.16.5
This commit is contained in:
commit
e8c6ab6a0b
@ -20,7 +20,6 @@ # Patches
|
||||
| server | Add GameProfileLookupEvent | tr7zw | |
|
||||
| api | Add GameProfileLookupEvent | tr7zw | |
|
||||
| server | Add IntelliJ IDEA runnable | Zoe | |
|
||||
| server | Add JsonList save timings | Ivan Pekov | |
|
||||
| server | Add NBT API as a first-class lib | tr7zw | |
|
||||
| api | Add NBT API as a first-class lib | tr7zw | |
|
||||
| server | Add StructureGenerateEvent | Nahuel | Mariell Hoversholm |
|
||||
@ -174,9 +173,11 @@ # Patches
|
||||
| server | Fix IndexOutOfBoundsException when sending too many changes | Ivan Pekov | |
|
||||
| server | Fix LightEngineThreaded memory leak | Ivan Pekov | |
|
||||
| server | Fix PlayerEditBookEvent not saving new book | BillyGalbreath | |
|
||||
| server | Fix chunks refusing to unload at low TPS | Spottedleaf | |
|
||||
| server | Fix cow rotation when shearing mooshroom | William Blake Galbreath | |
|
||||
| server | Fix death message colors | William Blake Galbreath | |
|
||||
| server | Fix exp drop of zombie pigmen (MC-56653) | Phoenix616 | |
|
||||
| server | Fix incorrect isRealPlayer init | Spottedleaf | |
|
||||
| api | Fix javadoc warnings (missing @param and @return) | BillyGalbreath | |
|
||||
| server | Fix lead fall dmg config | tr7zw | |
|
||||
| server | Fix rotating UP/DOWN CW and CCW | BillyGalbreath | |
|
||||
@ -328,6 +329,7 @@ # Patches
|
||||
| server | Rewrite the light engine | Spottedleaf | |
|
||||
| server | Ridables | William Blake Galbreath | |
|
||||
| api | Ridables | William Blake Galbreath | |
|
||||
| server | Send full pos packets for hard colliding entities | Spottedleaf | |
|
||||
| server | Separate lookup locking from state access in UserCache | Spottedleaf | |
|
||||
| server | Set name visible when using a Name Tag on an Armor Stand | jmp | |
|
||||
| server | Short enderman height | William Blake Galbreath | |
|
||||
|
@ -49,10 +49,10 @@ index 9e6381a60b804a957eda5b72582d5545faebcb3e..1da5c7def8b476cf638548b05d3e2015
|
||||
this.world.getMethodProfiler().enter("customSpawners");
|
||||
if (flag1) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index cb2c429bda81b8c151a50ef3627716fef1e422d0..7e48b44047b09b44b2005e67ea1ef6bb2f2de6bc 100644
|
||||
index 307794aebb4ccd4d409013ed485e6defda2149ca..f599f80a543cfd3de97e5f80372ffed6c7bfd9ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1019,7 +1019,10 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1027,7 +1027,10 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
private final com.destroystokyo.paper.util.math.ThreadUnsafeRandom randomTickRandom = new com.destroystokyo.paper.util.math.ThreadUnsafeRandom();
|
||||
// Paper end
|
||||
|
||||
@ -64,7 +64,7 @@ index cb2c429bda81b8c151a50ef3627716fef1e422d0..7e48b44047b09b44b2005e67ea1ef6bb
|
||||
ChunkCoordIntPair chunkcoordintpair = chunk.getPos();
|
||||
boolean flag = this.isRaining();
|
||||
int j = chunkcoordintpair.d();
|
||||
@@ -1128,9 +1131,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1136,9 +1139,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
gameprofilerfiller.exit();
|
||||
timings.chunkTicksBlocks.stopTiming(); // Paper
|
||||
|
@ -23,10 +23,10 @@ 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/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 7e48b44047b09b44b2005e67ea1ef6bb2f2de6bc..994c1822a4b53552befc64d88e922285715fa31d 100644
|
||||
index f599f80a543cfd3de97e5f80372ffed6c7bfd9ff..fdab9a50bc5d433c76fda1501110524792a749c8 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1032,7 +1032,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1040,7 +1040,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
gameprofilerfiller.enter("thunder");
|
||||
final BlockPosition.MutableBlockPosition blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
|
||||
|
||||
|
@ -77,10 +77,10 @@ index 1da5c7def8b476cf638548b05d3e2015bc372f51..03bcd704e3c08f5b54b124df1583e3cc
|
||||
boolean flag2 = world.ticksPerAnimalSpawns != 0L && worlddata.getTime() % world.ticksPerAnimalSpawns == 0L; // CraftBukkit
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 994c1822a4b53552befc64d88e922285715fa31d..f3e8e5dafa528075acc76fa2e75907f63438a93d 100644
|
||||
index fdab9a50bc5d433c76fda1501110524792a749c8..6dc1f6d7f734b8c769c86109701155ebe9c2f6bd 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1019,6 +1019,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1027,6 +1027,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
private final com.destroystokyo.paper.util.math.ThreadUnsafeRandom randomTickRandom = new com.destroystokyo.paper.util.math.ThreadUnsafeRandom();
|
||||
// Paper end
|
||||
|
||||
@ -89,7 +89,7 @@ index 994c1822a4b53552befc64d88e922285715fa31d..f3e8e5dafa528075acc76fa2e75907f6
|
||||
// Airplane start - create version of chunk tick that returns a bool for updating lighting
|
||||
public void a(Chunk chunk, int i) { this.abool(chunk, i); }
|
||||
public boolean abool(Chunk chunk, int i) { final int randomTickSpeed = i; // Paper
|
||||
@@ -1032,7 +1034,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1040,7 +1042,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
gameprofilerfiller.enter("thunder");
|
||||
final BlockPosition.MutableBlockPosition blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
|
||||
|
||||
@ -98,7 +98,7 @@ index 994c1822a4b53552befc64d88e922285715fa31d..f3e8e5dafa528075acc76fa2e75907f6
|
||||
blockposition.setValues(this.a(this.a(j, 0, k, 15))); // Paper
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition);
|
||||
@@ -1062,7 +1064,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1070,7 +1072,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
gameprofilerfiller.exitEnter("iceandsnow");
|
||||
|
@ -56,7 +56,7 @@ index 631eb682e81e30d2a937fd1eafccd8a9ab82d21e..dc07376845f84ea949a2153cb75d2cd9
|
||||
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_builder.a(s));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index a42571cfd2c9c80df27e59db832cb64c2a64e141..c5546838187e3dc0d752e69c1eafa0dbc3804b0c 100644
|
||||
index 2c2becef8b56d7e5e998976222df85d2c8516c43..cde7d0e641b2e1e8e6a4ce9510a996343d62a88d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -638,7 +638,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
@ -91,7 +91,7 @@ index a42571cfd2c9c80df27e59db832cb64c2a64e141..c5546838187e3dc0d752e69c1eafa0db
|
||||
|
||||
return Math.max(Math.abs(k), Math.abs(l));
|
||||
}
|
||||
@@ -2498,11 +2504,17 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
@@ -2496,11 +2502,17 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
boolean flag1 = this.tracker.attachedToPlayer;
|
||||
|
||||
if (!flag1) {
|
||||
@ -111,7 +111,7 @@ index a42571cfd2c9c80df27e59db832cb64c2a64e141..c5546838187e3dc0d752e69c1eafa0db
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2532,8 +2544,10 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
@@ -2530,8 +2542,10 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
}
|
||||
|
||||
private int b() {
|
||||
@ -123,7 +123,7 @@ index a42571cfd2c9c80df27e59db832cb64c2a64e141..c5546838187e3dc0d752e69c1eafa0db
|
||||
Iterator iterator = collection.iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -2545,6 +2559,8 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
@@ -2543,6 +2557,8 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
i = j;
|
||||
}
|
||||
}
|
||||
@ -160,10 +160,10 @@ index 6e6059daba05d7ce3aabeed85cc0e0d2daa04f92..6e4c7a9b32c9e8057db3cbcead0b75d8
|
||||
// Paper start - Prevent armor stands from doing entity lookups
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index f3e8e5dafa528075acc76fa2e75907f63438a93d..4d47cca6db7a771677c31ade9425ed3ad83393ea 100644
|
||||
index 6dc1f6d7f734b8c769c86109701155ebe9c2f6bd..2289c92c8933bfa0f382167fa5790a4ea17b7c75 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -907,7 +907,28 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -915,7 +915,28 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
gameprofilerfiller.enter("tick");
|
||||
if (!entity.dead && !(entity instanceof EntityComplexPart)) {
|
||||
@ -192,7 +192,7 @@ index f3e8e5dafa528075acc76fa2e75907f63438a93d..4d47cca6db7a771677c31ade9425ed3a
|
||||
}
|
||||
|
||||
gameprofilerfiller.exit();
|
||||
@@ -1278,9 +1299,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1286,9 +1307,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
++entity.ticksLived;
|
||||
GameProfilerFiller gameprofilerfiller = this.getMethodProfiler();
|
||||
|
||||
|
@ -84,7 +84,7 @@ index 173a210392d71cdfc551f095dc0d9c9040d22d3f..7d7a512ad752e15fbe0edce47da1da76
|
||||
return this.serverStatisticManager;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index cbaf18af1066e8bde10293bba5eb3060bae1e66f..0c98a436021cbdedba5352073b1f8bf9852298eb 100644
|
||||
index 93f2ac996904ddefed04704e554209d047faa59f..b1a546c9ef91169591ed5a71ac1c97dbc84afc03 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -174,28 +174,18 @@ public interface IEntityAccess {
|
||||
@ -149,7 +149,7 @@ index b5e1a860a2569d7668330827614d221b60f3fc78..5f85a1d513f4fdc21b64e1a2b6882e33
|
||||
// Paper start
|
||||
public static final Predicate<Entity> affectsSpawning = (entity) -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 4058c1f7ada7d0c9e4ba73a0073b4f94bf410a8f..caf9ce94a7cb6154981d42953c81b588b19e3814 100644
|
||||
index 4185ec46435ddf48d9e25c4d71ac4e14eb6301cf..1d810a9b23d236493db121dde92c7ebce25a25fe 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -250,6 +250,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@ -174,7 +174,7 @@ index 4058c1f7ada7d0c9e4ba73a0073b4f94bf410a8f..caf9ce94a7cb6154981d42953c81b588
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1228,7 +1236,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1253,7 +1261,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
if (!this.player.H() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative() && this.player.playerInteractManager.getGameMode() != EnumGamemode.SPECTATOR) { // Spigot
|
||||
flag1 = true; // Tuinity - diff on change, this should be moved wrongly
|
||||
@ -183,7 +183,7 @@ index 4058c1f7ada7d0c9e4ba73a0073b4f94bf410a8f..caf9ce94a7cb6154981d42953c81b588
|
||||
}
|
||||
|
||||
this.player.setLocation(d4, d5, d6, f, f1);
|
||||
@@ -1278,6 +1286,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1303,6 +1311,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@ -193,10 +193,10 @@ index 4058c1f7ada7d0c9e4ba73a0073b4f94bf410a8f..caf9ce94a7cb6154981d42953c81b588
|
||||
if (from.getX() != Double.MAX_VALUE) {
|
||||
Location oldTo = to.clone();
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 9c11a6ba0384baafaec1403a6a7c3f894d5cd7b3..e99c3ad507f1381c9aa495052d2014ba8b7e0750 100644
|
||||
index 9a8a1e05a60bca77adc904017ae70ef5f629df0b..cc1182be1f9b01ab5d8e2499f7f15ad8798de3d3 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -782,7 +782,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -790,7 +790,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// CraftBukkit end
|
||||
|
||||
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
||||
@ -205,7 +205,7 @@ index 9c11a6ba0384baafaec1403a6a7c3f894d5cd7b3..e99c3ad507f1381c9aa495052d2014ba
|
||||
})) {
|
||||
// CraftBukkit start
|
||||
long l = this.worldData.getDayTime() + 24000L;
|
||||
@@ -1119,7 +1119,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1127,7 +1127,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
while (iterator.hasNext()) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||
|
||||
|
@ -67,10 +67,10 @@ index 7d7a512ad752e15fbe0edce47da1da76c01df3b3..9b09d68435290add2781a72e5bc62ce5
|
||||
public Scoreboard getScoreboard() {
|
||||
return getBukkitEntity().getScoreboard().getHandle();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index caf9ce94a7cb6154981d42953c81b588b19e3814..e833447073585ff97f8ab3a95caea8866fcc24e2 100644
|
||||
index 1d810a9b23d236493db121dde92c7ebce25a25fe..218ebc7befca683607b0b9863384a5b5d6bd3a2f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1708,6 +1708,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1733,6 +1733,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer());
|
||||
// Paper start
|
||||
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()];
|
||||
@ -79,10 +79,10 @@ index caf9ce94a7cb6154981d42953c81b588b19e3814..e833447073585ff97f8ab3a95caea886
|
||||
this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus));
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 1eb44877e7384ae0a028a12b832684126b8d50ec..5b0fdcf5190e4ab2af249a5a0952b66d52f08751 100644
|
||||
index eabd1aa2b740bcb6db40be300cd6daf59674fa3f..46043d3a4f4056fff93b867c65d363ac1277db7a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -914,6 +914,8 @@ public abstract class PlayerList {
|
||||
@@ -915,6 +915,8 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
|
@ -17,7 +17,7 @@ index 8e93f1540ba5f995489c1fbcec70d10b011cd9c3..470f92c4fb0919d052b19acff8dff533
|
||||
return this.a;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index e833447073585ff97f8ab3a95caea8866fcc24e2..fdd517290a0b306dff9c0fffadc424b59b8504f3 100644
|
||||
index 218ebc7befca683607b0b9863384a5b5d6bd3a2f..dc93f0c8f65e2a796604b8e4488c1b3bd155b64e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -84,6 +84,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@ -50,7 +50,7 @@ index e833447073585ff97f8ab3a95caea8866fcc24e2..fdd517290a0b306dff9c0fffadc424b5
|
||||
if (this.isPendingPing()) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info
|
||||
@@ -2882,6 +2898,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2907,6 +2923,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
@Override
|
||||
public void a(PacketPlayInKeepAlive packetplayinkeepalive) {
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index e99c3ad507f1381c9aa495052d2014ba8b7e0750..49ae8bd50810473d121e786a06a813b777909904 100644
|
||||
index cc1182be1f9b01ab5d8e2499f7f15ad8798de3d3..30388fca6d3db797825949642d372a4091cc48c2 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -996,12 +996,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1004,12 +1004,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
|
||||
|
||||
if (flag1) {
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Dont send useless entity packets
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index 526c1419af7bd0b6098a8f9a0a24a64ba61c6ebc..81a82a1fa811956a8b5233677981c2d3783b34fb 100644
|
||||
index 81869215876d10a84ab27c0e6f41963c1346fd1c..f3b37f5704d752d1ec4d4d916690907dace67183 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -172,6 +172,7 @@ public class EntityTrackerEntry {
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Cat spawning options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index 0c98a436021cbdedba5352073b1f8bf9852298eb..08778cc0de9b1ffefc52d12d31403c33c50ddb2f 100644
|
||||
index b1a546c9ef91169591ed5a71ac1c97dbc84afc03..6edff6d8ce67f64420a845e992339dadf53641f8 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -47,6 +47,7 @@ public interface IEntityAccess {
|
||||
|
@ -17,10 +17,10 @@ index 9b09d68435290add2781a72e5bc62ce50a79e39f..1d69c07eb3890e61383928433db727bd
|
||||
this.playerConnection.sendPacket(new PacketPlayOutOpenSignEditor(tileentitysign.getPosition()));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index fdd517290a0b306dff9c0fffadc424b59b8504f3..3fca11948fad36b6adec55883d365e58a17925fa 100644
|
||||
index dc93f0c8f65e2a796604b8e4488c1b3bd155b64e..eaddc933261aeccc963ac0f35eebb387c16ae6a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2879,6 +2879,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2904,6 +2904,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
// Paper end
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 5b0fdcf5190e4ab2af249a5a0952b66d52f08751..3c19e931ad7d5330f1c77ef65aaa5858a001e4df 100644
|
||||
index 46043d3a4f4056fff93b867c65d363ac1277db7a..726e3292318f6a0de474f68fe30da4a954c7600a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -1073,6 +1073,7 @@ public abstract class PlayerList {
|
||||
@@ -1074,6 +1074,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + i);
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ index d99cecc4075338d7b8f154ab94d8ac04190ba371..ec37d2c3b0393c43097bdfc6064ebe3a
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index 81a82a1fa811956a8b5233677981c2d3783b34fb..a9d60e5dc2f3b38a192a68d79bcf78e4873664a2 100644
|
||||
index f3b37f5704d752d1ec4d4d916690907dace67183..1cae524fe4248370f6f6967327cb4a463b5f19fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -106,6 +106,15 @@ public class EntityTrackerEntry {
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 3fca11948fad36b6adec55883d365e58a17925fa..ffccdc3bf1d28836f4fc2772ebfde843415ea232 100644
|
||||
index eaddc933261aeccc963ac0f35eebb387c16ae6a0..67fa3bd958876abc39c46d9e517551836b0e86ed 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1029,7 +1029,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1054,7 +1054,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
if (itemstack.getItem() == Items.WRITABLE_BOOK) {
|
||||
NBTTagList nbttaglist = new NBTTagList();
|
||||
|
||||
@ -18,7 +18,7 @@ index 3fca11948fad36b6adec55883d365e58a17925fa..ffccdc3bf1d28836f4fc2772ebfde843
|
||||
ItemStack old = itemstack.cloneItemStack(); // CraftBukkit
|
||||
itemstack.a("pages", (NBTBase) nbttaglist);
|
||||
CraftEventFactory.handleEditBookEvent(player, i, old, itemstack); // CraftBukkit
|
||||
@@ -1047,13 +1048,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1072,13 +1073,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
itemstack1.setTag(nbttagcompound.clone());
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ index 3fca11948fad36b6adec55883d365e58a17925fa..ffccdc3bf1d28836f4fc2772ebfde843
|
||||
ChatComponentText chatcomponenttext = new ChatComponentText(s1);
|
||||
String s2 = IChatBaseComponent.ChatSerializer.a((IChatBaseComponent) chatcomponenttext);
|
||||
|
||||
@@ -1065,6 +1067,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1090,6 +1092,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -92,10 +92,10 @@ index 21f94651fcb47103b12806d456417882e7f84dcd..fcc247e86992d1e1a94438ee4f0a7018
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index ffccdc3bf1d28836f4fc2772ebfde843415ea232..8932f4854d9fc52fb2ec66a748e640dfd8806461 100644
|
||||
index 67fa3bd958876abc39c46d9e517551836b0e86ed..94353290087df17e441dba8fe8999ad558652cda 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2271,6 +2271,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2296,6 +2296,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
boolean triggerLeashUpdate = itemInHand != null && itemInHand.getItem() == Items.LEAD && entity instanceof EntityInsentient;
|
||||
Item origItem = this.player.inventory.getItemInHand() == null ? null : this.player.inventory.getItemInHand().getItem();
|
||||
PlayerInteractEntityEvent event;
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Duplicate paper's vanilla scoreboard colors patch to sync
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 8932f4854d9fc52fb2ec66a748e640dfd8806461..eff58bba46e5cb4bd412fcb65e293d5b9eb58aba 100644
|
||||
index 94353290087df17e441dba8fe8999ad558652cda..05f2cc5904f196c70e8e83625810673f6110aba0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2030,7 +2030,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2055,7 +2055,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ index 8932f4854d9fc52fb2ec66a748e640dfd8806461..eff58bba46e5cb4bd412fcb65e293d5b
|
||||
PlayerConnection.this.minecraftServer.console.sendMessage(message);
|
||||
if (((LazyPlayerSet) queueEvent.getRecipients()).isLazy()) {
|
||||
for (Object player : PlayerConnection.this.minecraftServer.getPlayerList().players) {
|
||||
@@ -2063,7 +2071,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2088,7 +2096,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
// Paper Start - (Meh) Support for vanilla world scoreboard name coloring
|
||||
String displayName = event.getPlayer().getDisplayName();
|
||||
if (this.player.getWorld().paperConfig.useVanillaScoreboardColoring) {
|
||||
|
@ -18,7 +18,7 @@ index dae2e5d70756c5b61163d57099b65f7e415b288c..55b67f1057224101272f9d6023a93872
|
||||
}
|
||||
final Object val = config.get(key);
|
||||
diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
|
||||
index ceeb515f4528551659598d9999917f8596e3eded..274b93dce71d630107c2647a045ab28e3eec58c4 100644
|
||||
index 0959aa6855a150b121b9b75885216c46b151179e..b181b22cdd78f9ddeea38f315a5dc856134d1c58 100644
|
||||
--- a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
|
||||
+++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -28,7 +28,7 @@ index ceeb515f4528551659598d9999917f8596e3eded..274b93dce71d630107c2647a045ab28e
|
||||
import com.destroystokyo.paper.util.SneakyThrow;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.TicketType;
|
||||
@@ -376,6 +377,19 @@ public final class TuinityConfig {
|
||||
@@ -382,6 +383,19 @@ public final class TuinityConfig {
|
||||
this.spawnLimitAmbient = this.getInt(path + ".ambient", -1);
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ index 829d4a7508e1656dbdc912096b7eafcf30cbb5b2..6aea156d7c7a9ca8a357aad6a6781d72
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 49ae8bd50810473d121e786a06a813b777909904..c92f3043f6993e569cf83ac69682b85ef178d622 100644
|
||||
index 30388fca6d3db797825949642d372a4091cc48c2..138f5c577391980f2b218b25a4251ac853bb9bad 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -321,14 +321,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
@ -4975,10 +4975,10 @@ index 0000000000000000000000000000000000000000..44929182dfd7ad847d9657c324f440cb
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index eff58bba46e5cb4bd412fcb65e293d5b9eb58aba..e9485684b7d5ddde72fc388d51cfef679178bad3 100644
|
||||
index 05f2cc5904f196c70e8e83625810673f6110aba0..ef222cdfdfb49dcdcb0e3bf6f6cabc765be003cc 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2288,6 +2288,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2313,6 +2313,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
this.server.getPluginManager().callEvent(event);
|
||||
|
||||
@ -5043,7 +5043,7 @@ index 1ac2e9f373ae5b4250ff9faf726a962a739d6faf..97cc98af100edfad82668200759a5eed
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index c92f3043f6993e569cf83ac69682b85ef178d622..5a6aace070e64b6db315d766d16773c408de638e 100644
|
||||
index 138f5c577391980f2b218b25a4251ac853bb9bad..c451e71601fc48294f9161ca5ef8442d31ad96f7 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -102,6 +102,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
@ -42,7 +42,7 @@ index 97cc98af100edfad82668200759a5eed8fc67558..ded92fe7c7871bae6e9741747a67636d
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 5a6aace070e64b6db315d766d16773c408de638e..ded19d1773237eaf51f72ce93a6794db8f56d160 100644
|
||||
index c451e71601fc48294f9161ca5ef8442d31ad96f7..02cbbf11a2b71573f50aac6fdfaa6643c18832bf 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -339,7 +339,24 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
@ -18,7 +18,7 @@ index 1b9b43ee696575d986c25cafec07d863acb951a7..e837db171545ceacbc84a2b360cf0d95
|
||||
public PacketPlayOutUpdateTime() {}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index ded19d1773237eaf51f72ce93a6794db8f56d160..cb2c429bda81b8c151a50ef3627716fef1e422d0 100644
|
||||
index 02cbbf11a2b71573f50aac6fdfaa6643c18832bf..307794aebb4ccd4d409013ed485e6defda2149ca 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -94,6 +94,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@ -37,7 +37,7 @@ index ded19d1773237eaf51f72ce93a6794db8f56d160..cb2c429bda81b8c151a50ef3627716fe
|
||||
}
|
||||
|
||||
// Tuinity start - optimise collision
|
||||
@@ -964,7 +966,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -972,7 +974,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.nextTickListBlock.nextTick(); // Paper
|
||||
this.nextTickListFluid.nextTick(); // Paper
|
||||
this.worldDataServer.u().a(this.server, i);
|
||||
@ -60,7 +60,7 @@ index ded19d1773237eaf51f72ce93a6794db8f56d160..cb2c429bda81b8c151a50ef3627716fe
|
||||
this.setDayTime(this.worldData.getDayTime() + 1L);
|
||||
}
|
||||
|
||||
@@ -973,6 +989,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -981,6 +997,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void setDayTime(long i) {
|
||||
this.worldDataServer.setDayTime(i);
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Spread out and optimise player list ticks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 3c19e931ad7d5330f1c77ef65aaa5858a001e4df..0efc210ad55d843fd297f0caa88a5f355fbfef80 100644
|
||||
index 726e3292318f6a0de474f68fe30da4a954c7600a..58a184c518c557b7e4cfeebba9e4a7a9fbaf8c85 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -71,7 +71,7 @@ public abstract class PlayerList {
|
||||
@ -17,7 +17,7 @@ index 3c19e931ad7d5330f1c77ef65aaa5858a001e4df..0efc210ad55d843fd297f0caa88a5f35
|
||||
|
||||
// CraftBukkit start
|
||||
private CraftServer cserver;
|
||||
@@ -928,22 +928,23 @@ public abstract class PlayerList {
|
||||
@@ -929,22 +929,23 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void tick() {
|
||||
|
@ -37,10 +37,10 @@ index eea187723c1931a5db9a2d79a1abddd664d890a1..33d43478b1bc4b0ca3f16ba80e0cd99b
|
||||
this.isRestarting = isRestarting;
|
||||
if (flag) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 0efc210ad55d843fd297f0caa88a5f355fbfef80..ca19cfa1ff801e5292332ff7b92bba881762306e 100644
|
||||
index 58a184c518c557b7e4cfeebba9e4a7a9fbaf8c85..7db99b6639a0afdd1f68539f6c6a6f48275e5b6b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -513,6 +513,8 @@ public abstract class PlayerList {
|
||||
@@ -514,6 +514,8 @@ public abstract class PlayerList {
|
||||
if (entityplayer.didPlayerJoinEvent) cserver.getPluginManager().callEvent(playerQuitEvent); // Paper - if we disconnected before join ever fired, don't fire quit
|
||||
entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
|
||||
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index e9485684b7d5ddde72fc388d51cfef679178bad3..75d955948a407d94e6f3a88f86afa8b1d6ba33cb 100644
|
||||
index ef222cdfdfb49dcdcb0e3bf6f6cabc765be003cc..95c1ba7241069ad291c2acef6972937ac7c4c7c7 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -941,6 +941,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -966,6 +966,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
NBTTagList pageList = testStack.getTag().getList("pages", 8);
|
||||
if (pageList.size() > 100) {
|
||||
PlayerConnection.LOGGER.warn(this.player.getName() + " tried to send a book with too many pages");
|
||||
@ -16,7 +16,7 @@ index e9485684b7d5ddde72fc388d51cfef679178bad3..75d955948a407d94e6f3a88f86afa8b1
|
||||
minecraftServer.scheduleOnMain(() -> this.disconnect("Book too large!"));
|
||||
return;
|
||||
}
|
||||
@@ -953,6 +954,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -978,6 +979,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||
if (byteLength > 256 * 4) {
|
||||
PlayerConnection.LOGGER.warn(this.player.getName() + " tried to send a book with with a page too large!");
|
||||
@ -24,7 +24,7 @@ index e9485684b7d5ddde72fc388d51cfef679178bad3..75d955948a407d94e6f3a88f86afa8b1
|
||||
minecraftServer.scheduleOnMain(() -> this.disconnect("Book too large!"));
|
||||
return;
|
||||
}
|
||||
@@ -976,6 +978,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1001,6 +1003,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
PlayerConnection.LOGGER.warn(this.player.getName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerEditBookEvent not saving new book
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 75d955948a407d94e6f3a88f86afa8b1d6ba33cb..ca190409b6718607183df2e86f0b4be98c9b6c33 100644
|
||||
index 95c1ba7241069ad291c2acef6972937ac7c4c7c7..1471785da53a18edf31a20212f3cc6c19de92822 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1036,7 +1036,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1061,7 +1061,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
list.stream().map(s -> s = color(s, hasPerm, false)).map(NBTTagString::a).forEach(nbttaglist::add); // Purpur - edit book
|
||||
ItemStack old = itemstack.cloneItemStack(); // CraftBukkit
|
||||
itemstack.a("pages", (NBTBase) nbttaglist);
|
||||
|
@ -907,12 +907,15 @@ index 25e54a1fadc5d31fb250a3f47524b4f345fc8cc6..cce0ac8a36bef3b9e5a2b95e0c3dd137
|
||||
return this.d(entity, axisalignedbb, predicate).allMatch(VoxelShape::isEmpty);
|
||||
} finally { if (entity != null) entity.collisionLoadChunks = false; } // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index b053bb74f6df174a27dbfd7b1b3e3ccbb0b26659..64b59b17d28803f510b8b088ebafe446c450d486 100644
|
||||
index b053bb74f6df174a27dbfd7b1b3e3ccbb0b26659..c17cbadeff9cb3ea955b9db99ab71d6d7fd8c247 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -70,7 +70,8 @@ public interface IEntityAccess {
|
||||
@@ -68,9 +68,10 @@ public interface IEntityAccess {
|
||||
if (axisalignedbb.a() < 1.0E-7D) {
|
||||
return Stream.empty();
|
||||
} else {
|
||||
AxisAlignedBB axisalignedbb1 = axisalignedbb.g(1.0E-7D);
|
||||
- AxisAlignedBB axisalignedbb1 = axisalignedbb.g(1.0E-7D);
|
||||
+ AxisAlignedBB axisalignedbb1 = axisalignedbb.g(-1.0E-7D); // Tuinity - to comply with vanilla intersection rules, expand by -epsilon so we only get stuff we definitely collide with. expanding by +epsilon gives us stuff we don't collide with, which will screw over callers in some cases.
|
||||
|
||||
- predicate = predicate.and((entity1) -> { // Tuinity - optimise entity hard collisions
|
||||
+ if (predicate == null) predicate = (e) -> true; // Tuinity - allow nullable
|
||||
@ -1454,10 +1457,10 @@ index f011869880fedae4b69e505491e8bdbc5f51dfba..0d10d317cd0b60fc0866ae505c7fd71f
|
||||
return this.j.d();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index da9172303b8acf5613b283a98bf7f6f0fe859d62..8cb3f69b5ccf6a6895fb6fef92d4023baf45593f 100644
|
||||
index da9172303b8acf5613b283a98bf7f6f0fe859d62..8e1bd6029a5230f03616d9ff00b55ab14feced3f 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -361,6 +361,243 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -361,6 +361,251 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
|
||||
}
|
||||
|
||||
@ -1477,7 +1480,11 @@ index da9172303b8acf5613b283a98bf7f6f0fe859d62..8cb3f69b5ccf6a6895fb6fef92d4023b
|
||||
+ if (axisalignedbb.isEmpty()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ axisalignedbb = axisalignedbb.grow(MCUtil.COLLISION_EPSILON, MCUtil.COLLISION_EPSILON, MCUtil.COLLISION_EPSILON);
|
||||
+
|
||||
+ // to comply with vanilla intersection rules, expand by -epsilon so we only get stuff we definitely collide with.
|
||||
+ // Vanilla for hard collisions has this backwards, and they expand by +epsilon but this causes terrible problems
|
||||
+ // specifically with boat collisions.
|
||||
+ axisalignedbb = axisalignedbb.grow(-MCUtil.COLLISION_EPSILON, -MCUtil.COLLISION_EPSILON, -MCUtil.COLLISION_EPSILON);
|
||||
+ List<Entity> entities = com.tuinity.tuinity.util.CachedLists.getTempGetEntitiesList();
|
||||
+ try {
|
||||
+ if (entity != null && entity.hardCollides()) {
|
||||
@ -1647,7 +1654,11 @@ index da9172303b8acf5613b283a98bf7f6f0fe859d62..8cb3f69b5ccf6a6895fb6fef92d4023b
|
||||
+ if (axisalignedbb.isEmpty()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ axisalignedbb = axisalignedbb.grow(MCUtil.COLLISION_EPSILON, MCUtil.COLLISION_EPSILON, MCUtil.COLLISION_EPSILON);
|
||||
+
|
||||
+ // to comply with vanilla intersection rules, expand by -epsilon so we only get stuff we definitely collide with.
|
||||
+ // Vanilla for hard collisions has this backwards, and they expand by +epsilon but this causes terrible problems
|
||||
+ // specifically with boat collisions.
|
||||
+ axisalignedbb = axisalignedbb.grow(-MCUtil.COLLISION_EPSILON, -MCUtil.COLLISION_EPSILON, -MCUtil.COLLISION_EPSILON);
|
||||
+ List<Entity> entities = com.tuinity.tuinity.util.CachedLists.getTempGetEntitiesList();
|
||||
+ try {
|
||||
+ if (entity != null && entity.hardCollides()) {
|
||||
|
@ -9,7 +9,7 @@ issues where teleporting players across worlds while ticking.
|
||||
Also allows us to run mid tick while ticking entities.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385131269cc 100644
|
||||
index 8e1bd6029a5230f03616d9ff00b55ab14feced3f..6e5a3467f92c29181d26c03ecf49d598d75a4633 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -61,7 +61,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@ -30,7 +30,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
protected final PersistentRaid persistentRaid;
|
||||
private final ObjectLinkedOpenHashSet<BlockActionData> L;
|
||||
private boolean ticking;
|
||||
@@ -825,13 +825,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -833,13 +833,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
this.tickingEntities = true;
|
||||
@ -46,7 +46,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
Entity entity1 = entity.getVehicle();
|
||||
|
||||
/* CraftBukkit start - We prevent spawning in general, so this butchering is not needed
|
||||
@@ -867,7 +866,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -875,7 +874,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
gameprofilerfiller.enter("remove");
|
||||
if (entity.dead) {
|
||||
this.removeEntityFromChunk(entity);
|
||||
@ -55,7 +55,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
this.unregisterEntity(entity);
|
||||
}
|
||||
|
||||
@@ -875,6 +874,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -883,6 +882,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
timings.entityTick.stopTiming(); // Spigot
|
||||
|
||||
@ -63,7 +63,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
this.tickingEntities = false;
|
||||
// Paper start
|
||||
for (java.lang.Runnable run : this.afterEntityTickingTasks) {
|
||||
@@ -1654,7 +1654,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1662,7 +1662,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
|
||||
if (!(entity instanceof EntityPlayer)) {
|
||||
@ -72,7 +72,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||
}
|
||||
|
||||
@@ -1682,6 +1682,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1690,6 +1690,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void unregisterEntity(Entity entity) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
|
||||
@ -80,7 +80,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
// Paper start - fix entity registration issues
|
||||
if (entity instanceof EntityComplexPart) {
|
||||
// Usually this is a no-op for complex parts, and ID's should be removed, but go ahead and remove it anyways
|
||||
@@ -1748,12 +1749,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1756,12 +1757,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.getScoreboard().a(entity);
|
||||
// CraftBukkit start - SPIGOT-5278
|
||||
if (entity instanceof EntityDrowned) {
|
||||
@ -100,7 +100,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
}
|
||||
new com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
entity.valid = false; // CraftBukkit
|
||||
@@ -1769,7 +1774,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1777,7 +1782,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@ -109,7 +109,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
if (!entity.isQueuedForRegister) { // Paper
|
||||
this.entitiesToAdd.add(entity);
|
||||
entity.isQueuedForRegister = true; // Paper
|
||||
@@ -1777,6 +1782,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1785,6 +1790,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
} else {
|
||||
entity.isQueuedForRegister = false; // Paper
|
||||
this.entitiesById.put(entity.getId(), entity);
|
||||
@ -117,7 +117,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
if (entity instanceof EntityEnderDragon) {
|
||||
EntityComplexPart[] aentitycomplexpart = ((EntityEnderDragon) entity).eJ();
|
||||
int i = aentitycomplexpart.length;
|
||||
@@ -1785,6 +1791,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1793,6 +1799,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
EntityComplexPart entitycomplexpart = aentitycomplexpart[j];
|
||||
|
||||
this.entitiesById.put(entitycomplexpart.getId(), entitycomplexpart);
|
||||
@ -125,7 +125,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1809,12 +1816,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1817,12 +1824,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// this.getChunkProvider().addEntity(entity); // Paper - moved down below valid=true
|
||||
// CraftBukkit start - SPIGOT-5278
|
||||
if (entity instanceof EntityDrowned) {
|
||||
@ -145,7 +145,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
}
|
||||
entity.valid = true; // CraftBukkit
|
||||
this.getChunkProvider().addEntity(entity); // Paper - from above to be below valid=true
|
||||
@@ -1830,7 +1841,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1838,7 +1849,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void removeEntity(Entity entity) {
|
||||
@ -154,7 +154,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||
} else {
|
||||
this.removeEntityFromChunk(entity);
|
||||
@@ -1934,7 +1945,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1942,7 +1953,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
|
||||
boolean wasTicking = this.tickingEntities; this.tickingEntities = true; // Paper
|
||||
@ -165,7 +165,7 @@ index 8cb3f69b5ccf6a6895fb6fef92d4023baf45593f..99a0845a64e4853fe12722a76cc00385
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
NavigationAbstract navigationabstract = (NavigationAbstract) iterator.next();
|
||||
@@ -1943,6 +1956,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1951,6 +1964,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
navigationabstract.b(blockposition);
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] Optimise collision checking in player move packet handling
|
||||
Move collision logic to just the hasNewCollision call instead of getCubes + hasNewCollision
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index f1be42b5f1d0eb403e6895e8ff1d106861fa4298..4058c1f7ada7d0c9e4ba73a0073b4f94bf410a8f 100644
|
||||
index f1be42b5f1d0eb403e6895e8ff1d106861fa4298..4185ec46435ddf48d9e25c4d71ac4e14eb6301cf 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -434,12 +434,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@ -55,7 +55,41 @@ index f1be42b5f1d0eb403e6895e8ff1d106861fa4298..4058c1f7ada7d0c9e4ba73a0073b4f94
|
||||
entity.setLocation(d0, d1, d2, f, f1);
|
||||
player.setLocation(d0, d1, d2, this.player.yaw, this.player.pitch); // CraftBukkit
|
||||
this.networkManager.sendPacket(new PacketPlayOutVehicleMove(entity));
|
||||
@@ -1070,7 +1081,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -548,7 +559,32 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
private boolean a(Entity entity) {
|
||||
- return entity.world.a(entity.getBoundingBox().g(0.0625D).b(0.0D, -0.55D, 0.0D)).allMatch(BlockBase.BlockData::isAir);
|
||||
+ // Tuinity start - stop using streams, this is already a known fixed problem in Entity#move
|
||||
+ AxisAlignedBB box = entity.getBoundingBox().g(0.0625D).b(0.0D, -0.55D, 0.0D);
|
||||
+ int minX = MathHelper.floor(box.minX);
|
||||
+ int minY = MathHelper.floor(box.minY);
|
||||
+ int minZ = MathHelper.floor(box.minZ);
|
||||
+ int maxX = MathHelper.floor(box.maxX);
|
||||
+ int maxY = MathHelper.floor(box.maxY);
|
||||
+ int maxZ = MathHelper.floor(box.maxZ);
|
||||
+
|
||||
+ World world = entity.world;
|
||||
+ BlockPosition.MutableBlockPosition pos = new BlockPosition.MutableBlockPosition();
|
||||
+
|
||||
+ for (int y = minY; y <= maxY; ++y) {
|
||||
+ for (int z = minZ; z <= maxZ; ++z) {
|
||||
+ for (int x = minX; x <= maxX; ++x) {
|
||||
+ pos.setValues(x, y, z);
|
||||
+ IBlockData type = world.getTypeIfLoaded(pos);
|
||||
+ if (type != null && !type.isAir()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+ // Tuinity end - stop using streams, this is already a known fixed problem in Entity#move
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1070,7 +1106,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
if (this.teleportPos != null) {
|
||||
@ -64,7 +98,7 @@ index f1be42b5f1d0eb403e6895e8ff1d106861fa4298..4058c1f7ada7d0c9e4ba73a0073b4f94
|
||||
this.A = this.e;
|
||||
this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch);
|
||||
}
|
||||
@@ -1157,7 +1168,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1157,7 +1193,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,7 +107,7 @@ index f1be42b5f1d0eb403e6895e8ff1d106861fa4298..4058c1f7ada7d0c9e4ba73a0073b4f94
|
||||
|
||||
d7 = d4 - this.o;
|
||||
d8 = d5 - this.p;
|
||||
@@ -1196,6 +1207,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1196,6 +1232,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
this.player.move(EnumMoveType.PLAYER, new Vec3D(d7, d8, d9));
|
||||
@ -81,7 +115,7 @@ index f1be42b5f1d0eb403e6895e8ff1d106861fa4298..4058c1f7ada7d0c9e4ba73a0073b4f94
|
||||
this.player.setOnGround(packetplayinflying.b()); // CraftBukkit - SPIGOT-5810, SPIGOT-5835: reset by this.player.move
|
||||
// Paper start - prevent position desync
|
||||
if (this.teleportPos != null) {
|
||||
@@ -1215,12 +1227,23 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1215,12 +1252,23 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
boolean flag1 = false;
|
||||
|
||||
if (!this.player.H() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative() && this.player.playerInteractManager.getGameMode() != EnumGamemode.SPECTATOR) { // Spigot
|
||||
@ -107,7 +141,7 @@ index f1be42b5f1d0eb403e6895e8ff1d106861fa4298..4058c1f7ada7d0c9e4ba73a0073b4f94
|
||||
this.a(d0, d1, d2, f, f1);
|
||||
} else {
|
||||
// CraftBukkit start - fire PlayerMoveEvent
|
||||
@@ -1307,6 +1330,26 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1307,6 +1355,26 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -293,7 +293,7 @@ index dface62144bb230c576e9eafad1016d19d211118..cd4a36a2f0feb2df928ee5ed7f0bca6d
|
||||
org.spigotmc.AsyncCatcher.catchOp("Chunk getEntities call"); // Spigot
|
||||
int i = MathHelper.floor((axisalignedbb.minY - 2.0D) / 16.0D);
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index 64b59b17d28803f510b8b088ebafe446c450d486..cbaf18af1066e8bde10293bba5eb3060bae1e66f 100644
|
||||
index c17cbadeff9cb3ea955b9db99ab71d6d7fd8c247..93f2ac996904ddefed04704e554209d047faa59f 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -214,12 +214,12 @@ public interface IEntityAccess {
|
||||
|
@ -242,7 +242,7 @@ index 1d87e7461d28d8a639fafcfdfa5496014e9180f6..93c0c3376c3cb2fe416c8ae3e740ffda
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((WorldDataServer) worlddatamutable).getName()); // Spigot
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((WorldDataServer) worlddatamutable).getName(), this.spigotConfig); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 99a0845a64e4853fe12722a76cc00385131269cc..e4f5ba7f32d9d64ff3be5effad09faf1e4c0ce3f 100644
|
||||
index 6e5a3467f92c29181d26c03ecf49d598d75a4633..b1b63a11a6585971685b9ace1b6d91643a36aa95 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -301,6 +301,10 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@ -256,7 +256,7 @@ index 99a0845a64e4853fe12722a76cc00385131269cc..e4f5ba7f32d9d64ff3be5effad09faf1
|
||||
// Add env and gen to constructor, WorldData -> WorldDataServer
|
||||
public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey<World> resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List<MobSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
|
||||
super(iworlddataserver, resourcekey, dimensionmanager, minecraftserver::getMethodProfiler, false, flag, i, gen, env, executor); // Paper pass executor
|
||||
@@ -651,6 +655,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -659,6 +663,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void doTick(BooleanSupplier booleansupplier) {
|
||||
GameProfilerFiller gameprofilerfiller = this.getMethodProfiler();
|
||||
|
@ -5474,7 +5474,7 @@ index 700660dd93b3090334bb3033d5f5fdd6ab684744..e3b72922e2dfad07f3452ec5ee2af379
|
||||
VoxelShape[] avoxelshape = new VoxelShape[]{VoxelShapes.a()};
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index e4f5ba7f32d9d64ff3be5effad09faf1e4c0ce3f..71650a3585b968f68203490da1410608565dfc10 100644
|
||||
index b1b63a11a6585971685b9ace1b6d91643a36aa95..c448f75b22ead5a178b031d625338f92752617ec 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -305,6 +305,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
@ -65,10 +65,10 @@ index 9be1581868627b99709bcd446de6dc89c34b42d3..5fe928e4511f320aef1f3b94a092d2a7
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f894d5cd7b3 100644
|
||||
index c448f75b22ead5a178b031d625338f92752617ec..9a8a1e05a60bca77adc904017ae70ef5f629df0b 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -865,6 +865,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -873,6 +873,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
gameprofilerfiller.enter("checkDespawn");
|
||||
if (!entity.dead) {
|
||||
entity.checkDespawn();
|
||||
@ -84,7 +84,7 @@ index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f89
|
||||
}
|
||||
|
||||
gameprofilerfiller.exit();
|
||||
@@ -887,7 +896,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -895,7 +904,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.removeEntityFromChunk(entity);
|
||||
this.entitiesById.remove(entity.getId()); // Tuinity
|
||||
this.unregisterEntity(entity);
|
||||
@ -99,7 +99,7 @@ index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f89
|
||||
|
||||
gameprofilerfiller.exit();
|
||||
}
|
||||
@@ -1296,6 +1312,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1304,6 +1320,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
int i = MathHelper.floor(entity.locX() / 16.0D);
|
||||
int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY() / 16.0D))); // Paper - stay consistent with chunk add/remove behavior
|
||||
int k = MathHelper.floor(entity.locZ() / 16.0D);
|
||||
@ -112,7 +112,7 @@ index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f89
|
||||
|
||||
if (!entity.inChunk || entity.chunkX != i || entity.chunkY != j || entity.chunkZ != k) {
|
||||
// Paper start - remove entity if its in a chunk more correctly.
|
||||
@@ -1305,6 +1327,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1313,6 +1335,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@ -125,7 +125,7 @@ index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f89
|
||||
if (entity.inChunk && this.isChunkLoaded(entity.chunkX, entity.chunkZ)) {
|
||||
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
|
||||
}
|
||||
@@ -1318,6 +1346,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1326,6 +1354,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
} else {
|
||||
this.getChunkAt(i, k).a(entity);
|
||||
}
|
||||
@ -137,7 +137,7 @@ index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f89
|
||||
}
|
||||
|
||||
this.getMethodProfiler().exit();
|
||||
@@ -1780,9 +1813,96 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1788,9 +1821,96 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// Tuinity end
|
||||
}
|
||||
new com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
@ -234,7 +234,7 @@ index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f89
|
||||
private void registerEntity(Entity entity) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot
|
||||
// Paper start - don't double enqueue entity registration
|
||||
@@ -1963,9 +2083,25 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1971,9 +2091,25 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
|
||||
|
||||
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
|
||||
@ -261,7 +261,7 @@ index 71650a3585b968f68203490da1410608565dfc10..9c11a6ba0384baafaec1403a6a7c3f89
|
||||
try { // Tuinity end
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -1974,10 +2110,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1982,10 +2118,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
if (!navigationabstract.i()) {
|
||||
navigationabstract.b(blockposition);
|
||||
}
|
||||
|
@ -0,0 +1,40 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Tue, 16 Feb 2021 00:16:56 -0800
|
||||
Subject: [PATCH] Send full pos packets for hard colliding entities
|
||||
|
||||
Prevent collision problems due to desync (i.e boats)
|
||||
|
||||
Configurable under
|
||||
`send-full-pos-for-hard-colliding-entities`
|
||||
|
||||
diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
|
||||
index ceeb515f4528551659598d9999917f8596e3eded..0959aa6855a150b121b9b75885216c46b151179e 100644
|
||||
--- a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
|
||||
+++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
|
||||
@@ -229,6 +229,12 @@ public final class TuinityConfig {
|
||||
useNewLightEngine = TuinityConfig.getBoolean("use-new-light-engine", true);
|
||||
}
|
||||
|
||||
+ public static boolean sendFullPosForHardCollidingEntities;
|
||||
+
|
||||
+ private static void sendFullPosForHardCollidingEntities() {
|
||||
+ sendFullPosForHardCollidingEntities = TuinityConfig.getBoolean("send-full-pos-for-hard-colliding-entities", true);
|
||||
+ }
|
||||
+
|
||||
public static final class WorldConfig {
|
||||
|
||||
public final String worldName;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index 526c1419af7bd0b6098a8f9a0a24a64ba61c6ebc..81869215876d10a84ab27c0e6f41963c1346fd1c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -157,7 +157,7 @@ public class EntityTrackerEntry {
|
||||
// Paper end - remove allocation of Vec3D here
|
||||
boolean flag4 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L;
|
||||
|
||||
- if (!flag4 && this.o <= 400 && !this.q && this.r == this.tracker.isOnGround()) {
|
||||
+ if (!flag4 && this.o <= 400 && !this.q && this.r == this.tracker.isOnGround() && !(com.tuinity.tuinity.config.TuinityConfig.sendFullPosForHardCollidingEntities && this.tracker.hardCollides())) { // Tuinity - send full pos for hard colliding entities to prevent collision problems due to desync
|
||||
if ((!flag2 || !flag3) && !(this.tracker instanceof EntityArrow)) {
|
||||
if (flag2) {
|
||||
packet1 = new PacketPlayOutEntity.PacketPlayOutRelEntityMove(this.tracker.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), this.tracker.isOnGround());
|
@ -0,0 +1,26 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Mon, 1 Feb 2021 15:35:14 -0800
|
||||
Subject: [PATCH] Fix chunks refusing to unload at low TPS
|
||||
|
||||
The full chunk future is appended to the chunk save future, but
|
||||
when moving to unloaded ticket level it is not being completed with
|
||||
the empty chunk access, so the chunk save must wait for the full
|
||||
chunk future to complete. We can simply schedule to the immediate
|
||||
executor to get this effect, rather than the main mailbox.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index a42571cfd2c9c80df27e59db832cb64c2a64e141..2c2becef8b56d7e5e998976222df85d2c8516c43 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -1494,9 +1494,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
chunk.B();
|
||||
return chunk;
|
||||
});
|
||||
- }, (runnable) -> {
|
||||
- this.mailboxMain.a(ChunkTaskQueueSorter.a(playerchunk, runnable));
|
||||
- });
|
||||
+ }, this.executor); // Tuinity - queue to execute immediately so this doesn't delay chunk unloading
|
||||
}
|
||||
|
||||
public int c() {
|
@ -0,0 +1,31 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Wed, 27 Jan 2021 15:15:01 -0800
|
||||
Subject: [PATCH] Fix incorrect isRealPlayer init
|
||||
|
||||
Some plugins, namely ProtocolSupport, don't route to where
|
||||
paper placed their logic. So it wont correctly set in this case.
|
||||
|
||||
Fix by moving it to a different place.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 1eb44877e7384ae0a028a12b832684126b8d50ec..eabd1aa2b740bcb6db40be300cd6daf59674fa3f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -98,6 +98,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void a(NetworkManager networkmanager, EntityPlayer entityplayer) {
|
||||
+ entityplayer.isRealPlayer = true; // Paper // Tuinity - this is a better place to write this that works and isn't overriden by plugins
|
||||
EntityPlayer prev = pendingPlayers.put(entityplayer.getUniqueID(), entityplayer);// Paper
|
||||
if (prev != null) {
|
||||
disconnectPendingPlayer(prev);
|
||||
@@ -637,7 +638,7 @@ public abstract class PlayerList {
|
||||
SocketAddress socketaddress = loginlistener.networkManager.getSocketAddress();
|
||||
|
||||
EntityPlayer entity = new EntityPlayer(this.server, this.server.getWorldServer(World.OVERWORLD), gameprofile, new PlayerInteractManager(this.server.getWorldServer(World.OVERWORLD)));
|
||||
- entity.isRealPlayer = true; // Paper
|
||||
+ // Tuinity - some plugins (namely protocolsupport) bypass this logic completely! So this needs to be moved.
|
||||
Player player = entity.getBukkitEntity();
|
||||
PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.networkManager.getRawAddress()).getAddress());
|
||||
|
@ -67,10 +67,10 @@ index a198bdf26b60caea8c8b105cb0e4b82c0340fede..39280197902b330dd3d39c721cdef744
|
||||
if (this.isFireProof() || this.world.isClientSide) {
|
||||
this.extinguish();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index ca19cfa1ff801e5292332ff7b92bba881762306e..14d8492c405db32e454bc363207a127167432a61 100644
|
||||
index 7db99b6639a0afdd1f68539f6c6a6f48275e5b6b..8b3b0dd9f67a0462737d0c2d61948f33840fceb1 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -188,7 +188,7 @@ public abstract class PlayerList {
|
||||
@@ -189,7 +189,7 @@ public abstract class PlayerList {
|
||||
// Spigot - view distance
|
||||
playerconnection.sendPacket(new PacketPlayOutLogin(entityplayer.getId(), entityplayer.playerInteractManager.getGameMode(), entityplayer.playerInteractManager.c(), BiomeManager.a(worldserver1.getSeed()), worlddata.isHardcore(), this.server.F(), this.s, worldserver1.getDimensionManager(), worldserver1.getDimensionKey(), this.getMaxPlayers(), worldserver1.getChunkProvider().playerChunkMap.getLoadViewDistance(), flag1, !flag, worldserver1.isDebugWorld(), worldserver1.isFlatWorld())); // Paper - no-tick view distance
|
||||
entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Pekov <ivan@mrivanplays.com>
|
||||
Date: Fri, 2 Oct 2020 17:48:01 +0300
|
||||
Subject: [PATCH] Add JsonList save timings
|
||||
|
||||
|
||||
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
index 68ab5ccb2fcfe1de0503c9336572f28e11832b2d..d8c1a8dd867437443494ac169569139e25c9a635 100644
|
||||
--- a/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
@@ -149,4 +149,6 @@ public final class MinecraftTimings {
|
||||
public static Timing getCommandFunctionTiming(CustomFunction function) {
|
||||
return Timings.ofSafe("Command Function - " + function.getMinecraftKey().toString());
|
||||
}
|
||||
+
|
||||
+ public static Timing getJsonListTiming(String className) { return Timings.ofSafe("Save JsonList ( " + className + " )"); } // Yatopia
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
|
||||
index 1fc0139cb9694ddea41f57d95774c3b47e8530c5..a674140b61547841a1a6060e9f36aa14d0a86ff9 100644
|
||||
--- a/src/main/java/net/minecraft/server/JsonList.java
|
||||
+++ b/src/main/java/net/minecraft/server/JsonList.java
|
||||
@@ -44,9 +44,11 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
+ private final co.aikar.timings.Timing saveTiming; // Yatopia
|
||||
|
||||
public JsonList(File file) {
|
||||
this.c = file;
|
||||
+ saveTiming = co.aikar.timings.MinecraftTimings.getJsonListTiming(getClass().getSimpleName()); // Yatopia
|
||||
}
|
||||
|
||||
public File b() {
|
||||
@@ -146,6 +148,9 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
}
|
||||
|
||||
public void save() throws IOException {
|
||||
+ // Yatopia start
|
||||
+ saveTiming.startTiming();
|
||||
+ try { // Yatopia end
|
||||
this.removeStaleEntries(); // Paper - remove expired values before saving
|
||||
JsonArray jsonarray = new JsonArray();
|
||||
|
||||
@@ -177,6 +182,9 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
}
|
||||
|
||||
}
|
||||
+ } finally { // Yatopia start
|
||||
+ saveTiming.stopTiming();
|
||||
+ } // Yatopia end
|
||||
|
||||
}
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Optimize some stuff in WorldServer ticking
|
||||
Replaced some streams and some array lists with glue lists
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 4d47cca6db7a771677c31ade9425ed3ad83393ea..17d728bf4f8393defd0a6f274d32f2ce926232a3 100644
|
||||
index 2289c92c8933bfa0f382167fa5790a4ea17b7c75..1196b482d33e655eb4aa5ea6b66326f12c4363a4 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -780,12 +780,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -788,12 +788,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.server.getPlayerList().sendAll(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.i, this.thunderLevel));
|
||||
}
|
||||
// */
|
||||
@ -34,7 +34,7 @@ index 4d47cca6db7a771677c31ade9425ed3ad83393ea..17d728bf4f8393defd0a6f274d32f2ce
|
||||
if (flag != this.isRaining()) {
|
||||
// Only send weather packets to those affected
|
||||
for (int idx = 0; idx < this.players.size(); ++idx) {
|
||||
@@ -800,11 +809,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -808,11 +817,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
@ -48,7 +48,7 @@ index 4d47cca6db7a771677c31ade9425ed3ad83393ea..17d728bf4f8393defd0a6f274d32f2ce
|
||||
long l = this.worldData.getDayTime() + 24000L;
|
||||
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (l - l % 24000L) - this.getDayTime());
|
||||
if (this.getGameRules().getBoolean(GameRules.DO_DAYLIGHT_CYCLE)) {
|
||||
@@ -1030,9 +1037,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1038,9 +1045,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
private void wakeupPlayers() {
|
||||
@ -60,7 +60,7 @@ index 4d47cca6db7a771677c31ade9425ed3ad83393ea..17d728bf4f8393defd0a6f274d32f2ce
|
||||
}
|
||||
|
||||
// Paper start - optimise random block ticking
|
||||
@@ -1832,8 +1839,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1840,8 +1847,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// Spigot start
|
||||
if ( entity instanceof EntityHuman )
|
||||
{
|
||||
@ -71,7 +71,7 @@ index 4d47cca6db7a771677c31ade9425ed3ad83393ea..17d728bf4f8393defd0a6f274d32f2ce
|
||||
for (Object o : worldData.data.values() )
|
||||
{
|
||||
if ( o instanceof WorldMap )
|
||||
@@ -1850,7 +1858,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1858,7 +1866,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add timings for Pathfinder
|
||||
|
||||
|
||||
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
index d8c1a8dd867437443494ac169569139e25c9a635..0efdddc12247ed4aa6acce118c707090270bee39 100644
|
||||
index 68ab5ccb2fcfe1de0503c9336572f28e11832b2d..4d4c25cb328b0ca2e16d3c823214aca5854e4deb 100644
|
||||
--- a/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
@@ -54,6 +54,8 @@ public final class MinecraftTimings {
|
@ -14,10 +14,10 @@ Our changes are the following:
|
||||
triggers removing of all stale entries.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
|
||||
index a674140b61547841a1a6060e9f36aa14d0a86ff9..99580abac1ff30c784b6792d69c9d4cad12c1b1f 100644
|
||||
index 1fc0139cb9694ddea41f57d95774c3b47e8530c5..d683e3e509cc21d007d3e32f68235cfad007d0d0 100644
|
||||
--- a/src/main/java/net/minecraft/server/JsonList.java
|
||||
+++ b/src/main/java/net/minecraft/server/JsonList.java
|
||||
@@ -71,9 +71,13 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
@@ -69,9 +69,13 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
// Paper start
|
||||
// this.g();
|
||||
// return (V) this.d.get(this.a(k0)); // CraftBukkit - fix decompile error
|
||||
@ -31,7 +31,7 @@ index a674140b61547841a1a6060e9f36aa14d0a86ff9..99580abac1ff30c784b6792d69c9d4ca
|
||||
// Paper end
|
||||
}
|
||||
|
||||
@@ -154,12 +158,22 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
@@ -149,12 +153,22 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
this.removeStaleEntries(); // Paper - remove expired values before saving
|
||||
JsonArray jsonarray = new JsonArray();
|
||||
|
||||
@ -55,10 +55,10 @@ index a674140b61547841a1a6060e9f36aa14d0a86ff9..99580abac1ff30c784b6792d69c9d4ca
|
||||
Throwable throwable = null;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 14d8492c405db32e454bc363207a127167432a61..f354712e8e1cd359bc8fb0461f30214b8db24112 100644
|
||||
index 8b3b0dd9f67a0462737d0c2d61948f33840fceb1..cf53c8fe805764e995cab8eced00f10f9c52fd8e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -647,6 +647,7 @@ public abstract class PlayerList {
|
||||
@@ -648,6 +648,7 @@ public abstract class PlayerList {
|
||||
GameProfileBanEntry gameprofilebanentry;
|
||||
if (getProfileBans().isBanned(gameprofile) && (gameprofilebanentry = getProfileBans().get(gameprofile)) != null) {
|
||||
// Paper end
|
||||
@ -66,7 +66,7 @@ index 14d8492c405db32e454bc363207a127167432a61..f354712e8e1cd359bc8fb0461f30214b
|
||||
|
||||
chatmessage = new ChatMessage("multiplayer.disconnect.banned.reason", new Object[]{gameprofilebanentry.getReason()});
|
||||
if (gameprofilebanentry.getExpires() != null) {
|
||||
@@ -654,7 +655,11 @@ public abstract class PlayerList {
|
||||
@@ -655,7 +656,11 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
// return chatmessage;
|
@ -18,10 +18,10 @@ index 001ac05cf26237eec8a77c476e678ff6d0840311..7b4935dd8c54f5fcb4f26b96c270d3e4
|
||||
return this.size == 0 && this.pendingTasks.isEmpty();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 17d728bf4f8393defd0a6f274d32f2ce926232a3..789e885eded90f1827332e0b4000c35b78ec2661 100644
|
||||
index 1196b482d33e655eb4aa5ea6b66326f12c4363a4..be5bf0d2ebf4723a5a892f9f51aa18ea74f82fd1 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1818,6 +1818,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1826,6 +1826,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
// Paper end
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Respect PlayerKickEvent leaveMessage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index ca190409b6718607183df2e86f0b4be98c9b6c33..aed9a2d151dad500e30d1871e059adec712fa450 100644
|
||||
index 1471785da53a18edf31a20212f3cc6c19de92822..8bb500513b8d3baf2b08137d7b31737792265608 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -329,7 +329,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@ -17,7 +17,7 @@ index ca190409b6718607183df2e86f0b4be98c9b6c33..aed9a2d151dad500e30d1871e059adec
|
||||
this.networkManager.stopReading();
|
||||
MinecraftServer minecraftserver = this.minecraftServer;
|
||||
NetworkManager networkmanager = this.networkManager;
|
||||
@@ -1759,6 +1759,11 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1784,6 +1784,11 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
@Override
|
||||
public void a(IChatBaseComponent ichatbasecomponent) {
|
||||
@ -29,7 +29,7 @@ index ca190409b6718607183df2e86f0b4be98c9b6c33..aed9a2d151dad500e30d1871e059adec
|
||||
// CraftBukkit start - Rarely it would send a disconnect line twice
|
||||
if (this.processedDisconnect) {
|
||||
return;
|
||||
@@ -1774,7 +1779,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1799,7 +1804,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
*/
|
||||
|
||||
this.player.p();
|
||||
@ -39,10 +39,10 @@ index ca190409b6718607183df2e86f0b4be98c9b6c33..aed9a2d151dad500e30d1871e059adec
|
||||
this.minecraftServer.getPlayerList().sendMessage(CraftChatMessage.fromString(quitMessage));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index f354712e8e1cd359bc8fb0461f30214b8db24112..7e42654873195d17c9a5a2a718216a943533e658 100644
|
||||
index cf53c8fe805764e995cab8eced00f10f9c52fd8e..c094d27c2d46e75212b0742040a7f57bd0406943 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -499,6 +499,11 @@ public abstract class PlayerList {
|
||||
@@ -500,6 +500,11 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public String disconnect(EntityPlayer entityplayer) { // CraftBukkit - return string
|
||||
@ -54,7 +54,7 @@ index f354712e8e1cd359bc8fb0461f30214b8db24112..7e42654873195d17c9a5a2a718216a94
|
||||
WorldServer worldserver = entityplayer.getWorldServer();
|
||||
|
||||
entityplayer.a(StatisticList.LEAVE_GAME);
|
||||
@@ -598,7 +603,7 @@ public abstract class PlayerList {
|
||||
@@ -599,7 +604,7 @@ public abstract class PlayerList {
|
||||
cserver.getScoreboardManager().removePlayer(entityplayer.getBukkitEntity());
|
||||
// CraftBukkit end
|
||||
|
@ -139,10 +139,10 @@ index 81f7d5bc581b42289a79121da15868999ab9feef..7ee038e24cf696b7a32c5c67d4b0dd46
|
||||
public float b(EntityPose entitypose, EntitySize entitysize) {
|
||||
switch (entitypose) {
|
||||
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
|
||||
index 99580abac1ff30c784b6792d69c9d4cad12c1b1f..1daeb9571663a128a749c735a70f6e92603ffeda 100644
|
||||
index d683e3e509cc21d007d3e32f68235cfad007d0d0..83109fb0ad57eef2b24b5c3cb5875535e0a8e67f 100644
|
||||
--- a/src/main/java/net/minecraft/server/JsonList.java
|
||||
+++ b/src/main/java/net/minecraft/server/JsonList.java
|
||||
@@ -66,6 +66,20 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
@@ -64,6 +64,20 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
|
||||
}
|
||||
|
||||
@ -163,7 +163,7 @@ index 99580abac1ff30c784b6792d69c9d4cad12c1b1f..1daeb9571663a128a749c735a70f6e92
|
||||
@Nullable
|
||||
public V get(K k0) {
|
||||
// Paper start
|
||||
@@ -96,6 +110,20 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
@@ -94,6 +108,20 @@ public abstract class JsonList<K, V extends JsonListEntry<K>> {
|
||||
this.remove(jsonlistentry.getKey());
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Configurable flight checks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index aed9a2d151dad500e30d1871e059adec712fa450..2d10a3b5aa073ebc7e51beb428f707d6fbfc3001 100644
|
||||
index 8bb500513b8d3baf2b08137d7b31737792265608..d895a1366c5f6f526c78bab195559ce159d2d28d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -179,7 +179,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@ -5,7 +5,7 @@ Subject: [PATCH] Configurable movement checks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 2d10a3b5aa073ebc7e51beb428f707d6fbfc3001..06bd1dd8faa025b4353ff8e68df5f3e7c4db760a 100644
|
||||
index d895a1366c5f6f526c78bab195559ce159d2d28d..47ce63e1ea8ae2d6700330934598daa56450ce1c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -449,7 +449,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@ -26,7 +26,7 @@ index 2d10a3b5aa073ebc7e51beb428f707d6fbfc3001..06bd1dd8faa025b4353ff8e68df5f3e7
|
||||
flag1 = true; // Tuinity - diff on change, this should be moved wrongly
|
||||
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", entity.getDisplayName().getString(), this.player.getDisplayName().getString(), Math.sqrt(d10));
|
||||
}
|
||||
@@ -1199,7 +1199,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1224,7 +1224,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
if (!this.player.H() && (!this.player.getWorldServer().getGameRules().getBoolean(GameRules.DISABLE_ELYTRA_MOVEMENT_CHECK) || !this.player.isGliding())) {
|
||||
float f2 = this.player.isGliding() ? 300.0F : 100.0F;
|
||||
|
||||
@ -35,7 +35,7 @@ index 2d10a3b5aa073ebc7e51beb428f707d6fbfc3001..06bd1dd8faa025b4353ff8e68df5f3e7
|
||||
// CraftBukkit end
|
||||
PlayerConnection.LOGGER.warn("{} moved too quickly! {},{},{}", this.player.getDisplayName().getString(), d7, d8, d9);
|
||||
this.a(this.player.locX(), this.player.locY(), this.player.locZ(), this.player.yaw, this.player.pitch);
|
||||
@@ -1265,7 +1265,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1290,7 +1290,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
d11 = d7 * d7 + d8 * d8 + d9 * d9;
|
||||
boolean flag1 = false;
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] add config for logging login location
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 7e42654873195d17c9a5a2a718216a943533e658..fd2fe2f5e53f34957f80223e1694a57308de4016 100644
|
||||
index c094d27c2d46e75212b0742040a7f57bd0406943..c5b617c2a20163fddcf79a5493a76cb675eab834 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -395,7 +395,14 @@ public abstract class PlayerList {
|
||||
@@ -396,7 +396,14 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end
|
||||
// CraftBukkit - Moved from above, added world
|
@ -1 +1 @@
|
||||
Subproject commit bbc8d297dbcb1183997ec1b56f774319d079ba31
|
||||
Subproject commit e8696c6d78fb6773480072803cab59145daa8669
|
@ -1 +1 @@
|
||||
Subproject commit 502d57ba8376333163a56c5491a46e408178d575
|
||||
Subproject commit 2dfd22e41c4d1822f6e813317e64ff7afdb33e80
|
@ -1 +1 @@
|
||||
bbc8d297dbcb1183997ec1b56f774319d079ba31
|
||||
e8696c6d78fb6773480072803cab59145daa8669
|
@ -1 +1 @@
|
||||
502d57ba8376333163a56c5491a46e408178d575
|
||||
2dfd22e41c4d1822f6e813317e64ff7afdb33e80
|
Loading…
Reference in New Issue
Block a user