Update upstream, fix patches

This commit is contained in:
Cryptite
2024-01-24 11:16:45 -06:00
parent c2b3876dd8
commit c5918afc0c
24 changed files with 91 additions and 129 deletions

View File

@@ -2,7 +2,7 @@ group=com.lokamc.slice
version=1.20.4-R0.1-SNAPSHOT
mcVersion=1.20.4
paperRef=8d94596e309ed6d8d00c501336b7899b7c53562f
paperRef=b7004609991dab287b582a1546a1b59c5d90c916
org.gradle.caching=true
org.gradle.parallel=true

View File

@@ -42,20 +42,20 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..c9868e781ce212285a9621236efa6578
standardInput = System.`in`
workingDir = rootProject.layout.projectDirectory
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 71dd7a881fff1a25e65efce0e9c0074584bcd0e8..078f6e9d081f6efd9417da0798197cf4b5661198 100644
index 4e1011dca1081a5246981fabb93f142442dcc92c..544f8b6c9f2b5d1f9681cc97db09e815e77f8765 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1852,7 +1852,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1850,7 +1850,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
- return "Paper"; // Paper
+ return "Slice"; // Slice - Slice > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
}
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index eb617d659c701e512aac8a1ff822c147b69d3a3b..827f36a3bee4174831b8030c5719bdc24d6bc33a 100644
index 9d00c98ddfa1b9c04e6d587dcdf779822f35964a..beb0f8a7d155b4d1f5b1f3b0f325616ac6dfcfd5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper

View File

