More more more more more more more more patches

This commit is contained in:
Nassim Jahnke 2023-03-14 22:10:53 +01:00
parent 1295869b43
commit 18d51375b8
No known key found for this signature in database
GPG Key ID: 6BE3B555EBC5982B
98 changed files with 232 additions and 307 deletions

View File

@ -7,7 +7,7 @@ Fixes MC-50647 by just checking if the spawn type is a SPAWNER
and then bypassing the spawn check logic if on slimes if it is.
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 3da612821708f10f7f53b1c9e70adc649689529e..87c2e50c6f817d1a77e0cfd64366765b265f9ba0 100644
index 3f367fb0b2f633024d27dc598738d6651a36f21b..c41c1c2712920c6b7d822cd0f37a5d8d725e4054 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -322,6 +322,11 @@ public class Slime extends Mob implements Enemy {

View File

@ -18,10 +18,10 @@ index 5b46cabf4f2e2a1f7feaad378dd98d64aeef8671..51b3db0b6c2cede95b584268e035c0fb
if (dedicatedserverproperties.enableQuery) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 5a9be5839b1e93b18408bb6b29306b8b39b302c9..3d4ad106222d0bc365c3207e5b414539ffc861ec 100644
index 94dbe4bd2c81d7c43d6eb0ed4e912ecd222a3b63..aaa4e96f20f11b6e01a1d70f8c80d45cc7b1669a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2877,7 +2877,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2891,7 +2891,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.player = this.server.getPlayerList().respawn(this.player, false);
if (this.server.isHardcore()) {
this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper
@ -31,7 +31,7 @@ index 5a9be5839b1e93b18408bb6b29306b8b39b302c9..3d4ad106222d0bc365c3207e5b414539
}
break;
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75ad73feb1 100644
index de713f1ca1d61a6b1fca2b66de9162556d102449..edd2c9d0cf5a81c779011cb4215d496a8987b784 100644
--- a/src/main/java/net/minecraft/world/level/GameRules.java
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
@@ -51,7 +51,7 @@ public class GameRules {
@ -43,7 +43,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
while (iterator.hasNext()) {
ServerPlayer entityplayer = (ServerPlayer) iterator.next();
@@ -71,7 +71,7 @@ public class GameRules {
@@ -72,7 +72,7 @@ public class GameRules {
public static final GameRules.Key<GameRules.BooleanValue> RULE_DISABLE_RAIDS = GameRules.register("disableRaids", GameRules.Category.MOBS, GameRules.BooleanValue.create(false));
public static final GameRules.Key<GameRules.BooleanValue> RULE_DOINSOMNIA = GameRules.register("doInsomnia", GameRules.Category.SPAWNING, GameRules.BooleanValue.create(true));
public static final GameRules.Key<GameRules.BooleanValue> RULE_DO_IMMEDIATE_RESPAWN = GameRules.register("doImmediateRespawn", GameRules.Category.PLAYER, GameRules.BooleanValue.create(false, (minecraftserver, gamerules_gameruleboolean) -> {
@ -52,7 +52,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
while (iterator.hasNext()) {
ServerPlayer entityplayer = (ServerPlayer) iterator.next();
@@ -164,13 +164,13 @@ public class GameRules {
@@ -166,13 +166,13 @@ public class GameRules {
((GameRules.Type<T>) type).callVisitor(consumer, (GameRules.Key<T>) key); // CraftBukkit - decompile error
}
@ -68,7 +68,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
T t0 = rules.getRule(key);
this.getRule(key).setFrom(t0, server);
@@ -238,10 +238,10 @@ public class GameRules {
@@ -240,10 +240,10 @@ public class GameRules {
private final Supplier<ArgumentType<?>> argument;
private final Function<GameRules.Type<T>, T> constructor;
@ -81,7 +81,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
this.argument = argumentType;
this.constructor = ruleFactory;
this.callback = changeCallback;
@@ -273,10 +273,10 @@ public class GameRules {
@@ -275,10 +275,10 @@ public class GameRules {
public void setFromArgument(CommandContext<CommandSourceStack> context, String name, GameRules.Key<T> gameRuleKey) { // Paper
this.updateFromArgument(context, name, gameRuleKey); // Paper
@ -94,7 +94,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
if (server != null) {
this.type.callback.accept(server, this.getSelf());
}
@@ -297,7 +297,7 @@ public class GameRules {
@@ -299,7 +299,7 @@ public class GameRules {
protected abstract T copy();
@ -103,7 +103,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
}
public interface GameRuleTypeVisitor {
@@ -313,7 +313,7 @@ public class GameRules {
@@ -315,7 +315,7 @@ public class GameRules {
private boolean value;
@ -112,7 +112,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
return new GameRules.Type<>(BoolArgumentType::bool, (gamerules_gameruledefinition) -> {
return new GameRules.BooleanValue(gamerules_gameruledefinition, initialValue);
}, changeCallback, GameRules.GameRuleTypeVisitor::visitBoolean);
@@ -341,7 +341,7 @@ public class GameRules {
@@ -343,7 +343,7 @@ public class GameRules {
return this.value;
}
@ -121,7 +121,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
this.value = value;
this.onChanged(server);
}
@@ -371,7 +371,7 @@ public class GameRules {
@@ -373,7 +373,7 @@ public class GameRules {
return new GameRules.BooleanValue(this.type, this.value);
}
@ -130,7 +130,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
this.value = rule.value;
this.onChanged(server);
}
@@ -381,7 +381,7 @@ public class GameRules {
@@ -383,7 +383,7 @@ public class GameRules {
private int value;
@ -139,7 +139,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
return new GameRules.Type<>(IntegerArgumentType::integer, (gamerules_gameruledefinition) -> {
return new GameRules.IntegerValue(gamerules_gameruledefinition, initialValue);
}, changeCallback, GameRules.GameRuleTypeVisitor::visitInteger);
@@ -409,7 +409,7 @@ public class GameRules {
@@ -411,7 +411,7 @@ public class GameRules {
return this.value;
}
@ -148,7 +148,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
this.value = value;
this.onChanged(server);
}
@@ -460,7 +460,7 @@ public class GameRules {
@@ -462,7 +462,7 @@ public class GameRules {
return new GameRules.IntegerValue(this.type, this.value);
}
@ -158,7 +158,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
this.onChanged(server);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 7aa3200ef7e8031b7adee71f37e43458cde4e353..e5bafab042767f483e09fa0d164f91e4a6f06160 100644
index 56e086458783a5f85f88184dd063f73647c2ee8f..e5e38c225e7c83dfb8a8427ef6a38d644a492d09 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1914,7 +1914,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add pre-unbreaking amount to PlayerItemDamageEvent
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 1d52646d68ff05a597a41495f288471ce60b2d29..31eed67d07097c7eb1b06547a9f556bcc709d96c 100644
index 32e617461d603c3f8e968e82bb1d2e7e14b19aa2..75ee1abaadabbe8add0972c48780f5e7b85df069 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -572,10 +572,11 @@ public final class ItemStack {
@@ -586,10 +586,11 @@ public final class ItemStack {
}
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 3448954294e6c47e71172d616d955c0412fd0e19..70e289c98cf39c5c6eeb7fb8b250be6e5bb52b8b 100644
index 733157fd438c31b5bd86fea1454386b66d927852..924a2d2d0737bcaf0ebe701557124d4a434eac82 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1258,6 +1258,7 @@ public final class CraftServer implements Server {
@@ -1253,6 +1253,7 @@ public final class CraftServer implements Server {
internal.setSpawnSettings(true, true);
// Paper - move up

View File

@ -40,15 +40,15 @@ index 17c313b9cb45c8158cab751ffc4e0dc3b7e1fa3c..796d17f51496974cfdfed2593753b8c0
return true;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java
index 81048c54c45b77894ee1e2045870446dff7c71d4..fe7daa57119af137eeb76ca2c0e54bf7903ebbca 100644
index e3704080dc44ea429ecdc477e2ac57692d7833fc..7867333757c300cd52110c2cf5d0a5bb19f9505d 100644
--- a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java
@@ -88,7 +88,7 @@ public class BeehiveBlock extends BaseEntityBlock {
this.angerNearbyBees(world, pos);
}
- CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, stack, tileentitybeehive.getOccupantCount());
+ // CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, stack, tileentitybeehive.getOccupantCount()); // Paper - moved until after items are dropped
- CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, tool, tileentitybeehive.getOccupantCount());
+ // CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, tool, tileentitybeehive.getOccupantCount()); // Paper - moved until after items are dropped
}
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityDyeEvent and CollarColorable interface
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 366f32b11f39a79210532c614fdbb2230b87d88f..a0dd4a58937a4e49e430d8c1470fe84b709e8044 100644
index 9bcc1f4b60eebe77ffc2afaabd46629cb37cc8a0..51ca7668ebc0edf4254b7511bb0df0c2197bf859 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -404,6 +404,13 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -401,6 +401,13 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
DyeColor enumcolor = ((DyeItem) item).getDyeColor();
if (enumcolor != this.getCollarColor()) {
@ -23,7 +23,7 @@ index 366f32b11f39a79210532c614fdbb2230b87d88f..a0dd4a58937a4e49e430d8c1470fe84b
if (!player.getAbilities().instabuild) {
itemstack.shrink(1);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index c44bbdea03856ac3a7652674263d1ec78ed02473..a6a50eb4f4ac85751071571876ac804d44ee1ee6 100644
index b6c4f67c870831b8667c88f0c523714b5fdadad2..612601b2536dc522356d4dd2c2ea1192f6435f72 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -392,6 +392,13 @@ public class Wolf extends TamableAnimal implements NeutralMob {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 13ff58b76d7c1c02921ee3266a67f7c5befef30e..98dac3d0288902265beb07ff17c5ae1bebeb2cfc 100644
index 7fed29460309e1f35ee0207b4c07990201807bd1..4e27d0e537a0d813ab81d3bc6524ad038047a0a1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3974,6 +3974,7 @@ public abstract class LivingEntity extends Entity {
@@ -3934,6 +3934,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public void releaseUsingItem() {
if (!this.useItem.isEmpty()) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] FallingBlock auto expire setting
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 06f6fe4d1be4b14c45d2576561201c9386988dc1..eacb8a407fe99af2c13f23c12b5544696bda8890 100644
index 5967e5093af785b5ad33e0b0da2044b3a4065107..ce2c3c146ef64400e00084bd2245d2b87a67fbc2 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -63,6 +63,7 @@ public class FallingBlockEntity extends Entity {
@@ -64,6 +64,7 @@ public class FallingBlockEntity extends Entity {
@Nullable
public CompoundTag blockData;
protected static final EntityDataAccessor<BlockPos> DATA_START_POS = SynchedEntityData.defineId(FallingBlockEntity.class, EntityDataSerializers.BLOCK_POS);
@ -16,7 +16,7 @@ index 06f6fe4d1be4b14c45d2576561201c9386988dc1..eacb8a407fe99af2c13f23c12b554469
public FallingBlockEntity(EntityType<? extends FallingBlockEntity> type, Level world) {
super(type, world);
@@ -177,7 +178,7 @@ public class FallingBlockEntity extends Entity {
@@ -178,7 +179,7 @@ public class FallingBlockEntity extends Entity {
}
if (!this.onGround && !flag1) {
@ -25,7 +25,7 @@ index 06f6fe4d1be4b14c45d2576561201c9386988dc1..eacb8a407fe99af2c13f23c12b554469
if (this.dropItem && this.level.getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) {
this.spawnAtLocation((ItemLike) block);
}
@@ -323,6 +324,7 @@ public class FallingBlockEntity extends Entity {
@@ -324,6 +325,7 @@ public class FallingBlockEntity extends Entity {
if (this.blockData != null) {
nbt.put("TileEntityData", this.blockData);
}
@ -33,7 +33,7 @@ index 06f6fe4d1be4b14c45d2576561201c9386988dc1..eacb8a407fe99af2c13f23c12b554469
}
@@ -357,6 +359,10 @@ public class FallingBlockEntity extends Entity {
@@ -358,6 +360,10 @@ public class FallingBlockEntity extends Entity {
int srcZ = nbt.getInt("SourceLoc_z");
this.setOrigin(new org.bukkit.Location(level.getWorld(), srcX, srcY, srcZ));
}

View File

@ -22,10 +22,10 @@ index ff99336e0b8131ae161cfa5c4fc83c6905e3dbc8..4ec1e8ded06c60d81446c67bba2aa8a0
}
});
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 6b17c008926287f2c9f828ba656c3a77aef0fb2c..a81eaee4339d7f4b0bf94c012cdbf8f4fa2f78f8 100644
index 66b1ef69fe48340b5ccebd845b39f898515ff117..7ae780c4a38eb088f876e5bd03a0dba5836787fb 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2498,6 +2498,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2497,6 +2497,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
public void onTickingStart(Entity entity) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Do not accept invalid client settings
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 3d4ad106222d0bc365c3207e5b414539ffc861ec..9834ee213dcffc35aba1df8d3f9f00a9bbfc1b45 100644
index aaa4e96f20f11b6e01a1d70f8c80d45cc7b1669a..31f22cee3713eeca03f165c3cc5089563089076a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3465,6 +3465,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3479,6 +3479,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void handleClientInformation(ServerboundClientInformationPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add support for Proxy Protocol
diff --git a/build.gradle.kts b/build.gradle.kts
index dc61ebe468740b0b9359bf6e3a6050726136941c..1919a8e9cb7c995b2a9c876ff4980bdc98977133 100644
index 1cd32d28475b3130b02ad39b9f53aa7074792556..9cf389defdaeb887e9cad4f0fed3f3b95667b238 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -20,6 +20,7 @@ dependencies {
@ -17,10 +17,10 @@ index dc61ebe468740b0b9359bf6e3a6050726136941c..1919a8e9cb7c995b2a9c876ff4980bdc
implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion
implementation("org.ow2.asm:asm:9.4")
diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
index cfdbcd024de6ad0f9d4e83b2f912b36ef3299458..abcc3266d18f34d160eac87fdea153dce24c60b8 100644
index 2beddfc0532c3835d50724551e3d46cb0d7d2290..44d99e89226adb6234b9405f25ac9dab9bd84297 100644
--- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
+++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
@@ -111,6 +111,12 @@ public class ServerConnectionListener {
@@ -108,6 +108,12 @@ public class ServerConnectionListener {
ServerConnectionListener.LOGGER.info("Paper: Using " + com.velocitypowered.natives.util.Natives.cipher.getLoadedVariant() + " cipher from Velocity.");
// Paper end
@ -33,9 +33,9 @@ index cfdbcd024de6ad0f9d4e83b2f912b36ef3299458..abcc3266d18f34d160eac87fdea153dc
this.channels.add(((ServerBootstrap) ((ServerBootstrap) (new ServerBootstrap()).channel(oclass)).childHandler(new ChannelInitializer<Channel>() {
protected void initChannel(Channel channel) {
try {
@@ -124,6 +130,30 @@ public class ServerConnectionListener {
@@ -123,6 +129,30 @@ public class ServerConnectionListener {
int j = ServerConnectionListener.this.server.getRateLimitPacketsPerSecond();
Object object = j > 0 ? new RateKickingConnection(j) : new Connection(PacketFlow.SERVERBOUND);
Connection object = j > 0 ? new RateKickingConnection(j) : new Connection(PacketFlow.SERVERBOUND); // CraftBukkit - decompile error
+ // Paper start - Add support for Proxy Protocol
+ if (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.proxyProtocol) {
@ -61,6 +61,6 @@ index cfdbcd024de6ad0f9d4e83b2f912b36ef3299458..abcc3266d18f34d160eac87fdea153dc
+ }
+ // Paper end
+
// ServerConnectionListener.this.connections.add((Connection) object); // CraftBukkit - decompile error
pending.add((Connection) object); // Paper
channel.pipeline().addLast("packet_handler", (ChannelHandler) object);
//ServerConnectionListener.this.connections.add(object);
pending.add(object); // Paper
channelpipeline.addLast("packet_handler", (ChannelHandler) object);

View File

@ -30,10 +30,10 @@ index 40a42a632540d497c1393b112731c41c6e448228..f3fa2678796c33f3a408a02a1995ad11
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
index 9b1e2af71728c1a0842c690cee01161342dc35f1..1b248db497500aa6bd346b306dcb908af77626f3 100644
index 52a5b7c20dda9ad18cdeb70952e7385b0966b161..585d1d1f4b1b212295da36e31ae2670b0d2b06c3 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -256,4 +256,12 @@ public abstract class BlockEntity {
@@ -254,4 +254,12 @@ public abstract class BlockEntity {
return null;
}
// CraftBukkit end

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Prevent entity loading causing async lookups
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5597c0ff49179e4978b82d36d92ba96f147c590c..0e27a7b943a5e4d580fdbce4cd14d0528c808735 100644
index 83e201e34a6628faec9ba7497a1025aa207a103e..7e10c68fba3c833d414ffc80426615eef85b2c47 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -788,6 +788,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -789,6 +789,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void baseTick() {
this.level.getProfiler().push("entityBaseTick");

View File

@ -7,10 +7,10 @@ There are no plans to support creating worlds while worlds are
being ticked themselvess.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0d027c99eaa049d7e99c50df10e2131eaa8bafee..1b56bb2869d3cf22670b508133968e66493a5bec 100644
index ef2e4c0444d70d99378073f427f8c1792eb79556..9f6ae28c7d10d67d73745c535c976954bcf61c11 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -308,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -311,6 +311,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@ -18,7 +18,7 @@ index 0d027c99eaa049d7e99c50df10e2131eaa8bafee..1b56bb2869d3cf22670b508133968e66
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -1475,7 +1476,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1484,7 +1485,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getFunctions().tick();
MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper
this.profiler.popPush("levels");
@ -27,7 +27,7 @@ index 0d027c99eaa049d7e99c50df10e2131eaa8bafee..1b56bb2869d3cf22670b508133968e66
// CraftBukkit start
// Run tasks that are waiting on processing
@@ -1507,6 +1508,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1516,6 +1517,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end
MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper
@ -36,7 +36,7 @@ index 0d027c99eaa049d7e99c50df10e2131eaa8bafee..1b56bb2869d3cf22670b508133968e66
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -1554,6 +1557,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1562,6 +1565,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.pop();
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
}
@ -45,10 +45,10 @@ index 0d027c99eaa049d7e99c50df10e2131eaa8bafee..1b56bb2869d3cf22670b508133968e66
this.profiler.popPush("connection");
MinecraftTimings.connectionTimer.startTiming(); // Spigot
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 70e289c98cf39c5c6eeb7fb8b250be6e5bb52b8b..c51f9a26c6a41158ebdc83adfb495a5412a1197b 100644
index 924a2d2d0737bcaf0ebe701557124d4a434eac82..1ecb719bc8bdf9611022307a55965868243d26ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -850,6 +850,11 @@ public final class CraftServer implements Server {
@@ -845,6 +845,11 @@ public final class CraftServer implements Server {
return new ArrayList<World>(this.worlds.values());
}
@ -60,7 +60,7 @@ index 70e289c98cf39c5c6eeb7fb8b250be6e5bb52b8b..c51f9a26c6a41158ebdc83adfb495a54
public DedicatedPlayerList getHandle() {
return this.playerList;
}
@@ -1135,6 +1140,7 @@ public final class CraftServer implements Server {
@@ -1130,6 +1135,7 @@ public final class CraftServer implements Server {
@Override
public World createWorld(WorldCreator creator) {
Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP");
@ -68,7 +68,7 @@ index 70e289c98cf39c5c6eeb7fb8b250be6e5bb52b8b..c51f9a26c6a41158ebdc83adfb495a54
Validate.notNull(creator, "Creator may not be null");
String name = creator.name();
@@ -1273,6 +1279,7 @@ public final class CraftServer implements Server {
@@ -1268,6 +1274,7 @@ public final class CraftServer implements Server {
@Override
public boolean unloadWorld(World world, boolean save) {

View File

@ -2008,10 +2008,10 @@ index 0000000000000000000000000000000000000000..33cd90c30c22200a4e1ae64f40a0bf78
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a81eaee4339d7f4b0bf94c012cdbf8f4fa2f78f8..dd4bd208fba1806a298ccc76d64efdcb2a061be7 100644
index 7ae780c4a38eb088f876e5bd03a0dba5836787fb..5c96d98ccb9b01219de3439aec1e459752dbac6c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -221,6 +221,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -219,6 +219,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
public final UUID uuid;
public boolean hasPhysicsEvent = true; // Paper
public boolean hasEntityMoveEvent = false; // Paper
@ -2019,7 +2019,7 @@ index a81eaee4339d7f4b0bf94c012cdbf8f4fa2f78f8..dd4bd208fba1806a298ccc76d64efdcb
public static Throwable getAddToWorldStackTrace(Entity entity) {
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
@@ -2487,6 +2488,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2486,6 +2487,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
return this.server.getWorldData().enabledFeatures();
}
@ -2034,10 +2034,10 @@ index a81eaee4339d7f4b0bf94c012cdbf8f4fa2f78f8..dd4bd208fba1806a298ccc76d64efdcb
EntityCallbacks() {}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 9d122994fb0587eab313ba522a2e9933aa2ddc8b..807b58b1a7a9a01faef7f42aba022ed467fa607e 100644
index a84f039390afe11d96b24a5c82312e1888311ec9..4ace5a32e8d17303a4b5d9e8935a803d7c0df409 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1521,4 +1521,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1532,4 +1532,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return ret;
}
// Paper end

View File

@ -18,7 +18,7 @@ index 02abc5f387d781094bd2f39233444add3a470be1..ece82743df21f0b776382821ad75dee9
if (bl) {
int j = this.angerByUuid.removeInt(entity.getUUID());
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
index 9fb1bfc394362108aa5ae0d7ec9feeda7753abfb..1ae7408048f951cb94d7cfbea60efc5567b1af84 100644
index 2ac6e1e2c8d30ac21f97f6399f68c9b028488b2d..b2b63d9df3c07696f47281e9be74f1799f50b93e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
@@ -495,6 +495,15 @@ public class Warden extends Monster implements VibrationListener.VibrationListen

View File

@ -11,10 +11,10 @@ distance trigger. This adds a config option to ignore that
and use the exact dimension key of the worlds involved.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index f01586da79b5e3965d90ed143204f9636d35ecaa..c7b030ee8973e9e7fdc3ed584229d049d5afe134 100644
index 0d09e674e3dc18c074c8dd730fe171de07cd27f9..c380c596dcba3f8f93d472df74fd614bbdbfce5e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1258,6 +1258,12 @@ public class ServerPlayer extends Player {
@@ -1270,6 +1270,12 @@ public class ServerPlayer extends Player {
// CraftBukkit start
ResourceKey<Level> maindimensionkey = CraftDimensionUtil.getMainDimensionKey(origin);
ResourceKey<Level> maindimensionkey1 = CraftDimensionUtil.getMainDimensionKey(this.level);

View File

@ -20,10 +20,10 @@ index 7c7e5f3c0f9cd1f16192a8fc8163da9b2d9519d5..888936385196a178ab8b730fd5e4fff4
Date date = new Date();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c51f9a26c6a41158ebdc83adfb495a5412a1197b..52dec44a061b773c4467279c766f504d079dd1a4 100644
index 1ecb719bc8bdf9611022307a55965868243d26ee..72f4b2adb2601e9869fe972cff5da4d6934f5325 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1773,7 +1773,7 @@ public final class CraftServer implements Server {
@@ -1772,7 +1772,7 @@ public final class CraftServer implements Server {
// Paper end
Set<CommandSender> recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {

View File

@ -7,10 +7,10 @@ The previous solution caused a bunch of bandaid fixes inorder to resolve edge ca
Just simply prevent them from being added to the world instead.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index dd4bd208fba1806a298ccc76d64efdcb2a061be7..e9457d8a29d1f54af8415ad006b75d567e524a46 100644
index 5c96d98ccb9b01219de3439aec1e459752dbac6c..0e02012f90efd729a9e4122f23a3d724ab7ebfbf 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1504,6 +1504,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1503,6 +1503,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
return false;
} else {
@ -19,10 +19,10 @@ index dd4bd208fba1806a298ccc76d64efdcb2a061be7..e9457d8a29d1f54af8415ad006b75d56
if (captureDrops != null && entity instanceof net.minecraft.world.entity.item.ItemEntity) {
captureDrops.add((net.minecraft.world.entity.item.ItemEntity) entity);
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index 1f965e4428d627eaab69ace45486f1d14d2bb504..62f2a070e4c80846a9d696445212c65289037928 100644
index d9d50c2658aa3db77948e051d068876d2f5042e6..8a757e6682fb7a58bfd76290bd79ee3cc3dc27b9 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -505,7 +505,7 @@ public class ItemEntity extends Entity {
@@ -511,7 +511,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
}
public void setItem(ItemStack stack) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Don't print component in resource pack rejection message
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 9834ee213dcffc35aba1df8d3f9f00a9bbfc1b45..6e689b558450a5b2b707cb355418fbe5f1115365 100644
index 31f22cee3713eeca03f165c3cc5089563089076a..21edf73383cdc7180f3b19d178af0be8f922a0d8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2041,7 +2041,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2031,7 +2031,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0e27a7b943a5e4d580fdbce4cd14d0528c808735..e46a62a01319e011a79889ee686dd13c6c4d309e 100644
index 7e10c68fba3c833d414ffc80426615eef85b2c47..a3b17621ae3400e52a3f3dd3f782992d5af5fdae 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2544,6 +2544,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2557,6 +2557,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
stack.setCount(0); // Paper - destroy this item - if this ever leaks due to game bugs, ensure it doesn't dupe
entityitem.setDefaultPickUpDelay();
@ -24,7 +24,7 @@ index 0e27a7b943a5e4d580fdbce4cd14d0528c808735..e46a62a01319e011a79889ee686dd13c
EntityDropItemEvent event = new EntityDropItemEvent(this.getBukkitEntity(), (org.bukkit.entity.Item) entityitem.getBukkitEntity());
Bukkit.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index 7c53dddb598de85abf1eb8b8ee183a6e8e6f9c74..3f100d847fbce6db5b625e99c4f3694576237372 100644
index 40ed36e2dca56d196ee3a78df762f35b41b2f5dc..e93abb02744b5cd8db88e01b6ccf145498903b11 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -593,7 +593,7 @@ public class Dolphin extends WaterAnimal {
@ -37,10 +37,10 @@ index 7c53dddb598de85abf1eb8b8ee183a6e8e6f9c74..3f100d847fbce6db5b625e99c4f36945
}
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index f4cfefd72704b3423392ffeb57e78c5d6410ff6f..e4edeeb04fd7183514e53e20dcef8aca56f02f7d 100644
index 73510697455d891af6858b9a8ad8ca0c9b74880f..3f9b8873afb22fcf4f741297e77b197899c088f5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -502,14 +502,14 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -503,14 +503,14 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
entityitem.setPickUpDelay(40);
entityitem.setThrower(this.getUUID());
this.playSound(SoundEvents.FOX_SPIT, 1.0F, 1.0F);
@ -58,7 +58,7 @@ index f4cfefd72704b3423392ffeb57e78c5d6410ff6f..e4edeeb04fd7183514e53e20dcef8aca
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index d562ad27bf690927e6a84e416ab74a460950f249..0b0377fa1483e4fcb31456af6c7e1749bd8af484 100644
index a0a34f5db4260d77325cfbba9c736726a8f5a5db..db533f458357683b8f3925d628ff1197144f67eb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -354,8 +354,7 @@ public class Goat extends Animal {

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Add some minimal debug information to chat packet errors
TODO: potentially add some kick leeway
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 6e689b558450a5b2b707cb355418fbe5f1115365..7160297203de40e5158fc34341ebec723ffcf750 100644
index 21edf73383cdc7180f3b19d178af0be8f922a0d8..d08b81e4fb082216a83334d65118825ad1d2e988 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2291,7 +2291,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2283,7 +2283,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
private Optional<LastSeenMessages> tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) {
if (!this.updateChatOrder(timestamp)) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Fix Bee flower NPE
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 5cb23a6b85bccb6e873be24a5be39224870dac3c..a3aeab5fa137f80a229db2edba07d9900f7becfe 100644
index 728ddf4399faafd68e9dcc3a14850a039d1a3e4f..a7ccbe4d32e9ea481447b6813efb8a56a529b6bd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -805,7 +805,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -800,7 +800,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
++this.pollinatingTicks;
if (this.pollinatingTicks > 600) {
Bee.this.savedFlowerPos = null;

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 7160297203de40e5158fc34341ebec723ffcf750..a603bc195462227a6737d2d3f9bc247c630c4012 100644
index d08b81e4fb082216a83334d65118825ad1d2e988..3c0378e8b0f1cb56331b9e89db8f530f3a0dcf64 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2536,7 +2536,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2530,7 +2530,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
// Spigot end
// this.chatSpamTickCount += 20;

View File

@ -7,10 +7,10 @@ Subject: [PATCH] More Teleport API
public net.minecraft.server.network.ServerGamePacketListenerImpl internalTeleport(DDDFFLjava/util/Set;Z)V
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a603bc195462227a6737d2d3f9bc247c630c4012..a5734228fbad1b9e704573ea220084a8c142e069 100644
index 3c0378e8b0f1cb56331b9e89db8f530f3a0dcf64..c81ae9fd083c255c0964c344b3c4ad1dc8ddba7b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1718,11 +1718,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1708,11 +1708,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
return false; // CraftBukkit - Return event status
}
@ -31,10 +31,10 @@ index a603bc195462227a6737d2d3f9bc247c630c4012..a5734228fbad1b9e704573ea220084a8
d0 = to.getX();
d1 = to.getY();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 32b9816283c8c1de929d5664733553277cf6bf3c..13dbac3b3aa7d67320203b64eaa130925ba0fbbf 100644
index 7df1eebce5b62214943e55314e9ec98f056fa330..2aee8aacd50431c18ff28af678348ec27ede6b6b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -550,15 +550,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -561,15 +561,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@Override
public boolean teleport(Location location, TeleportCause cause) {
@ -74,10 +74,10 @@ index 32b9816283c8c1de929d5664733553277cf6bf3c..13dbac3b3aa7d67320203b64eaa13092
// Let the server handle cross world teleports
if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 7034ca7b50c12b000abf33b14fbe216fe8b14a8c..977063eeaa1d8864a86f48f87d820d01d14e5bb6 100644
index 63f383fec691d7f6160ec3d8d675c8db0aad1bcd..b6efec1f72b038dfdbe8f3676006d2eed864dffb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1208,13 +1208,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1231,13 +1231,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRotation(float yaw, float pitch) {
@ -179,7 +179,7 @@ index 7034ca7b50c12b000abf33b14fbe216fe8b14a8c..977063eeaa1d8864a86f48f87d820d01
location.checkFinite();
ServerPlayer entity = this.getHandle();
@@ -1227,7 +1314,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1250,7 +1337,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return false;
}
@ -188,7 +188,7 @@ index 7034ca7b50c12b000abf33b14fbe216fe8b14a8c..977063eeaa1d8864a86f48f87d820d01
return false;
}
@@ -1245,7 +1332,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1268,7 +1355,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// If this player is riding another entity, we must dismount before teleporting.
@ -197,7 +197,7 @@ index 7034ca7b50c12b000abf33b14fbe216fe8b14a8c..977063eeaa1d8864a86f48f87d820d01
// SPIGOT-5509: Wakeup, similar to riding
if (this.isSleeping()) {
@@ -1261,13 +1348,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1284,13 +1371,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle();
// Close any foreign inventory

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityPortalReadyEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e46a62a01319e011a79889ee686dd13c6c4d309e..10d8e11ea1e851b19f038230a9b1fb5c3a024f25 100644
index a3b17621ae3400e52a3f3dd3f782992d5af5fdae..3a609fb4cd770d3945bd4ca7d7f0cca1a86d3d64 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2895,6 +2895,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2912,6 +2912,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
this.level.getProfiler().push("portal");
this.portalTime = i;
@ -22,7 +22,7 @@ index e46a62a01319e011a79889ee686dd13c6c4d309e..10d8e11ea1e851b19f038230a9b1fb5c
this.setPortalCooldown();
// CraftBukkit start
if (this instanceof ServerPlayer) {
@@ -2902,6 +2909,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2919,6 +2926,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} else {
this.changeDimension(worldserver1);
}

View File

@ -9,10 +9,10 @@ should be supported. Some entities (for whatever
reason) use the level's random in some places.
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index a3aeab5fa137f80a229db2edba07d9900f7becfe..337a88a7cd6445004d005ef8d56af1b1cdf800d9 100644
index a7ccbe4d32e9ea481447b6813efb8a56a529b6bd..c33e5c51839c8e6ec04c1b302127d2bf0f48664c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -1031,7 +1031,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1026,7 +1026,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
BeeGoToHiveGoal() {
super();
@ -21,7 +21,7 @@ index a3aeab5fa137f80a229db2edba07d9900f7becfe..337a88a7cd6445004d005ef8d56af1b1
this.blacklistedTargets = Lists.newArrayList();
this.setFlags(EnumSet.of(Goal.Flag.MOVE));
}
@@ -1148,7 +1148,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1143,7 +1143,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
BeeGoToKnownFlowerGoal() {
super();
@ -31,10 +31,10 @@ index a3aeab5fa137f80a229db2edba07d9900f7becfe..337a88a7cd6445004d005ef8d56af1b1
}
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index 62f2a070e4c80846a9d696445212c65289037928..d9da6728d60e97eb9032b0a5aa71757d11f36e22 100644
index 8a757e6682fb7a58bfd76290bd79ee3cc3dc27b9..2be70d950be48014c4e9792adfc1d05da5aa6a59 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -62,7 +62,12 @@ public class ItemEntity extends Entity {
@@ -63,7 +63,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
}
public ItemEntity(Level world, double x, double y, double z, ItemStack stack) {
@ -49,10 +49,10 @@ index 62f2a070e4c80846a9d696445212c65289037928..d9da6728d60e97eb9032b0a5aa71757d
public ItemEntity(Level world, double x, double y, double z, ItemStack stack, double velocityX, double velocityY, double velocityZ) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 4b81d62d3250b99cbcb4eb2468ef81c149bf177e..bedee2c93bd0aff148f93dcf111e0fc3d9bce4a0 100644
index 94e3ce40da0401a94a24a6c0f9e7ffa3d0ef850d..dfdf7e7fc1070975ec18fd215c724f4fc84d3705 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -32,7 +32,7 @@ public class PrimedTnt extends Entity {
@@ -33,7 +33,7 @@ public class PrimedTnt extends Entity implements TraceableEntity {
public PrimedTnt(Level world, double x, double y, double z, @Nullable LivingEntity igniter) {
this(EntityType.TNT, world);
this.setPos(x, y, z);

View File

@ -57,10 +57,10 @@ index 796d17f51496974cfdfed2593753b8c09b5c81c1..13031576c20bda3bb12c926f6cd938fa
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a5734228fbad1b9e704573ea220084a8c142e069..aef7e2ee25e9ad17ec85b701b516cc45a5b6f451 100644
index c81ae9fd083c255c0964c344b3c4ad1dc8ddba7b..ca8d14ec52ec53654be5afa9a2eb67e83b18ccba 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1863,8 +1863,28 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1853,8 +1853,28 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
return;
}
// Paper end - Don't allow digging in unloaded chunks

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Warn on plugins accessing faraway chunks
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 807b58b1a7a9a01faef7f42aba022ed467fa607e..2ecd29a24545418a2f6e2b2091d848313baabe91 100644
index 4ace5a32e8d17303a4b5d9e8935a803d7c0df409..174f5ff8f827dab2d85cee525429d46bbeae7183 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -416,7 +416,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -422,7 +422,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
private static boolean isInWorldBoundsHorizontal(BlockPos pos) {
@ -18,7 +18,7 @@ index 807b58b1a7a9a01faef7f42aba022ed467fa607e..2ecd29a24545418a2f6e2b2091d84831
private static boolean isOutsideSpawnableHeight(int y) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index e5bafab042767f483e09fa0d164f91e4a6f06160..c91bac6f3f1d60c950b93d157531cd8f7500e8d8 100644
index e5e38c225e7c83dfb8a8427ef6a38d644a492d09..e25f2922abb0c83789796aa6fcf8fe80e320ffc5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -312,9 +312,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 977063eeaa1d8864a86f48f87d820d01d14e5bb6..7d3fe4b49a7a83ea619c1ecb1ec923cda151219c 100644
index b6efec1f72b038dfdbe8f3676006d2eed864dffb..d008c33aadb658e0b71e11fb29e904af64479f60 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -665,6 +665,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -666,6 +666,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().getServer().getPlayerList().sendPlayerPermissionLevel(this.getHandle(), level, false);
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Collision API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
index 446657577aa843e6ebc5143b6c511f33d27b6360..d99f079e03d0541d7aa3c70d9e8c12b8619b2c22 100644
index 28c9ea1d061ef6a8b27ee43f0a2f7703d7cc3c0e..0087ced09e0337d88fc210acb6772b6375047bf4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
@@ -973,5 +973,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
@@ -998,5 +998,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
return this.getHandle().clip(new net.minecraft.world.level.ClipContext(vec3d, vec3d1, net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, null)).getType() == net.minecraft.world.phys.HitResult.Type.MISS;
}
@ -22,10 +22,10 @@ index 446657577aa843e6ebc5143b6c511f33d27b6360..d99f079e03d0541d7aa3c70d9e8c12b8
// 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 13dbac3b3aa7d67320203b64eaa130925ba0fbbf..0b4686c67276cea153bdd57f11c9b48a4dd1b4ec 100644
index 2aee8aacd50431c18ff28af678348ec27ede6b6b..b6fc36af0fccf1a4ab0262b36da79d5eb63e73e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1380,4 +1380,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1415,4 +1415,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed.
}
// Paper end

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Fix suggest command message for brigadier syntax exceptions
This is a bug accidentally introduced in upstream CB
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 401a87de8fc48b9e69423d547f79e9e356cc20f1..e92864ecf32dd984f6f87f7b05341e43af3a2977 100644
index 933d6e67cbcc1bf121005f57b13dd976020985c3..87cc7562e4a166d078fe11b7f6980497fc0bd33e 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -334,7 +334,7 @@ public class Commands {
@@ -340,7 +340,7 @@ public class Commands {
if (commandsyntaxexception.getInput() != null && commandsyntaxexception.getCursor() >= 0) {
int j = Math.min(commandsyntaxexception.getInput().length(), commandsyntaxexception.getCursor());
MutableComponent ichatmutablecomponent = Component.empty().withStyle(ChatFormatting.GRAY).withStyle((chatmodifier) -> {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Remove invalid signature login stacktrace
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index aef7e2ee25e9ad17ec85b701b516cc45a5b6f451..3e884720d242936225b558152763c68dc8370fd8 100644
index ca8d14ec52ec53654be5afa9a2eb67e83b18ccba..95246bdf8c736a870618263c4f8316b2d3d91ba2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3595,7 +3595,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3609,7 +3609,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator, Duration.ZERO));
} catch (ProfilePublicKey.ValidationException profilepublickey_b) {

View File

@ -5,13 +5,13 @@ Subject: [PATCH] Add async catcher to PlayerConnection internalTeleport
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 3e884720d242936225b558152763c68dc8370fd8..cc780cfc359bb1872cd78136497f94cc7e2a67c4 100644
index 95246bdf8c736a870618263c4f8316b2d3d91ba2..e5caa9cbd1444698409bb6c4e46ee4086a37ebf5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1746,6 +1746,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1736,6 +1736,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<ClientboundPlayerPositionPacket.RelativeArgument> set, boolean flag) {
public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<RelativeMovement> set) { // Paper
+ org.spigotmc.AsyncCatcher.catchOp("teleport"); // Paper
// Paper start
if (player.isRemoved()) {

View File

@ -31,10 +31,10 @@ index 0d30b388d8d93a6dbbf8dfb30d26eb44c73e1e4e..962c950ca9c7e047a3aec215d4faa736
// Paper end
}
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 7acf213194f61d04cffabaaee6c1372bfa2e1933..0a04366b3f472bc4ce20ed814dc326b278119c74 100644
index 6361f096eeb5da035a01fc3a2d79f48def33b38d..74a6e68047560d2aca1479c2d25692021f2f6dde 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -652,4 +652,10 @@ public class CraftBlockData implements BlockData {
@@ -657,4 +657,10 @@ public class CraftBlockData implements BlockData {
return this.state.isFaceSturdy(EmptyBlockGetter.INSTANCE, BlockPos.ZERO, CraftBlock.blockFaceToNotch(face), CraftBlockSupport.toNMS(support));
}

View File

@ -123,7 +123,7 @@ index 51b3db0b6c2cede95b584268e035c0fb36d38094..a7e133f3495e9132a5fdae2c24f225e7
DedicatedServer.LOGGER.warn("While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.");
}
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 0bedd9eadbfe1ce290f22d6c648571e25e3ae0e9..093822a5256e8e919350a000239a3e92a2379aaf 100644
index f45b616c4f418298c67903c141c52172b6dd51e0..6a30389c1d498843ca8cc01bfc50dc5656d7d2e4 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -61,6 +61,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@ -213,10 +213,10 @@ index 0bedd9eadbfe1ce290f22d6c648571e25e3ae0e9..093822a5256e8e919350a000239a3e92
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 52dec44a061b773c4467279c766f504d079dd1a4..bbb8335dae0a3e2761e6bbb8dc723bcf28cd82ba 100644
index 72f4b2adb2601e9869fe972cff5da4d6934f5325..fe0a23ca59cbb4027fdeded10cf148d429306d3a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -779,7 +779,7 @@ public final class CraftServer implements Server {
@@ -774,7 +774,7 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
// Spigot Start - Automatically set connection throttle for bungee configurations

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Use thread safe random in ServerLoginPacketListenerImpl
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 093822a5256e8e919350a000239a3e92a2379aaf..a25306fe8a35bb70a490e6a0c01d0340bbc0d781 100644
index 6a30389c1d498843ca8cc01bfc50dc5656d7d2e4..d087696b2712683eb8e7875ee43d815efa5aee60 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -49,7 +49,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Add NamespacedKey biome methods
Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com>
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index b25b645df6be2ace22c280473f5f1a2c911ee239..81ffcca62c2ebb15889d286bfe9138b86ccfe71e 100644
index 7e9b2497f4b8b0f5e55acd6c83593fb42bb4a52d..64c50c52c11214740de7903e5592b8b6b2c170b3 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -603,6 +603,19 @@ public final class CraftMagicNumbers implements UnsafeValues {

View File

@ -37,10 +37,10 @@ index 0000000000000000000000000000000000000000..c1d3bac79bb8b4796c013ff4472f75dc
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1b56bb2869d3cf22670b508133968e66493a5bec..753a917d34a1e1c1521a8916bc8e44a6acd90a46 100644
index 9f6ae28c7d10d67d73745c535c976954bcf61c11..674e76968e05c487e5271f76b45ba2d13b1412a0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -998,6 +998,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1000,6 +1000,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
net.minecrell.terminalconsole.TerminalConsoleAppender.close(); // Paper - Use TerminalConsoleAppender
} catch (Exception e) {
}
@ -49,10 +49,10 @@ index 1b56bb2869d3cf22670b508133968e66493a5bec..753a917d34a1e1c1521a8916bc8e44a6
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 0aef4fc4a89e627bc80504d7402f1ca2cdc95a74..f30621be24c6c3a4f173436fce1ad1c13507c84f 100644
index e7b088a6ffed52d2dc9d6528d827997d68fcc84c..d51650d3e37eb76a0cf991e95d28a552aa567af9 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -20,6 +20,12 @@ public class Main {
@@ -18,6 +18,12 @@ public class Main {
public static boolean useJline = true;
public static boolean useConsole = true;

View File

@ -16,11 +16,11 @@ Co-authored-by: =?UTF-8?q?Dani=C3=ABl=20Goossens?= <daniel@goossens.ch>
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 7f68b05b4d0789c308b5f90a5d626a633c80191f..2212f9f48636357265d8e44aba415ea4f09f1fe7 100644
index 95c50a36dc1e03ae8ab8ca89a96d1ea56da8d94c..fbe209a66c77c47935ad026dd3e45e682af91fd8 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1363,6 +1363,46 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1376,6 +1376,46 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
});
}
+ // Paper start - Fix MC-162253
@ -66,7 +66,7 @@ index 7f68b05b4d0789c308b5f90a5d626a633c80191f..2212f9f48636357265d8e44aba415ea4
// Paper start - Anti-Xray - Bypass
private void playerLoadedChunk(ServerPlayer player, MutableObject<java.util.Map<Object, ClientboundLevelChunkWithLightPacket>> cachedDataPackets, LevelChunk chunk) {
if (cachedDataPackets.getValue() == null) {
@@ -1371,6 +1411,45 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1384,6 +1424,45 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
Boolean shouldModify = chunk.getLevel().chunkPacketBlockController.shouldModify(player, chunk);
player.trackChunk(chunk.getPos(), (Packet) cachedDataPackets.getValue().computeIfAbsent(shouldModify, (s) -> {

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Stop large look changes from crashing the server
Co-authored-by: Jaren Knodel <Jaren@Knodel.com>
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 98dac3d0288902265beb07ff17c5ae1bebeb2cfc..c9b072a6324e5facdb85db1caaa7e763191f7104 100644
index 4e27d0e537a0d813ab81d3bc6524ad038047a0a1..590a14cd045baa892119505df1063b18c6f1fd71 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3028,37 +3028,15 @@ public abstract class LivingEntity extends Entity {
@@ -2996,37 +2996,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level.getProfiler().pop();
this.level.getProfiler().push("rangeChecks");
@ -54,10 +54,10 @@ index 98dac3d0288902265beb07ff17c5ae1bebeb2cfc..c9b072a6324e5facdb85db1caaa7e763
this.level.getProfiler().pop();
this.animStep += f2;
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index b226800c15f5adbc40c89b36536db23f08e2857d..893975e8587b9036f622e2088c302e33004496d2 100644
index ae0e422ee7e1dcf01b4c7b64b23afdbbbe19819e..8b2a3a8482018b7db7de81bc295862f783e17ce5 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -246,13 +246,7 @@ public abstract class Projectile extends Entity {
@@ -250,13 +250,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
}
protected static float lerpRotation(float prevRot, float newRot) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add custom destroyerIdentity to sendBlockDamage
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 7d3fe4b49a7a83ea619c1ecb1ec923cda151219c..fb2c4547896fc39a78bc28261a5a6c3764527f6a 100644
index d008c33aadb658e0b71e11fb29e904af64479f60..01978d9c56ec46669d22d363af36c1c596c318ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1028,13 +1028,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1029,13 +1029,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendBlockDamage(Location loc, float progress) {

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Fire EntityChangeBlockEvent in more places
Co-authored-by: ChristopheG <61288881+chrisgdt@users.noreply.github.com>
diff --git a/src/main/java/net/minecraft/world/entity/LightningBolt.java b/src/main/java/net/minecraft/world/entity/LightningBolt.java
index fa37b34cbd49b97ff0dc270b9d8a58ce2c9eddb3..0142aff35dea5bf5aff55e3293fb2d173c97e677 100644
index 534ff7d4844448eaddb2778f81dfd66d1ee375db..558c14af6415681909f9e3a15f303ce4d0ec1395 100644
--- a/src/main/java/net/minecraft/world/entity/LightningBolt.java
+++ b/src/main/java/net/minecraft/world/entity/LightningBolt.java
@@ -98,7 +98,7 @@ public class LightningBolt extends Entity {
@ -79,7 +79,7 @@ index fa37b34cbd49b97ff0dc270b9d8a58ce2c9eddb3..0142aff35dea5bf5aff55e3293fb2d17
});
world.levelEvent(3002, blockposition1, -1);
diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java
index 0bff617f422e7bfececcdc6837ad91db20177388..1c096338a90d740a3813274278056017fa1ec844 100644
index 2f8ae1786a4c4438515c59fa56acaefdff60703d..9c7d0b9cc2fa98d5785c914c0183f7d4b5b1c1ea 100644
--- a/src/main/java/net/minecraft/world/item/AxeItem.java
+++ b/src/main/java/net/minecraft/world/item/AxeItem.java
@@ -54,6 +54,11 @@ public class AxeItem extends DiggerItem {
@ -130,7 +130,7 @@ index 68a8d3b16d49c10fc9834f32009095d35c9c55a8..f0b720eafc538f97d788f89bd2f2e9da
CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack);
}
diff --git a/src/main/java/net/minecraft/world/item/PotionItem.java b/src/main/java/net/minecraft/world/item/PotionItem.java
index 0b344e20ad4093b135c58905fb82ffff05898bb2..900022ef88d2ae4290fe99e868a9b20f95482d99 100644
index 93bb2cbd397fef4db9d903d2b41a35b6d67bf4a9..3a6601ede6fd7caa48cdbf9856c2e72fd4e73ca8 100644
--- a/src/main/java/net/minecraft/world/item/PotionItem.java
+++ b/src/main/java/net/minecraft/world/item/PotionItem.java
@@ -107,6 +107,12 @@ public class PotionItem extends Item {
@ -182,21 +182,21 @@ index 32995cb5efdad0bc34ecacacb78cccd21220ba8d..c7195f2e12bbd6545f7bffcc2b4ba5cc
level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, blockState3));
if (player != null) {
diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
index f5c53696a7a5b9dcc09c54a1a68267fd2fb37fa3..564822911c25238900b361d564c5db3103900fb3 100644
index 53f4a000079f4c056500d03eca71991ae14483a9..e81bda56c58df6c3109382c17e86f4cc0f16cf81 100644
--- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
@@ -221,7 +221,14 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
@@ -229,7 +229,14 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(itemstack.getItem())) {
if (i < 7 && !world.isClientSide) {
- BlockState iblockdata1 = ComposterBlock.addItem(state, world, pos, itemstack);
- BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack);
+ // Paper start - EntityChangeBlockEvent
+ double rand = world.getRandom().nextDouble();
+ BlockState dummyBlockState = ComposterBlock.addItem(state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
+ BlockState dummyBlockState = ComposterBlock.addItem(player, state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
+ if (state != dummyBlockState && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, pos, dummyBlockState).isCancelled()) { // if block state will change and event cancelled
+ return InteractionResult.sidedSuccess(world.isClientSide);
+ }
+ BlockState iblockdata1 = ComposterBlock.addItem(state, world, pos, itemstack, rand);
+ BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack, rand);
+ // Paper end
world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Missing eating regain reason
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index a0dd4a58937a4e49e430d8c1470fe84b709e8044..0114c1cf3b6b0500149a77ebc190cb7fa2832184 100644
index 51ca7668ebc0edf4254b7511bb0df0c2197bf859..72b30a5cdeb8a43702d9ab5f198311929761fad1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -389,7 +389,7 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -386,7 +386,7 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
if (!(item instanceof DyeItem)) {
if (item.isEdible() && this.isFood(itemstack) && this.getHealth() < this.getMaxHealth()) {
this.usePlayerItem(player, hand, itemstack);
@ -18,10 +18,10 @@ index a0dd4a58937a4e49e430d8c1470fe84b709e8044..0114c1cf3b6b0500149a77ebc190cb7f
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 136da73e372b59f37665743c70833e815cd0070b..d9104d996c854cce1ff167706c93747cd69c3969 100644
index 9d4a3041ecae2adda40134710eb1edb8571228aa..37882a393d7c17a9437145ab5fe1f74370681146 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -361,7 +361,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
@@ -381,7 +381,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
} else {
boolean bl = this.getHealth() < this.getMaxHealth();
if (bl) {

View File

@ -5,11 +5,11 @@ Subject: [PATCH] Missing effect cause
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 40869fa047ba86d59ca25f691ddea8c55ed0c6dc..0d7f951e3837de7553d93f3d4525276048feb405 100644
index a847375087d92fa5cc4b1feed7c8f9991976e6f0..a4e98b02175da96472474b8d7ad5975ce4d2fc43 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -428,7 +428,7 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, i, 0), this, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.AXOLOTL); // CraftBukkit
@@ -429,7 +429,7 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, j, 0), this, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.AXOLOTL); // CraftBukkit
}
- player.removeEffect(MobEffects.DIG_SLOWDOWN);

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index f7d20efecfee6aaae2e323d543739308c4bb371c..65f8d9b6a4ecffdf50b88c6924402bdf0668a8f2 100644
index 1a2ea36994175c690c62aa8bc70201d8845c9209..02d181c0c4b5e105a3db238342d45c2e3e7b3dec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -499,8 +499,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@ -7,10 +7,10 @@ This causes a moment where the player entity is sent with the previous location,
teleport packet which is sent shortly after is meant to correct that.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c7b030ee8973e9e7fdc3ed584229d049d5afe134..32ea4c421ef65a4abce168860ccd24c18a416f0a 100644
index c380c596dcba3f8f93d472df74fd614bbdbfce5e..e484d1ee7519d74b9f60f339f67974b93ce10ab5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1161,6 +1161,7 @@ public class ServerPlayer extends Player {
@@ -1173,6 +1173,7 @@ public class ServerPlayer extends Player {
// CraftBukkit end
this.setLevel(worldserver);

View File

@ -5,7 +5,7 @@ Subject: [PATCH] use BlockFormEvent for mud converting into clay
diff --git a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
index 01da5a5684692b3ed2e06834d6f926706925f643..1d7149fb6baeaf045c3680b6dec293f074614612 100644
index 16444949ae03332de75dd1e3c0746cf8d54eca6e..6b909d41ccdf6c1ac3ac0c4e673ff52f0d14a238 100644
--- a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
@@ -213,10 +213,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate

View File

@ -48,10 +48,10 @@ Co-authored-by: William Blake Galbreath <blake.galbreath@gmail.com>
Co-authored-by: MelnCat <melncatuwu@gmail.com>
diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
index c0c31a5d356d0754b478d84f0cef87fc84c4fea1..3c2ed8e7cf54ab5e32df713010b948d568aab9b0 100644
index 1023f91b6a23fc974ba709ec09834d9faae8003a..6fedf7381762ae3d76c4801ed6d5c0844c6c857b 100644
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
@@ -347,7 +347,7 @@ public interface DispenseItemBehavior {
@@ -351,7 +351,7 @@ public interface DispenseItemBehavior {
}
}
// CraftBukkit end
@ -86,35 +86,6 @@ index 43e77cef0fce75f59aeb05e161668bebb8fca229..ef50fbf8cb3f008827850b5ed3342200
}
}
diff --git a/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java b/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java
index 11829c65f459c94db31319352d4650278353f0c0..b53e04854f960682fae94bb2ef5a12e4274fcebf 100644
--- a/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java
@@ -48,7 +48,7 @@ public class EntityDamageSource extends DamageSource {
@Override
public boolean scalesWithDifficulty() {
- return this.entity instanceof LivingEntity && !(this.entity instanceof Player);
+ return super.scalesWithDifficulty() || this.entity instanceof LivingEntity && !(this.entity instanceof Player); // Paper - fix MC-258535 - respect the scalesWithDifficulty override
}
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index c9b072a6324e5facdb85db1caaa7e763191f7104..ae7ce73074e12584036288b98e38eec0b55d5982 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2207,8 +2207,10 @@ public abstract class LivingEntity extends Entity {
// CraftBukkit end
float f3 = this.getHealth();
- this.setHealth(f3 - f);
+ // Paper start - MC-121048
this.getCombatTracker().recordDamage(damagesource, f3, f);
+ this.setHealth(f3 - f);
+ // Paper end
// CraftBukkit start
if (!human) {
this.setAbsorptionAmount(this.getAbsorptionAmount() - f);
diff --git a/src/main/java/net/minecraft/world/entity/Saddleable.java b/src/main/java/net/minecraft/world/entity/Saddleable.java
index effe4c4fb37fe13aece70cdef4966047d4719af9..7152674d3f3fb98198585cb5ece2bb88877345f9 100644
--- a/src/main/java/net/minecraft/world/entity/Saddleable.java
@ -150,7 +121,7 @@ index 19540fd4a7f992888fadb6501d0c8a5a7e71fcf6..e241ae250f4f04a17ef2c583d00b065a
public void start() {
this.creeper.getNavigation().stop();
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 0b0377fa1483e4fcb31456af6c7e1749bd8af484..e9f7c08ae3ea9c578971b1ede88788572c20e277 100644
index db533f458357683b8f3925d628ff1197144f67eb..cfa904d42734d0fb0c1ed8b18f4d8bc131027962 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -236,9 +236,10 @@ public class Goat extends Animal {
@ -166,10 +137,10 @@ index 0b0377fa1483e4fcb31456af6c7e1749bd8af484..e9f7c08ae3ea9c578971b1ede8878857
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index 821b88d0c32f946af9af1c2e211b38446fab4ecb..72d660cd2ade39335024897cffb8b8a151a7cb71 100644
index d38ac1f3ef105474df1294541041c2607ca53244..f9496f757bcf7000fab1f16386e775d54d96e47a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -221,7 +221,13 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -247,7 +247,13 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override
public void equipSaddle(@Nullable SoundSource sound) {
@ -184,7 +155,7 @@ index 821b88d0c32f946af9af1c2e211b38446fab4ecb..72d660cd2ade39335024897cffb8b8a1
if (sound != null) {
this.level.playSound((Player) null, (Entity) this, this.getSaddleSoundEvent(), sound, 0.5F, 1.0F);
}
@@ -230,7 +236,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -256,7 +262,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
public void equipArmor(Player player, ItemStack stack) {
if (this.isArmor(stack)) {
@ -193,26 +164,6 @@ index 821b88d0c32f946af9af1c2e211b38446fab4ecb..72d660cd2ade39335024897cffb8b8a1
if (!player.getAbilities().instabuild) {
stack.shrink(1);
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 805e267090285d625dbeb75b06f8c5ad141a75a4..338161d2eb15d9264027961b71678b8d2f020fd8 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -247,9 +247,15 @@ public class Creeper extends Monster implements PowerableMob {
this.level.playSound(player, this.getX(), this.getY(), this.getZ(), soundeffect, this.getSoundSource(), 1.0F, this.random.nextFloat() * 0.4F + 0.8F);
if (!this.level.isClientSide) {
this.ignite();
+ if (itemstack.isDamageableItem()) { // Paper - only call hurtAndBreak for a damageable item - MC-257875
itemstack.hurtAndBreak(1, player, (entityhuman1) -> {
entityhuman1.broadcastBreakEvent(hand);
});
+ // Paper start - just consume the item - MC-257875
+ } else if (!player.getAbilities().instabuild) {
+ itemstack.shrink(1);
+ }
+ // Paper end
}
return InteractionResult.sidedSuccess(this.level.isClientSide);
diff --git a/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java b/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java
index f174094febfdfdc309f1b50877be60bae8a98156..5f407535298a31a34cfe114dd863fd6a9b977707 100644
--- a/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java
@ -228,7 +179,7 @@ index f174094febfdfdc309f1b50877be60bae8a98156..5f407535298a31a34cfe114dd863fd6a
return 1;
}
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raids.java b/src/main/java/net/minecraft/world/entity/raid/Raids.java
index fa8fcdfea51a35e4a482d3d7b18159099da62706..feb89eb69994bdd1d2f95d2b9992e69251b2bee7 100644
index 7985beb01059a9e4394920bcf3335d842bd20f4e..fabce3bc592b1b172b227395a07febdbb66ec3c9 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raids.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raids.java
@@ -125,7 +125,7 @@ public class Raids extends SavedData {
@ -276,10 +227,10 @@ index 2932419b7ca3f066b1db329829af36ba31e17c65..e11eced0bf15dfecaf64f5e1c28e973c
return;
}
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index 1e2af7d3a6d2ad0a298d2f6ac2d8110354282988..cac2768fe520b591990c7bc943ae7e95f49efb31 100644
index 5e70b5f643faabfc05989de9592d8c5c787102e3..2a786c9fd29dc2139cf487fa645cd43345d60167 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -663,13 +663,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
@@ -664,13 +664,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
@Override
public void fillStackedContents(StackedContents finder) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Remove unnecessary onTrackingStart during navigation warning
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e9457d8a29d1f54af8415ad006b75d567e524a46..fe960b254c2c6e4f7122392ce6b5c599b6de3961 100644
index 0e02012f90efd729a9e4122f23a3d724ab7ebfbf..e265a11ef8cbb7b4da6dac01eb7f1aa45e0d6869 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2534,7 +2534,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2533,7 +2533,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (entity instanceof Mob) {
Mob entityinsentient = (Mob) entity;
@ -17,7 +17,7 @@ index e9457d8a29d1f54af8415ad006b75d567e524a46..fe960b254c2c6e4f7122392ce6b5c599
String s = "onTrackingStart called during navigation iteration";
Util.logAndPauseIfInIde("onTrackingStart called during navigation iteration", new IllegalStateException("onTrackingStart called during navigation iteration"));
@@ -2619,7 +2619,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2618,7 +2618,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (entity instanceof Mob) {
Mob entityinsentient = (Mob) entity;

View File

@ -49,7 +49,7 @@ index d552deba0a4f20d011defb464d31d8638d37c646..2e107f10d497a5696c7bc90ae3c5ecea
if (PiglinAi.isLovedItem(itemstack, piglin)) { // CraftBukkit - Changes to allow for custom payment in bartering
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
index 5f68945264d138ae04d6bcbd5bde310b42e30713..e5ccbaf72f29731f1d1aa939b9297b644a408cd4 100644
index da37c51ee443c2f1191a32671912a967a13003cf..99e9d46d42ddd0b451c6aeb847f1b295ebe5c697 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -245,6 +245,11 @@ public abstract class Raider extends PatrollingMonster {

View File

@ -30,10 +30,10 @@ index 13031576c20bda3bb12c926f6cd938fa5fb105f2..58b093bb1de78ee3b3b2ea364aa50474
this.interactResult = event.useItemInHand() == Event.Result.DENY;
this.interactPosition = blockposition.immutable();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 4143f72b8df92bee25399f90a759c8a8fb567cba..6a52ae70b5f7fd9953b6b2605cae722f606e7fec 100644
index 31b955a5424bb9d00c763764f50c9f7605d5317c..109e6afb8fcce0fb539ef93c6c872daa010dc3ff 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -499,6 +499,12 @@ public class CraftEventFactory {
@@ -498,6 +498,12 @@ public class CraftEventFactory {
}
public static PlayerInteractEvent callPlayerInteractEvent(net.minecraft.world.entity.player.Player who, Action action, BlockPos position, Direction direction, ItemStack itemstack, boolean cancelledBlock, InteractionHand hand, Vec3 hitVec) {
@ -46,7 +46,7 @@ index 4143f72b8df92bee25399f90a759c8a8fb567cba..6a52ae70b5f7fd9953b6b2605cae722f
// Paper end
Player player = (who == null) ? null : (Player) who.getBukkitEntity();
CraftItemStack itemInHand = CraftItemStack.asCraftMirror(itemstack);
@@ -532,6 +538,11 @@ public class CraftEventFactory {
@@ -531,6 +537,11 @@ public class CraftEventFactory {
if (cancelledBlock) {
event.setUseInteractedBlock(Event.Result.DENY);
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerInventorySlotChangeEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 32ea4c421ef65a4abce168860ccd24c18a416f0a..7baf5c0852b5e2edea6459eb2c8de1ebc1ede822 100644
index e484d1ee7519d74b9f60f339f67974b93ce10ab5..b18d8e23e98a01d095a27227516d9ff44fd1d14c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -321,6 +321,25 @@ public class ServerPlayer extends Player {
@@ -327,6 +327,25 @@ public class ServerPlayer extends Player {
}
}
@ -35,7 +35,7 @@ index 32ea4c421ef65a4abce168860ccd24c18a416f0a..7baf5c0852b5e2edea6459eb2c8de1eb
@Override
public void dataChanged(AbstractContainerMenu handler, int property, int value) {}
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
index f7bce1cdad50aec0f8df9d996de7dbec38baec69..fcedd5afe138a97063d2fdd50edb1da16dcff9fd 100644
index ec1da07fdfc86c2905766886f6f922320c73fb6a..0954e834ca4c777de61f5d45812008cc7c2ac733 100644
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
@@ -302,7 +302,7 @@ public abstract class AbstractContainerMenu {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index fb2c4547896fc39a78bc28261a5a6c3764527f6a..8d03824629d7a407f6b94c7ee306cce5ffcea1d3 100644
index 01978d9c56ec46669d22d363af36c1c596c318ba..d25aa840e1f1ac4877819ba679c1b0dcf71cc6ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3046,6 +3046,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3113,6 +3113,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add entity knockback API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 65f8d9b6a4ecffdf50b88c6924402bdf0668a8f2..2785c42b9b0a9e22ad544f8a4eb6cb77eaad0db6 100644
index 02d181c0c4b5e105a3db238342d45c2e3e7b3dec..97a0d3c9883704b40585b5738bd3498b1a95f36c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -994,5 +994,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@ -27,10 +27,10 @@ index 6bd0afddbcc461149dfe9a5c7a86fff6ea13a5f1..148d233f4f5278ff39eacdaa0f4f0e7d
+ }
}
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index e24b23461c592fae07697d3b2a1929cbc79423df..781b72fd88149642c9fceaecfbfe7546273fb749 100644
index 1619da8a904785e0cc00ddbcfba1c3fa2b8d9b93..c6fa6bcd66d61359124a8426b919493c6ec43f06 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -159,6 +159,18 @@ public class Main {
@@ -170,6 +170,18 @@ public class Main {
return;
}

View File

@ -5,7 +5,7 @@ Subject: [PATCH] fixed entity vehicle collision event not called
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
index fc95865a52e0bffaf55ca9f19e7e6005dcd2ae2e..eec7d7a5b558830111831792c42665724613af23 100644
index 46c893fd33fdaf76d49af407112ff349e9579a12..9a80cf593bbdd7681bc9395daf4545a98e07636f 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -142,7 +142,15 @@ public abstract class AbstractMinecart extends Entity {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Added EntityToggleSitEvent
diff --git a/src/main/java/net/minecraft/world/entity/TamableAnimal.java b/src/main/java/net/minecraft/world/entity/TamableAnimal.java
index acc25fb309568864dd7b53ad6a7a3ee6ff18e82a..49f52baa02db18af6d8626754423ff157eb9c09c 100644
index dcb4a886a1ade6dfabd9e5fc20d9db433438b959..0fc4a3e196ecdf16250d8b62136b2a4fe1ab6f84 100644
--- a/src/main/java/net/minecraft/world/entity/TamableAnimal.java
+++ b/src/main/java/net/minecraft/world/entity/TamableAnimal.java
@@ -67,7 +67,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity {
@ -31,10 +31,10 @@ index acc25fb309568864dd7b53ad6a7a3ee6ff18e82a..49f52baa02db18af6d8626754423ff15
if (inSittingPose) {
this.entityData.set(DATA_FLAGS_ID, (byte)(b | 1));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index e4edeeb04fd7183514e53e20dcef8aca56f02f7d..bc2b98c9f34ad2b289f5da91d704bd836edec8c1 100644
index 3f9b8873afb22fcf4f741297e77b197899c088f5..89894bc6a55bc7e456a9d49ac48f6a8192b890ae 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -426,7 +426,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -427,7 +427,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.setSleeping(nbt.getBoolean("Sleeping"));
this.setVariant(Fox.Type.byName(nbt.getString("Type")));
@ -43,7 +43,7 @@ index e4edeeb04fd7183514e53e20dcef8aca56f02f7d..bc2b98c9f34ad2b289f5da91d704bd83
this.setIsCrouching(nbt.getBoolean("Crouching"));
if (this.level instanceof ServerLevel) {
this.setTargetGoals();
@@ -439,6 +439,12 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -440,6 +440,12 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
}
public void setSitting(boolean sitting) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add fire-tick-delay option
diff --git a/src/main/java/net/minecraft/world/level/block/FireBlock.java b/src/main/java/net/minecraft/world/level/block/FireBlock.java
index cfddfcad9b09970b28dccd2dcd80be2c2dbed0e7..3d3f6b85c8463963d1ba557fab1de7a32cfd1a2f 100644
index 6ed2c13c8d22a936ae130cf8cf103451033a2cb7..2713fe3e118640dba73bdf4048ec707a43278991 100644
--- a/src/main/java/net/minecraft/world/level/block/FireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java
@@ -164,7 +164,7 @@ public class FireBlock extends BaseFireBlock {
@@ -165,7 +165,7 @@ public class FireBlock extends BaseFireBlock {
@Override
public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
@ -17,7 +17,7 @@ index cfddfcad9b09970b28dccd2dcd80be2c2dbed0e7..3d3f6b85c8463963d1ba557fab1de7a3
if (world.getGameRules().getBoolean(GameRules.RULE_DOFIRETICK)) {
if (!state.canSurvive(world, pos)) {
fireExtinguished(world, pos); // CraftBukkit - invalid place location
@@ -361,11 +361,13 @@ public class FireBlock extends BaseFireBlock {
@@ -362,11 +362,13 @@ public class FireBlock extends BaseFireBlock {
public void onPlace(BlockState iblockdata, Level world, BlockPos blockposition, BlockState iblockdata1, boolean flag, UseOnContext itemActionContext) {
super.onPlace(iblockdata, world, blockposition, iblockdata1, flag, itemActionContext);
// Paper end

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Ignore impossible spawn tick
diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java
index 0e7c2e7640ff2a2cdc3088dcb56314026bfaf95f..af799b61cec48ca290ed66cb47cfc0b244ac41a7 100644
index 9bf1a37ea8436f3314b28914ae8b1516378eb465..31ac0e5ca26c7bdfa9b710d0bb78d846ddf6863e 100644
--- a/src/main/java/net/minecraft/world/level/BaseSpawner.java
+++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java
@@ -80,6 +80,7 @@ public abstract class BaseSpawner {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Track projectile source for fireworks from dispensers
diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
index 3c2ed8e7cf54ab5e32df713010b948d568aab9b0..7ebe73921d197da4f992ddb92cbd4ac7211bd6cf 100644
index 6fedf7381762ae3d76c4801ed6d5c0844c6c857b..6b5602a6b112c579cd39fffd167f316ea96511f5 100644
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
@@ -512,6 +512,7 @@ public interface DispenseItemBehavior {
@@ -516,6 +516,7 @@ public interface DispenseItemBehavior {
itemstack1 = CraftItemStack.asNMSCopy(event.getItem());
FireworkRocketEntity entityfireworks = new FireworkRocketEntity(pointer.getLevel(), itemstack1, pointer.x(), pointer.y(), pointer.x(), true); // Paper - GH-2871 - fix last firework in stack having no effects when dispensed

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 10d8e11ea1e851b19f038230a9b1fb5c3a024f25..7443fb7fae30f22b2eaa2727c383c56891904068 100644
index 3a609fb4cd770d3945bd4ca7d7f0cca1a86d3d64..9796c6fc7c114e3e2af0dc433a87cda910683e06 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3164,6 +3164,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -3183,6 +3183,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
pluginManager.callEvent(entityCombustEvent);
if (!entityCombustEvent.isCancelled()) {
this.setSecondsOnFire(entityCombustEvent.getDuration(), false);
@ -21,10 +21,10 @@ index 10d8e11ea1e851b19f038230a9b1fb5c3a024f25..7443fb7fae30f22b2eaa2727c383c568
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
index a76c452dc5c2069a3071aec31bfb3e977867161e..2ca656b1323f38eac419563a8306a9d86eaca29f 100644
index f89234dbfd03ba5192423bb75d58f8951f289761..c8f935efdfd48d4440828a7b2f0e25449fe90688 100644
--- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
@@ -131,6 +131,10 @@ public abstract class BaseFireBlock extends Block {
@@ -130,6 +130,10 @@ public abstract class BaseFireBlock extends Block {
if (!event.isCancelled()) {
entity.setSecondsOnFire(event.getDuration(), false);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add PrePlayerAttackEntityEvent
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 69900f89e7c5f8c6e33025059d7248c7e9371fe9..875a7d2b2ecd75a51af7d158b7acee358b5082fe 100644
index c01cefe0d57f151b48022f3c6965f5558f796852..11c6fc510ae03005060782a675ed1cd370a07596 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1233,8 +1233,17 @@ public abstract class Player extends LivingEntity {
@@ -1232,8 +1232,17 @@ public abstract class Player extends LivingEntity {
}
public void attack(Entity target) {

View File

@ -6,10 +6,10 @@ Subject: [PATCH] fix MC-252817 (green map markers do not disappear).
this bug is caused by the fact that the itemframe's item is set to empty before the green marker is requested to be removed. this is fixed by getting the mapid from this method's parameter, rather than the air block now stored by the item frame.
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
index db60d29b051bad8d115b333e6c72287860a73123..428523feaa4f30260e32ba03937e88200246c693 100644
index bfe94f6607e35db4df75d6061a88bce2a80b86c8..30aec9dff249ae629b22318e52902361a9fa4099 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -284,7 +284,9 @@ public class ItemFrame extends HangingEntity {
@@ -288,7 +288,9 @@ public class ItemFrame extends HangingEntity {
}
private void removeFramedMap(ItemStack itemstack) {
@ -20,7 +20,7 @@ index db60d29b051bad8d115b333e6c72287860a73123..428523feaa4f30260e32ba03937e8820
MapItemSavedData worldmap = MapItem.getSavedData(i, this.level);
if (worldmap != null) {
@@ -302,7 +304,12 @@ public class ItemFrame extends HangingEntity {
@@ -306,7 +308,12 @@ public class ItemFrame extends HangingEntity {
public OptionalInt getFramedMapId() {
ItemStack itemstack = this.getItem();

View File

@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8d03824629d7a407f6b94c7ee306cce5ffcea1d3..bd202861639727012506415e4b90f6de808081db 100644
index d25aa840e1f1ac4877819ba679c1b0dcf71cc6ee..7944f6a130da8f370f8018fad495694c61a94338 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3051,6 +3051,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3118,6 +3118,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void showElderGuardian(boolean silent) {
if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F));
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] More vanilla friendly methods to update trades
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 105f8fcbbc5c7c384b77ca8eb768f1147d6ce4b2..18eac340386a396c9850f53f30d20a41c1437788 100644
index 235e41ddd77e126648df81d9d187a1bd178e19fe..6023b9eb3001e1a98ab8b970d853c4e7c7603f4d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -923,6 +923,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -935,6 +935,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override
protected void updateTrades() {
@ -21,7 +21,7 @@ index 105f8fcbbc5c7c384b77ca8eb768f1147d6ce4b2..18eac340386a396c9850f53f30d20a41
VillagerData villagerdata = this.getVillagerData();
Int2ObjectMap<VillagerTrades.ItemListing[]> int2objectmap = (Int2ObjectMap) VillagerTrades.TRADES.get(villagerdata.getProfession());
@@ -932,9 +938,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -944,9 +950,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
if (avillagertrades_imerchantrecipeoption != null) {
MerchantOffers merchantrecipelist = this.getOffers();

View File

@ -5,10 +5,10 @@ Subject: [PATCH] check global player list where appropriate
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fe960b254c2c6e4f7122392ce6b5c599b6de3961..e84c67f02bce4c2f9c4eeca1b888d53377fb20d7 100644
index e265a11ef8cbb7b4da6dac01eb7f1aa45e0d6869..5a5ff40df37db9cbd53c584ed26a3ce4888b29c0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2656,4 +2656,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2655,4 +2655,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.updateDynamicGameEventListener(DynamicGameEventListener::move);
}
}
@ -21,19 +21,6 @@ index fe960b254c2c6e4f7122392ce6b5c599b6de3961..e84c67f02bce4c2f9c4eeca1b888d533
+ }
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ae7ce73074e12584036288b98e38eec0b55d5982..b45b17b3c04dd655ad42f5b49c423eab04adce48 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3609,7 +3609,7 @@ public abstract class LivingEntity extends Entity {
}
public void onItemPickup(ItemEntity item) {
- net.minecraft.world.entity.player.Player entityhuman = item.getThrower() != null ? this.level.getPlayerByUUID(item.getThrower()) : null;
+ net.minecraft.world.entity.player.Player entityhuman = item.getThrower() != null ? this.level.getGlobalPlayerByUUID(item.getThrower()) : null; // Paper - check all players
if (entityhuman instanceof ServerPlayer) {
CriteriaTriggers.THROWN_ITEM_PICKED_UP_BY_ENTITY.trigger((ServerPlayer) entityhuman, item.getItem(), this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
index 6216513805add7c8f52e1ed6c77e2d26786b3ab5..3c4d142e982c34a23bdb5da1f51c8dcacc0532c1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
@ -47,19 +34,6 @@ index 6216513805add7c8f52e1ed6c77e2d26786b3ab5..3c4d142e982c34a23bdb5da1f51c8dca
return entityhuman instanceof ServerPlayer ? (ServerPlayer) entityhuman : null;
}
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index d9da6728d60e97eb9032b0a5aa71757d11f36e22..b0976c20c0b7ff0637809ed2082771f5b6f10b7a 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -96,7 +96,7 @@ public class ItemEntity extends Entity {
Level world = this.level;
Objects.requireNonNull(this.level);
- return (Entity) Util.mapNullable(uuid, world::getPlayerByUUID);
+ return (Entity) Util.mapNullable(uuid, world::getGlobalPlayerByUUID); // Paper - check all players
}
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index aabedf25fa40ffa0d7b378c6006928f806ef0fa6..71a36cf9b976443cca9ab63cd0eb23253f638562 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@ -90,10 +64,10 @@ index d860ddae508f53d06f74d8ae0efdfc500c1ddf07..3b959f42d958bf0f426853aee56753d6
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java
index f027c2967fcaf5c22abb03c977689485983382c4..0554afa72ae6d2f01886916031c8b90b0d45eb52 100644
index 38b825cab15e19e1fe11afad0b8e325597f2f457..25791572eab50de9b9a1fc6b8b3b3ca7df7493e2 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java
@@ -100,6 +100,13 @@ public class SculkShriekerBlockEntity extends BlockEntity implements VibrationLi
@@ -101,6 +101,13 @@ public class SculkShriekerBlockEntity extends BlockEntity implements VibrationLi
@Nullable
public static ServerPlayer tryGetPlayer(@Nullable Entity entity) {

View File

@ -17,10 +17,10 @@ index 52fd12c474c01f3b53d0f6596b7a6fafee52bd0d..877498729c66de9aa6a27c9148f7494d
BlockEntity tileentity = iblockdata.hasBlockEntity() ? this.getBlockEntity(pos) : null;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
index d99f079e03d0541d7aa3c70d9e8c12b8619b2c22..09be3f188f9710fa71c5db67023e654739721f21 100644
index 0087ced09e0337d88fc210acb6772b6375047bf4..ef25a0ae25e1f1f7c5bee64b9e60b17eb998ced6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
@@ -375,10 +375,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
@@ -380,10 +380,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
((ChorusFlowerBlock) Blocks.CHORUS_FLOWER).generatePlant(access, pos, random, 8);
return true;
case CRIMSON_FUNGUS:

View File

@ -11,7 +11,7 @@ the logic associated with damaging them
public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 2785c42b9b0a9e22ad544f8a4eb6cb77eaad0db6..7a7647fbe7dc4167c4e90fbd63e03a23e9b2729c 100644
index 97a0d3c9883704b40585b5738bd3498b1a95f36c..d7c3edea63fd447ea9e6b48c3ccd6fa4ee94542c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -995,6 +995,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Friction API
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index b45b17b3c04dd655ad42f5b49c423eab04adce48..0c4a5991d24ec232d2a95977eb37582b6bd8369c 100644
index 590a14cd045baa892119505df1063b18c6f1fd71..24bcbe515dac7f6cab28a4148afb23d1f44be94b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity {
@@ -260,6 +260,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public boolean bukkitPickUpLoot;
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
@ -16,7 +16,7 @@ index b45b17b3c04dd655ad42f5b49c423eab04adce48..0c4a5991d24ec232d2a95977eb37582b
@Override
public float getBukkitYaw() {
@@ -705,7 +706,7 @@ public abstract class LivingEntity extends Entity {
@@ -700,7 +701,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public boolean shouldDiscardFriction() {
@ -25,7 +25,7 @@ index b45b17b3c04dd655ad42f5b49c423eab04adce48..0c4a5991d24ec232d2a95977eb37582b
}
public void setDiscardFriction(boolean noDrag) {
@@ -750,6 +751,11 @@ public abstract class LivingEntity extends Entity {
@@ -744,6 +745,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void addAdditionalSaveData(CompoundTag nbt) {
@ -37,7 +37,7 @@ index b45b17b3c04dd655ad42f5b49c423eab04adce48..0c4a5991d24ec232d2a95977eb37582b
nbt.putFloat("Health", this.getHealth());
nbt.putShort("HurtTime", (short) this.hurtTime);
nbt.putInt("HurtByTimestamp", this.lastHurtByMobTimestamp);
@@ -792,6 +798,15 @@ public abstract class LivingEntity extends Entity {
@@ -786,6 +792,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
absorptionAmount = 0;
}
this.setAbsorptionAmount(absorptionAmount);
@ -54,10 +54,10 @@ index b45b17b3c04dd655ad42f5b49c423eab04adce48..0c4a5991d24ec232d2a95977eb37582b
if (nbt.contains("Attributes", 9) && this.level != null && !this.level.isClientSide) {
this.getAttributes().load(nbt.getList("Attributes", 10));
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index b0976c20c0b7ff0637809ed2082771f5b6f10b7a..f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4 100644
index 2be70d950be48014c4e9792adfc1d05da5aa6a59..d47b3ac633e7936d30abfda6fc46c2c7412d76fe 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -53,6 +53,7 @@ public class ItemEntity extends Entity {
@@ -54,6 +54,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
public boolean canMobPickup = true; // Paper
private int despawnRate = -1; // Paper
@ -65,7 +65,7 @@ index b0976c20c0b7ff0637809ed2082771f5b6f10b7a..f0ccdfbd7d7be8c6e302609accf8fe9c
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
super(type, world);
@@ -150,7 +151,11 @@ public class ItemEntity extends Entity {
@@ -159,7 +160,11 @@ public class ItemEntity extends Entity implements TraceableEntity {
this.move(MoverType.SELF, this.getDeltaMovement());
float f1 = 0.98F;
@ -75,10 +75,10 @@ index b0976c20c0b7ff0637809ed2082771f5b6f10b7a..f0ccdfbd7d7be8c6e302609accf8fe9c
+ f1 = 1F;
+ } else if (this.onGround) {
+ // Paper end
f1 = this.level.getBlockState(new BlockPos(this.getX(), this.getY() - 1.0D, this.getZ())).getBlock().getFriction() * 0.98F;
f1 = this.level.getBlockState(BlockPos.containing(this.getX(), this.getY() - 1.0D, this.getZ())).getBlock().getFriction() * 0.98F;
}
@@ -351,6 +356,11 @@ public class ItemEntity extends Entity {
@@ -360,6 +365,11 @@ public class ItemEntity extends Entity implements TraceableEntity {
@Override
public void addAdditionalSaveData(CompoundTag nbt) {
@ -90,7 +90,7 @@ index b0976c20c0b7ff0637809ed2082771f5b6f10b7a..f0ccdfbd7d7be8c6e302609accf8fe9c
nbt.putShort("Health", (short) this.health);
nbt.putShort("Age", (short) this.age);
nbt.putShort("PickupDelay", (short) this.pickupDelay);
@@ -384,6 +394,17 @@ public class ItemEntity extends Entity {
@@ -393,6 +403,17 @@ public class ItemEntity extends Entity implements TraceableEntity {
this.thrower = nbt.getUUID("Thrower");
}
@ -109,7 +109,7 @@ index b0976c20c0b7ff0637809ed2082771f5b6f10b7a..f0ccdfbd7d7be8c6e302609accf8fe9c
this.setItem(ItemStack.of(nbttagcompound1));
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index fea44ba6a6584b4a510af6a58cab07eecec6b68b..ecec5e17807a760769fc0ea79c2a0161cc5db1ef 100644
index e9946edf568db010e4ccb9fe7755709ed7b8310f..a925b5c490e7129b27370aa57b5fad1cf05530c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -103,6 +103,18 @@ public class CraftItem extends CraftEntity implements Item {
@ -132,7 +132,7 @@ index fea44ba6a6584b4a510af6a58cab07eecec6b68b..ecec5e17807a760769fc0ea79c2a0161
public int getHealth() {
return item.health;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 7a7647fbe7dc4167c4e90fbd63e03a23e9b2729c..f2a7a10df4c283ef3d7e44121c074156556c9cf2 100644
index d7c3edea63fd447ea9e6b48c3ccd6fa4ee94542c..62b5df7e3bcf1037d96897b41f25038c535515d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1042,6 +1042,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {