Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
eb11845f8 Fix creating worlds with "invalid" names (Fixes #5331)
e4d8a6279 Implement Keyed on World
bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches
48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag
c229f90c1 Add Block#isValidTool
20e709c1d Add recipe to cook events
2dcf8bff4 legacy formatting will be the death of me
f597fea0d legacy formatting is worse than walking around in wet socks
7f72c4675 Use implementation-provided legacy serializer for events
27a8d99ec Adventure 4.7.0
e65bd35a1 Respect teams in legacy chat name if configured (#5321)
b31089a92 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5325)
a52b30814 Fix title swapping fadeIn and stay
54ec85949 Prevent grindstones from overstacking items
d7795080c Fix NPE for AIR in meta operations in ItemStack
2e70796c7 [CI-SKIP] Improve documentation of PreCreatureSpawnEvent (#5244)
7bb92e750 [CI-SKIP] Add JavaDoc links to Tag class pointing to custom Paper tags (#5285)
28cd686bf fix per-world difficulty command (#5306)
be7cde2c7 [CI-SKIP] Always check PATH for JDK (#5315)
This commit is contained in:
BillyGalbreath
2021-03-09 17:52:38 -06:00
parent 72bce6d458
commit 296267da93
71 changed files with 405 additions and 379 deletions

View File

@@ -10817,10 +10817,10 @@ index 0840fdf3585407ec317f0326359619220c64db78..6b9b64539d2272070b523ed6b927de02
// CraftBukkit start - Fire ProjectileHitEvent
if (this.dead) {
diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java
index a646dc9f030ad1f76ba2b7bb1bc7897cd34b648c..dd18eabd7104995f0e6a8ecb279a3872b46773de 100644
index 9bc4d3dbd4c64a6fbf33dcf28afde59ace9171ba..d8faa18724baa240fca78a35c362cf661615ec4d 100644
--- a/src/main/java/net/minecraft/server/EntityFireworks.java
+++ b/src/main/java/net/minecraft/server/EntityFireworks.java
@@ -124,8 +124,10 @@ public class EntityFireworks extends IProjectile {
@@ -125,8 +125,10 @@ public class EntityFireworks extends IProjectile {
MovingObjectPosition movingobjectposition = ProjectileHelper.a((Entity) this, this::a);
if (!this.noclip) {
@@ -10832,10 +10832,10 @@ index a646dc9f030ad1f76ba2b7bb1bc7897cd34b648c..dd18eabd7104995f0e6a8ecb279a3872
this.x();
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index e97c7794e86c0518bcec0a0370bffbeab20e2623..0816ab54bc99bcf29356b56516e83759a3f2988f 100644
index 3580f40b2bb30bceca0ce374edb29608168a00c0..9841c7c27cd296a5156ba79ab734d45922bacaf7 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -226,7 +226,9 @@ public class EntityFishingHook extends IProjectile {
@@ -227,7 +227,9 @@ public class EntityFishingHook extends IProjectile {
private void m() {
MovingObjectPosition movingobjectposition = ProjectileHelper.a((Entity) this, this::a);
@@ -10865,10 +10865,10 @@ index a88521745f9f9b6935a61db52db915ea483af227..a47217c020d2c2a3caddafa0549dc827
if (entityhuman != null) {
double d0 = entityhuman.h((Entity) this); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index f41aaa7623c052b9f4044898d1bdee898c03057a..d99cecc4075338d7b8f154ab94d8ac04190ba371 100644
index 5dfb54e17fcfe6bd30e6b2a449944606e1a0ef17..9a8b7e06f14f17dfea08d7031c83f77491aaca65 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -526,7 +526,7 @@ public class EntityItem extends Entity {
@@ -527,7 +527,7 @@ public class EntityItem extends Entity {
// Paper start - fix MC-4
public void setPositionRaw(double x, double y, double z) {
@@ -11992,10 +11992,10 @@ index ff74be14512a947e81b62d53e616131ca7d7f609..e79e773f2219f9a9ae076fcbc8108b79
public static <T> void mergeSortedSets(final java.util.function.Consumer<T> consumer, final java.util.Comparator<? super T> comparator, final java.util.SortedSet<T>...sets) {
final ObjectRBTreeSet<T> all = new ObjectRBTreeSet<>(comparator);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a63f634ea 100644
index c572ef2830f2653e2b30622bbac0a3b072bacd7a..7ac34a8959a797bf2af96f3f402fa65cffe3d666 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -153,6 +153,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -155,6 +155,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
//public ConsoleReader reader; // Paper
public static int currentTick = 0; // Paper - Further improve tick loop
@@ -12003,7 +12003,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
public boolean serverAutoSave = false; // Paper
@@ -753,10 +754,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -755,10 +756,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
org.spigotmc.WatchdogThread.doStop(); // Paper
if (!isMainThread()) {
MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)");
@@ -12016,7 +12016,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
} catch (InterruptedException e) {}
}
// We've just obliterated the main thread, this will prevent stop from dying when removing players
@@ -957,6 +959,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -959,6 +961,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Paper end
PaperJvmChecker.checkJvm(); // Paper jvm version nag
@@ -12024,7 +12024,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
org.spigotmc.WatchdogThread.tick(); // Paper
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
Arrays.fill( recentTps, 20 );
@@ -974,6 +977,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -976,6 +979,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.lastOverloadTime = this.nextTick;
}
@@ -12032,7 +12032,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
if ( ++MinecraftServer.currentTick % SAMPLE_INTERVAL == 0 )
{
final long diff = curTime - tickSection;
@@ -988,7 +992,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -990,7 +994,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Paper end
tickSection = curTime;
}
@@ -12041,7 +12041,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
// Spigot end
//MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time
@@ -1081,6 +1085,76 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1083,6 +1087,76 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
// Paper end
@@ -12118,7 +12118,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
private void executeModerately() {
this.executeAll();
java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L);
@@ -1094,22 +1168,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1096,22 +1170,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
});
}
@@ -12142,7 +12142,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
@Override
protected TickTask postToMainThread(Runnable runnable) {
@@ -1136,6 +1195,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1138,6 +1197,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private boolean bb() {
if (super.executeNext()) {
@@ -12150,7 +12150,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
return true;
} else {
if (this.canSleepForTick()) {
@@ -1203,7 +1263,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1205,7 +1265,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Paper start - move oversleep into full server tick
isOversleep = true;MinecraftTimings.serverOversleep.startTiming();
this.awaitTasks(() -> {
@@ -12159,7 +12159,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
return !this.canOversleep();
});
isOversleep = false;MinecraftTimings.serverOversleep.stopTiming();
@@ -1268,6 +1328,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1270,6 +1330,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
// Paper end
@@ -12168,7 +12168,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
// Paper start
long endTime = System.nanoTime();
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
@@ -1294,16 +1356,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1296,16 +1358,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
protected void b(BooleanSupplier booleansupplier) {
@@ -12188,7 +12188,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
this.methodProfiler.exitEnter("levels");
Iterator iterator = this.getWorlds().iterator();
@@ -1314,7 +1376,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1316,7 +1378,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
processQueue.remove().run();
}
MinecraftTimings.processQueueTimer.stopTiming(); // Spigot
@@ -12197,7 +12197,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
// Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - optimize time updates
@@ -1357,11 +1419,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1359,11 +1421,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.methodProfiler.enter("tick");
try {
@@ -12212,7 +12212,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a
} catch (Throwable throwable) {
// Spigot Start
CrashReport crashreport;
@@ -1455,7 +1518,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1457,7 +1520,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@@ -13390,10 +13390,10 @@ index 904c6a7d0a36b57bb4f693fc4fd0dd5b17adcbac..3127fc9dd87e82243e167862cae83ac8
if (chunk != null) {
playerchunkmap.callbackExecutor.execute(() -> {
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd62e2b279 100644
index 00d0a5fd7c5d2db19756f3c6cfb2381868af51fd..3fe03b92658b157d6c7875dcaae6bbd41952ccd5 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -121,31 +121,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -122,31 +122,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
// CraftBukkit start - recursion-safe executor for Chunk loadCallback() and unloadCallback()
public final CallbackExecutor callbackExecutor = new CallbackExecutor();
public static final class CallbackExecutor implements java.util.concurrent.Executor, Runnable {
@@ -13436,7 +13436,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
task.run();
}
}
@@ -198,8 +195,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -199,8 +196,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
public final com.destroystokyo.paper.util.misc.PlayerAreaMap playerViewDistanceTickMap;
public final com.destroystokyo.paper.util.misc.PlayerAreaMap playerViewDistanceNoTickMap;
// Paper end - no-tick view distance
@@ -13452,7 +13452,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
int chunkX = MCUtil.getChunkCoordinate(player.locX());
int chunkZ = MCUtil.getChunkCoordinate(player.locZ());
// Note: players need to be explicitly added to distance maps before they can be updated
@@ -227,9 +231,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -228,9 +232,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.playerViewDistanceBroadcastMap.add(player, chunkX, chunkZ, effectiveNoTickViewDistance + 1); // clients need an extra neighbour to render the full view distance configured
player.needsChunkCenterUpdate = false;
// Paper end - no-tick view distance
@@ -13466,7 +13466,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
// Paper start - use distance map to optimise tracker
for (int i = 0, len = TRACKING_RANGE_TYPES.length; i < len; ++i) {
this.playerEntityTrackerTrackMaps[i].remove(player);
@@ -244,9 +252,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -245,9 +253,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.playerViewDistanceTickMap.remove(player);
this.playerViewDistanceNoTickMap.remove(player);
// Paper end - no-tick view distance
@@ -13480,7 +13480,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
int chunkX = MCUtil.getChunkCoordinate(player.locX());
int chunkZ = MCUtil.getChunkCoordinate(player.locZ());
// Note: players need to be explicitly added to distance maps before they can be updated
@@ -274,9 +286,35 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -275,9 +287,35 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.playerViewDistanceBroadcastMap.update(player, chunkX, chunkZ, effectiveNoTickViewDistance + 1); // clients need an extra neighbour to render the full view distance configured
player.needsChunkCenterUpdate = false;
// Paper end - no-tick view distance
@@ -13516,7 +13516,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
private final java.util.concurrent.ExecutorService lightThread;
public PlayerChunkMap(WorldServer worldserver, Convertable.ConversionSession convertable_conversionsession, DataFixer datafixer, DefinedStructureManager definedstructuremanager, Executor executor, IAsyncTaskHandler<Runnable> iasynctaskhandler, ILightAccess ilightaccess, ChunkGenerator chunkgenerator, WorldLoadListener worldloadlistener, Supplier<WorldPersistentData> supplier, int i, boolean flag) {
super(new File(convertable_conversionsession.a(worldserver.getDimensionKey()), "region"), datafixer, flag);
@@ -310,9 +348,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -311,9 +349,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.worldLoadListener = worldloadlistener;
// Paper start - use light thread
@@ -13528,7 +13528,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
thread.setDaemon(true);
thread.setPriority(Thread.NORM_PRIORITY+1);
return thread;
@@ -444,6 +483,26 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -445,6 +484,26 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
PlayerChunkMap.this.sendChunk(player, new ChunkCoordIntPair(rangeX, rangeZ), null, true, false); // unloaded, loaded
});
// Paper end - no-tick view distance
@@ -13555,7 +13555,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
}
// Paper start - Chunk Prioritization
public void queueHolderUpdate(PlayerChunk playerchunk) {
@@ -756,6 +815,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -757,6 +816,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@Nullable
private PlayerChunk a(long i, int j, @Nullable PlayerChunk playerchunk, int k) {
@@ -13564,7 +13564,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
if (k > PlayerChunkMap.GOLDEN_TICKET && j > PlayerChunkMap.GOLDEN_TICKET) {
return playerchunk;
} else {
@@ -778,7 +839,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -779,7 +840,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
playerchunk.a(j);
} else {
playerchunk = new PlayerChunk(new ChunkCoordIntPair(i), j, this.lightEngine, this.p, this);
@@ -13574,7 +13574,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
this.updatingChunks.put(i, playerchunk);
this.updatingChunksModified = true;
@@ -904,7 +967,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -905,7 +968,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
@@ -13583,7 +13583,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
protected void unloadChunks(BooleanSupplier booleansupplier) {
GameProfilerFiller gameprofilerfiller = this.world.getMethodProfiler();
@@ -970,7 +1033,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -971,7 +1034,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.world, chunkPos.x, chunkPos.z,
@@ -13592,7 +13592,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
if (!chunk.isNeedsSaving()) {
return;
@@ -1004,7 +1067,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1005,7 +1068,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
asyncSaveData = ChunkRegionLoader.getAsyncSaveData(this.world, chunk);
}
@@ -13601,7 +13601,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
asyncSaveData, chunk);
chunk.setLastSaved(this.world.getTime());
@@ -1012,6 +1075,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1013,6 +1076,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
// Paper end
@@ -13610,7 +13610,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
private void a(long i, PlayerChunk playerchunk) {
CompletableFuture<IChunkAccess> completablefuture = playerchunk.getChunkSave();
Consumer<IChunkAccess> consumer = (ichunkaccess) -> { // CraftBukkit - decompile error
@@ -1020,7 +1085,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1021,7 +1086,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
if (completablefuture1 != completablefuture) {
this.a(i, playerchunk);
} else {
@@ -13627,7 +13627,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
if (ichunkaccess instanceof Chunk) {
((Chunk) ichunkaccess).setLoaded(false);
}
@@ -1044,6 +1117,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1045,6 +1118,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.lightEngine.queueUpdate();
this.worldLoadListener.a(ichunkaccess.getPos(), (ChunkStatus) null);
}
@@ -13637,7 +13637,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
}
};
@@ -1059,6 +1135,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1060,6 +1136,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
protected boolean b() {
@@ -13645,7 +13645,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
if (!this.updatingChunksModified) {
return false;
} else {
@@ -1134,6 +1211,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1135,6 +1212,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.getVillagePlace().loadInData(chunkcoordintpair, chunkHolder.poiData);
chunkHolder.tasks.forEach(Runnable::run);
@@ -13653,7 +13653,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
// Paper end
if (chunkHolder.protoChunk != null) {try (Timing ignored2 = this.world.timings.chunkLoadLevelTimer.startTimingIfSync()) { // Paper start - timings // Paper - chunk is created async
@@ -1246,9 +1324,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1247,9 +1325,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
// Paper end
this.mailboxWorldGen.a(ChunkTaskQueueSorter.a(playerchunk, runnable));
@@ -13668,7 +13668,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
protected void c(ChunkCoordIntPair chunkcoordintpair) {
this.executor.a(SystemUtils.a(() -> {
this.chunkDistanceManager.b(TicketType.LIGHT, chunkcoordintpair, 33 + ChunkStatus.a(ChunkStatus.FEATURES), chunkcoordintpair);
@@ -1415,9 +1497,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1416,9 +1498,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
chunk.B();
return chunk;
});
@@ -13679,7 +13679,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
}
public int c() {
@@ -1498,6 +1578,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1499,6 +1579,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
public void setViewDistance(int i) { // Paper - public
@@ -13687,7 +13687,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
int j = MathHelper.clamp(i + 1, 3, 33); // Paper - diff on change, these make the lower view distance limit 2 and the upper 32
if (j != this.viewDistance) {
@@ -1511,6 +1592,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1512,6 +1593,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
// Paper start - no-tick view distance
public final void setNoTickViewDistance(int viewDistance) {
@@ -13695,7 +13695,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
viewDistance = viewDistance == -1 ? -1 : MathHelper.clamp(viewDistance, 2, 32);
this.noTickViewDistance = viewDistance;
@@ -1626,7 +1708,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1627,7 +1709,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
if (Thread.currentThread() != com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE) {
com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(
this.world, chunkcoordintpair.x, chunkcoordintpair.z, null, nbttagcompound,
@@ -13704,7 +13704,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
return;
}
super.write(chunkcoordintpair, nbttagcompound);
@@ -1710,6 +1792,11 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -1711,6 +1793,11 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
return chunkHolder == null ? null : chunkHolder.getAvailableChunkNow();
}
// Paper end
@@ -13716,7 +13716,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
// Paper start - async io
@@ -2037,22 +2124,25 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -2038,22 +2125,25 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
private final void processTrackQueue() {
this.world.timings.tracker1.startTiming();
try {
@@ -13756,7 +13756,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd
}
// Paper end - optimised tracker
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index f3679a3ad2d51612381bc47bb23eeffec924d478..24b8a27b46c9e617fe3db6317da60227dbb60a1e 100644
index 3435eb1584546d2963324372ddab1645dcf6327a..9146b60cff0aa06e2f6b6003bfe9e2be9d2f0d56 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -423,7 +423,9 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -13987,10 +13987,10 @@ index 8c7080777b370f97e1291dfedde5b419290f39cc..7fff1b3e4eda519851b714502d33122c
});
throw CancelledPacketHandleException.INSTANCE;
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f70d01568b 100644
index d57784c5dd44cc110b7c863ffff82263178e7d9a..967443a44106563fe71a528703751ff00415f61a 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -21,14 +21,29 @@ public class PlayerInteractManager {
@@ -22,14 +22,29 @@ public class PlayerInteractManager {
private EnumGamemode gamemode;
private EnumGamemode e;
private boolean f;
@@ -14023,7 +14023,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
public PlayerInteractManager(WorldServer worldserver) {
this.gamemode = EnumGamemode.NOT_SET;
this.e = EnumGamemode.NOT_SET;
@@ -84,7 +99,7 @@ public class PlayerInteractManager {
@@ -85,7 +100,7 @@ public class PlayerInteractManager {
if (iblockdata == null || iblockdata.isAir()) { // Paper
this.j = false;
} else {
@@ -14032,7 +14032,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
if (f >= 1.0F) {
this.j = false;
@@ -104,7 +119,7 @@ public class PlayerInteractManager {
@@ -105,7 +120,7 @@ public class PlayerInteractManager {
this.m = -1;
this.f = false;
} else {
@@ -14041,7 +14041,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
}
}
@@ -112,6 +127,12 @@ public class PlayerInteractManager {
@@ -113,6 +128,12 @@ public class PlayerInteractManager {
private float a(IBlockData iblockdata, BlockPosition blockposition, int i) {
int j = this.currentTick - i;
@@ -14054,7 +14054,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
float f = iblockdata.getDamage(this.player, this.player.world, blockposition) * (float) (j + 1);
int k = (int) (f * 10.0F);
@@ -179,7 +200,7 @@ public class PlayerInteractManager {
@@ -180,7 +201,7 @@ public class PlayerInteractManager {
return;
}
@@ -14063,7 +14063,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
float f = 1.0F;
iblockdata = this.world.getType(blockposition);
@@ -232,12 +253,12 @@ public class PlayerInteractManager {
@@ -233,12 +254,12 @@ public class PlayerInteractManager {
int j = (int) (f * 10.0F);
this.world.a(this.player.getId(), blockposition, j);
@@ -14078,7 +14078,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
iblockdata = this.world.getType(blockposition);
if (!iblockdata.isAir()) {
@@ -254,12 +275,18 @@ public class PlayerInteractManager {
@@ -255,12 +276,18 @@ public class PlayerInteractManager {
this.f = false;
this.j = true;
this.k = blockposition;
@@ -14098,7 +14098,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
} else if (packetplayinblockdig_enumplayerdigtype == PacketPlayInBlockDig.EnumPlayerDigType.ABORT_DESTROY_BLOCK) {
this.f = false;
if (!Objects.equals(this.h, blockposition) && !BlockPosition.ZERO.equals(this.h)) {
@@ -271,7 +298,7 @@ public class PlayerInteractManager {
@@ -272,7 +299,7 @@ public class PlayerInteractManager {
}
this.world.a(this.player.getId(), blockposition, -1);
@@ -14107,7 +14107,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
}
}
@@ -281,7 +308,13 @@ public class PlayerInteractManager {
@@ -282,7 +309,13 @@ public class PlayerInteractManager {
public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype, String s) {
if (this.breakBlock(blockposition)) {
@@ -14122,10 +14122,10 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7
this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); // CraftBukkit - SPIGOT-5196
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 610613c2dbea18e1064c5f29cc36cf39aece2277..193a39ba0c07b0f438aba6b3a00af51fa93bd53d 100644
index 184a0d30f4a1d4a6a07449fdd1375a8582da9332..d03d0c13cca1762078617744253a9757b388958f 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -101,6 +101,7 @@ public abstract class PlayerList {
@@ -96,6 +96,7 @@ public abstract class PlayerList {
abstract public void loadAndSaveFiles(); // Paper - moved from DedicatedPlayerList constructor
public void a(NetworkManager networkmanager, EntityPlayer entityplayer) {
@@ -14133,7 +14133,7 @@ index 610613c2dbea18e1064c5f29cc36cf39aece2277..193a39ba0c07b0f438aba6b3a00af51f
EntityPlayer prev = pendingPlayers.put(entityplayer.getUniqueID(), entityplayer);// Paper
if (prev != null) {
disconnectPendingPlayer(prev);
@@ -641,7 +642,7 @@ public abstract class PlayerList {
@@ -636,7 +637,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)));
@@ -17538,7 +17538,7 @@ index 7511e38130f38703164395a670f12d1af648ff04..e602efcb3fad390bb6bff1055e782bba
}
value.append("},");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c21c6aac5e 100644
index 1398b18409db3b3741ce199ee7156a2dfe2cc96c..f994e99ebc8fe22e6f6b45f6379ec410a598789f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
@@ -17566,7 +17566,7 @@ index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c2
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1901,7 +1903,10 @@ public final class CraftServer implements Server {
@@ -1910,7 +1912,10 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@@ -17578,7 +17578,7 @@ index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c2
}
// Paper start
@@ -2335,6 +2340,14 @@ public final class CraftServer implements Server {
@@ -2344,6 +2349,14 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config;
}
@@ -17594,10 +17594,10 @@ index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c2
public void restart() {
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304e21312d2 100644
index cade3ed6079011f44eba613dece3d69ec18f8f04..3e54e643d28ced3074c4b044bc8a2238de05ccc2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -341,6 +341,14 @@ public class CraftWorld implements World {
@@ -342,6 +342,14 @@ public class CraftWorld implements World {
this.generator = gen;
environment = env;
@@ -17612,7 +17612,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304
}
@Override
@@ -414,14 +422,7 @@ public class CraftWorld implements World {
@@ -415,14 +423,7 @@ public class CraftWorld implements World {
@Override
public Chunk getChunkAt(int x, int z) {
@@ -17628,7 +17628,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304
}
// Paper start
@@ -504,6 +505,7 @@ public class CraftWorld implements World {
@@ -505,6 +506,7 @@ public class CraftWorld implements World {
org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot
if (isChunkLoaded(x, z)) {
world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 0, Unit.INSTANCE); // Paper
@@ -17636,7 +17636,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304
}
return true;
@@ -717,6 +719,30 @@ public class CraftWorld implements World {
@@ -718,6 +720,30 @@ public class CraftWorld implements World {
return ret.entrySet().stream().collect(ImmutableMap.toImmutableMap(Map.Entry::getKey, (entry) -> entry.getValue().build()));
}
@@ -17667,7 +17667,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304
@Override
public boolean isChunkForceLoaded(int x, int z) {
return getHandle().getForceLoadedChunks().contains(ChunkCoordIntPair.pair(x, z));
@@ -2567,7 +2593,7 @@ public class CraftWorld implements World {
@@ -2581,7 +2607,7 @@ public class CraftWorld implements World {
}
return this.world.getChunkProvider().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> {
net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) either.left().orElse(null);
@@ -17704,7 +17704,7 @@ index 22bde395939f97086e411cef190bb2b1e7ede79a..0f6cb508a170360b6479f9c340484124
//Thread.sleep(TimeUnit.SECONDS.toMillis(20));
// Paper End
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index bb474fbdf44dbc61b4fa0bced4d15bc2d1fb548f..744e6351c58e5aa4a0c668f2ff1adb76a3dc0822 100644
index 2fc101869775711533a1e50f9ae608cd74d36d3a..2af3bee540ee25ea32a7548fd0d64dea16a0a268 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -509,27 +509,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {

View File

@@ -48,10 +48,10 @@ index 229c3b0f0c650b501f31147adaa17194af57fedd..f88cf526d272fe47b5a474c0b344b748
throwable = throwable1;
throw throwable1;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e5acc1a3e3d774c10feac9b022acba5a63f634ea..48f23c3cce562eea39bcbc30fb19432f2653d85c 100644
index 7ac34a8959a797bf2af96f3f402fa65cffe3d666..80b7ef7c02c8f99b81a6c33d6d969690b933eb36 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1518,7 +1518,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1520,7 +1520,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@@ -182,7 +182,7 @@ index 0000000000000000000000000000000000000000..d8b408f061d96e2fa8e2e587462e2221
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9e339b1c76e28987936f79ccc65a09c21c6aac5e..4f7cfef40225bea13efa37468f51643a99ac594d 100644
index f994e99ebc8fe22e6f6b45f6379ec410a598789f..eeae4862898f093ca4b9819d0d08fdaf219213a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
@@ -195,10 +195,10 @@ index 9e339b1c76e28987936f79ccc65a09c21c6aac5e..4f7cfef40225bea13efa37468f51643a
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index e8d33a9a3e25e47a3ec6a6b5646fc317f3a00959..a9c188c42c63d6e073bae3c77f1dacd2c3fc4602 100644
index 00e53d577b1dcaccb409e62d35165ee015de9330..7de7afae711800154735411947ff140c76d5171f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -370,7 +370,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -377,7 +377,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {

View File

@@ -65,10 +65,10 @@ index 2644b190813cc934914aeab78fbd6515d1a37c4a..e3721b53db68171665ba05201155d088
// Paper end
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index c8b7ab17d53c302698fa7f9850c18e474832a585..f7a673544e6dccbed33359973ce59e8f25000550 100644
index bf9732058c7e55e8f1ed38b3b5e8831e6b21706c..90154d2180ebb6a54536884bf89187ca17d11da5 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -166,7 +166,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -164,7 +164,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
protected void mobTick() { mobTick(false); }
protected void mobTick(boolean inactive) {
this.world.getMethodProfiler().enter("villagerBrain");
@@ -373,7 +373,7 @@ index 0000000000000000000000000000000000000000..4904be939c7a4b1d1583fd7b6232c930
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4f7cfef40225bea13efa37468f51643a99ac594d..6c2e441405e05749b7579d48497281f5c3bee7f8 100644
index eeae4862898f093ca4b9819d0d08fdaf219213a0..a64d375e16f033b875ca80e6678c3a3e198d0220 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -865,6 +865,7 @@ public final class CraftServer implements Server {
@@ -400,7 +400,7 @@ index 4f7cfef40225bea13efa37468f51643a99ac594d..6c2e441405e05749b7579d48497281f5
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2348,6 +2351,18 @@ public final class CraftServer implements Server {
@@ -2357,6 +2360,18 @@ public final class CraftServer implements Server {
}
// Tuinity end - add config to timings report

View File

@@ -37,10 +37,10 @@ index 896d99d404419fef5bdf6f9083e07dfc978f4e67..9ab8336df4f1702e9cabefb63f279034
}, BlockEnderChest.e));
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java
index fa56d6e3a9f0bfad3961697a3bae98205f32ae9c..3fc6298a5ef81c4203a79f1d9e87b0a9913255b6 100644
index 8e167a664431b48875a7466be3a440eae089092b..df11848a03d2c08e935624e46489a62bc56de1da 100644
--- a/src/main/java/net/minecraft/server/InventoryEnderChest.java
+++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java
@@ -19,11 +19,34 @@ public class InventoryEnderChest extends InventorySubcontainer {
@@ -21,11 +21,34 @@ public class InventoryEnderChest extends InventorySubcontainer {
}
public InventoryEnderChest(EntityHuman owner) {
@@ -77,10 +77,10 @@ index fa56d6e3a9f0bfad3961697a3bae98205f32ae9c..3fc6298a5ef81c4203a79f1d9e87b0a9
this.a = tileentityenderchest;
}
diff --git a/src/main/java/net/minecraft/server/TileEntityBarrel.java b/src/main/java/net/minecraft/server/TileEntityBarrel.java
index a1c3942cbf9a6c0adc4943b05a1c3859c5f0aed6..953741c1cfd9b5c1e0eac80d1e4c7890f94e3bb1 100644
index 31d0b40fb7b30b89be1aa923c54af77e40b90b19..e5703b7d37c5f37c850328e9c8bf186d15934bdb 100644
--- a/src/main/java/net/minecraft/server/TileEntityBarrel.java
+++ b/src/main/java/net/minecraft/server/TileEntityBarrel.java
@@ -55,7 +55,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@@ -49,7 +49,7 @@ public class TileEntityBarrel extends TileEntityLootable {
private TileEntityBarrel(TileEntityTypes<?> tileentitytypes) {
super(tileentitytypes);
@@ -89,7 +89,7 @@ index a1c3942cbf9a6c0adc4943b05a1c3859c5f0aed6..953741c1cfd9b5c1e0eac80d1e4c7890
}
public TileEntityBarrel() {
@@ -84,7 +84,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@@ -78,7 +78,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@Override
public int getSize() {
@@ -98,7 +98,7 @@ index a1c3942cbf9a6c0adc4943b05a1c3859c5f0aed6..953741c1cfd9b5c1e0eac80d1e4c7890
}
@Override
@@ -104,6 +104,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@@ -98,6 +98,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@Override
protected Container createContainer(int i, PlayerInventory playerinventory) {

View File

@@ -102,10 +102,10 @@ index 1b29ca2ca0bc5d17673de43bdc854d5b4c96b8b6..47ffa669681da7512ee594ecb643f285
double d0 = this.a.h((Entity) this.a.fD());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
index 3f94c5a9206e2da9c852d282e267ab4d9f7324c4..a02763480149dc7fb0f07f17ef8530a2e76d99bc 100644
index 71faa1b38f613db468ee939a7ffac7aaed733d20..43536b0744e5618c10790ae9db399c0506567f2a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
@@ -65,4 +65,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE
@@ -66,4 +66,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE
public EntityType getType() {
return EntityType.LLAMA;
}

View File

@@ -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 24b8a27b46c9e617fe3db6317da60227dbb60a1e..ee9fa89c15d52ae00f33c7e3d3102ca107055160 100644
index 9146b60cff0aa06e2f6b6003bfe9e2be9d2f0d56..bba8dc8fd10dc34179ca3c8cf471fbb3739fa7b4 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -252,6 +252,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -263,10 +263,10 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..2578a4677d1ee060f687be531e696b7c
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index fc761a3bd87004f16ff9b0a3b0add52f7938f566..2460791eaed07ca4a42e945bf6f5ae907b4105cb 100644
index f965b071cd2f6a70a216679e4f19956115edee4f..8e69ad39102b8a91e664b31a7f07c5212822e961 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2426,4 +2426,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2427,4 +2427,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return spigot;
}
// Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name
diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java
index 65961a03728852bd75367083a0de6fd0082b17cb..780474397acb4d0e7ecb4540e1a2db5721e59d3d 100644
index 15a4f921b1ae2bbc66b7d58238b60151123a7eb3..fe5937d890762ab37a90f189c4992af389d2c41d 100644
--- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java
+++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java
@@ -10,6 +10,7 @@ public class DedicatedServerProperties extends PropertyManager<DedicatedServerPr
@@ -14,6 +14,7 @@ public class DedicatedServerProperties extends PropertyManager<DedicatedServerPr
public final boolean onlineMode = this.getBoolean("online-mode", true);
public final boolean preventProxyConnections = this.getBoolean("prevent-proxy-connections", false);
public final String serverIp = this.getString("server-ip", "");
@@ -17,10 +17,10 @@ index 65961a03728852bd75367083a0de6fd0082b17cb..780474397acb4d0e7ecb4540e1a2db57
public final boolean spawnNpcs = this.getBoolean("spawn-npcs", true);
public final boolean pvp = this.getBoolean("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6c2e441405e05749b7579d48497281f5c3bee7f8..78bd89a3b743a6f24cce189c863f332aa61a231c 100644
index a64d375e16f033b875ca80e6678c3a3e198d0220..011d0152ca629ea2e0986338e5f55c5d484cc36e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2511,4 +2511,11 @@ public final class CraftServer implements Server {
@@ -2520,4 +2520,11 @@ public final class CraftServer implements Server {
return mobGoals;
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 48f23c3cce562eea39bcbc30fb19432f2653d85c..b95e5ae709864a6f099c046c10a323c3493dced6 100644
index 80b7ef7c02c8f99b81a6c33d6d969690b933eb36..5d64157b394b49d638e0295438f235c9492e1128 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1518,7 +1518,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1520,7 +1520,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {

View File

@@ -17,10 +17,10 @@ index 702242653a47051c9ed32304c427c27652af6157..9f4f56c47ecd4b35ebf33ca0bf9a0400
@Override
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index 5f9ee870697de306f595120bec05ba98d2fcb534..895c092197404ad4911ec9f94d1bda1322e45fa7 100644
index acbdaa097dfd1cba18add0a09ad54ca78d3e0c24..784819d252d94e8040a87f53431fcf2c7a19d1a7 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -210,7 +210,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -211,7 +211,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@Override
protected int e(float f, float f1) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b95e5ae709864a6f099c046c10a323c3493dced6..cb3081b981bcb88ed5a69f47af807fffe9d3280b 100644
index 5d64157b394b49d638e0295438f235c9492e1128..d9513addae86bd5d2f0c50173318cf4d23ef2128 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -165,6 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -167,6 +167,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public static final int TICK_TIME = 1000000000 / TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
public final double[] recentTps = new double[ 3 ];
@@ -16,7 +16,7 @@ index b95e5ae709864a6f099c046c10a323c3493dced6..cb3081b981bcb88ed5a69f47af807fff
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -990,6 +991,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -992,6 +993,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
recentTps[1] = tps5.getAverage();
recentTps[2] = tps15.getAverage();
// Paper end
@@ -41,10 +41,10 @@ index 4627261562a1482aecf4034b8717ecccc2dd9eb0..a34ed978596f1a466b0b48e7db92ac4f
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 78bd89a3b743a6f24cce189c863f332aa61a231c..4ad906b3ab91cee656c319d6c2deee59781ffe13 100644
index 011d0152ca629ea2e0986338e5f55c5d484cc36e..ccacd2d84efdc72c3da645f30f8a9b1c2161cf9e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2517,5 +2517,10 @@ public final class CraftServer implements Server {
@@ -2526,5 +2526,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return getProperties().serverName;
}

View File

@@ -67,7 +67,7 @@ index a4e266955ada46db08b1815e549fa4bde9606df2..599d7fbc4db928a9825e154c09c9a74d
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 ee9fa89c15d52ae00f33c7e3d3102ca107055160..958b7eadbab06226259c9ae9db7615cc71fa7c56 100644
index bba8dc8fd10dc34179ca3c8cf471fbb3739fa7b4..c586005b34c59710cf398e30924ff3653e0d62fd 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1737,6 +1737,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -79,10 +79,10 @@ index ee9fa89c15d52ae00f33c7e3d3102ca107055160..958b7eadbab06226259c9ae9db7615cc
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 193a39ba0c07b0f438aba6b3a00af51fa93bd53d..56a20edf21427eee9ae292de42a790e9d1c4bf9d 100644
index d03d0c13cca1762078617744253a9757b388958f..00db0f5fb098a4db4092f8ab75a4489cf466baac 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -919,6 +919,8 @@ public abstract class PlayerList {
@@ -914,6 +914,8 @@ public abstract class PlayerList {
}
// Paper end
@@ -108,10 +108,10 @@ index 2578a4677d1ee060f687be531e696b7c7be89e84..c441fcea9b2b5a77b801c8a69541cf42
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 2460791eaed07ca4a42e945bf6f5ae907b4105cb..2b25e58ce0d5b6d54c65e70cffd46e1085b02275 100644
index 8e69ad39102b8a91e664b31a7f07c5212822e961..ca15efea5da7be1717a211b9b3556c755788561a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2442,5 +2442,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2443,5 +2443,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetIdleTimer();
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager brain ticks
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index f7a673544e6dccbed33359973ce59e8f25000550..167794625ccab695e9404e50366ba92dace6b204 100644
index 90154d2180ebb6a54536884bf89187ca17d11da5..1c87bc91515490e2f8579a5321058845c7d30a56 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -58,6 +58,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -56,6 +56,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
}, MemoryModuleType.MEETING_POINT, (entityvillager, villageplacetype) -> {
return villageplacetype == VillagePlaceType.s;
});
@@ -16,7 +16,7 @@ index f7a673544e6dccbed33359973ce59e8f25000550..167794625ccab695e9404e50366ba92d
public EntityVillager(EntityTypes<? extends EntityVillager> entitytypes, World world) {
this(entitytypes, world, VillagerType.PLAINS);
@@ -70,6 +71,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -68,6 +69,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
this.getNavigation().d(true);
this.setCanPickupLoot(true);
this.setVillagerData(this.getVillagerData().withType(villagertype).withProfession(VillagerProfession.NONE));
@@ -24,7 +24,7 @@ index f7a673544e6dccbed33359973ce59e8f25000550..167794625ccab695e9404e50366ba92d
}
@Override
@@ -166,7 +168,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -164,7 +166,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
protected void mobTick() { mobTick(false); }
protected void mobTick(boolean inactive) {
this.world.getMethodProfiler().enter("villagerBrain");

View File

@@ -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 958b7eadbab06226259c9ae9db7615cc71fa7c56..2f224844dca78f92997ff712ff527e09ada88cac 100644
index c586005b34c59710cf398e30924ff3653e0d62fd..be29ecfa00d53ad2067015a5261184b4157c604b 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -86,6 +86,7 @@ public class PlayerConnection implements PacketListenerPlayIn {

View File

@@ -5,17 +5,17 @@ Subject: [PATCH] Silk touch spawners
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
index 23e6a033612d964f1185dd09a10b470f46685568..a93102ec168ebddd524492250df09c7522b12fc8 100644
index c45d48cef53476fa1602cebaa57c72894bba10d3..d563694540fd22c89ada65787d9e996eecee26f4 100644
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
@@ -33,6 +33,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
public final class PaperAdventure {
public static final AttributeKey<Locale> LOCALE_ATTRIBUTE = AttributeKey.valueOf("adventure:locale");
public static final LegacyComponentSerializer LEGACY_SECTION_UXRC = LegacyComponentSerializer.builder().hexColors().useUnusualXRepeatedCharacterHexFormat().build();
@@ -81,6 +81,7 @@ public final class PaperAdventure {
})
.build();
public static final LegacyComponentSerializer LEGACY_SECTION_UXRC = LegacyComponentSerializer.builder().flattener(FLATTENER).hexColors().useUnusualXRepeatedCharacterHexFormat().build();
+ public static final LegacyComponentSerializer LEGACY_AMPERSAND = LegacyComponentSerializer.builder().character(LegacyComponentSerializer.AMPERSAND_CHAR).hexColors().build(); // Purpur
public static final PlainComponentSerializer PLAIN = PlainComponentSerializer.builder().flattener(FLATTENER).build();
static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
.build();
diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java
index 81e145ff0759322f74888c81df8d2133fece7144..567a6a064254d99ae6a931b91e6bdd94badb19fc 100644
--- a/src/main/java/net/minecraft/server/BlockMobSpawner.java

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] MC-168772 Fix - Add turtle egg block options
diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
index 553c8affab6228cb187549deb5b34f79ba8f912c..92cca6c44f12a9283988b84681aac760f1c38d7e 100644
index 00c37493c28805558dea06a20973f32ab0359016..0f147dc938cef428452bd3137c68b52a78f9fbde 100644
--- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java
+++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
@@ -163,6 +163,23 @@ public class BlockTurtleEgg extends Block {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 79ef955070b2982be79cc58e40093624bd088ff0..eb4a0ef0e7a8bc8e0cb648bc369815ce0efb6223 100644
index b2f028422d9a7a84e49e383b78032feb887a85c0..ff80ac7db73b7c7dd6ac62ac128af1cab961d075 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -23,6 +23,17 @@ public class EntityCreeper extends EntityMonster {
@@ -24,6 +24,17 @@ public class EntityCreeper extends EntityMonster {
super(entitytypes, world);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index 1aacbae04ce89be4da82d65116c494c493e71530..38df17bd206c908582ece2c4105235feaf0f2227 100644
index c9112f783c81d58570e622a0e784da1e2a93d0ff..91cfe60f764a573e3724b48a9ae02e806c1e4fb8 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -135,7 +135,13 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
@@ -136,7 +136,13 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
entitycow.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
entitycow.setHealth(this.getHealth());

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Snowman drop and put back pumpkin
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 48997367a67ffd1dbf29cdb048720610528f35cb..51396cbd18d0e053e788f82bf4a3bc2533f20e11 100644
index a11c599a9779aa084a1d7d1b6b3485d5b9c23906..c39f3c06eb199a24f32a5c581e877073b580502c 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -123,6 +123,14 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -124,6 +124,14 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
}
return EnumInteractionResult.a(this.world.isClientSide);
@@ -23,7 +23,7 @@ index 48997367a67ffd1dbf29cdb048720610528f35cb..51396cbd18d0e053e788f82bf4a3bc25
} else {
return EnumInteractionResult.PASS;
}
@@ -133,6 +141,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -134,6 +142,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
this.world.playSound((EntityHuman) null, (Entity) this, SoundEffects.ENTITY_SNOW_GOLEM_SHEAR, soundcategory, 1.0F, 1.0F);
if (!this.world.s_()) {
this.setHasPumpkin(false);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index de53af8c01f8fa9636386737b6bc071b32f87cd1..a5a2182455542bb8fd62941bd0da2f38ba698f35 100644
index 7289d6c706b6c845584bac616c9babea80f8e885..f777aea69dc9949aae3251e9a530b8cffb251bad 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -564,7 +564,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {

View File

@@ -27,10 +27,10 @@ index 3585fd82c14338a82302ca403e91e6cfe65e1c19..770ad5edfb44acb69e7da33226ca6bf7
} else {
return EnumInteractionResult.PASS;
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 2b9d5724c1b63f5e55010f9e3450004821c098a4..316766970243e8ac00e4c82f6c710de5edc3fa51 100644
index 3c7847b1156a486e253a0e9f74a857e841d90619..1e6bb566c0a718bba289b2e727a832e0aa6b7f15 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -113,6 +113,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
@@ -112,6 +112,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
return this.isEditable;
}

View File

@@ -17,7 +17,7 @@ index 599d7fbc4db928a9825e154c09c9a74d39a39a03..8bfff671ed779991b8ef5433cfec61b4
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 2f224844dca78f92997ff712ff527e09ada88cac..1faaf6b7d3c45ad9445b0d6b3842a5ee24dc8275 100644
index be29ecfa00d53ad2067015a5261184b4157c604b..4d0dcbcc00e44c4912302dd0e7331471f33cb370 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2902,6 +2902,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -37,7 +37,7 @@ index 2f224844dca78f92997ff712ff527e09ada88cac..1faaf6b7d3c45ad9445b0d6b3842a5ee
}
SignChangeEvent event = new SignChangeEvent(org.bukkit.craftbukkit.block.CraftBlock.at(worldserver, blockposition), this.getPlayer(), lines);
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 316766970243e8ac00e4c82f6c710de5edc3fa51..23706010e6419821709cdaf34c0b1bbb91671d01 100644
index 1e6bb566c0a718bba289b2e727a832e0aa6b7f15..b2afbf72ccf467d01449d75bc5123eb1816afd03 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -1,6 +1,7 @@
@@ -45,10 +45,10 @@ index 316766970243e8ac00e4c82f6c710de5edc3fa51..23706010e6419821709cdaf34c0b1bbb
import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import io.papermc.paper.adventure.PaperAdventure; // Purpur
import java.util.UUID;
import javax.annotation.Nullable;
@@ -93,6 +94,18 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
public class TileEntitySign extends TileEntity implements ICommandListener { // CraftBukkit - implements
@@ -92,6 +93,18 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
this.g[i] = null;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] End gateway should check if entity can use portal
diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
index e0118a971e1ea3c52a1380f519146b8f46a425ea..ed8e91bf6c8b9d410d439bdddd5067d346a20a7e 100644
index b740c9b66a77df1ff20fba794c49a1de4292ba88..e616b3759561e0d6e471f914f3dc843fe7464f2e 100644
--- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java
+++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
@@ -127,6 +127,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
@@ -128,6 +128,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
public void b(Entity entity) {
if (this.world instanceof WorldServer && !this.f()) {

View File

@@ -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 56a20edf21427eee9ae292de42a790e9d1c4bf9d..3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1 100644
index 00db0f5fb098a4db4092f8ab75a4489cf466baac..86f534c871a3c9b9ca71b20daa7780dfdab9e76d 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1078,6 +1078,7 @@ public abstract class PlayerList {
@@ -1073,6 +1073,7 @@ public abstract class PlayerList {
} else {
b0 = (byte) (24 + i);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cb3081b981bcb88ed5a69f47af807fffe9d3280b..1b785e8010b58be3e39d6f1c88f1065bfd19b9e9 100644
index d9513addae86bd5d2f0c50173318cf4d23ef2128..50f1841e3d5e92d6186db49ac4962c0bac943a8c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1008,7 +1008,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1010,7 +1010,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.a(this::canSleepForTick);
this.methodProfiler.exitEnter("nextTickWait");
this.X = true;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index eb4a0ef0e7a8bc8e0cb648bc369815ce0efb6223..2256b81624b12b6f6cb54250b24fa12ad6da621d 100644
index ff80ac7db73b7c7dd6ac62ac128af1cab961d075..36bf307985624a3567eb1196e034470bd7002e1e 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -215,7 +215,7 @@ public class EntityCreeper extends EntityMonster {
@@ -216,7 +216,7 @@ public class EntityCreeper extends EntityMonster {
public void explode() {
if (!this.world.isClientSide) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Villagers follow emerald blocks
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 167794625ccab695e9404e50366ba92dace6b204..fc15fd3cb9e443b4ee4e09d98ad0b156b6dc61ad 100644
index 1c87bc91515490e2f8579a5321058845c7d30a56..3ae6e9fceb8feea8340fc542727423379a3f8863 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -74,6 +74,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -72,6 +72,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
this.brainTickOffset = getRandom().nextInt(100); // Purpur
}
@@ -23,10 +23,10 @@ index 167794625ccab695e9404e50366ba92dace6b204..fc15fd3cb9e443b4ee4e09d98ad0b156
public BehaviorController<EntityVillager> getBehaviorController() {
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
index b2a76db173ae12bff2e8a7de411cb489fdb2e9c7..2a5eda6a7e67d0b8682a96552248ea4e117c1196 100644
index e0cc45a7494cd6f06169b64ee8ffc16aa1932f8f..baf74566ec8569677e6f03aef96645c13ec94d89 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
@@ -17,6 +17,8 @@ import io.papermc.paper.event.player.PlayerTradeEvent;
@@ -18,6 +18,8 @@ import io.papermc.paper.event.player.PlayerTradeEvent;
public abstract class EntityVillagerAbstract extends EntityAgeable implements NPC, IMerchant {
@@ -36,10 +36,10 @@ index b2a76db173ae12bff2e8a7de411cb489fdb2e9c7..2a5eda6a7e67d0b8682a96552248ea4e
private CraftMerchant craftMerchant;
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index fa3e786cd6ef67da378a5d51583ca84a82677d8c..47a89bdd163d4690fa96f63d7a9723b3bcc9fa0b 100644
index 250a4e5ddd626794482678a64023f0f5459520e1..d990aae60e5a6056b44249cb7039470c6757b7fb 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -41,6 +41,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -42,6 +42,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
this.goalSelector.a(1, new PathfinderGoalPanic(this, 0.5D));
this.goalSelector.a(1, new PathfinderGoalLookAtTradingPlayer(this));
this.goalSelector.a(2, new EntityVillagerTrader.a(this, 2.0D, 0.35D));

View File

@@ -17,10 +17,10 @@ index d38102bbf48dd498d80911e954e910a33d390daa..566d6a2551ffbcf4366596cab87a7239
// Paper start - drop leash variable
PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman, !entityhuman.abilities.canInstantlyBuild);
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index fc15fd3cb9e443b4ee4e09d98ad0b156b6dc61ad..477f4d3c5b3c17d9350edb7b6d0fee6a1729a255 100644
index 3ae6e9fceb8feea8340fc542727423379a3f8863..1fa6cf564099323c8332e68cadf64c28dfc84998 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -79,6 +79,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -77,6 +77,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
protected void initPathfinder() {
if (world.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, TEMPT_ITEMS));
}
@@ -33,10 +33,10 @@ index fc15fd3cb9e443b4ee4e09d98ad0b156b6dc61ad..477f4d3c5b3c17d9350edb7b6d0fee6a
@Override
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index 47a89bdd163d4690fa96f63d7a9723b3bcc9fa0b..298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3 100644
index d990aae60e5a6056b44249cb7039470c6757b7fb..432956d9d5f2706014d67232b88e6b86011484f3 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -48,6 +48,13 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -49,6 +49,13 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
this.goalSelector.a(10, new PathfinderGoalLookAtPlayer(this, EntityInsentient.class, 8.0F));
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 477f4d3c5b3c17d9350edb7b6d0fee6a1729a255..b8f1a8add52eb67a0fbedc1eab497ffa6591123e 100644
index 1fa6cf564099323c8332e68cadf64c28dfc84998..8002c55497f772eadae3242cad06d529571e97bf 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -894,6 +894,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -892,6 +892,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Nullable
private EntityIronGolem d(WorldServer worldserver) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement infinite lava
diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
index d72a88e9275eb00eed35b6467538a46e5cee32d5..35d55bc15b179a8200082ca23fad04bbe550068d 100644
index cf9d3faabe8732d27c436f4806c727592e475f81..46bdeca19a0da06a1fcbd7043a26689b64459d67 100644
--- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java
+++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
@@ -195,7 +195,7 @@ public abstract class FluidTypeFlowing extends FluidType {
@@ -196,7 +196,7 @@ public abstract class FluidTypeFlowing extends FluidType {
}
}
@@ -17,7 +17,7 @@ index d72a88e9275eb00eed35b6467538a46e5cee32d5..35d55bc15b179a8200082ca23fad04bb
IBlockData iblockdata2 = iworldreader.getType(blockposition.down());
Fluid fluid1 = iblockdata2.getFluid();
@@ -266,6 +266,17 @@ public abstract class FluidTypeFlowing extends FluidType {
@@ -267,6 +267,17 @@ public abstract class FluidTypeFlowing extends FluidType {
return (Fluid) this.e().h().set(FluidTypeFlowing.FALLING, flag);
}

View File

@@ -41,10 +41,10 @@ index 7b263594304a9b745f583fe7178ac16936cbd93b..33e2dc3a1003fe95fa71999fc24df841
return a(enchantment, entityliving, (itemstack) -> {
return true;
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index c2be0c2bc315876f120cff207e5516dda2bd55d7..358d6d660581686a2e8d49e13e8c2ade9ec2fec2 100644
index 4a94ce72d559263ef5fa4fb16dc286f531f51d55..4aee11c980105a523bdcb35470053aae51b002df 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -220,7 +220,7 @@ public class EntityExperienceOrb extends Entity {
@@ -221,7 +221,7 @@ public class EntityExperienceOrb extends Entity {
if (this.d == 0 && entityhuman.bu == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
entityhuman.bu = 2;
entityhuman.receive(this, 1);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add 5 second tps average in /tps
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1b785e8010b58be3e39d6f1c88f1065bfd19b9e9..80553b2dfc380e60ae36b99759f60d126eb29de0 100644
index 50f1841e3d5e92d6186db49ac4962c0bac943a8c..a3ddf2839738e089a02d841f5b6fd759c3047305 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -164,7 +164,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -166,7 +166,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
@@ -17,7 +17,7 @@ index 1b785e8010b58be3e39d6f1c88f1065bfd19b9e9..80553b2dfc380e60ae36b99759f60d12
public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -891,6 +891,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -893,6 +893,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -25,7 +25,7 @@ index 1b785e8010b58be3e39d6f1c88f1065bfd19b9e9..80553b2dfc380e60ae36b99759f60d12
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -983,13 +984,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -985,13 +986,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
{
final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -47,10 +47,10 @@ index 1b785e8010b58be3e39d6f1c88f1065bfd19b9e9..80553b2dfc380e60ae36b99759f60d12
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4ad906b3ab91cee656c319d6c2deee59781ffe13..286e2964f672b75f18c48541ec1760eb9278bb1e 100644
index ccacd2d84efdc72c3da645f30f8a9b1c2161cf9e..f9fd40d33ac72f859a0a7012dbab348fca40c375 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2297,6 +2297,7 @@ public final class CraftServer implements Server {
@@ -2306,6 +2306,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -17,10 +17,10 @@ index 53e23b57d70b28d2912dda1cb6cdf4e369ec50d8..0470411dcd9f198af2fbafbccaf884b2
return this.O == tag;
}
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index d99cecc4075338d7b8f154ab94d8ac04190ba371..f4ba0dc132da65eb4d3f7e768eab2d73094d7b37 100644
index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f46e2565e9 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -23,6 +23,9 @@ public class EntityItem extends Entity {
@@ -24,6 +24,9 @@ public class EntityItem extends Entity {
public final float b;
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
public boolean canMobPickup = true; // Paper
@@ -30,7 +30,7 @@ index d99cecc4075338d7b8f154ab94d8ac04190ba371..f4ba0dc132da65eb4d3f7e768eab2d73
public EntityItem(EntityTypes<? extends EntityItem> entitytypes, World world) {
super(entitytypes, world);
@@ -274,6 +277,16 @@ public class EntityItem extends Entity {
@@ -275,6 +278,16 @@ public class EntityItem extends Entity {
return false;
} else if (!this.getItemStack().getItem().a(damagesource)) {
return false;
@@ -47,7 +47,7 @@ index d99cecc4075338d7b8f154ab94d8ac04190ba371..f4ba0dc132da65eb4d3f7e768eab2d73
} else {
// CraftBukkit start
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) {
@@ -454,6 +467,9 @@ public class EntityItem extends Entity {
@@ -455,6 +468,9 @@ public class EntityItem extends Entity {
com.google.common.base.Preconditions.checkArgument(!itemstack.isEmpty(), "Cannot drop air"); // CraftBukkit
this.getDataWatcher().set(EntityItem.ITEM, itemstack);
this.getDataWatcher().markDirty(EntityItem.ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
@@ -57,7 +57,7 @@ index d99cecc4075338d7b8f154ab94d8ac04190ba371..f4ba0dc132da65eb4d3f7e768eab2d73
}
@Override
@@ -535,4 +551,15 @@ public class EntityItem extends Entity {
@@ -536,4 +552,15 @@ public class EntityItem extends Entity {
super.setPositionRaw(x, y, z);
}
// Paper end - fix MC-4

View File

@@ -55,10 +55,10 @@ index 17753c8a997aa286460be5d8eb6508e2eaed18ce..d080bf58ebc9c1dc9d41fae7d515547b
return this.b;
}
diff --git a/src/main/java/net/minecraft/server/CommandListenerWrapper.java b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
index 86f1cfe454ea0a989775b49a6b88375c766ef647..da53af61d1171db3c167c6e007adf95355771653 100644
index 31543b38a7c46d93333c5f96fdb718b0a7a087b2..8a605b88584a574d5814e97d83c63661b56cf753 100644
--- a/src/main/java/net/minecraft/server/CommandListenerWrapper.java
+++ b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
@@ -189,6 +189,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys
@@ -190,6 +190,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys
}
}

View File

@@ -61,7 +61,7 @@ index 65bae8c9f28c23b0b5dd5d048e7fc7daf328075c..32b75f710b12efbcecec2c8d72d4d8cb
public void setAngerTarget(@Nullable UUID uuid) {
this.br = uuid;
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff 100644
index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240aa17508c 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -3,6 +3,7 @@ package net.minecraft.server;
@@ -72,7 +72,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c
import java.util.List;
import java.util.Random;
import java.util.UUID;
@@ -45,6 +46,20 @@ public class EntityZombie extends EntityMonster {
@@ -44,6 +45,20 @@ public class EntityZombie extends EntityMonster {
this(EntityTypes.ZOMBIE, world);
}
@@ -93,7 +93,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c
@Override
protected void initPathfinder() {
if (world.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Paper
@@ -445,19 +460,19 @@ public class EntityZombie extends EntityMonster {
@@ -444,19 +459,19 @@ public class EntityZombie extends EntityMonster {
if (object instanceof EntityZombie.GroupDataZombie) {
EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object;
@@ -119,7 +119,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c
EntityChicken entitychicken1 = (EntityChicken) EntityTypes.CHICKEN.a(this.world);
entitychicken1.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F);
@@ -465,6 +480,7 @@ public class EntityZombie extends EntityMonster {
@@ -464,6 +479,7 @@ public class EntityZombie extends EntityMonster {
entitychicken1.setChickenJockey(true);
this.startRiding(entitychicken1);
worldaccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
@@ -127,7 +127,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c
}
}
}
@@ -567,7 +583,7 @@ public class EntityZombie extends EntityMonster {
@@ -566,7 +582,7 @@ public class EntityZombie extends EntityMonster {
public static class GroupDataZombie implements GroupDataEntity {
@@ -165,7 +165,7 @@ index 2d2830adc5229a8db7fc4b1170ea4c6f263e7182..ce6d79780197eb9300130036a8ed8464
return b(entitytypes, worldaccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || worldaccess.e(blockposition));
}
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
index e021c43b43839c00f81a01bfbec59c546d61ba50..505c83f3e3ad61c2d4d40c4df017e1f7a9a3ad8c 100644
index b90605c463d378cea06c3cb84aad4c97145d00ce..5a71381c9f1832710001b6bfa63d6815c3cd1ab0 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -28,6 +28,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo

View File

@@ -27,10 +27,10 @@ index aba5c6b8713c04302632bd1d289fd968c9e0607a..b75f6ded5d4bd3150789fba773a2c76c
} else {
world.setTypeUpdate(blockposition, Blocks.WATER.getBlockData());
diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java
index 120bf8436fd82294c339add2e7bff1cda8311aea..848a185c04aa90a62e6bcc49ad68a7489ca28970 100644
index 223361a1a8b41ebe91e0db39f40cf12a4968b1b4..07f23572bdf15c57a53e32646f2fc64fff404948 100644
--- a/src/main/java/net/minecraft/server/ItemBucket.java
+++ b/src/main/java/net/minecraft/server/ItemBucket.java
@@ -122,7 +122,7 @@ public class ItemBucket extends Item {
@@ -123,7 +123,7 @@ public class ItemBucket extends Item {
// CraftBukkit end
if (!flag1) {
return movingobjectpositionblock != null && this.a(entityhuman, world, movingobjectpositionblock.getBlockPosition().shift(movingobjectpositionblock.getDirection()), (MovingObjectPositionBlock) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper - add enumhand
@@ -39,7 +39,7 @@ index 120bf8436fd82294c339add2e7bff1cda8311aea..848a185c04aa90a62e6bcc49ad68a748
int i = blockposition.getX();
int j = blockposition.getY();
int k = blockposition.getZ();
@@ -130,7 +130,7 @@ public class ItemBucket extends Item {
@@ -131,7 +131,7 @@ public class ItemBucket extends Item {
world.playSound(entityhuman, blockposition, SoundEffects.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F);
for (int l = 0; l < 8; ++l) {

View File

@@ -5,7 +5,7 @@ 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 1faaf6b7d3c45ad9445b0d6b3842a5ee24dc8275..367f1d93c81a688d93d874c6909bb61c60e99606 100644
index 4d0dcbcc00e44c4912302dd0e7331471f33cb370..70cb98b3db5f9966e91da0ccd81e7610455a4f4e 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1058,7 +1058,8 @@ public class PlayerConnection implements PacketListenerPlayIn {

View File

@@ -92,7 +92,7 @@ index 9807441d53fcf4ef7aaffe3801542f5a371eb7af..43cdeaae22bf020d0b3c1e1c56e65e73
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 367f1d93c81a688d93d874c6909bb61c60e99606..9368578a136157496f6cc60f7f01c5d28eff115e 100644
index 70cb98b3db5f9966e91da0ccd81e7610455a4f4e..48d032ed74effcfd66e1ab01548913964bca4d19 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2298,6 +2298,7 @@ public class PlayerConnection implements PacketListenerPlayIn {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index b8f1a8add52eb67a0fbedc1eab497ffa6591123e..eb8c84977bc757494c08588d2566f402a17357fa 100644
index 8002c55497f772eadae3242cad06d529571e97bf..762f1acf435c6e7b6d695fc1b2120de0116f46da 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -642,7 +642,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -640,7 +640,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Override
public boolean canBreed() {

View File

@@ -33,7 +33,7 @@ index 30ba21ac1bced18a9d0946b7c3ed55971ada48bb..23796bd657f071a337fdf76d777e33c2
return this.k;
}
diff --git a/src/main/java/net/minecraft/server/IDispenseBehavior.java b/src/main/java/net/minecraft/server/IDispenseBehavior.java
index 7b8a470d97ccf0fdcdb8eef9368195486e09913b..d1f9d2884d055efbe72b01f86b0bdaf13ed122a5 100644
index 1277a9c8f06936c53f02dc6cfd2eb5184a7b37a2..5675544e018ce6d4fa608680989980edb0ea625a 100644
--- a/src/main/java/net/minecraft/server/IDispenseBehavior.java
+++ b/src/main/java/net/minecraft/server/IDispenseBehavior.java
@@ -915,6 +915,23 @@ public interface IDispenseBehavior {

View File

@@ -318,10 +318,10 @@ index f0ce2fa068d9e442a8c0ad5d7e3a505e59556c89..8360f5656b1e5928a3ab73c808e85475
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index 0a59e02d762a096cb3de62e0f8105cc5a5fab8d4..bdf4e798ac8ca27edebd0122b894d15a76ecb9d0 100644
index 451ffcfd1fc9fa3091dc2bd697e5d829dcf6443f..7677f4a2ec8bacadcbc6e68e13f56256f1963552 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -14,9 +14,48 @@ public class EntityBat extends EntityAmbient {
@@ -15,9 +15,48 @@ public class EntityBat extends EntityAmbient {
public EntityBat(EntityTypes<? extends EntityBat> entitytypes, World world) {
super(entitytypes, world);
@@ -370,7 +370,7 @@ index 0a59e02d762a096cb3de62e0f8105cc5a5fab8d4..bdf4e798ac8ca27edebd0122b894d15a
@Override
protected void initDatawatcher() {
super.initDatawatcher();
@@ -61,7 +100,7 @@ public class EntityBat extends EntityAmbient {
@@ -62,7 +101,7 @@ public class EntityBat extends EntityAmbient {
protected void collideNearby() {}
public static AttributeProvider.Builder m() {
@@ -379,7 +379,7 @@ index 0a59e02d762a096cb3de62e0f8105cc5a5fab8d4..bdf4e798ac8ca27edebd0122b894d15a
}
public boolean isAsleep() {
@@ -93,6 +132,13 @@ public class EntityBat extends EntityAmbient {
@@ -94,6 +133,13 @@ public class EntityBat extends EntityAmbient {
@Override
protected void mobTick() {
@@ -868,10 +868,10 @@ index cfb009c811bd2908d38da1b0007cb7aaed4e42c3..1219b0aa9c62bc9a1bda45cc9e9a27f1
this.world.addEntity(mooshroom);
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e747cba78 100644
index 36bf307985624a3567eb1196e034470bd7002e1e..7e5ede0f644a6e303be36ab0915d346a02760daa 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -18,12 +18,27 @@ public class EntityCreeper extends EntityMonster {
@@ -19,12 +19,27 @@ public class EntityCreeper extends EntityMonster {
public int maxFuseTicks = 30;
public int explosionRadius = 3;
private int bs;
@@ -899,7 +899,7 @@ index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e
@Override
public GroupDataEntity prepare(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @javax.annotation.Nullable GroupDataEntity groupdataentity, @javax.annotation.Nullable NBTTagCompound nbttagcompound) {
double chance = worldaccess.getMinecraftWorld().purpurConfig.creeperChargedChance;
@@ -32,18 +47,69 @@ public class EntityCreeper extends EntityMonster {
@@ -33,18 +48,69 @@ public class EntityCreeper extends EntityMonster {
}
return super.prepare(worldaccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound);
}
@@ -969,7 +969,7 @@ index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e
this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(2, new PathfinderGoalHurtByTarget(this, new Class[0]));
}
@@ -174,6 +240,7 @@ public class EntityCreeper extends EntityMonster {
@@ -175,6 +241,7 @@ public class EntityCreeper extends EntityMonster {
return (Integer) this.datawatcher.get(EntityCreeper.b);
}
@@ -977,7 +977,7 @@ index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e
public void a(int i) {
this.datawatcher.set(EntityCreeper.b, i);
}
@@ -274,6 +341,7 @@ public class EntityCreeper extends EntityMonster {
@@ -275,6 +342,7 @@ public class EntityCreeper extends EntityMonster {
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
if (event.callEvent()) {
this.datawatcher.set(EntityCreeper.d, event.isIgnited());
@@ -1175,7 +1175,7 @@ index 1a102816921fa3b40f6d364bb826db4459f68eb2..125eab60f2b4657e52a71eddf7586c57
@Override
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index a5a2182455542bb8fd62941bd0da2f38ba698f35..c10f1f95ac786ae876684507412ea4affed99b1b 100644
index f777aea69dc9949aae3251e9a530b8cffb251bad..497d05996ab84f599aa0a02f853149f074e4d3cb 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -46,6 +46,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -1979,10 +1979,10 @@ index f958751b16abcc36910bb0b655ff2360459e2e4c..4ffc61acdff8c51dc9b111e3024c828f
protected void eK() {
this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue((double) this.fp());
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index 895c092197404ad4911ec9f94d1bda1322e45fa7..ff10f512dc6062638c15980b46be10f50d08478c 100644
index 784819d252d94e8040a87f53431fcf2c7a19d1a7..8fde406273bbea0b9d2dea2362cf6372b7a5c9ae 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -39,12 +39,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -40,12 +40,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
protected EntityHorseAbstract(EntityTypes<? extends EntityHorseAbstract> entitytypes, World world) {
super(entitytypes, world);
@@ -2010,7 +2010,7 @@ index 895c092197404ad4911ec9f94d1bda1322e45fa7..ff10f512dc6062638c15980b46be10f5
this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.2D));
this.goalSelector.a(1, new PathfinderGoalTame(this, 1.2D));
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D, EntityHorseAbstract.class));
@@ -52,6 +67,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -53,6 +68,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
this.goalSelector.a(6, new PathfinderGoalRandomStrollLand(this, 0.7D));
this.goalSelector.a(7, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this));
@@ -2556,10 +2556,10 @@ index 874dd39825b41f4e2b366446359920989961f084..cd28463e2bf944d94c121c8f8d6e3722
@Override
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index 38df17bd206c908582ece2c4105235feaf0f2227..7966b34f8d202d2260a35baa4cd594e4def89257 100644
index 91cfe60f764a573e3724b48a9ae02e806c1e4fb8..e38d165fefb4d552ded2198536a6663a5688070d 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -20,6 +20,18 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
@@ -21,6 +21,18 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
super(entitytypes, world);
}
@@ -2578,7 +2578,7 @@ index 38df17bd206c908582ece2c4105235feaf0f2227..7966b34f8d202d2260a35baa4cd594e4
@Override
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
return iworldreader.getType(blockposition.down()).a(Blocks.MYCELIUM) ? 10.0F : iworldreader.y(blockposition) - 0.5F;
@@ -81,7 +93,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
@@ -82,7 +94,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
} else if (itemstack.getItem() == Items.SHEARS && this.canShear()) {
// CraftBukkit start
if (!CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) {
@@ -2587,7 +2587,7 @@ index 38df17bd206c908582ece2c4105235feaf0f2227..7966b34f8d202d2260a35baa4cd594e4
}
// CraftBukkit end
this.shear(SoundCategory.PLAYERS);
@@ -101,7 +113,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
@@ -102,7 +114,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
Optional<Pair<MobEffectList, Integer>> optional = this.l(itemstack);
if (!optional.isPresent()) {
@@ -3588,10 +3588,10 @@ index 2908e9cc47947daad19391d38da3c2a300f67fe5..a151d4295c02930687a23212647de60c
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false));
diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java
index 7bedaf02c4a56067f55a5d15cb18c002df87a404..30e0e14162cce0c0d228139d4c537243a400ef13 100644
index 49f6ee064fa7b79c7a9fd7a3344ed2334ce1f9f6..11a6b939ebb51cdda907531d30b7beb3a8562673 100644
--- a/src/main/java/net/minecraft/server/EntityShulker.java
+++ b/src/main/java/net/minecraft/server/EntityShulker.java
@@ -29,12 +29,26 @@ public class EntityShulker extends EntityGolem implements IMonster {
@@ -30,12 +30,26 @@ public class EntityShulker extends EntityGolem implements IMonster {
this.f = 5;
}
@@ -3618,7 +3618,7 @@ index 7bedaf02c4a56067f55a5d15cb18c002df87a404..30e0e14162cce0c0d228139d4c537243
this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(new Class[0])); // CraftBukkit - decompile error
this.targetSelector.a(2, new EntityShulker.d(this));
this.targetSelector.a(3, new EntityShulker.c(this));
@@ -518,7 +532,7 @@ public class EntityShulker extends EntityGolem implements IMonster {
@@ -519,7 +533,7 @@ public class EntityShulker extends EntityGolem implements IMonster {
private int b;
@@ -3756,10 +3756,10 @@ index c872be77a6cd767520d5412b38ec4ed4fa87ac2f..96cb080d940db22330598a8806726088
protected void initPathfinder() {
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityPiglinAbstract.class, true));
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6fba05d32d 100644
index 80fab9290479f876fd78997c1bd55fe6b00aac45..7f3d57a9399f60465fae27f03fc57df625f5016d 100644
--- a/src/main/java/net/minecraft/server/EntitySlime.java
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
@@ -34,12 +34,45 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -35,12 +35,45 @@ public class EntitySlime extends EntityInsentient implements IMonster {
this.moveController = new EntitySlime.ControllerMoveSlime(this);
}
@@ -3805,7 +3805,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f
this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, 10, true, false, (entityliving) -> {
return Math.abs(entityliving.locY() - this.locY()) <= 4.0D;
}));
@@ -325,11 +358,12 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -326,11 +359,12 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
@Override
@@ -3819,7 +3819,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f
}
@Nullable
@@ -498,10 +532,10 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -499,10 +533,10 @@ public class EntitySlime extends EntityInsentient implements IMonster {
// Paper end
}
@@ -3832,7 +3832,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f
private final EntitySlime k;
private boolean l;
@@ -523,15 +557,27 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -524,15 +558,27 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@Override
public void a() {
@@ -3862,7 +3862,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f
if (this.j-- <= 0) {
this.j = this.k.eJ();
if (this.l) {
@@ -548,7 +594,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -549,7 +595,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
this.a.q(0.0F);
}
} else {
@@ -3872,10 +3872,10 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f
}
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa501697e49862 100644
index c39f3c06eb199a24f32a5c581e877073b580502c..e370de0ade49ac81d746588bf0991101eba0ce2d 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -13,12 +13,26 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -14,12 +14,26 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
super(entitytypes, world);
}
@@ -3902,7 +3902,7 @@ index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa5016
this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityInsentient.class, 10, true, false, (entityliving) -> {
return entityliving instanceof IMonster;
}));
@@ -70,6 +84,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -71,6 +85,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
return;
}
@@ -3910,7 +3910,7 @@ index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa5016
IBlockData iblockdata = Blocks.SNOW.getBlockData();
for (int l = 0; l < 4; ++l) {
@@ -112,7 +127,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -113,7 +128,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
if (itemstack.getItem() == Items.SHEARS && this.canShear()) {
// CraftBukkit start
if (!CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) {
@@ -3919,7 +3919,7 @@ index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa5016
}
// CraftBukkit end
this.shear(SoundCategory.PLAYERS);
@@ -132,7 +147,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -133,7 +148,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
return EnumInteractionResult.SUCCESS;
// Purpur end
} else {
@@ -4219,10 +4219,10 @@ index 4ad393bc99881d813e2b349fb929fc8e69631723..2b34e6cf3b86319bd2875d92b6390288
if (this.h == ControllerMove.Operation.MOVE_TO && !this.i.getNavigation().m()) {
double d0 = this.b - this.i.locX();
diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java
index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e173591443b72 100644
index 9a33866e7529e1636c228bab01205737bc678b47..9336fbbd46c7c6ac11adf8e4cc2735f81c9ed639 100644
--- a/src/main/java/net/minecraft/server/EntityVex.java
+++ b/src/main/java/net/minecraft/server/EntityVex.java
@@ -19,6 +19,45 @@ public class EntityVex extends EntityMonster {
@@ -18,6 +18,45 @@ public class EntityVex extends EntityMonster {
this.f = 3;
}
@@ -4268,7 +4268,7 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735
@Override
public void move(EnumMoveType enummovetype, Vec3D vec3d) {
super.move(enummovetype, vec3d);
@@ -27,7 +66,7 @@ public class EntityVex extends EntityMonster {
@@ -26,7 +65,7 @@ public class EntityVex extends EntityMonster {
@Override
public void tick() {
@@ -4277,7 +4277,7 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735
super.tick();
this.noclip = false;
this.setNoGravity(true);
@@ -42,17 +81,19 @@ public class EntityVex extends EntityMonster {
@@ -41,17 +80,19 @@ public class EntityVex extends EntityMonster {
protected void initPathfinder() {
super.initPathfinder();
this.goalSelector.a(0, new PathfinderGoalFloat(this));
@@ -4298,7 +4298,7 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735
}
@Override
@@ -284,14 +325,14 @@ public class EntityVex extends EntityMonster {
@@ -283,14 +324,14 @@ public class EntityVex extends EntityMonster {
}
}
@@ -4316,10 +4316,10 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735
Vec3D vec3d = new Vec3D(this.b - EntityVex.this.locX(), this.c - EntityVex.this.locY(), this.d - EntityVex.this.locZ());
double d0 = vec3d.f();
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d0f6bd126 100644
index 762f1acf435c6e7b6d695fc1b2120de0116f46da..15e052cb844df310c62d8a5695e8da6c633d94b6 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -75,8 +75,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -73,8 +73,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
}
// Purpur start
@@ -4339,7 +4339,7 @@ index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d
if (world.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, TEMPT_ITEMS));
}
@@ -241,7 +252,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -239,7 +250,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
if (itemstack.getItem() != Items.VILLAGER_SPAWN_EGG && this.isAlive() && !this.eN() && !this.isSleeping()) {
if (this.isBaby()) {
this.fk();
@@ -4348,7 +4348,7 @@ index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d
} else {
boolean flag = this.getOffers().isEmpty();
@@ -254,8 +265,9 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -252,8 +263,9 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
}
if (flag) {
@@ -4360,10 +4360,10 @@ index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d
this.h(entityhuman);
}
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index 298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3..d41960088bb8bc6a7fece0ef152403c43a768dde 100644
index 432956d9d5f2706014d67232b88e6b86011484f3..b9418fac0a05d4bb5f8f215a5704bba332e3f7cb 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -24,6 +24,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -25,6 +25,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@Override
protected void initPathfinder() {
this.goalSelector.a(0, new PathfinderGoalFloat(this));
@@ -4371,7 +4371,7 @@ index 298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3..d41960088bb8bc6a7fece0ef152403c4
this.goalSelector.a(0, new PathfinderGoalUseItem<>(this, PotionUtil.a(new ItemStack(Items.POTION), Potions.INVISIBILITY), SoundEffects.ENTITY_WANDERING_TRADER_DISAPPEARED, (entityvillagertrader) -> {
return this.world.isNight() && !entityvillagertrader.isInvisible();
}));
@@ -49,6 +50,16 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -50,6 +51,16 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
}
// Purpur - start
@@ -4388,7 +4388,7 @@ index 298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3..d41960088bb8bc6a7fece0ef152403c4
@Override
public boolean a(EntityHuman entityhuman) {
return world.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed();
@@ -76,8 +87,9 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -77,8 +88,9 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
}
if (this.getOffers().isEmpty()) {
@@ -4772,10 +4772,10 @@ index e76e6ebde73b93dc06e76b71cdf6371c3654160a..d92fe8013fb3b43cb7eabdf1c624291b
this.eL();
}
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff..7e1e056bdd966a14a184eb76717116998b6e5cb3 100644
index 291748b3436c18653fa959cfd8c92240aa17508c..2076fe3e467c16bb400a75f9ea82f5b0773126be 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -47,6 +47,16 @@ public class EntityZombie extends EntityMonster {
@@ -46,6 +46,16 @@ public class EntityZombie extends EntityMonster {
}
// Purpur start
@@ -4792,7 +4792,7 @@ index 2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff..7e1e056bdd966a14a184eb7671711699
public boolean jockeyOnlyBaby() {
return world.purpurConfig.zombieJockeyOnlyBaby;
}
@@ -62,9 +72,11 @@ public class EntityZombie extends EntityMonster {
@@ -61,9 +71,11 @@ public class EntityZombie extends EntityMonster {
@Override
protected void initPathfinder() {
@@ -4826,7 +4826,7 @@ index ce6d79780197eb9300130036a8ed84648a17f9cf..02b0ae550a0ed33b5b43beedf3b14059
public boolean jockeyOnlyBaby() {
return world.purpurConfig.huskJockeyOnlyBaby;
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
index 505c83f3e3ad61c2d4d40c4df017e1f7a9a3ad8c..0c47477b416980d2e932321730525bf5a8feda4f 100644
index 5a71381c9f1832710001b6bfa63d6815c3cd1ab0..5b6ed77fb2b92b5bf701de436c8d7235bfe82685 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -29,6 +29,16 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
@@ -4889,10 +4889,10 @@ index dc9f2a1a132b3a7925bd62aa1da0512afd90b8b1..b7e540dfeeabb13227596ecfc6eddabf
Entity entity1 = this.getShooter();
// Paper start - Cancel hit for vanished players
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 80553b2dfc380e60ae36b99759f60d126eb29de0..cd01859f3fe24d2eb9554e663c1a092038e93f02 100644
index a3ddf2839738e089a02d841f5b6fd759c3047305..85c14df768ec844b710bf2b32eb7f85c9e6b47ea 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1416,6 +1416,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1418,6 +1418,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
WorldServer worldserver = (WorldServer) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasEntityMoveEvent = EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -4947,7 +4947,7 @@ index 0000000000000000000000000000000000000000..44929182dfd7ad847d9657c324f440cb
+ }
+}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 9368578a136157496f6cc60f7f01c5d28eff115e..bacb0e7c421a14a1dae57b7824c9d55ed0f39517 100644
index 48d032ed74effcfd66e1ab01548913964bca4d19..7be03bb416a5723ce65411ba5d0b967040e8033c 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2307,6 +2307,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -6341,7 +6341,7 @@ index 0000000000000000000000000000000000000000..9a9e46d7ee247f9e43ae5c697f10e466
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 744e6351c58e5aa4a0c668f2ff1adb76a3dc0822..a3b810556e306bc2be65c7811cfa7806d5752cfa 100644
index 2af3bee540ee25ea32a7548fd0d64dea16a0a268..5471422d23d261a06c67f9374cae933430ec03a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1174,4 +1174,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {

View File

@@ -80,10 +80,10 @@ index edce89169b3ca2894852087b83a6bf035ba43c3f..4951abdfa13d170b7075a0223dd0096d
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java
index 63b4a449b56ef549830e4bbd3eab116e64379189..e8650c1bfa8f94ba461b7094125679112d825980 100644
index e42dd066e76a3d2bc3270774f48bb8c8fd47cc38..44dbe818b19c927098c1e6b2bcb556378be5637c 100644
--- a/src/main/java/net/minecraft/server/EntityEnderPearl.java
+++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java
@@ -106,4 +106,11 @@ public class EntityEnderPearl extends EntityProjectileThrowable {
@@ -107,4 +107,11 @@ public class EntityEnderPearl extends EntityProjectileThrowable {
return super.b(worldserver);
}
@@ -96,10 +96,10 @@ index 63b4a449b56ef549830e4bbd3eab116e64379189..e8650c1bfa8f94ba461b709412567911
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java
index dd18eabd7104995f0e6a8ecb279a3872b46773de..601f639275f4df983f19aa9cb0dc5f2611387853 100644
index d8faa18724baa240fca78a35c362cf661615ec4d..e4c2bf2de6c032332b7557c240bb458297bdd33f 100644
--- a/src/main/java/net/minecraft/server/EntityFireworks.java
+++ b/src/main/java/net/minecraft/server/EntityFireworks.java
@@ -300,4 +300,11 @@ public class EntityFireworks extends IProjectile {
@@ -301,4 +301,11 @@ public class EntityFireworks extends IProjectile {
public Packet<?> P() {
return new PacketPlayOutSpawnEntity(this);
}
@@ -112,10 +112,10 @@ index dd18eabd7104995f0e6a8ecb279a3872b46773de..601f639275f4df983f19aa9cb0dc5f26
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index 0816ab54bc99bcf29356b56516e83759a3f2988f..2bad182d9d6248c1e8ac9138e46d192dccc2a973 100644
index 9841c7c27cd296a5156ba79ab734d45922bacaf7..f0502c7f5419f637641b48d8c87f5df206e4f922 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -578,4 +578,11 @@ public class EntityFishingHook extends IProjectile {
@@ -579,4 +579,11 @@ public class EntityFishingHook extends IProjectile {
private HookState() {}
}
@@ -160,10 +160,10 @@ index 480a02a8f6ec7110f9af8f2037fdc09a7a54ef01..aa9afb60808a9988b38cf588ec9f649e
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityPotion.java b/src/main/java/net/minecraft/server/EntityPotion.java
index ddf1f80f3ba45e09cd13ca646a8ec6e8d47be555..bd84a3ac6146cfe6952a9334820696b4583b45b5 100644
index b338cb771aa8ba7a810b8129ca04640d115b68ba..dfc0538cc8cb8015fe79978ee360c86127118330 100644
--- a/src/main/java/net/minecraft/server/EntityPotion.java
+++ b/src/main/java/net/minecraft/server/EntityPotion.java
@@ -240,4 +240,11 @@ public class EntityPotion extends EntityProjectileThrowable {
@@ -241,4 +241,11 @@ public class EntityPotion extends EntityProjectileThrowable {
}
}

View File

@@ -45,10 +45,10 @@ index 125eab60f2b4657e52a71eddf7586c574945252e..638efc67d66001ee085957d4698f51a7
this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo));
}
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 7e1e056bdd966a14a184eb76717116998b6e5cb3..fd28ef623f8b6db5e36328d4ef2771e841db0a9d 100644
index 2076fe3e467c16bb400a75f9ea82f5b0773126be..e4de6e2f8b72c0ede3ad34666a5dfde5c5363b56 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -86,7 +86,18 @@ public class EntityZombie extends EntityMonster {
@@ -85,7 +85,18 @@ public class EntityZombie extends EntityMonster {
this.goalSelector.a(7, new PathfinderGoalRandomStrollLand(this, 1.0D));
this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(EntityPigZombie.class));
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));

View File

@@ -79,10 +79,10 @@ index d3026d8911c73e23315a545b9eb0753306c0e825..2c8d7024879392f37e53dfb72cc07971
if (!world.isClientSide && !itemstack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
float f = 0.5F;
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
index 9d62bc6d600526881dccb44d158e30f565078cec..b8c71925a6e4c58fcefba0ab38270aaa236aabba 100644
index ae2ad70699347e169d941266ec3ad1af4c9b3786..e4aea92040b58a5c87258ac6fd735f21709a45a3 100644
--- a/src/main/java/net/minecraft/server/ItemBlock.java
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -96,7 +96,24 @@ public class ItemBlock extends Item {
@@ -97,7 +97,24 @@ public class ItemBlock extends Item {
}
protected boolean a(BlockPosition blockposition, World world, @Nullable EntityHuman entityhuman, ItemStack itemstack, IBlockData iblockdata) {
@@ -109,10 +109,10 @@ index 9d62bc6d600526881dccb44d158e30f565078cec..b8c71925a6e4c58fcefba0ab38270aaa
@Nullable
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 58d958a88ac5af5b889d719d9f1ea90ce45cf184..8e8749095427b44e04582593114cae8cf6d00f42 100644
index 060c1206e4b5da6be50fff605894fb2a46f57c1b..c0d465749093b1a18bd5179eb28ae06a00850185 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -90,9 +90,25 @@ public abstract class TileEntity implements KeyedObject { // Paper
@@ -93,9 +93,25 @@ public abstract class TileEntity implements KeyedObject { // Paper
this.persistentDataContainer.putAll((NBTTagCompound) persistentDataTag);
}
// CraftBukkit end
@@ -138,7 +138,7 @@ index 58d958a88ac5af5b889d719d9f1ea90ce45cf184..8e8749095427b44e04582593114cae8c
return this.b(nbttagcompound);
}
@@ -253,4 +269,25 @@ public abstract class TileEntity implements KeyedObject { // Paper
@@ -256,4 +272,25 @@ public abstract class TileEntity implements KeyedObject { // Paper
return null;
}
// CraftBukkit end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Infinite fuel furnace
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
index bc2fbdda5777b35291490a6eea038f429521a6ab..77a18faeef0fd2e086827535470c957198c60df4 100644
index 935c7f111a7d7b9cc7c8e384d43e7ab6092cfc5f..48359a7e79b64026e38e7cd17505d8944106e089 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -278,6 +278,22 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I
@@ -279,6 +279,22 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I
if (!this.world.isClientSide) {
ItemStack itemstack = (ItemStack) this.items.get(1);
@@ -31,7 +31,7 @@ index bc2fbdda5777b35291490a6eea038f429521a6ab..77a18faeef0fd2e086827535470c9571
if (!this.isBurning() && (itemstack.isEmpty() || ((ItemStack) this.items.get(0)).isEmpty())) {
if (!this.isBurning() && this.cookTime > 0) {
this.cookTime = MathHelper.clamp(this.cookTime - 2, 0, this.cookTimeTotal);
@@ -331,6 +347,8 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I
@@ -332,6 +348,8 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I
flag1 = true;
this.world.setTypeAndData(this.position, (IBlockData) this.world.getType(this.position).set(BlockFurnace.LIT, this.isBurning()), 3);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add adjustable breeding cooldown to config
diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java
index bba343542e7e6fa83ec802d97b4c139bb210ab28..d9f9e2235d091e14e5d34bb9a3273e7f56e94295 100644
index b290218e506d5e4ddd1af17f91de19a588bbcfbd..cf9be4be18e913e49e9150358c66138b64319ed8 100644
--- a/src/main/java/net/minecraft/server/EntityAnimal.java
+++ b/src/main/java/net/minecraft/server/EntityAnimal.java
@@ -120,7 +120,7 @@ public abstract class EntityAnimal extends EntityAgeable {
@@ -121,7 +121,7 @@ public abstract class EntityAnimal extends EntityAgeable {
if (this.k(itemstack)) {
int i = this.getAge();
@@ -17,7 +17,7 @@ index bba343542e7e6fa83ec802d97b4c139bb210ab28..d9f9e2235d091e14e5d34bb9a3273e7f
this.a(entityhuman, itemstack);
this.g(entityhuman);
return EnumInteractionResult.SUCCESS;
@@ -212,6 +212,14 @@ public abstract class EntityAnimal extends EntityAgeable {
@@ -213,6 +213,14 @@ public abstract class EntityAnimal extends EntityAgeable {
if (entityplayer == null && entityanimal.getBreedCause() != null) {
entityplayer = entityanimal.getBreedCause();
}

View File

@@ -22,10 +22,10 @@ index 7bdcc7bb26a1f7c8fc2562016af8598b9a7b4de3..d22b1742e2bf9c390590851de45b2e66
entityvillager2.setPositionRotation(entityvillager.locX(), entityvillager.locY(), entityvillager.locZ(), 0.0F, 0.0F);
worldserver.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java
index d9f9e2235d091e14e5d34bb9a3273e7f56e94295..dd6725debe0cf72dce13b6f2cac0556060e0eb41 100644
index cf9be4be18e913e49e9150358c66138b64319ed8..c1d2b12418464203c1da8af8da61a9cc9305bb65 100644
--- a/src/main/java/net/minecraft/server/EntityAnimal.java
+++ b/src/main/java/net/minecraft/server/EntityAnimal.java
@@ -13,6 +13,7 @@ public abstract class EntityAnimal extends EntityAgeable {
@@ -14,6 +14,7 @@ public abstract class EntityAnimal extends EntityAgeable {
public int loveTicks;
public UUID breedCause;
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
@@ -33,7 +33,7 @@ index d9f9e2235d091e14e5d34bb9a3273e7f56e94295..dd6725debe0cf72dce13b6f2cac05560
protected EntityAnimal(EntityTypes<? extends EntityAnimal> entitytypes, World world) {
super(entitytypes, world);
@@ -234,8 +235,10 @@ public abstract class EntityAnimal extends EntityAgeable {
@@ -235,8 +236,10 @@ public abstract class EntityAnimal extends EntityAgeable {
CriterionTriggers.o.a(entityplayer, this, entityanimal, entityageable);
}
@@ -252,10 +252,10 @@ index 1099277868f92fdaf4b0ec3a982f26f20ead7369..3bc6e6df9e0107debe5b15f5f7aad97a
public void setStrength(int i) {
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index 7966b34f8d202d2260a35baa4cd594e4def89257..eb1f95d8bae4bc2580849614ba879dd1a8792ecb 100644
index e38d165fefb4d552ded2198536a6663a5688070d..46d031ef3cebfe30e07840ef1c9d60a97a24cd1b 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -30,6 +30,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
@@ -31,6 +31,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
public boolean isRidableInWater() {
return world.purpurConfig.mooshroomRidableInWater;
}

View File

@@ -10,10 +10,10 @@ If min-shoot-interval-ticks and max-shoot-interval-ticks are both set to
0, snow golems won't shoot any snowballs.
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 66a90507aaf16bb8512a77f3c9aa501697e49862..4c083bcfe7d083713b418486f0918f39b96bdb65 100644
index e370de0ade49ac81d746588bf0991101eba0ce2d..338c78efe43641686be0d6b3a241865ec5fe56bd 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -28,7 +28,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -29,7 +29,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@Override
protected void initPathfinder() {
this.goalSelector.a(0, new PathfinderGoalHasRider(this)); // Purpur

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] PaperPR - Config option for Piglins guarding chests
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index b473709774fbbd502d5e04c98041ae7c829b4083..a8215289c2be60c0e1301b928bc4f8a89f3aa1a6 100644
index fd675585c61387156892b179af593ad640873d45..9f5edd3285bd477a73e18cfe3af51b441b3eeae1 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -704,6 +704,11 @@ public class PaperWorldConfig {

View File

@@ -18,10 +18,10 @@ index eca3930b0a9df3e100c545727f897d011d32abb4..fd2becb531ec8bd1cb2125f75a2f3a21
public float yaw;
public float pitch;
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index bc82946d8869f89a9624bebf8dc1099d0f6bd126..f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85 100644
index 15e052cb844df310c62d8a5695e8da6c633d94b6..a04123b5897a150439846abe5b25a3a13419f00e 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -187,15 +187,37 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -185,15 +185,37 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
}
// Spigot End
@@ -59,7 +59,7 @@ index bc82946d8869f89a9624bebf8dc1099d0f6bd126..f9b91ab5e5c17d62acaf2edd72ad99d8
this.world.getMethodProfiler().exit();
if (this.bF) {
this.bF = false;
@@ -327,6 +349,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -325,6 +347,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
return true;
}
@@ -67,7 +67,7 @@ index bc82946d8869f89a9624bebf8dc1099d0f6bd126..f9b91ab5e5c17d62acaf2edd72ad99d8
public void fb() {
this.fp();
Iterator iterator = this.getOffers().iterator();
@@ -361,6 +384,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -359,6 +382,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
return this.bD == 0 || this.bD < 2 && this.world.getTime() > this.bC + 2400L;
}

View File

@@ -133,10 +133,10 @@ index 2d91869660c36b4cd7bfe887956a26802cce7f8a..e376306bc2555620d1a61af2296f3dd8
} else {
object = new BehaviorWork();
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a517ac36b9 100644
index a04123b5897a150439846abe5b25a3a13419f00e..9b925bf9b7946eecb16f94d49a9823139c5fd641 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -131,7 +131,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -129,7 +129,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
behaviorcontroller.a(Activity.PLAY, Behaviors.a(0.5F));
} else {
behaviorcontroller.setSchedule(Schedule.VILLAGER_DEFAULT);
@@ -145,7 +145,7 @@ index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a5
}
behaviorcontroller.a(Activity.CORE, Behaviors.a(villagerprofession, 0.5F));
@@ -845,6 +845,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -843,6 +843,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Override
public boolean i(ItemStack itemstack) {
Item item = itemstack.getItem();
@@ -157,7 +157,7 @@ index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a5
return (EntityVillager.bs.contains(item) || this.getVillagerData().getProfession().c().contains(item)) && this.getInventory().b(itemstack);
}
@@ -866,6 +871,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -864,6 +869,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
}
public boolean canPlant() {
@@ -170,10 +170,10 @@ index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a5
}
diff --git a/src/main/java/net/minecraft/server/IInventory.java b/src/main/java/net/minecraft/server/IInventory.java
index 46b88056b852a7f91d32862dea7bd3a7ea4a1226..64f1767f66a5a91833225faa1b1444e62c6a0205 100644
index 317349bf382ee6671066fd5556ee339179165ff0..26094ed0089982ed60e28d7c110884cff793108d 100644
--- a/src/main/java/net/minecraft/server/IInventory.java
+++ b/src/main/java/net/minecraft/server/IInventory.java
@@ -31,6 +31,7 @@ public interface IInventory extends Clearable {
@@ -32,6 +32,7 @@ public interface IInventory extends Clearable {
return true;
}
@@ -181,7 +181,7 @@ index 46b88056b852a7f91d32862dea7bd3a7ea4a1226..64f1767f66a5a91833225faa1b1444e6
default int a(Item item) {
int i = 0;
@@ -45,6 +46,7 @@ public interface IInventory extends Clearable {
@@ -46,6 +47,7 @@ public interface IInventory extends Clearable {
return i;
}

View File

@@ -5,10 +5,10 @@ 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 3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1..48b4e6dce27448bf4c83d5339cd35c24c5485df5 100644
index 86f534c871a3c9b9ca71b20daa7780dfdab9e76d..d454b6c61c1a7d0ae9d6c2979cb865531acf405f 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -73,7 +73,7 @@ public abstract class PlayerList {
@@ -68,7 +68,7 @@ public abstract class PlayerList {
private int viewDistance;
private EnumGamemode u;
private boolean v;
@@ -17,7 +17,7 @@ index 3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1..48b4e6dce27448bf4c83d5339cd35c24
// CraftBukkit start
private CraftServer cserver;
@@ -933,22 +933,23 @@ public abstract class PlayerList {
@@ -928,22 +928,23 @@ public abstract class PlayerList {
}
public void tick() {
@@ -56,7 +56,7 @@ index 3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1..48b4e6dce27448bf4c83d5339cd35c24
public void sendAll(Packet<?> packet) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 2b25e58ce0d5b6d54c65e70cffd46e1085b02275..86d10c342a741e85e434b65ae172bbdf5284d23b 100644
index ca15efea5da7be1717a211b9b3556c755788561a..400e26c96f00e9f8895a45e70f22552ec17f2436 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1435,7 +1435,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index bdf4e798ac8ca27edebd0122b894d15a76ecb9d0..7718ec8ad3c1833e0bcc713c2e96e054e87453ad 100644
index 7677f4a2ec8bacadcbc6e68e13f56256f1963552..5ba96d6073d2f30c22c1fa28fdea30857b6f2d59 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -54,6 +54,18 @@ public class EntityBat extends EntityAmbient {
@@ -55,6 +55,18 @@ public class EntityBat extends EntityAmbient {
setMot(mot.a(0.9D));
}
}
@@ -136,10 +136,10 @@ index 63497ca0266073dc0a16b7dc22641d08c3eaf400..951531d65709ee3064371cbf4b3a9831
@Override
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index d186f257fa3bc613be7ec79cd6a6ff2e747cba78..b48610fefc8c72922a00dbab861de7b34d5ec1cf 100644
index 7e5ede0f644a6e303be36ab0915d346a02760daa..523988bcc0607198dfb73afca5932ed6dd82cca1 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -96,6 +96,11 @@ public class EntityCreeper extends EntityMonster {
@@ -97,6 +97,11 @@ public class EntityCreeper extends EntityMonster {
}
return getForward() == 0 && getStrafe() == 0; // do not jump if standing still
}
@@ -188,7 +188,7 @@ index 638efc67d66001ee085957d4698f51a7daac77fc..a766910663e47b05d1e38908b5db7471
@Override
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index c10f1f95ac786ae876684507412ea4affed99b1b..06dbb96ff2dfc962dc26b63c8069e3f23c4277b8 100644
index 497d05996ab84f599aa0a02f853149f074e4d3cb..29c8e1b67396df160cdb7ecf4e1a563fc1acd5ac 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -97,6 +97,11 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -358,10 +358,10 @@ index 669bce5d9806c80bddc247fe103ff20dc6aaa8a5..e78e89d187f923239f23e37d5141e2e6
@Override
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index ff10f512dc6062638c15980b46be10f50d08478c..6cdaf21f5c9fed819f99cda0b06d92504b310805 100644
index 8fde406273bbea0b9d2dea2362cf6372b7a5c9ae..2bed0a08eaad5fee5d5e85ba6cb3d3e8e1be1c2c 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -55,6 +55,32 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -56,6 +56,32 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
public boolean isRidableInWater() {
return false;
}
@@ -394,7 +394,7 @@ index ff10f512dc6062638c15980b46be10f50d08478c..6cdaf21f5c9fed819f99cda0b06d9250
// Purpur end
@Override
@@ -863,15 +889,15 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -864,15 +890,15 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
}
@@ -413,7 +413,7 @@ index ff10f512dc6062638c15980b46be10f50d08478c..6cdaf21f5c9fed819f99cda0b06d9250
return (0.44999998807907104D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D) * 0.25D;
}
@@ -994,7 +1020,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -995,7 +1021,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
groupdataentity = new EntityAgeable.a(0.2F);
}
@@ -617,10 +617,10 @@ index cd28463e2bf944d94c121c8f8d6e37221754c168..ac24a9de3b2b24bc8afebf54ea0a947f
public static AttributeProvider.Builder m() {
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index eb1f95d8bae4bc2580849614ba879dd1a8792ecb..6c26cd909aff83947108e272700d13e6cc9f2b09 100644
index 46d031ef3cebfe30e07840ef1c9d60a97a24cd1b..c97dac30010c7d574aa7087f3a84581bfc386473 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -35,6 +35,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
@@ -36,6 +36,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
int getPurpurBreedTime() {
return this.world.purpurConfig.mooshroomBreedingTicks;
}
@@ -902,10 +902,10 @@ index 32130c0681501e3e5a47b199f0bb39daac416ed3..d9fe8cf00088dba516ea2bfd7e9590d9
@Override
diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java
index 30e0e14162cce0c0d228139d4c537243a400ef13..d264b9469c891a0b81986d9be12b2cd8510b6015 100644
index 11a6b939ebb51cdda907531d30b7beb3a8562673..3f1cb739709cc16a9f7073ec8fafb448b734a948 100644
--- a/src/main/java/net/minecraft/server/EntityShulker.java
+++ b/src/main/java/net/minecraft/server/EntityShulker.java
@@ -39,6 +39,11 @@ public class EntityShulker extends EntityGolem implements IMonster {
@@ -40,6 +40,11 @@ public class EntityShulker extends EntityGolem implements IMonster {
public boolean isRidableInWater() {
return world.purpurConfig.shulkerRidableInWater;
}
@@ -982,10 +982,10 @@ index 96cb080d940db22330598a8806726088b79a53c1..ee7805dccac9c4dcdf4fa83ab8041953
@Override
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad15183cf94 100644
index 7f3d57a9399f60465fae27f03fc57df625f5016d..c3737457c521715b640b138dc41863dfba6e4ae8 100644
--- a/src/main/java/net/minecraft/server/EntitySlime.java
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
@@ -10,6 +10,7 @@ import com.destroystokyo.paper.event.entity.SlimeChangeDirectionEvent;
@@ -11,6 +11,7 @@ import com.destroystokyo.paper.event.entity.SlimeChangeDirectionEvent;
import com.destroystokyo.paper.event.entity.SlimeSwimEvent;
import com.destroystokyo.paper.event.entity.SlimeTargetLivingEntityEvent;
import com.destroystokyo.paper.event.entity.SlimeWanderEvent;
@@ -993,7 +993,7 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Slime;
// Paper end
@@ -24,6 +25,7 @@ import org.bukkit.event.entity.SlimeSplitEvent;
@@ -25,6 +26,7 @@ import org.bukkit.event.entity.SlimeSplitEvent;
public class EntitySlime extends EntityInsentient implements IMonster {
private static final DataWatcherObject<Integer> bo = DataWatcher.a(EntitySlime.class, DataWatcherRegistry.b);
@@ -1001,7 +1001,7 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1
public float b;
public float c;
public float d;
@@ -63,6 +65,25 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -64,6 +66,25 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
return true; // do not jump() in wasd controller, let vanilla controller handle
}
@@ -1027,7 +1027,7 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1
// Purpur end
@Override
@@ -89,7 +110,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -90,7 +111,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
this.datawatcher.set(EntitySlime.bo, i);
this.af();
this.updateSize();
@@ -1037,10 +1037,10 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1
this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue((double) i);
if (flag) {
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 4c083bcfe7d083713b418486f0918f39b96bdb65..fa0c459dcd773e003a2852c594ec7254e4eb11b8 100644
index 338c78efe43641686be0d6b3a241865ec5fe56bd..1dd13dfea91a05b1e83b065328092a17d41a605f 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -23,6 +23,11 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -24,6 +24,11 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
public boolean isRidableInWater() {
return world.purpurConfig.snowGolemRidableInWater;
}
@@ -1133,10 +1133,10 @@ index 067f7f28b02b388d56b93b1ed8274799757196e6..0233b65a996111af7bdc10e4da2d70e5
public void setHomePos(BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java
index ac75ed3e2e0e0cd8f91de9ff188e173591443b72..af85dcc824e4ad50eca2ccd957da7b68c05d6b41 100644
index 9336fbbd46c7c6ac11adf8e4cc2735f81c9ed639..3fcbfc7cdf78f71d23b2e2b2990c21db6f493f31 100644
--- a/src/main/java/net/minecraft/server/EntityVex.java
+++ b/src/main/java/net/minecraft/server/EntityVex.java
@@ -56,6 +56,11 @@ public class EntityVex extends EntityMonster {
@@ -55,6 +55,11 @@ public class EntityVex extends EntityMonster {
public boolean b(float f, float f1) {
return false; // no fall damage please
}
@@ -1149,10 +1149,10 @@ index ac75ed3e2e0e0cd8f91de9ff188e173591443b72..af85dcc824e4ad50eca2ccd957da7b68
@Override
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 9b7b26a62f04b9dea6a613fc0e7006a517ac36b9..ec6e5766d3a7e77e0698093d966bd5a96775f642 100644
index 9b925bf9b7946eecb16f94d49a9823139c5fd641..850dae5f20649854f013c0e530a3325455b5db4a 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -95,6 +95,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -93,6 +93,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
public boolean a(EntityHuman entityhuman) {
return world.purpurConfig.villagerCanBeLeashed && !this.isLeashed();
}
@@ -1165,10 +1165,10 @@ index 9b7b26a62f04b9dea6a613fc0e7006a517ac36b9..ec6e5766d3a7e77e0698093d966bd5a9
@Override
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index d41960088bb8bc6a7fece0ef152403c43a768dde..9eb9ace0f59366787bc2789ecabf7800b6d29d5c 100644
index b9418fac0a05d4bb5f8f215a5704bba332e3f7cb..a37aee151bce19ee74e6eae6b67e522a4b28f5a8 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -64,6 +64,11 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -65,6 +65,11 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
public boolean a(EntityHuman entityhuman) {
return world.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed();
}
@@ -1245,10 +1245,10 @@ index d92fe8013fb3b43cb7eabdf1c624291b7e881889..bcc4aa1d3f09e43016d0009cd04dd6b7
@Override
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index fd28ef623f8b6db5e36328d4ef2771e841db0a9d..4dc027577656b423cd06a1eca5fdf9c9a5fcf107 100644
index e4de6e2f8b72c0ede3ad34666a5dfde5c5363b56..c87f05f2d511a135fe67943f96fe41d06882e57b 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -68,6 +68,15 @@ public class EntityZombie extends EntityMonster {
@@ -67,6 +67,15 @@ public class EntityZombie extends EntityMonster {
public boolean jockeyTryExistingChickens() {
return world.purpurConfig.zombieJockeyTryExistingChickens;
}
@@ -1264,7 +1264,7 @@ index fd28ef623f8b6db5e36328d4ef2771e841db0a9d..4dc027577656b423cd06a1eca5fdf9c9
// Purpur end
@Override
@@ -550,7 +559,7 @@ public class EntityZombie extends EntityMonster {
@@ -549,7 +558,7 @@ public class EntityZombie extends EntityMonster {
}
protected void eV() {
@@ -1294,7 +1294,7 @@ index 02b0ae550a0ed33b5b43beedf3b1405985c58c13..966a14b4122b5ca43832a57fcbc16214
public static boolean a(EntityTypes<EntityZombieHusk> entitytypes, WorldAccess worldaccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
index 0c47477b416980d2e932321730525bf5a8feda4f..dc850677c29c16805f28af00b2a633638a776f0d 100644
index 5b6ed77fb2b92b5bf701de436c8d7235bfe82685..48e501130dea326ffc6503bc2e9306dffd8797f9 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -53,6 +53,15 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo

View File

@@ -17,10 +17,10 @@ index b5cc099746e9f05ea69bc438bda22a5ac3ebc3c5..bbd17231a4f7ad0ddde6eb5e589a6c40
if (commanddispatcher_servertype.d) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cd01859f3fe24d2eb9554e663c1a092038e93f02..e620d3596fdc2ca64485b451513bfae47c58ee91 100644
index 85c14df768ec844b710bf2b32eb7f85c9e6b47ea..17591457a33e6994cd26bb1487a7879a11411a9c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -470,6 +470,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -472,6 +472,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.serverConnection.acceptConnections();
// CraftBukkit end
@@ -28,7 +28,7 @@ index cd01859f3fe24d2eb9554e663c1a092038e93f02..e620d3596fdc2ca64485b451513bfae4
}
protected void updateWorldSettings() {}
@@ -865,6 +866,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -867,6 +868,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.safeShutdown(flag, false);
}
public void safeShutdown(boolean flag, boolean isRestarting) {
@@ -37,10 +37,10 @@ index cd01859f3fe24d2eb9554e663c1a092038e93f02..e620d3596fdc2ca64485b451513bfae4
this.isRestarting = isRestarting;
this.hasLoggedStop = true; // Paper
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 48b4e6dce27448bf4c83d5339cd35c24c5485df5..cbe97122885cd89e87b65005d00c5a0b3eb83bfe 100644
index d454b6c61c1a7d0ae9d6c2979cb865531acf405f..f80371ce1665d0760ad0553a2a057a955c56669c 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -518,6 +518,8 @@ public abstract class PlayerList {
@@ -513,6 +513,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());

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerBookTooLargeEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index bacb0e7c421a14a1dae57b7824c9d55ed0f39517..c5d130d96b53f9d86145a8f587ae8fc8de963330 100644
index 7be03bb416a5723ce65411ba5d0b967040e8033c..9ff35aa827cf5b937b8dcbcabafd27301574c35d 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -970,6 +970,7 @@ public class PlayerConnection implements PacketListenerPlayIn {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add MC-4 fix back
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index f4ba0dc132da65eb4d3f7e768eab2d73094d7b37..00741fcc6bbfdc20fbcc401fafe339ce5b5cda93 100644
index c25dce9a75b0e79f9b59f31892d863f46e2565e9..14aa48759c78cd61574a25d7377d8e35d8559599 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -542,7 +542,7 @@ public class EntityItem extends Entity {
@@ -543,7 +543,7 @@ public class EntityItem extends Entity {
// Paper start - fix MC-4
public void setPositionRaw(double x, double y, double z) {

View File

@@ -45,7 +45,7 @@ index 099e0d3df219408ebe2a741a02e53eb9f7def28e..73dc0f499c456c21d298013fbab8c79e
org.bukkit.event.Cancellable cancellable;
if (entity instanceof EntityHuman) {
diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
index 92cca6c44f12a9283988b84681aac760f1c38d7e..31f2ca273eb35aa389caf328abe1b0e87c8846f8 100644
index 0f147dc938cef428452bd3137c68b52a78f9fbde..276aac9afd5d987cf388a87718453c4737049073 100644
--- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java
+++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
@@ -177,7 +177,7 @@ public class BlockTurtleEgg extends Block {
@@ -58,7 +58,7 @@ index 92cca6c44f12a9283988b84681aac760f1c38d7e..31f2ca273eb35aa389caf328abe1b0e8
return true;
// Purpur end
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index 06dbb96ff2dfc962dc26b63c8069e3f23c4277b8..8a69e157572d799ce3760d55550cf0c2035da609 100644
index 29c8e1b67396df160cdb7ecf4e1a563fc1acd5ac..fd019a7d8940150ba776e211fe5f7ecb4ffbc89c 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -489,7 +489,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -233,10 +233,10 @@ index 4ed7a20bfed267776628457a4b33178bac7d1972..e7e12ce2338102b875444c3f3cc76785
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index fa0c459dcd773e003a2852c594ec7254e4eb11b8..88eeabeb89fe733c462a667d7564da3b125952a2 100644
index 1dd13dfea91a05b1e83b065328092a17d41a605f..eb6344a5671408ae9fdd6013774baa13addf304b 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -85,7 +85,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -86,7 +86,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
this.damageEntity(CraftEventFactory.MELTING, 1.0F); // CraftBukkit - DamageSource.BURN -> CraftEventFactory.MELTING
}
@@ -325,10 +325,10 @@ index b7e1e7e35a33cf6a476b11284ebdb0cdda524af2..9e8f720ee0a39ccc27d671df4ae83ef4
this.c.setTypeAndData(blockposition1, Blocks.DIRT.getBlockData(), 2);
}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
index c03ebbc933197be3e7097ea3f7b7cd08c90db7bb..37c1d1ac1bfcaf84d00135ad3c9d9e9b213fdaea 100644
index 6ea402c603b9b54705e79a2fdc61fe5a254479a3..0119eb85fbb2aa85b402f7e0ff712e83c79880a4 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
@@ -23,7 +23,7 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget {
@@ -24,7 +24,7 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget {
@Override
public boolean a() {

View File

@@ -50,10 +50,10 @@ index e731b6d811d179f07f84278d2cce75e0d98092ab..f0e5c378c4612192c1d4c74aa81e598f
WorldServer worldserver = ((WorldServer) world).getMinecraftServer().getWorldServer(resourcekey);
diff --git a/src/main/java/net/minecraft/server/BlockPortal.java b/src/main/java/net/minecraft/server/BlockPortal.java
index 4132cd4c6f13cfa1c0cda43daaa908ff3c07f32b..6dab6ee15f34c401bfe71041f46a9d5b9732770b 100644
index bd78d55ee94f1359739a9d790092d07c613eac0f..a574ef929ac60584ff6e1b2c76722456cc3895ff 100644
--- a/src/main/java/net/minecraft/server/BlockPortal.java
+++ b/src/main/java/net/minecraft/server/BlockPortal.java
@@ -63,7 +63,15 @@ public class BlockPortal extends Block {
@@ -60,7 +60,15 @@ public class BlockPortal extends Block {
@Override
public void a(IBlockData iblockdata, World world, BlockPosition blockposition, Entity entity) {
@@ -71,10 +71,10 @@ index 4132cd4c6f13cfa1c0cda43daaa908ff3c07f32b..6dab6ee15f34c401bfe71041f46a9d5b
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), blockposition.getX(), blockposition.getY(), blockposition.getZ()));
world.getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
index ed8e91bf6c8b9d410d439bdddd5067d346a20a7e..127b5d8215f2bb4c5c523c5a77ebccfbf5fc25ff 100644
index e616b3759561e0d6e471f914f3dc843fe7464f2e..4a443827a316415c2c047ca468d965a80fce1fb1 100644
--- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java
+++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
@@ -125,9 +125,18 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
@@ -126,9 +126,18 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
}
}
@@ -108,7 +108,7 @@ index e1b2a39ea8847716c44d265a62492b5e6cbe262d..2391e1ddbe062dde5cb9a240b0a6a85e
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index a3b810556e306bc2be65c7811cfa7806d5752cfa..f96c41fc8788ee7b674c18cc0fa692df9cee1939 100644
index 5471422d23d261a06c67f9374cae933430ec03a0..4c592f6d4d6cbeb4c3225e7794f4b1d6c8d62394 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -522,6 +522,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -123,7 +123,7 @@ index a3b810556e306bc2be65c7811cfa7806d5752cfa..f96c41fc8788ee7b674c18cc0fa692df
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 86d10c342a741e85e434b65ae172bbdf5284d23b..2d7ce3379ececfca49ae0f535206e11cc346bb41 100644
index 400e26c96f00e9f8895a45e70f22552ec17f2436..ec450146f82b656616c8b60cc05d727437eaa0b6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -117,6 +117,7 @@ import org.bukkit.entity.EntityType;

View File

@@ -5,7 +5,7 @@ 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 c5d130d96b53f9d86145a8f587ae8fc8de963330..9f93e2f5aed24ad0c13076fc6b2087d988bd0f01 100644
index 9ff35aa827cf5b937b8dcbcabafd27301574c35d..f7a031920c68d5d5d505d86ab1b513ac53f5bf84 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1065,7 +1065,7 @@ public class PlayerConnection implements PacketListenerPlayIn {

View File

@@ -57,10 +57,10 @@ index 38f94d4983b69e265441a2b8365702df57a881f5..50fa5f8395fea3ba6fa202a5a38519cd
return false;
}
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 88eeabeb89fe733c462a667d7564da3b125952a2..2c22447c361962d76e0e18986e5406eb635ab46f 100644
index eb6344a5671408ae9fdd6013774baa13addf304b..663c6dd23e0aa75266cefc8f0514d2ca9dc51553 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -70,7 +70,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -71,7 +71,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@Override
public boolean dO() {

View File

@@ -29,7 +29,7 @@ index 73cf30786d2b4d6f87be5f9aad87c3edb594d18e..f5fb3b3c08a05bede7ed1141c018bd0d
return SystemUtils.a(a(nbttagcompound).map((entitytypes) -> {
return entitytypes.a(world);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index f96c41fc8788ee7b674c18cc0fa692df9cee1939..63a419b4eed399a50ba9dde515c1c13da4e720c8 100644
index 4c592f6d4d6cbeb4c3225e7794f4b1d6c8d62394..b441dac8f31b679aa7e36d23848d34e298e6abba 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1199,5 +1199,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -46,10 +46,10 @@ index f96c41fc8788ee7b674c18cc0fa692df9cee1939..63a419b4eed399a50ba9dde515c1c13d
// Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index a9c188c42c63d6e073bae3c77f1dacd2c3fc4602..a73ed438df34d494242f680e08110f4b9eba01c6 100644
index 7de7afae711800154735411947ff140c76d5171f..b14e9a2cd6e849fe91a2512f379036a284323420 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -383,9 +383,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -390,9 +390,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
Preconditions.checkNotNull(item, "null cannot be serialized");
Preconditions.checkArgument(item.getType() != Material.AIR, "air cannot be serialized");
@@ -66,7 +66,7 @@ index a9c188c42c63d6e073bae3c77f1dacd2c3fc4602..a73ed438df34d494242f680e08110f4b
try {
net.minecraft.server.NBTCompressedStreamTools.writeNBT(
compound,
@@ -398,26 +403,58 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -405,26 +410,58 @@ public final class CraftMagicNumbers implements UnsafeValues {
return outputStream.toByteArray();
}

View File

@@ -18,7 +18,7 @@ index 9718812a3b5b4fe68c55390a52f7686cd78e44cd..a96b74b99cac14ef83066bafc514d2ff
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index 8a69e157572d799ce3760d55550cf0c2035da609..76bd201ebb03782c5cf45393269398c47db5baed 100644
index fd019a7d8940150ba776e211fe5f7ecb4ffbc89c..9e27d3ccfd6a5ee00cac72c3137189b1be1f81fb 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -1023,6 +1023,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors!
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 9f93e2f5aed24ad0c13076fc6b2087d988bd0f01..89af9bca9df7a25362650627ce9fa0aa02b3cc29 100644
index f7a031920c68d5d5d505d86ab1b513ac53f5bf84..100ab4ae37a0d71a0d9bc3202802f705e1260ee1 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1388,6 +1388,12 @@ public class PlayerConnection implements PacketListenerPlayIn {

View File

@@ -8,10 +8,10 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG
- Endermite spawn chance
diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java
index e8650c1bfa8f94ba461b7094125679112d825980..060ac3be0c08a297c456c650400c9f56afd0114d 100644
index 44dbe818b19c927098c1e6b2bcb556378be5637c..a1a070e786a7b587d103809957ec4f70f30f999a 100644
--- a/src/main/java/net/minecraft/server/EntityEnderPearl.java
+++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java
@@ -53,7 +53,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable {
@@ -54,7 +54,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable {
Bukkit.getPluginManager().callEvent(teleEvent);
if (!teleEvent.isCancelled() && !entityplayer.playerConnection.isDisconnected()) {
@@ -20,7 +20,7 @@ index e8650c1bfa8f94ba461b7094125679112d825980..060ac3be0c08a297c456c650400c9f56
EntityEndermite entityendermite = (EntityEndermite) EntityTypes.ENDERMITE.a(this.world);
entityendermite.setPlayerSpawned(true);
@@ -68,7 +68,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable {
@@ -69,7 +69,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable {
entityplayer.playerConnection.teleport(teleEvent.getTo());
entity.fallDistance = 0.0F;
CraftEventFactory.entityDamage = this;