@@ -27,10 +27,10 @@ index 5ece375eaf6bcc61864997a389bb5e24625e4505..2d61315c9ab87a216e235f1586618b11
return false;
} else {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 0c1d7265dee638642f7c868e2f988af7b59e6d7e..e6690b38eb09cd925f9cc2a9b431745e95160fa5 100644
index b33bb001a48788e727e2f01788a6163024121bf3..5eec5badaaaa0b750fa3a88a381a9be0f6fe4d09 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -906,12 +906,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -905,12 +905,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
@Override
@@ -45,8 +45,8 @@ index 0c1d7265dee638642f7c868e2f988af7b59e6d7e..e6690b38eb09cd925f9cc2a9b431745e
+ public boolean setBlock(BlockPos pos, BlockState state, int flags, int maxUpdateDepth, boolean checkLight) {
// CraftBukkit start - tree generation
if (this.captureTreeGeneration) {
// Paper start
@@ -1107,7 +1107,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// Paper start - Protect Bedrock and End Portal/Frames from being destroyed
@@ -1106,7 +1106,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
iblockdata.getBlock().popExperience((ServerLevel) this, pos, xp, breakingEntity); // Paper - Properly handle xp dropping; custom amount
}
@@ -90,7 +90,7 @@ index 73d6f881a7d4d8ff96040d34ac502e5b0937d577..f9f147861359258c02fd5f99008a3ab8
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
index 99b890e8650356fc059a89a4164ca3f9a80f9d1f..3b42df7ee3abeb2f06446cc1eb9fe80cf50f3508 100644
index 9dd6012556979514f9879f867138bc836c58ef3f..e332c7cff4a9c76b54f530c41f4fdd701a0ad63d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
@@ -142,7 +142,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add BlockDestroyedByNeighborEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index a9126548672522eb2b824221783453f707c5dd40..f47a1767fe5c1454fd9d52660e4d3ead42f38e25 100644
index cfd4ac06a9af6bf3fac293110482e1df690e075e..12eab26762eaa7058bee5c33b46c46752316b2c0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -419,6 +419,7 @@ public class ServerPlayerGameMode {
@@ -25,7 +25,7 @@ index a9126548672522eb2b824221783453f707c5dd40..f47a1767fe5c1454fd9d52660e4d3ead
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockDropItemEvent(bblock, state, this.player, itemsToDrop); // Paper - capture all item additions to the world
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index d7d51f16396ad5539d39b7914125b559bd7dd2b4..6bf4548902316b18e14821767868a9dce36c6d89 100644
index ed27a963223bfe18310ad5adabf461b5e307ef9c..94a94186dc27d69ef09b12afbce7ecc69ec2bfc5 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -378,6 +378,7 @@ public final class ItemStack {
@@ -37,12 +37,12 @@ index d7d51f16396ad5539d39b7914125b559bd7dd2b4..6bf4548902316b18e14821767868a9dc
if (!(item instanceof BucketItem/* || item instanceof SolidBucketItem*/)) { // if not bucket // Paper - Fix cancelled powdered snow bucket placement
world.captureBlockStates = true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index e6690b38eb09cd925f9cc2a9b431745e95160fa5..87eefde9481291d016e7bcb4c2214b5c0cefc544 100644
index 5eec5badaaaa0b750fa3a88a381a9be0f6fe4d09..f37686b4e7a50b8cab4d72fcb353ec305c2dc645 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -187,6 +187,27 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -186,6 +186,27 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> redstoneUpdateInfos; // Paper - Faster redstone torch rapid clock removal; Move from Map in BlockRedstoneTorch to here
+ // Paper start - Holder class used to track what Player is responsible the last block event
+ public static class PendingBlockEvent {
@@ -68,7 +68,7 @@ index e6690b38eb09cd925f9cc2a9b431745e95160fa5..87eefde9481291d016e7bcb4c2214b5c
// Paper start - fix and optimise world upgrading
// copied from below
public static ResourceKey<DimensionType> getDimensionKey(DimensionType manager) {
@@ -1056,6 +1077,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1055,6 +1076,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
if (!this.preventPoiUpdated) {
this.onBlockStateChange(blockposition, iblockdata1, iblockdata2);
}
@@ -76,7 +76,7 @@ index e6690b38eb09cd925f9cc2a9b431745e95160fa5..87eefde9481291d016e7bcb4c2214b5c
// CraftBukkit end
}
}
@@ -1077,6 +1099,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1076,6 +1098,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
if (iblockdata.isAir()) {
return false;
} else {
@@ -92,7 +92,7 @@ index e6690b38eb09cd925f9cc2a9b431745e95160fa5..87eefde9481291d016e7bcb4c2214b5c
+ // Paper end
+
FluidState fluid = this.getFluidState(pos);
// Paper start - while the above setAir method is named same and looks very similar
// Paper start - BlockDestroyEvent; while the above setAir method is named same and looks very similar
// they are NOT used with same intent and the above should not fire this event. The above method is more of a BlockSetToAirEvent,
diff --git a/src/main/java/net/minecraft/world/level/block/DoublePlantBlock.java b/src/main/java/net/minecraft/world/level/block/DoublePlantBlock.java
index 03b5ab8251497c0c94467f90e6663a0dc766babb..0be28c971bbd88268af4dfdd4489d4fb309ad03a 100644
@@ -115,7 +115,7 @@ index 03b5ab8251497c0c94467f90e6663a0dc766babb..0be28c971bbd88268af4dfdd4489d4fb
BlockState iblockdata2 = iblockdata1.getFluidState().is((Fluid) Fluids.WATER) ? Blocks.WATER.defaultBlockState() : Blocks.AIR.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index eb5d6446e639649cdef20101045872a978265f0d..a11693ff8fab2accc7793c79664248a6f58176cb 100644
index 97a9fbbe6d8435e88e5fe716770e4034ab0db7a7..cf7013d3d1679e675f7f1f71b987b74b73174cf1 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -1242,11 +1242,22 @@ public abstract class BlockBehaviour implements FeatureElement {

View File

@@ -5,22 +5,22 @@ Subject: [PATCH] Add World Instance flag
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fb3f71f9824e522df22c50f55b4d41e70a1d1c63..7f81f3c3339ee1858013a2e1b18c457d9f3eaf03 100644
index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..f033f530eef10177c349f2673bb3ee8ebdb1d30b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -223,6 +223,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
public final UUID uuid;
public boolean hasPhysicsEvent = true; // Paper
public boolean hasEntityMoveEvent = false; // Paper - Add EntityMoveEvent
public boolean hasPhysicsEvent = true; // Paper - BlockPhysicsEvent
public boolean hasEntityMoveEvent; // Paper - Add EntityMoveEvent
+ public boolean instance; // Slice
private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current)
public static Throwable getAddToWorldStackTrace(Entity entity) {
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
public LevelChunk getChunkIfLoaded(int x, int z) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index ec61ed7da1531b26e372a72e824c72d5b314524c..2f7ca95e8ac48ea63a2ee28afc50521d8d71accb 100644
index cd559e6aaf4bd2bd322c953bbb186135489ddcaa..589bc913577a8188521856db874a48f86d03ee9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1301,6 +1301,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1298,6 +1298,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
this.world.noSave = !value;
}

View File

@@ -5,14 +5,14 @@ Subject: [PATCH] Add PlayerGetRespawnLocationEvent
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index e2eb3feb786d6348b6d45dd9babb7b36eebccd6e..f54e00f11e92d63aa241a3b8693afa5f1797d1ab 100644
index e0ee45036b9bf14a6e2013fe291cde0402b85b1f..8148bb81322b3ba7becbf0fdb636c83558324f81 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -867,49 +867,57 @@ public abstract class PlayerList {
@@ -866,49 +866,57 @@ public abstract class PlayerList {
// CraftBukkit start - fire PlayerRespawnEvent
if (location == null) {
- // boolean isBedSpawn = false; // Paper - moved up
- // boolean isBedSpawn = false; // Paper - Add PlayerPostRespawnEvent; moved up
- ServerLevel worldserver1 = this.server.getLevel(entityplayer.getRespawnDimension());
- if (worldserver1 != null) {
- Optional optional;
@@ -29,7 +29,7 @@ index e2eb3feb786d6348b6d45dd9babb7b36eebccd6e..f54e00f11e92d63aa241a3b8693afa5f
- }
+ if (location == null) {
+ // Slice end
+ // boolean isBedSpawn = false; // Paper - moved up
+ // boolean isBedSpawn = false; // Paper - Add PlayerPostRespawnEvent; moved up
+ ServerLevel worldserver1 = this.server.getLevel(entityplayer.getRespawnDimension());
+ if (worldserver1 != null) {
+ Optional optional;

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Smooth Teleports
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4858282de0ad6758b487b80dc3d746ae0357ad39..260bcff54607b61db8f2bb5d4ee7c468b80c900a 100644
index 0dba30c41affafe7b1d585b515925043b37712fa..d9b9dd6023532a26f5d8173fb1fccf10a9dfec8c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -281,6 +281,7 @@ public class ServerPlayer extends Player {
public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent
public @Nullable String clientBrandName = null; // Paper - Brand support
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
+ public boolean smoothWorldTeleport; // Slice
@@ -17,10 +17,10 @@ index 4858282de0ad6758b487b80dc3d746ae0357ad39..260bcff54607b61db8f2bb5d4ee7c468
// Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index f54e00f11e92d63aa241a3b8693afa5f1797d1ab..0913c1be8b4130ada71e7d4f473a709e55b7d2d5 100644
index 8148bb81322b3ba7becbf0fdb636c83558324f81..a412b92ee14b685ec30ce8dc70effffa5c11819f 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -953,10 +953,10 @@ public abstract class PlayerList {
@@ -952,10 +952,10 @@ public abstract class PlayerList {
ServerLevel worldserver2 = entityplayer1.serverLevel();
LevelData worlddata = worldserver2.getLevelData();
@@ -34,7 +34,7 @@ index f54e00f11e92d63aa241a3b8693afa5f1797d1ab..0913c1be8b4130ada71e7d4f473a709e
entityplayer1.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
entityplayer1.connection.send(new ClientboundSetExperiencePacket(entityplayer1.experienceProgress, entityplayer1.totalExperience, entityplayer1.experienceLevel));
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b364a042a9b5d1b3c604f6bf6d03b6aeff03ec82..331b47b82d2f0c6544e5417accb5a962daac3111 100644
index c11b974cf4dee385d0730ecc20715feac0f20352..f63b9365d25ed0a31cfd484cf87b89acc2cb7df5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1267,6 +1267,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Don't send fire packets if player has FR
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ef2ef6f34e2045ccbf93de123785b44886072cee..1412e120cfcaf03f266a8a2c9b4336cfcc010b5d 100644
index a9649cbd58e22411bfac00580a2c266cd9133802..4872d9c2a7591aacf9e0fe852c06351289387c8f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -878,7 +878,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -877,7 +877,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.checkBelowWorld();
if (!this.level().isClientSide) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow access to LightEngine
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 673f0d1ee4e4228a52c07fc1b570822257e59300..bccd73960976be2838ccc803a4a9574437689f98 100644
index 5637dcf1f6c76df33988c3279171aafbc1868a82..22ec85fb9e5313b94f1dc55c3cfbfe88eded0db6 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -435,7 +435,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -434,7 +434,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper end - rewrite player chunk loader
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerLoadStatsEvent
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 0913c1be8b4130ada71e7d4f473a709e55b7d2d5..4483bc16c81a5ca088320a28b4723a603b563f7e 100644
index a412b92ee14b685ec30ce8dc70effffa5c11819f..5946a1b76bc29aaad003b2096e8115d9ee3ffe7c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1495,7 +1495,7 @@ public abstract class PlayerList {
@@ -1494,7 +1494,7 @@ public abstract class PlayerList {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add Force Crit to PlayerPreAttackEntityEvent
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 9044458491fc9a33923852e324a15ac59d6660b2..433cca813b5c56aadc6c4b44ff5eb19b4d1f67a6 100644
index 44a17a8e763455e834dcf488044a0f4907ce346e..1f1f40c8c9290dbffce3e92ac5d36696856cb5d3 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1278,10 +1278,11 @@ public abstract class Player extends LivingEntity {
@@ -1276,10 +1276,11 @@ public abstract class Player extends LivingEntity {
flag1 = true;
}
@@ -16,9 +16,8 @@ index 9044458491fc9a33923852e324a15ac59d6660b2..433cca813b5c56aadc6c4b44ff5eb19b
+ boolean forceCrit = playerAttackEntityEvent.isForceCrit();
+ boolean flag2 = forceCrit || (flag && this.fallDistance > 0.0F && !this.onGround() && !this.onClimbable() && !this.isInWater() && !this.hasEffect(MobEffects.BLINDNESS) && !this.isPassenger() && target instanceof LivingEntity); // Paper - Add critical damage API; diff on change
- flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
- flag2 = flag2 && !this.isSprinting();
+ flag2 = flag2 && !level().paperConfig().entities.behavior.disablePlayerCrits; // Paper
+ flag2 = forceCrit || (flag2 && !this.isSprinting()); // Slice
if (flag2) {
f *= 1.5F;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add Preventing KB Bonus to PlayerPreAttackEntityEvent
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 433cca813b5c56aadc6c4b44ff5eb19b4d1f67a6..2a6a85519c63bd3f879a8dbe146a9d05310cee3c 100644
index 1f1f40c8c9290dbffce3e92ac5d36696856cb5d3..8192278ee16adfb74abb7ce955752fe8b43787d2 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1270,7 +1270,11 @@ public abstract class Player extends LivingEntity {
@@ -1268,7 +1268,11 @@ public abstract class Player extends LivingEntity {
boolean flag = f2 > 0.9F;
boolean flag1 = false;
byte b0 = 0;

View File

@@ -18,10 +18,10 @@ index ee0331a6bc40cdde08d926fd8eb1dc642630c2e5..d1094f6a61976a81f400ab5b2b604f96
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1412e120cfcaf03f266a8a2c9b4336cfcc010b5d..bee42880274cf36c57abc5f633e6f14f41a0ea2b 100644
index 4872d9c2a7591aacf9e0fe852c06351289387c8f..ccd0fbf0d61a0a5e9e806df964c711f5c883a8d4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -459,6 +459,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -520,6 +520,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
* Overriding this field will cause memory leaks.
*/
private final boolean hardCollides;

View File

@@ -1,37 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cryptite <cryptite@gmail.com>
Date: Sat, 6 May 2023 18:14:26 -0500
Subject: [PATCH] Maybe can't tostring?
diff --git a/src/main/java/net/minecraft/nbt/CompoundTag.java b/src/main/java/net/minecraft/nbt/CompoundTag.java
index 22106323902ceb4fc58a95918c754234a581f7a1..72d7f519a28bc76733e67e2d0d0fcda581999242 100644
--- a/src/main/java/net/minecraft/nbt/CompoundTag.java
+++ b/src/main/java/net/minecraft/nbt/CompoundTag.java
@@ -507,6 +507,9 @@ public class CompoundTag implements Tag {
@Override
public CompoundTag copy() {
// Paper start - reduce memory footprint of NBTTagCompound
+ if (this.tags.size() < 0) {
+ net.minecraft.server.MinecraftServer.LOGGER.debug("Tried to copy an invalid item with negative tags: {}, {}, {}, {}", this.tags, this.tags.getClass().getName());
+ }
it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap<String, Tag> ret = new it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap<>(this.tags.size(), 0.8f);
java.util.Iterator<java.util.Map.Entry<String, Tag>> iterator = (this.tags instanceof it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap) ? ((it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap)this.tags).object2ObjectEntrySet().fastIterator() : this.tags.entrySet().iterator();
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 6bf4548902316b18e14821767868a9dce36c6d89..fce143bb16e4ee2e43fbcf6363b08a0dfeb8a2e1 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -765,7 +765,11 @@ public final class ItemStack {
itemstack.setPopTime(this.getPopTime());
if (this.tag != null) {
- itemstack.tag = this.tag.copy();
+ if (this.tag.tags.size() < 0) {
+ ItemStack.LOGGER.debug("Tried to copy an invalid item with negative tags: {}, {}, {}, {}", this.tag, this.tag.tags, this.tag.tags.getClass().getName());
+ } else {
+ itemstack.tag = this.tag.copy();
+ }
}
return itemstack;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow inventory clicks in Spectator
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 6a85b44021df6226b53da478ac6f35dcfb55c3ed..b5765dfaf21c03f98d2309072851319f32997d39 100644
index 6f9ec543185b6f68bb1eaa61a7ebea9d866d688f..831c34212351ce05ce9a24a7aa5d7ff8655e74da 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2880,7 +2880,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2865,7 +2865,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (this.player.isImmobile()) return; // CraftBukkit
this.player.resetLastActionTime();
if (this.player.containerMenu.containerId == packet.getContainerId() && this.player.containerMenu.stillValid(this.player)) { // CraftBukkit

View File

@@ -118,7 +118,7 @@ index 58b602e550258c1062ee940bc46538dac95d8979..3ad5950d05fed7ff8810a8a7969fcb58
public static record DataValue<T>(int id, EntityDataSerializer<T> serializer, T value) { // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index ae188ae314336d971303023c7b7b8ecf32bae253..506e4d80e47723a0764703578370a45ad2f126fd 100644
index 529ab44baaf573b97cf7e89560c548642733188f..e3e0f306ebed31ce4742e7d2f15ab102b93a9dff 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -380,7 +380,20 @@ public class ServerEntity {
@@ -144,10 +144,10 @@ index ae188ae314336d971303023c7b7b8ecf32bae253..506e4d80e47723a0764703578370a45a
if (this.entity instanceof LivingEntity) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index bee42880274cf36c57abc5f633e6f14f41a0ea2b..12fa631aa176e67dcda522dca6376a69ca5b34d8 100644
index ccd0fbf0d61a0a5e9e806df964c711f5c883a8d4..85d1f19cc02b9bd159d2614305f070ad26df8f17 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3388,7 +3388,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3385,7 +3385,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID);
return;
}
@@ -157,10 +157,10 @@ index bee42880274cf36c57abc5f633e6f14f41a0ea2b..12fa631aa176e67dcda522dca6376a69
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 2a6a85519c63bd3f879a8dbe146a9d05310cee3c..d6cdb7c3314004ee25cbed96eb289d420999c01c 100644
index 8192278ee16adfb74abb7ce955752fe8b43787d2..2b93d9ca3df4d1a9acd670752390018a4332065f 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -644,7 +644,7 @@ public abstract class Player extends LivingEntity {
@@ -642,7 +642,7 @@ public abstract class Player extends LivingEntity {
public void increaseScore(int score) {
int j = this.getScore();
@@ -170,7 +170,7 @@ index 2a6a85519c63bd3f879a8dbe146a9d05310cee3c..d6cdb7c3314004ee25cbed96eb289d42
public void startAutoSpinAttack(int riptideTicks) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 82eb22d1539951cd04267d7269b1447ebc4ee2c6..d95d08fd519ca633c1c126982f3720e7c3aabe28 100644
index e009a7dffc548043d22ec62259bb0b737178388d..0c980953444001ca5bbdb06ccf56079cd02588f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2733,7 +2733,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Long distance tracking
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index bccd73960976be2838ccc803a4a9574437689f98..0d36816f679f08c81aecf683584ecd932bfcf8f7 100644
index 22ec85fb9e5313b94f1dc55c3cfbfe88eded0db6..b88dd166628c46a7f2bf98b0b8bf5a215acb99de 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1425,6 +1425,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1417,6 +1417,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper end - remove allocation of Vec3D here
int i = ChunkMap.this.getPlayerViewDistance(player);
double d0 = (double) Math.min(this.getEffectiveRange(), i * 16);
@@ -17,7 +17,7 @@ index bccd73960976be2838ccc803a4a9574437689f98..0d36816f679f08c81aecf683584ecd93
double d2 = d0 * d0;
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 260bcff54607b61db8f2bb5d4ee7c468b80c900a..466a4eed74729e7ff8a3d634ad4ca5f2befcca25 100644
index d9b9dd6023532a26f5d8173fb1fccf10a9dfec8c..dec8e20a8132e601ed0db3352d22fad968ed555a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -282,6 +282,7 @@ public class ServerPlayer extends Player {

View File

@@ -25,7 +25,7 @@ index 5a8f850b447fc3a4bd0eb0c505bbdfc8be7115e8..34d74735b7a7d258c6bd14bb7e540693
this.entity = buf.readVarInt();
EquipmentSlot[] equipmentSlots = EquipmentSlot.values();
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 506e4d80e47723a0764703578370a45ad2f126fd..a1d03e7d4f0a73930e932fffc870723859ca5e43 100644
index e3e0f306ebed31ce4742e7d2f15ab102b93a9dff..4f4ea6dcef4e1960ac69271fbd771dd3ad6af275 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -331,27 +331,8 @@ public class ServerEntity {
@@ -59,7 +59,7 @@ index 506e4d80e47723a0764703578370a45ad2f126fd..a1d03e7d4f0a73930e932fffc8707238
if (!this.entity.getPassengers().isEmpty()) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f0d565ac0b3c8d3c3a200348a16e7db21ff3920a..67a83bfd09befa7250f7a02eaf21797cc24e8c71 100644
index 6071451339080bbdd98fb634791a56988984c8bc..70d2ec6c248b01438de30827404186e5d152cda0 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -262,6 +262,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -106,7 +106,7 @@ index f0d565ac0b3c8d3c3a200348a16e7db21ff3920a..67a83bfd09befa7250f7a02eaf21797c
}
// Paper start - Hide unnecessary item meta
@@ -4544,4 +4565,74 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -4543,4 +4564,74 @@ public abstract class LivingEntity extends Entity implements Attackable {
public static record Fallsounds(SoundEvent small, SoundEvent big) {
}

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Add reason to PlayerConnectionCloseEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
index cae10b963d153fb1777b18054796a45b2809342b..45a50cf9b7ceba080b6de70eee03bab854652905 100644
index 76f31845fe50200d09e5ab6a6c08da00444414ad..eb86d1d10c61f599161e2387613bfcd5d6cb2dea 100644
--- a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
@@ -138,6 +138,7 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis
// Paper end
// Paper end - Debugging
this.connection.send(new ClientboundDisconnectPacket(ServerConfigurationPacketListenerImpl.DISCONNECT_REASON_INVALID_DATA));
this.connection.disconnect(ServerConfigurationPacketListenerImpl.DISCONNECT_REASON_INVALID_DATA);
+ new com.destroystokyo.paper.event.player.PlayerConnectionCloseEvent(this.gameProfile.getId(), this.gameProfile.getName(), ((java.net.InetSocketAddress)this.connection.address).getAddress(), com.destroystokyo.paper.event.player.PlayerConnectionCloseEvent.ConnectionCloseReason.INVALID_PLAYER_DATA, false).callEvent(); // Slice

View File

@@ -18,10 +18,10 @@ index 7e8dc9e8f381abfdcce2746edc93122d623622d1..303e5ed4d5cf2a64b998656bfd189f19
if (entity.isVehicle()) {
// we cannot assume that these entities are contained within this chunk, because entities can
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 12fa631aa176e67dcda522dca6376a69ca5b34d8..f62b6e4777486721a1f9d3b5a80591c26b50bd66 100644
index 85d1f19cc02b9bd159d2614305f070ad26df8f17..5069faacb2e16b112b5c7167de5fe310e20bc086 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -424,6 +424,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -423,6 +423,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
private UUID originWorld;
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
public boolean fixedPose = false; // Paper - Expand Pose API
@@ -29,7 +29,7 @@ index 12fa631aa176e67dcda522dca6376a69ca5b34d8..f62b6e4777486721a1f9d3b5a80591c2
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
@@ -4825,7 +4826,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4817,7 +4818,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@Override
public boolean shouldBeSaved() {
@@ -39,7 +39,7 @@ index 12fa631aa176e67dcda522dca6376a69ca5b34d8..f62b6e4777486721a1f9d3b5a80591c2
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index f16ac1d640fc97f348c244d4ea86e3278b30ae19..3e1c22cd06ecaa26b0c36563a4d0c44ee7e91b1d 100644
index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..749c9e53b8c0d8cec866bfe5ceaf9be0312c75aa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1227,4 +1227,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable sending Entity Movement Packets
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index a1d03e7d4f0a73930e932fffc870723859ca5e43..2718501470b958daa581c4cb169fe9561f21ea54 100644
index 4f4ea6dcef4e1960ac69271fbd771dd3ad6af275..81371980e0eaa362ea1fff9813f632db93021bda 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -151,7 +151,7 @@ public class ServerEntity {
@@ -36,10 +36,10 @@ index a1d03e7d4f0a73930e932fffc870723859ca5e43..2718501470b958daa581c4cb169fe956
flag5 = true;
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f62b6e4777486721a1f9d3b5a80591c26b50bd66..b405ef4ba9343e9dcd7d3b136899bff879e82362 100644
index 5069faacb2e16b112b5c7167de5fe310e20bc086..d80be25ceca44a536d4989a0799716ea7f3a2026 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -425,6 +425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -424,6 +424,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
public boolean fixedPose = false; // Paper - Expand Pose API
public boolean saveable = true; // Slice

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player spawnsOwnMobs
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 7b3dc5ba8ce6fb5c7091f82c2eea1cb63eb07149..b1bc5a645385a931d56699e852c398e22e04100a 100644
index ce1cee91351d2665437573b0d756420769637fa0..a4319888da00ee82b17c01a118e325efab43d976 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -564,7 +564,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -562,7 +562,7 @@ public class ServerChunkCache extends ChunkSource {
// Paper start - optimise chunk tick iteration
ChunkMap playerChunkMap = this.chunkMap;
for (ServerPlayer player : this.level.players) {
@@ -18,12 +18,12 @@ index 7b3dc5ba8ce6fb5c7091f82c2eea1cb63eb07149..b1bc5a645385a931d56699e852c398e2
player.playerNaturallySpawnedEvent = null;
player.lastEntitySpawnRadiusSquared = -1.0;
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index d6cdb7c3314004ee25cbed96eb289d420999c01c..3bc1c402aadd5af534fc343f2d90a20a602e82d1 100644
index 2b93d9ca3df4d1a9acd670752390018a4332065f..5d37ffb421b22b0d1acffa43ac0bdd2c80414123 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -184,6 +184,8 @@ public abstract class Player extends LivingEntity {
@@ -182,6 +182,8 @@ public abstract class Player extends LivingEntity {
public boolean affectsSpawning = true; // Paper - Affects Spawning API
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
// Paper end
+ public boolean spawnsOwnMobs = false; // Slice
+

View File

@@ -17,7 +17,7 @@ index a6f58b3457b7477015c5c6d969e7d83017dd3fa1..7f2070bd2d7eb7f0256a96df00103d20
public BlockUpdates blockUpdates;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 078f6e9d081f6efd9417da0798197cf4b5661198..b71fa704c812c138cb44c7580a61ddec15bdc18d 100644
index 544f8b6c9f2b5d1f9681cc97db09e815e77f8765..a7335d9f890397eff67d0063d077e263a66d2fdd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2,6 +2,7 @@ package net.minecraft.server;
@@ -28,16 +28,16 @@ index 078f6e9d081f6efd9417da0798197cf4b5661198..b71fa704c812c138cb44c7580a61ddec
import com.google.common.collect.ImmutableList;
import co.aikar.timings.Timings;
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
@@ -315,6 +316,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public static final long SERVER_INIT = System.nanoTime();
// Paper end - lag compensation
@@ -312,6 +313,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile boolean abnormalExit = false; // Paper
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
+ @Nullable DimensionDataStorage sharedDataStorage; // Slice
+
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
Thread thread = new io.papermc.paper.util.TickThread(() -> { // Paper - rewrite chunk system
@@ -416,6 +419,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -413,6 +416,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
}
@@ -50,7 +50,7 @@ index 078f6e9d081f6efd9417da0798197cf4b5661198..b71fa704c812c138cb44c7580a61ddec
private void readScoreboard(DimensionDataStorage persistentStateManager) {
persistentStateManager.computeIfAbsent(this.getScoreboard().dataFactory(), "scoreboard");
}
@@ -919,6 +928,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -916,6 +925,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isSaving = true;
this.getPlayerList().saveAll(); // Paper - Incremental chunk and player saving; diff on change
flag3 = this.saveAllChunks(suppressLogs, flush, force);
@@ -58,7 +58,7 @@ index 078f6e9d081f6efd9417da0798197cf4b5661198..b71fa704c812c138cb44c7580a61ddec
} finally {
this.isSaving = false;
}
@@ -1133,6 +1143,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1130,6 +1140,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new IllegalStateException("Failed to initialize server");
}
@@ -74,7 +74,7 @@ index 078f6e9d081f6efd9417da0798197cf4b5661198..b71fa704c812c138cb44c7580a61ddec
this.nextTickTimeNanos = Util.getNanos();
this.statusIcon = (ServerStatus.Favicon) this.loadStatusIcon().orElse(null); // CraftBukkit - decompile error
this.status = this.buildServerStatus();
@@ -1533,6 +1552,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1531,6 +1550,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
level.saveIncrementally(fullSave);
}
}
@@ -83,10 +83,10 @@ index 078f6e9d081f6efd9417da0798197cf4b5661198..b71fa704c812c138cb44c7580a61ddec
this.isSaving = false;
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 7f81f3c3339ee1858013a2e1b18c457d9f3eaf03..abdd05abf86567da495682e0613322cdcb4d9c59 100644
index f033f530eef10177c349f2673bb3ee8ebdb1d30b..ebd5fe9f64672b01e3981c19aa9464e8f20dbc03 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2136,7 +2136,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2116,7 +2116,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@Override
public MapItemSavedData getMapData(String id) {
// Paper start - Call missing map initialize event and set id
@@ -95,7 +95,7 @@ index 7f81f3c3339ee1858013a2e1b18c457d9f3eaf03..abdd05abf86567da495682e0613322cd
final net.minecraft.world.level.saveddata.SavedData existing = storage.cache.get(id);
if (existing == null && !storage.cache.containsKey(id)) {
@@ -2163,12 +2163,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2143,12 +2143,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
MapInitializeEvent event = new MapInitializeEvent(state.mapView);
Bukkit.getServer().getPluginManager().callEvent(event);
// CraftBukkit end
@@ -119,4 +119,4 @@ index 7f81f3c3339ee1858013a2e1b18c457d9f3eaf03..abdd05abf86567da495682e0613322cd
+ // Slice end
}
// Paper start - helper function for configurable spawn radius
// Paper start - Configurable Keep Spawn Loaded range per world

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Vanish
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b405ef4ba9343e9dcd7d3b136899bff879e82362..52466d82e07e8c49e462f7b908d6b87cc1ed1dbf 100644
index d80be25ceca44a536d4989a0799716ea7f3a2026..95f8b8cd1a429af527763f318ba64a773597924c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -426,6 +426,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -425,6 +425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public boolean fixedPose = false; // Paper - Expand Pose API
public boolean saveable = true; // Slice
public boolean sendMovementPackets = true; // Slice
@@ -26,7 +26,7 @@ index b405ef4ba9343e9dcd7d3b136899bff879e82362..52466d82e07e8c49e462f7b908d6b87c
} else {
boolean flag2 = this.isStateClimbable(state);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 3e1c22cd06ecaa26b0c36563a4d0c44ee7e91b1d..df8a79df81afa447121931cd817cff2723e98dcf 100644
index 749c9e53b8c0d8cec866bfe5ceaf9be0312c75aa..8686ac0ef7ba13ecf41a149b4f60937990a365d9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1239,4 +1239,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {