Skip to content

Commit

Permalink
Apply all patches
Browse files Browse the repository at this point in the history
  • Loading branch information
kennytv committed Dec 6, 2023
1 parent a364b7e commit b8f9558
Show file tree
Hide file tree
Showing 38 changed files with 216 additions and 201 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Areas affected by lag comepnsation:
- Eating food items

diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1bac9f7894321b5710f5475f6598ec9f3ccd94d3..8f31413c939cc2b0454ad3d9a1b618dbae449d00 100644
index e7bcb076788cefa94b70e455bef1f9653cec6415..98153bf0359db8d5a94fa6f75a05373e4e7cc4ae 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -305,6 +305,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -311,6 +311,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
public boolean isIteratingOverLevels = false; // Paper
Expand All @@ -21,7 +21,7 @@ index 1bac9f7894321b5710f5475f6598ec9f3ccd94d3..8f31413c939cc2b0454ad3d9a1b618db

public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -1522,6 +1525,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1691,6 +1694,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
Iterator iterator = this.getAllLevels().iterator(); // Paper - move down
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
Expand All @@ -30,10 +30,10 @@ index 1bac9f7894321b5710f5475f6598ec9f3ccd94d3..8f31413c939cc2b0454ad3d9a1b618db
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index deebfe66d9c0f799043c3458a0108dc18bfdf15f..4296e0fec900ac0be4f1ebbc539e60f28f96a9cc 100644
index b0576234320042b0c9c1f326671b76fa3a2a6915..072e7b75ade6db8f48437d096639faf8f924ad03 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -564,6 +564,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -566,6 +566,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
return player != null && player.level() == this ? player : null;
}
// Paper end
Expand All @@ -52,7 +52,7 @@ index deebfe66d9c0f799043c3458a0108dc18bfdf15f..4296e0fec900ac0be4f1ebbc539e60f2
// Add env and gen to constructor, IWorldDataServer -> WorldDataServer
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 25f7adf194a165fa28488f80b87382c08111f896..346912d854a176a410920e69d063919f5d34626a 100644
index 899439e0af639e8d9124522b3cb6a10601b17fe2..b214c934b9a537f52cef142c519c2b9b55a89ae3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -124,7 +124,7 @@ public class ServerPlayerGameMode {
Expand All @@ -65,10 +65,10 @@ index 25f7adf194a165fa28488f80b87382c08111f896..346912d854a176a410920e69d063919f

if (this.hasDelayedDestroy) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 6d4d46163ffcffa98f400c2656703eb5c4818f40..675d695989cef5d8fc2e85673efbb57ec1bb38bd 100644
index bed0a01be1703aad8fbfa549d5799e3f84759f32..e1eab03233149fd0714785955d21dc80dc664d96 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3816,6 +3816,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3818,6 +3818,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.getEntityData().resendPossiblyDesyncedDataValues(java.util.List.of(DATA_LIVING_ENTITY_FLAGS), serverPlayer);
}
// Paper end
Expand All @@ -79,7 +79,7 @@ index 6d4d46163ffcffa98f400c2656703eb5c4818f40..675d695989cef5d8fc2e85673efbb57e
private void updatingUsingItem() {
if (this.isUsingItem()) {
if (ItemStack.isSameItem(this.getItemInHand(this.getUsedItemHand()), this.useItem)) {
@@ -3834,7 +3838,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3836,7 +3840,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.triggerItemUseEffects(stack, 5);
}

Expand All @@ -93,7 +93,7 @@ index 6d4d46163ffcffa98f400c2656703eb5c4818f40..675d695989cef5d8fc2e85673efbb57e
this.completeUsingItem();
}

@@ -3882,7 +3891,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3884,7 +3893,10 @@ public abstract class LivingEntity extends Entity implements Attackable {

if (!itemstack.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper use override flag
this.useItem = itemstack;
Expand All @@ -105,7 +105,7 @@ index 6d4d46163ffcffa98f400c2656703eb5c4818f40..675d695989cef5d8fc2e85673efbb57e
if (!this.level().isClientSide) {
this.setLivingEntityFlag(1, true);
this.setLivingEntityFlag(2, hand == InteractionHand.OFF_HAND);
@@ -3907,7 +3919,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3909,7 +3921,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
} else if (!this.isUsingItem() && !this.useItem.isEmpty()) {
this.useItem = ItemStack.EMPTY;
Expand All @@ -117,7 +117,7 @@ index 6d4d46163ffcffa98f400c2656703eb5c4818f40..675d695989cef5d8fc2e85673efbb57e
}
}

@@ -4042,7 +4057,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -4044,7 +4059,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}

this.useItem = ItemStack.EMPTY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ field by calling any method on the class, and for convenience
we use values().

diff --git a/src/main/java/net/minecraft/world/level/chunk/UpgradeData.java b/src/main/java/net/minecraft/world/level/chunk/UpgradeData.java
index 62709ed72faf823e18ad77477eb2f5dbf9c98660..27fcb816f151527029fb1fd02d8247863ccc3d32 100644
index 0f94af3502ef517c33d04841a80ea2ace077f0af..f9c1012216928b16feb14f0bf78fb328a443a7ee 100644
--- a/src/main/java/net/minecraft/world/level/chunk/UpgradeData.java
+++ b/src/main/java/net/minecraft/world/level/chunk/UpgradeData.java
@@ -139,6 +139,7 @@ public class UpgradeData {
@@ -138,6 +138,7 @@ public class UpgradeData {
Fluid fluid = tick.type() == Fluids.EMPTY ? level.getFluidState(tick.pos()).getType() : tick.type();
level.scheduleTick(tick.pos(), fluid, tick.delay(), tick.priority());
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ scoreboards. If a player's scoreboard has a displayed objective for the
still had a 'gold' team, it would still be displayed

diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
index 24c5e6e3dd41e72d22819964bc8e77f0ebc2d089..891f850ea99dac1433f3e395e26be14c8abf2bfb 100644
index cad42a0f3c016bf65181e50d139ae4e2fb9158a5..b3e1adeb932da9b3bed16acd94e2f16da48a7c72 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
@@ -87,8 +87,8 @@ public final class CraftScoreboardManager implements ScoreboardManager {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ we can instead use the nearby player tracking system to reduce
the number of tests per search.

diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 4296e0fec900ac0be4f1ebbc539e60f28f96a9cc..e33c8a4d8027329a71777e9734c79068b48672f4 100644
index 072e7b75ade6db8f48437d096639faf8f924ad03..d5543fe1c1f25798e7dea774d6e20132901dc05e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -575,6 +575,115 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -577,6 +577,115 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.lagCompensationTick = (System.nanoTime() - net.minecraft.server.MinecraftServer.SERVER_INIT) / (java.util.concurrent.TimeUnit.MILLISECONDS.toNanos(50L));
}
// Paper end - lag compensation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Fix missing map initialize event call


diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e33c8a4d8027329a71777e9734c79068b48672f4..c88d5b9125f6ee43bf2be60fd1745d836f271b78 100644
index d5543fe1c1f25798e7dea774d6e20132901dc05e..eba414c592332b67143268ef56b912b35f2a2c14 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2100,7 +2100,23 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2129,7 +2129,23 @@ public class ServerLevel extends Level implements WorldGenLevel {
@Nullable
@Override
public MapItemSavedData getMapData(String id) {
Expand All @@ -34,10 +34,10 @@ index e33c8a4d8027329a71777e9734c79068b48672f4..c88d5b9125f6ee43bf2be60fd1745d83

@Override
diff --git a/src/main/java/net/minecraft/world/level/storage/DimensionDataStorage.java b/src/main/java/net/minecraft/world/level/storage/DimensionDataStorage.java
index bd30ebc66484a6c4770cf697a2e9b0a123681b1c..f921f55e815a4da01828e025881a7a03591c3978 100644
index 1aea6a257ffceb511368a6e8dee5051e120894ad..269c81cd60d98a94721c77d700af223bda15a61a 100644
--- a/src/main/java/net/minecraft/world/level/storage/DimensionDataStorage.java
+++ b/src/main/java/net/minecraft/world/level/storage/DimensionDataStorage.java
@@ -57,7 +57,7 @@ public class DimensionDataStorage {
@@ -58,7 +58,7 @@ public class DimensionDataStorage {
}

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Use correct variable for initializing CraftLootTable


diff --git a/src/main/java/net/minecraft/world/level/storage/loot/LootDataManager.java b/src/main/java/net/minecraft/world/level/storage/loot/LootDataManager.java
index ac4de8a082b495d945723d6062d9eacaa9add2bb..08f5239d5eea9133340ec9e1a3a7d8d5e792ced0 100644
index 973b786368cf628815f099eefe968338c97c52ed..3b740b1fcada96a6fac18a22ea77d1d3ad2a9cce 100644
--- a/src/main/java/net/minecraft/world/level/storage/loot/LootDataManager.java
+++ b/src/main/java/net/minecraft/world/level/storage/loot/LootDataManager.java
@@ -101,7 +101,7 @@ public class LootDataManager implements PreparableReloadListener, LootDataResolv
@@ -103,7 +103,7 @@ public class LootDataManager implements PreparableReloadListener, LootDataResolv
});
// CraftBukkit start
map1.forEach((key, lootTable) -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ Subject: [PATCH] Fix UnsafeValues#loadAdvancement


diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 4d66a9f24d718de4c6862b20ccb7240332523db4..548c77592a3520e8053483644eba805079a14f1a 100644
index c0e36388652e89059c91117722945645119a5738..9fe7038343320e3cb5fd5fcb661995726089bb5d 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -319,7 +319,27 @@ public final class CraftMagicNumbers implements UnsafeValues {
JsonObject jsonobject = GsonHelper.convertToJsonObject(jsonelement, "advancement");
net.minecraft.advancements.Advancement nms = net.minecraft.advancements.Advancement.fromJson(jsonobject, new DeserializationContext(minecraftkey, MinecraftServer.getServer().getLootData()));
@@ -316,7 +316,27 @@ public final class CraftMagicNumbers implements UnsafeValues {
JsonElement jsonelement = ServerAdvancementManager.GSON.fromJson(advancement, JsonElement.class);
net.minecraft.advancements.Advancement nms = Util.getOrThrow(net.minecraft.advancements.Advancement.CODEC.parse(JsonOps.INSTANCE, jsonelement), JsonParseException::new);
if (nms != null) {
- MinecraftServer.getServer().getAdvancements().advancements.put(minecraftkey, new AdvancementHolder(minecraftkey, nms));
+ // Paper start - Fix throw UnsupportedOperationException
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.

diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e593e0bc9d207325a9e9d38296b29230a353077e..64c3e4b0ce2cc111eedc2aa1ecf2c6c5d05f1e9d 100644
index 7b81dd72bc107648f2c0df19adeaa8ca7de7b204..44646111beaea041d3494f9b5557ed8b838a2413 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3286,6 +3286,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3301,6 +3301,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange


diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 64c3e4b0ce2cc111eedc2aa1ecf2c6c5d05f1e9d..3a792ddc31e76038b84e8f87088c4cd94c349138 100644
index 44646111beaea041d3494f9b5557ed8b838a2413..985e33b84cae3f074751e512b35ea8a1cc165e09 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1078,7 +1078,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1085,7 +1085,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

@Override
public void sendEquipmentChange(LivingEntity entity, EquipmentSlot slot, ItemStack item) {
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Subject: [PATCH] Add API to get the collision shape of a block before it's


diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
index 0bf863f597f3657a0f158756a2a91bda7eb453f6..2a9dba6d4a94f1488ef9d86ee4f60b7fd06419fb 100644
index 28a798e497c2c12794169068e69b56dd954978f3..7b4086240fad7eb3ef8eed9eb94ffeb79308e3da 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -669,6 +669,20 @@ public class CraftBlockData implements BlockData {
@@ -676,6 +676,20 @@ public class CraftBlockData implements BlockData {
return this.state.isFaceSturdy(EmptyBlockGetter.INSTANCE, BlockPos.ZERO, CraftBlock.blockFaceToNotch(face), CraftBlockSupport.toNMS(support));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ index 799837c172a5f7856c78e6fe2595c575f3058a5e..7205865bbe0f83fb35678bddc0977f92
Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo());

diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 44d6a7373fe0c7b6afff31e149174367e9873bf9..30528f527de27c1cc21d1d20a6ed7d54bd93cb5a 100644
index abb14719496971a780650782bdce17c638c7b270..95c0c00075e12f4faa1a86a4161fd22dfc69fdd8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1120,9 +1120,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1126,9 +1126,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {

@Override
public RayTraceResult rayTraceEntities(Location start, Vector direction, double maxDistance, double raySize, Predicate<? super Entity> filter) {
Expand All @@ -68,7 +68,7 @@ index 44d6a7373fe0c7b6afff31e149174367e9873bf9..30528f527de27c1cc21d1d20a6ed7d54

Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
@@ -1172,9 +1178,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1178,9 +1184,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {

@Override
public RayTraceResult rayTraceBlocks(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks) {
Expand All @@ -87,15 +87,15 @@ index 44d6a7373fe0c7b6afff31e149174367e9873bf9..30528f527de27c1cc21d1d20a6ed7d54

Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
@@ -1187,16 +1200,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1193,16 +1206,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}

Vector dir = direction.clone().normalize().multiply(maxDistance);
- Vec3 startPos = CraftLocation.toVec3D(start);
+ Vec3 startPos = io.papermc.paper.util.MCUtil.toVec3(start); // Paper
Vec3 endPos = startPos.add(dir.getX(), dir.getY(), dir.getZ());
- HitResult nmsHitResult = this.getHandle().clip(new ClipContext(startPos, endPos, ignorePassableBlocks ? ClipContext.Block.COLLIDER : ClipContext.Block.OUTLINE, CraftFluidCollisionMode.toNMS(fluidCollisionMode), null));
+ HitResult nmsHitResult = this.getHandle().clip(new ClipContext(startPos, endPos, ignorePassableBlocks ? ClipContext.Block.COLLIDER : ClipContext.Block.OUTLINE, CraftFluidCollisionMode.toNMS(fluidCollisionMode), null), canCollide); // Paper - use method with canCollide predicate
- HitResult nmsHitResult = this.getHandle().clip(new ClipContext(startPos, endPos, ignorePassableBlocks ? ClipContext.Block.COLLIDER : ClipContext.Block.OUTLINE, CraftFluidCollisionMode.toNMS(fluidCollisionMode), CollisionContext.empty()));
+ HitResult nmsHitResult = this.getHandle().clip(new ClipContext(startPos, endPos, ignorePassableBlocks ? ClipContext.Block.COLLIDER : ClipContext.Block.OUTLINE, CraftFluidCollisionMode.toNMS(fluidCollisionMode), CollisionContext.empty()), canCollide); // Paper - use method with canCollide predicate

return CraftRayTraceResult.fromNMS(this, nmsHitResult);
}
Expand Down
Loading

0 comments on commit b8f9558

Please sign in to comment.