Updated Upstream (Bukkit/CraftBukkit) (#8430)

Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
09943450 Update SnakeYAML version
5515734f SPIGOT-7162: Incorrect description for Entity#getVehicle javadoc
6f82b381 PR-788: Add getHand() to all relevant events

CraftBukkit Changes:
aaf484f6f SPIGOT-7163: CraftMerchantRecipe doesn't copy demand and specialPrice from BukkitMerchantRecipe
5329dd6fd PR-1107: Add getHand() to all relevant events
93061706e SPIGOT-7045: Ocelots never spawn with babies with spawn reason OCELOT_BABY
This commit is contained in:
Nassim Jahnke 2022-10-02 09:56:36 +02:00 committed by GitHub
parent ec3cfa9b7f
commit 928bcc8d3a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
979 changed files with 323 additions and 590 deletions

View file

@ -3625,10 +3625,10 @@ index 75143ba3e1e8a001801455c9bf1235186833dbae..10a9a108448509ceb7d40a4bddb06738
private final Player.Spigot spigot = new Player.Spigot()
{
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index d0699be22411796174b58733cfb79b80c89f9769..97a614e2367439dbface4a258f966c0440ef965d 100644
index 984dd8d3ce4da655f3f239aa5982eccba48c6de5..2766f670f7bbe03c23552eb2ccf71d6397cfb150 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -816,9 +816,9 @@ public class CraftEventFactory {
@@ -820,9 +820,9 @@ public class CraftEventFactory {
return event;
}
@ -3640,7 +3640,7 @@ index d0699be22411796174b58733cfb79b80c89f9769..97a614e2367439dbface4a258f966c04
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
org.bukkit.World world = entity.getWorld();
@@ -843,7 +843,7 @@ public class CraftEventFactory {
@@ -847,7 +847,7 @@ public class CraftEventFactory {
* Server methods
*/
public static ServerListPingEvent callServerListPingEvent(Server craftServer, InetAddress address, String motd, boolean shouldSendChatPreviews, int numPlayers, int maxPlayers) {

View file

@ -1425,7 +1425,7 @@ index cdf8020194f2ec1fe7b65b22c8e1f5b1c23eaefa..2db27f5e3e3c1bb0502c055f78c4a81e
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae8b29345f 100644
index e283e8383a52c74cebd16fa7642a5e3993b2ed1a..8c2d76c27c784536c3b573bf4ae4f47c2c3c4b6b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -140,7 +140,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@ -1437,7 +1437,7 @@ index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae
public abstract class LivingEntity extends Entity {
@@ -2817,7 +2817,6 @@ public abstract class LivingEntity extends Entity {
@@ -2820,7 +2820,6 @@ public abstract class LivingEntity extends Entity {
@Override
public void tick() {
@ -1445,7 +1445,7 @@ index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae
super.tick();
this.updatingUsingItem();
this.updateSwimAmount();
@@ -2859,9 +2858,7 @@ public abstract class LivingEntity extends Entity {
@@ -2862,9 +2861,7 @@ public abstract class LivingEntity extends Entity {
}
if (!this.isRemoved()) {
@ -1455,7 +1455,7 @@ index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae
}
double d0 = this.getX() - this.xo;
@@ -2943,8 +2940,6 @@ public abstract class LivingEntity extends Entity {
@@ -2946,8 +2943,6 @@ public abstract class LivingEntity extends Entity {
if (this.isSleeping()) {
this.setXRot(0.0F);
}
@ -1464,7 +1464,7 @@ index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae
}
public void detectEquipmentUpdates() {
@@ -3126,7 +3121,6 @@ public abstract class LivingEntity extends Entity {
@@ -3129,7 +3124,6 @@ public abstract class LivingEntity extends Entity {
this.setDeltaMovement(d4, d5, d6);
this.level.getProfiler().push("ai");
@ -1472,7 +1472,7 @@ index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae
if (this.isImmobile()) {
this.jumping = false;
this.xxa = 0.0F;
@@ -3136,7 +3130,6 @@ public abstract class LivingEntity extends Entity {
@@ -3139,7 +3133,6 @@ public abstract class LivingEntity extends Entity {
this.serverAiStep();
this.level.getProfiler().pop();
}
@ -1480,7 +1480,7 @@ index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae
this.level.getProfiler().pop();
this.level.getProfiler().push("jump");
@@ -3171,9 +3164,9 @@ public abstract class LivingEntity extends Entity {
@@ -3174,9 +3167,9 @@ public abstract class LivingEntity extends Entity {
this.updateFallFlying();
AABB axisalignedbb = this.getBoundingBox();
@ -1492,7 +1492,7 @@ index 2bad9717ec4ec16309856a83d8e19735ae1fcbec..bffaa7397e931b7b15a1780989e69aae
this.level.getProfiler().pop();
this.level.getProfiler().push("freezing");
boolean flag1 = this.getType().is(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES);
@@ -3202,9 +3195,7 @@ public abstract class LivingEntity extends Entity {
@@ -3205,9 +3198,7 @@ public abstract class LivingEntity extends Entity {
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
}

View file

@ -111,10 +111,10 @@ index 1473664f94f228abd81b8c654d105b8a76cc49e9..65fd3a3c1f0a55d034e6f91c4f222e64
// Paper end
}
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index b37e04a0c466dacf52e74a4d4fb0885511c2abc1..878fc7f57178bff0e42fd01434f0aaa2732f5a5b 100644
index 992b1eb2e4151863ba7900c3f7eaa8e56c0de7fa..c6ba7427b53398ddc8f0c942a810fad6e24561b4 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -289,6 +289,7 @@ public final class NaturalSpawner {
@@ -290,6 +290,7 @@ public final class NaturalSpawner {
}
} catch (Exception exception) {
NaturalSpawner.LOGGER.warn("Failed to create mob", exception);
@ -122,7 +122,7 @@ index b37e04a0c466dacf52e74a4d4fb0885511c2abc1..878fc7f57178bff0e42fd01434f0aaa2
return null;
}
}
@@ -401,6 +402,7 @@ public final class NaturalSpawner {
@@ -402,6 +403,7 @@ public final class NaturalSpawner {
entity = biomesettingsmobs_c.type.create(world.getLevel());
} catch (Exception exception) {
NaturalSpawner.LOGGER.warn("Failed to create mob", exception);

View file

@ -5,22 +5,23 @@ Subject: [PATCH] Custom replacement for eaten items
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4e192c98b7beb23ac75b7442883eba7bb98dc475..5678461976a07f9afecccb1d34ea3eec24fba80e 100644
index f513e9abb929fbabe12e40bb56af708745ea1ad9..d038c65e8a3d4a0000465e9d3ac7c4915b1b1015 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3611,9 +3611,10 @@ public abstract class LivingEntity extends Entity {
@@ -3614,10 +3614,11 @@ public abstract class LivingEntity extends Entity {
this.triggerItemUseEffects(this.useItem, 16);
// CraftBukkit start - fire PlayerItemConsumeEvent
ItemStack itemstack;
+ PlayerItemConsumeEvent event = null; // Paper
+ PlayerItemConsumeEvent event = null; // Paper
if (this instanceof ServerPlayer) {
org.bukkit.inventory.ItemStack craftItem = CraftItemStack.asBukkitCopy(this.useItem);
- PlayerItemConsumeEvent event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem);
+ event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem); // Paper
org.bukkit.inventory.EquipmentSlot hand = org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(enumhand);
- PlayerItemConsumeEvent event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem, hand);
+ event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem, hand); // Paper
level.getCraftServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -3627,6 +3628,13 @@ public abstract class LivingEntity extends Entity {
@@ -3631,6 +3632,13 @@ public abstract class LivingEntity extends Entity {
} else {
itemstack = this.useItem.finishUsingItem(this.level, this);
}
@ -34,7 +35,7 @@ index 4e192c98b7beb23ac75b7442883eba7bb98dc475..5678461976a07f9afecccb1d34ea3eec
// CraftBukkit end
if (itemstack != this.useItem) {
@@ -3634,6 +3642,11 @@ public abstract class LivingEntity extends Entity {
@@ -3638,6 +3646,11 @@ public abstract class LivingEntity extends Entity {
}
this.stopUsingItem();

View file

@ -5,7 +5,7 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5678461976a07f9afecccb1d34ea3eec24fba80e..8dc6fbbdfaecf0eb38a876d87d77f111541f766d 100644
index d038c65e8a3d4a0000465e9d3ac7c4915b1b1015..2cf58d6e086c1d6cc86ed689eb0d1cdc89b69477 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -784,7 +784,13 @@ public abstract class LivingEntity extends Entity {
@ -34,7 +34,7 @@ index 5678461976a07f9afecccb1d34ea3eec24fba80e..8dc6fbbdfaecf0eb38a876d87d77f111
// CraftBukkit start - Handle scaled health
if (this instanceof ServerPlayer) {
org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity();
@@ -3444,7 +3454,7 @@ public abstract class LivingEntity extends Entity {
@@ -3447,7 +3457,7 @@ public abstract class LivingEntity extends Entity {
}
public void setAbsorptionAmount(float amount) {
@ -44,7 +44,7 @@ index 5678461976a07f9afecccb1d34ea3eec24fba80e..8dc6fbbdfaecf0eb38a876d87d77f111
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 307c76b2d06b748304d28d6634e86bb91f3ded67..4b7e5996b8b49d96f14cbd0d2167a0a09b47f4ec 100644
index 15257f9236d0c32c1c74a15ce4e7decf4d9f2f91..1e1deab4d8be5523a55daf072d7e12b08d36b560 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2011,6 +2011,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -28,10 +28,10 @@ index 2a7c82be934a965ba26dc7bf1f60689360bda487..33d1a6b31afec4dbeb00dcabf50c5840
entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null);
entitywitch.setNoAi(this.isNoAi());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 97a614e2367439dbface4a258f966c0440ef965d..a2e289ac5e3d0d04b65ec3bf03bebbaad585cc24 100644
index 2766f670f7bbe03c23552eb2ccf71d6397cfb150..5ccaa797f0f794c71c9402c3b440c681defd0952 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1153,6 +1153,14 @@ public class CraftEventFactory {
@@ -1157,6 +1157,14 @@ public class CraftEventFactory {
return event;
}

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Add source to PlayerExpChangeEvent
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index dba0bc7dc8fd1993f45716a398b1ccf52d3d868b..b3433ce9c722bdab81848a6c2d121ca510c48509 100644
index 7942338e300cf5c70cb52e6ddce32f8cf9163c27..63b57d47d7dbb7a8a655b1447241e20c67a3f9c2 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -247,7 +247,7 @@ public class ExperienceOrb extends Entity {
@ -18,10 +18,10 @@ index dba0bc7dc8fd1993f45716a398b1ccf52d3d868b..b3433ce9c722bdab81848a6c2d121ca5
--this.count;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index a2e289ac5e3d0d04b65ec3bf03bebbaad585cc24..09a5c7a95f87e35c43d07974f5884e28833f9777 100644
index 5ccaa797f0f794c71c9402c3b440c681defd0952..e74335de3685e90abc97fbefe91a0c5837ed0551 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1112,6 +1112,17 @@ public class CraftEventFactory {
@@ -1116,6 +1116,17 @@ public class CraftEventFactory {
return event;
}

View file

@ -87,10 +87,10 @@ index 88181c59e604ba3b132b9e695cef5eaf5b836029..94d09b05737679b133ec462815b010b1
this.checkInsideBlocks();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 09a5c7a95f87e35c43d07974f5884e28833f9777..e00f87e4a9384c60e5fe4c33a9f27541366ae81b 100644
index e74335de3685e90abc97fbefe91a0c5837ed0551..b267e220e0b8fcd69f1b672db27273e76a46731a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1256,6 +1256,16 @@ public class CraftEventFactory {
@@ -1260,6 +1260,16 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Add API methods to control if armour stands can move
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index bd0f3295932220e88dfd72b1719651b132a325f9..def35ca400cb315a9eea035026412b69ec51b1a8 100644
index 3869aae0bcf3d4fb53009b314f8b869198e26ce5..58882569595a21b0499921dfddcbc9d01248cf1c 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -91,6 +91,7 @@ public class ArmorStand extends LivingEntity {
@ -16,7 +16,7 @@ index bd0f3295932220e88dfd72b1719651b132a325f9..def35ca400cb315a9eea035026412b69
public ArmorStand(EntityType<? extends ArmorStand> type, Level world) {
super(type, world);
@@ -925,4 +926,13 @@ public class ArmorStand extends LivingEntity {
@@ -926,4 +927,13 @@ public class ArmorStand extends LivingEntity {
public boolean canBeSeenByAnyone() {
return !this.isInvisible() && !this.isMarker();
}

View file

@ -21,7 +21,7 @@ index cd3b4c97374d44f5a0e710e03f4ac38938757e25..b18bb06caf5f034dffbb72120c8f21da
return true;
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index b3433ce9c722bdab81848a6c2d121ca510c48509..16a1a005f2dda30cf804bf51638383ef3bfeb43e 100644
index 63b57d47d7dbb7a8a655b1447241e20c67a3f9c2..0c19aa68dc444373bf1a9bd3b349d12df7d8dd9d 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -37,13 +37,65 @@ public class ExperienceOrb extends Entity {
@ -131,10 +131,10 @@ index b3433ce9c722bdab81848a6c2d121ca510c48509..16a1a005f2dda30cf804bf51638383ef
@Override
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 707a7fc783973d4806e10f59eb6202e408991223..45b76070d6a178ffb5cd378cbeb12342eab4f360 100644
index 37076ea1f07108db37dd67f5f7d4466534994a9f..3e2dd4a1fb1e2a99da88d392457d92eb9087c430 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1723,7 +1723,8 @@ public abstract class LivingEntity extends Entity {
@@ -1726,7 +1726,8 @@ public abstract class LivingEntity extends Entity {
protected void dropExperience() {
// CraftBukkit start - Update getExpReward() above if the removed if() changes!
if (true && !(this instanceof net.minecraft.world.entity.boss.enderdragon.EnderDragon)) { // CraftBukkit - SPIGOT-2420: Special case ender dragon will drop the xp over time

View file

@ -24,10 +24,10 @@ index b4d96dfc68788a4eae2197a0f2615de213d5ca8b..6e1b53317c4107f907e551a9baeaf649
private org.bukkit.util.Vector origin;
@javax.annotation.Nullable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 45b76070d6a178ffb5cd378cbeb12342eab4f360..e711c02279ff48e76038a6281bbe8060e34d900b 100644
index 3e2dd4a1fb1e2a99da88d392457d92eb9087c430..2e006451768f08998dfae3999f28429ef0b491af 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3286,8 +3286,11 @@ public abstract class LivingEntity extends Entity {
@@ -3289,8 +3289,11 @@ public abstract class LivingEntity extends Entity {
}
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Do not let armorstands drown
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index def35ca400cb315a9eea035026412b69ec51b1a8..ed698f3e3f9ed6003fe621c5f6f7e3a151a1a559 100644
index 58882569595a21b0499921dfddcbc9d01248cf1c..4398a33df4e0f0e9d28c51af3d48e41d957d7c9e 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -934,5 +934,12 @@ public class ArmorStand extends LivingEntity {
@@ -935,5 +935,12 @@ public class ArmorStand extends LivingEntity {
super.move(type, movement);
}
}

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmorChangeEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e711c02279ff48e76038a6281bbe8060e34d900b..2eb002d6231dcb2a4bf4b1eb96ca4ecdb6d4bca2 100644
index 2e006451768f08998dfae3999f28429ef0b491af..b1ad2db0b3e0f5b287621e8096fb5fc7dd5ce32d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1,5 +1,6 @@
@ -15,7 +15,7 @@ index e711c02279ff48e76038a6281bbe8060e34d900b..2eb002d6231dcb2a4bf4b1eb96ca4ecd
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -2999,6 +3000,13 @@ public abstract class LivingEntity extends Entity {
@@ -3002,6 +3003,13 @@ public abstract class LivingEntity extends Entity {
ItemStack itemstack1 = this.getItemBySlot(enumitemslot);
if (!ItemStack.matches(itemstack1, itemstack)) {

View file

@ -10,7 +10,7 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index dd86f2055af67f35a5d265b78e99b12e7b7926ad..9f959cbb6e8685dacccec1d8df68d4a8a94ab81e 100644
index 6dd5deecd404a3b9858e63da6837caf2d5d382f0..a08c03bb984d27ded2979353f207693fb79d4256 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1444,7 +1444,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -32,7 +32,7 @@ index dd86f2055af67f35a5d265b78e99b12e7b7926ad..9f959cbb6e8685dacccec1d8df68d4a8
+ orb.setPosRaw(handle.getX(), handle.getY(), handle.getZ());
+
+ int i = Math.min(orb.xpToDurability(amount), itemstack.getDamageValue());
+ org.bukkit.event.player.PlayerItemMendEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemMendEvent(handle, orb, itemstack, i);
+ org.bukkit.event.player.PlayerItemMendEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemMendEvent(handle, orb, itemstack, stackEntry.getKey(), i);
+ i = event.getRepairAmount();
+ orb.discard();
+ if (!event.isCancelled()) {

View file

@ -129,7 +129,7 @@ index ac767d107ea0d856f3f8caccfe6f79b14e933005..ffb7a0b7c1ae53e1340f2cdb7840ee2c
Entity entity = EntityType.loadEntityRecursive(nbttagcompound, world, (entity1) -> {
entity1.moveTo(d0, d1, d2, entity1.getYRot(), entity1.getXRot());
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 878fc7f57178bff0e42fd01434f0aaa2732f5a5b..ec6fcfc94b34d2b523c011b197e6484d13517c36 100644
index c6ba7427b53398ddc8f0c942a810fad6e24561b4..08340299538f1adacddc6d5022482a5307c06f78 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -212,7 +212,13 @@ public final class NaturalSpawner {
@ -147,7 +147,7 @@ index 878fc7f57178bff0e42fd01434f0aaa2732f5a5b..ec6fcfc94b34d2b523c011b197e6484d
Mob entityinsentient = NaturalSpawner.getMobForSpawn(world, biomesettingsmobs_c.type);
if (entityinsentient == null) {
@@ -259,9 +265,25 @@ public final class NaturalSpawner {
@@ -260,9 +266,25 @@ public final class NaturalSpawner {
return squaredDistance <= 576.0D ? false : (world.getSharedSpawnPos().closerToCenterThan(new Vec3((double) pos.getX() + 0.5D, (double) pos.getY(), (double) pos.getZ() + 0.5D), 24.0D) ? false : Objects.equals(new ChunkPos(pos), chunk.getPos()) || world.isNaturalSpawningAllowed((BlockPos) pos));
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2eb002d6231dcb2a4bf4b1eb96ca4ecdb6d4bca2..3f2bf9e04b20b74a61d2cf1cadbecd36002d0edc 100644
index b1ad2db0b3e0f5b287621e8096fb5fc7dd5ce32d..dee8ae99220c84b969be18dd7e1ef05ce088b937 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3722,12 +3722,24 @@ public abstract class LivingEntity extends Entity {
@@ -3726,12 +3726,24 @@ public abstract class LivingEntity extends Entity {
if (this.isUsingItem() && !this.useItem.isEmpty()) {
Item item = this.useItem.getItem();

View file

@ -6,7 +6,7 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent
This event is called when an entity receives knockback by another entity.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 3f2bf9e04b20b74a61d2cf1cadbecd36002d0edc..84b6c2f73e0f6f3ad3969e7d51f6617e172764ec 100644
index dee8ae99220c84b969be18dd7e1ef05ce088b937..30983979f3501c693c7d1f96c47d9cfa1eaa243a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1456,7 +1456,7 @@ public abstract class LivingEntity extends Entity {
@ -27,7 +27,7 @@ index 3f2bf9e04b20b74a61d2cf1cadbecd36002d0edc..84b6c2f73e0f6f3ad3969e7d51f6617e
}
private boolean checkTotemDeathProtection(DamageSource source) {
@@ -1757,6 +1757,11 @@ public abstract class LivingEntity extends Entity {
@@ -1760,6 +1760,11 @@ public abstract class LivingEntity extends Entity {
}
public void knockback(double strength, double x, double z) {
@ -39,7 +39,7 @@ index 3f2bf9e04b20b74a61d2cf1cadbecd36002d0edc..84b6c2f73e0f6f3ad3969e7d51f6617e
strength *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE);
if (strength > 0.0D) {
this.hasImpulse = true;
@@ -1764,6 +1769,15 @@ public abstract class LivingEntity extends Entity {
@@ -1767,6 +1772,15 @@ public abstract class LivingEntity extends Entity {
Vec3 vec3d1 = (new Vec3(x, 0.0D, z)).normalize().scale(strength);
this.setDeltaMovement(vec3d.x / 2.0D - vec3d1.x, this.onGround ? Math.min(0.4D, vec3d.y / 2.0D + strength) : vec3d.y, vec3d.z / 2.0D - vec3d1.z);
@ -56,7 +56,7 @@ index 3f2bf9e04b20b74a61d2cf1cadbecd36002d0edc..84b6c2f73e0f6f3ad3969e7d51f6617e
}
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 6d0d194aaababd91a26dffc07f547d60eadd098e..ea836c55bad8b897e0fe0cad6d297b9b52209d69 100644
index f0123009b27a763cee6761c46ecae354d3e54d65..8fdba296673def1e8f69d48c35b07e355a74c9a3 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1579,7 +1579,7 @@ public abstract class Mob extends LivingEntity {

View file

@ -173,7 +173,7 @@ index 7ea4a2d4e691e0a0a4d9ef3189a29a4a4ca4374b..883b6245f44f3fb82d7678e1092177ca
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index cf967ce377aab7fd00bd096d68ef0b66697817bf..eb6ead27924cdad9362d350e6257c5995e17b005 100644
index 98741b2595ef9946e190dd8af4a4c07103e383b7..58a1e433b0bd7c093c964a9dfcbb7287b5988af4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1158,7 +1158,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -186,10 +186,10 @@ index cf967ce377aab7fd00bd096d68ef0b66697817bf..eb6ead27924cdad9362d350e6257c599
// Check if the fromWorld and toWorld are the same.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index e00f87e4a9384c60e5fe4c33a9f27541366ae81b..479835a1fb087e18a1098438f6a3d71cd5589001 100644
index b267e220e0b8fcd69f1b672db27273e76a46731a..14e67b85e570e942c19f8fcafcb74c32f5f4fc37 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1225,7 +1225,7 @@ public class CraftEventFactory {
@@ -1229,7 +1229,7 @@ public class CraftEventFactory {
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) {
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
@ -198,7 +198,7 @@ index e00f87e4a9384c60e5fe4c33a9f27541366ae81b..479835a1fb087e18a1098438f6a3d71c
}
CraftServer server = player.level.getCraftServer();
@@ -1391,8 +1391,18 @@ public class CraftEventFactory {
@@ -1395,8 +1395,18 @@ public class CraftEventFactory {
return event;
}

View file

@ -99,10 +99,10 @@ index f6ea7b5929f2affec914730c92d1bde48f218acf..f4249ee3259a95b9f079a75c78ccf96a
public boolean isClientSide() {
return this.isClientSide;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 479835a1fb087e18a1098438f6a3d71cd5589001..1bc3edad4fa79b2efb34e92b4af492769a8fcf83 100644
index 14e67b85e570e942c19f8fcafcb74c32f5f4fc37..f16ab4b673f79a8f2b50caa2eefd7e55474ef28b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1261,6 +1261,14 @@ public class CraftEventFactory {
@@ -1265,6 +1265,14 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Allow disabling armour stand ticking
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 9897dbb03c343e1e1842f7ca6bc9b99b95d0b8be..f94a74728bd7c02a7f8245c92e7916f0b669ee0d 100644
index 3488c882c654a2cb7a470ed84066bcc0bbbbf9c4..f70f75867a8f03d42f240a0d007d2221269f2fdb 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -92,9 +92,16 @@ public class ArmorStand extends LivingEntity {
@ -54,7 +54,7 @@ index 9897dbb03c343e1e1842f7ca6bc9b99b95d0b8be..f94a74728bd7c02a7f8245c92e7916f0
CompoundTag nbttagcompound1 = nbt.getCompound("Pose");
this.readPose(nbttagcompound1);
@@ -651,7 +666,29 @@ public class ArmorStand extends LivingEntity {
@@ -652,7 +667,29 @@ public class ArmorStand extends LivingEntity {
@Override
public void tick() {
@ -84,7 +84,7 @@ index 9897dbb03c343e1e1842f7ca6bc9b99b95d0b8be..f94a74728bd7c02a7f8245c92e7916f0
Rotations vector3f = (Rotations) this.entityData.get(ArmorStand.DATA_HEAD_POSE);
if (!this.headPose.equals(vector3f)) {
@@ -775,31 +812,37 @@ public class ArmorStand extends LivingEntity {
@@ -776,31 +813,37 @@ public class ArmorStand extends LivingEntity {
public void setHeadPose(Rotations angle) {
this.headPose = angle;
this.entityData.set(ArmorStand.DATA_HEAD_POSE, angle);

View file

@ -1,125 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Thu, 2 Aug 2018 08:44:35 -0500
Subject: [PATCH] Add hand to bucket events
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 0f601ad4629bda75ec90612ad27fdec9ce62f83d..425c6da0de40983b0870c9fd1b53f16b6a11c34c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -87,7 +87,7 @@ public class Cow extends Animal {
if (itemstack.is(Items.BUCKET) && !this.isBaby()) {
// CraftBukkit start - Got milk?
- org.bukkit.event.player.PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) player.level, player, this.blockPosition(), this.blockPosition(), null, itemstack, Items.MILK_BUCKET);
+ org.bukkit.event.player.PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) player.level, player, this.blockPosition(), this.blockPosition(), null, itemstack, Items.MILK_BUCKET, hand); // Paper - add enumHand
if (event.isCancelled()) {
return InteractionResult.PASS;
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 bfd81531cb5f3e7335e4b75cba31371450a9e731..1935db7bd6d0976fd0bb9e482cd8044b79b0a452 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
@@ -199,7 +199,7 @@ public class Goat extends Animal {
if (itemstack.is(Items.BUCKET) && !this.isBaby()) {
// CraftBukkit start - Got milk?
- org.bukkit.event.player.PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) player.level, player, this.blockPosition(), this.blockPosition(), null, itemstack, Items.MILK_BUCKET);
+ org.bukkit.event.player.PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) player.level, player, this.blockPosition(), this.blockPosition(), null, itemstack, Items.MILK_BUCKET, hand); // Paper - add enumHand
if (event.isCancelled()) {
return InteractionResult.PASS;
diff --git a/src/main/java/net/minecraft/world/item/BucketItem.java b/src/main/java/net/minecraft/world/item/BucketItem.java
index 90c8ef9995e834c245cc33f5e59ffdabd5a0b8cd..7c6c928da4e0f3ac54fa9b9ddce7b0e0bf3cce4b 100644
--- a/src/main/java/net/minecraft/world/item/BucketItem.java
+++ b/src/main/java/net/minecraft/world/item/BucketItem.java
@@ -71,7 +71,7 @@ public class BucketItem extends Item implements DispensibleContainerItem {
// CraftBukkit start
ItemStack dummyFluid = ifluidsource.pickupBlock(DummyGeneratorAccess.INSTANCE, blockposition, iblockdata);
if (dummyFluid.isEmpty()) return InteractionResultHolder.fail(itemstack); // Don't fire event if the bucket won't be filled.
- PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) world, user, blockposition, blockposition, movingobjectpositionblock.getDirection(), itemstack, dummyFluid.getItem());
+ PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) world, user, blockposition, blockposition, movingobjectpositionblock.getDirection(), itemstack, dummyFluid.getItem(), hand); // Paper - add enumhand
if (event.isCancelled()) {
((ServerPlayer) user).connection.send(new ClientboundBlockUpdatePacket(world, blockposition)); // SPIGOT-5163 (see PlayerInteractManager)
@@ -102,7 +102,7 @@ public class BucketItem extends Item implements DispensibleContainerItem {
iblockdata = world.getBlockState(blockposition);
BlockPos blockposition2 = iblockdata.getBlock() instanceof LiquidBlockContainer && this.content == Fluids.WATER ? blockposition : blockposition1;
- if (this.emptyContents(user, world, blockposition2, movingobjectpositionblock, movingobjectpositionblock.getDirection(), blockposition, itemstack)) { // CraftBukkit
+ if (this.emptyContents(user, world, blockposition2, movingobjectpositionblock, movingobjectpositionblock.getDirection(), blockposition, itemstack, hand)) { // CraftBukkit // Paper - add enumhand
this.checkExtraContent(user, world, itemstack, blockposition2);
if (user instanceof ServerPlayer) {
CriteriaTriggers.PLACED_BLOCK.trigger((ServerPlayer) user, blockposition2, itemstack);
@@ -129,10 +129,12 @@ public class BucketItem extends Item implements DispensibleContainerItem {
@Override
public boolean emptyContents(@Nullable Player player, Level world, BlockPos pos, @Nullable BlockHitResult hitResult) {
- return this.emptyContents(player, world, pos, hitResult, null, null, null);
+ // Paper start - add enumHand
+ return emptyContents(player, world, pos, hitResult, null, null, null, null);
}
- public boolean emptyContents(Player entityhuman, Level world, BlockPos blockposition, @Nullable BlockHitResult movingobjectpositionblock, Direction enumdirection, BlockPos clicked, ItemStack itemstack) {
+ public boolean emptyContents(Player entityhuman, Level world, BlockPos blockposition, @Nullable BlockHitResult movingobjectpositionblock, Direction enumdirection, BlockPos clicked, ItemStack itemstack, InteractionHand enumhand) {
+ // Paper end
// CraftBukkit end
if (!(this.content instanceof FlowingFluid)) {
return false;
@@ -145,7 +147,7 @@ public class BucketItem extends Item implements DispensibleContainerItem {
// CraftBukkit start
if (flag1 && entityhuman != null) {
- PlayerBucketEmptyEvent event = CraftEventFactory.callPlayerBucketEmptyEvent((ServerLevel) world, entityhuman, blockposition, clicked, enumdirection, itemstack);
+ PlayerBucketEmptyEvent event = CraftEventFactory.callPlayerBucketEmptyEvent((ServerLevel) world, entityhuman, blockposition, clicked, enumdirection, itemstack, enumhand); // Paper - add enumhand
if (event.isCancelled()) {
((ServerPlayer) entityhuman).connection.send(new ClientboundBlockUpdatePacket(world, blockposition)); // SPIGOT-4238: needed when looking through entity
((ServerPlayer) entityhuman).getBukkitEntity().updateInventory(); // SPIGOT-4541
@@ -154,7 +156,7 @@ public class BucketItem extends Item implements DispensibleContainerItem {
}
// CraftBukkit end
if (!flag1) {
- return movingobjectpositionblock != null && this.emptyContents(entityhuman, world, movingobjectpositionblock.getBlockPos().relative(movingobjectpositionblock.getDirection()), (BlockHitResult) null, enumdirection, clicked, itemstack); // CraftBukkit
+ return movingobjectpositionblock != null && this.emptyContents(entityhuman, world, movingobjectpositionblock.getBlockPos().relative(movingobjectpositionblock.getDirection()), (BlockHitResult) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper
} else if (world.dimensionType().ultraWarm() && this.content.is(FluidTags.WATER)) {
int i = blockposition.getX();
int j = blockposition.getY();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 1bc3edad4fa79b2efb34e92b4af492769a8fcf83..518e44f783f5062ce53e9907501bd3a54c8014bb 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -422,6 +422,20 @@ public class CraftEventFactory {
}
private static PlayerEvent getPlayerBucketEvent(boolean isFilling, ServerLevel world, net.minecraft.world.entity.player.Player who, BlockPos changed, BlockPos clicked, Direction clickedFace, ItemStack itemstack, net.minecraft.world.item.Item item) {
+ // Paper start - add enumHand
+ return getPlayerBucketEvent(isFilling, world, who, changed, clicked, clickedFace, itemstack, item, null);
+ }
+
+ public static PlayerBucketEmptyEvent callPlayerBucketEmptyEvent(ServerLevel world, net.minecraft.world.entity.player.Player who, BlockPos changed, BlockPos clicked, Direction clickedFace, ItemStack itemstack, InteractionHand enumHand) {
+ return (PlayerBucketEmptyEvent) getPlayerBucketEvent(false, world, who, changed, clicked, clickedFace, itemstack, Items.BUCKET, enumHand);
+ }
+
+ public static PlayerBucketFillEvent callPlayerBucketFillEvent(ServerLevel world, net.minecraft.world.entity.player.Player who, BlockPos changed, BlockPos clicked, Direction clickedFace, ItemStack itemInHand, net.minecraft.world.item.Item bucket, InteractionHand enumHand) {
+ return (PlayerBucketFillEvent) getPlayerBucketEvent(true, world, who, clicked, changed, clickedFace, itemInHand, bucket, enumHand);
+ }
+
+ private static PlayerEvent getPlayerBucketEvent(boolean isFilling, ServerLevel world, net.minecraft.world.entity.player.Player who, BlockPos changed, BlockPos clicked, Direction clickedFace, ItemStack itemstack, net.minecraft.world.item.Item item, InteractionHand enumHand) {
+ // Paper end
Player player = (Player) who.getBukkitEntity();
CraftItemStack itemInHand = CraftItemStack.asNewCraftStack(item);
Material bucket = CraftMagicNumbers.getMaterial(itemstack.getItem());
@@ -434,10 +448,10 @@ public class CraftEventFactory {
PlayerEvent event;
if (isFilling) {
- event = new PlayerBucketFillEvent(player, block, blockClicked, blockFace, bucket, itemInHand);
+ event = new PlayerBucketFillEvent(player, block, blockClicked, blockFace, bucket, itemInHand, enumHand == null ? null : enumHand == InteractionHand.OFF_HAND ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND); // Paper - add enumHand
((PlayerBucketFillEvent) event).setCancelled(!CraftEventFactory.canBuild(world, player, changed.getX(), changed.getZ()));
} else {
- event = new PlayerBucketEmptyEvent(player, block, blockClicked, blockFace, bucket, itemInHand);
+ event = new PlayerBucketEmptyEvent(player, block, blockClicked, blockFace, bucket, itemInHand, enumHand == null ? null : enumHand == InteractionHand.OFF_HAND ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND); // Paper - add enumHand
((PlayerBucketEmptyEvent) event).setCancelled(!CraftEventFactory.canBuild(world, player, changed.getX(), changed.getZ()));
}

View file

@ -5,7 +5,7 @@ Subject: [PATCH] MC-135506: Experience should save as Integers
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index 80f4dfdbc410aa3346897e2ca63272a081712b6e..d6527396939d9a1dd2f1cfb6cb66dc64fa0e5332 100644
index 2fead19c1c4b04f94999887b196ceaee025edd99..2d1228670696224452cb432e0279456d8c5fe710 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -286,7 +286,7 @@ public class ExperienceOrb extends Entity {

View file

@ -29,7 +29,7 @@ index ea9f536efd4c76b421f6e02f93f16fae115840d8..d1af0aca0237ee86acd86fea3255ddea
protected void tick() {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 6ad79090c0c186394f1635d420884a5b34c7c952..f85692e588c022a1f0cc5e3cde001d968eea59c8 100644
index 65cf330708b4667fd60fdb1094df5a808ae5c2f2..efc2db1b27e9ac4b1094b7e529c198a94d05b164 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -216,6 +216,9 @@ public class ServerLevel extends Level implements WorldGenLevel {

View file

@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash.
This will help diagnose what was going on in that time before the crash.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 65b9dfa62a7785b4889d8edac0000487f3fc5367..d79ac1e7a1301e3e5d4e6caecc95bf320e5203e5 100644
index d65423b8d7b69db79de05587efba13008602f743..afce3acc552df092636b205964e06b399b7db8e2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1044,6 +1044,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View file

@ -28,10 +28,10 @@ index e98276943e1690572b8f7bc54a259aa8340bae41..c9b43d077727c22a9eca738e9a75e7f1
switch (enumDirection) {
case DOWN:
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 84b6c2f73e0f6f3ad3969e7d51f6617e172764ec..a6010e8ddf640a7045f95be04dfce26918d9cd3e 100644
index 30983979f3501c693c7d1f96c47d9cfa1eaa243a..28a49c15c078b7afe1d3c9693c548f6a7b1d2f0a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3743,6 +3743,23 @@ public abstract class LivingEntity extends Entity {
@@ -3747,6 +3747,23 @@ public abstract class LivingEntity extends Entity {
}
// Paper start

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index eb6ead27924cdad9362d350e6257c5995e17b005..04b329bf2a71f600debfbac193c0d1f49afff692 100644
index 58a1e433b0bd7c093c964a9dfcbb7287b5988af4..cea4285095979f0656821e897659c7b91d237e82 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2589,6 +2589,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -70,7 +70,7 @@ index 1a3f9d09df6b6d8c6a84f7f62e142f341d74c6c1..645012ea3590a46773e2bb14e9cafd9e
}
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a6010e8ddf640a7045f95be04dfce26918d9cd3e..15af85ec11e40337338696c51083aef91591681b 100644
index 28a49c15c078b7afe1d3c9693c548f6a7b1d2f0a..1189ddcab5011d34a66356cde561fe7e2cecbfdd 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity {
@ -99,7 +99,7 @@ index a6010e8ddf640a7045f95be04dfce26918d9cd3e..15af85ec11e40337338696c51083aef9
}
} else if (flag1) {
this.playHurtSound(source);
@@ -1620,7 +1620,7 @@ public abstract class LivingEntity extends Entity {
@@ -1623,7 +1623,7 @@ public abstract class LivingEntity extends Entity {
if (!this.isRemoved() && !this.dead) {
Entity entity = damageSource.getEntity();
LivingEntity entityliving = this.getKillCredit();
@ -108,7 +108,7 @@ index a6010e8ddf640a7045f95be04dfce26918d9cd3e..15af85ec11e40337338696c51083aef9
if (this.deathScore >= 0 && entityliving != null) {
entityliving.awardKillScore(this, this.deathScore, damageSource);
}
@@ -1632,20 +1632,53 @@ public abstract class LivingEntity extends Entity {
@@ -1635,20 +1635,53 @@ public abstract class LivingEntity extends Entity {
if (!this.level.isClientSide && this.hasCustomName()) {
if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot
}
@ -168,7 +168,7 @@ index a6010e8ddf640a7045f95be04dfce26918d9cd3e..15af85ec11e40337338696c51083aef9
}
}
@@ -1653,7 +1686,7 @@ public abstract class LivingEntity extends Entity {
@@ -1656,7 +1689,7 @@ public abstract class LivingEntity extends Entity {
if (!this.level.isClientSide) {
boolean flag = false;
@ -177,7 +177,7 @@ index a6010e8ddf640a7045f95be04dfce26918d9cd3e..15af85ec11e40337338696c51083aef9
if (this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
BlockPos blockposition = this.blockPosition();
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
@@ -1682,7 +1715,11 @@ public abstract class LivingEntity extends Entity {
@@ -1685,7 +1718,11 @@ public abstract class LivingEntity extends Entity {
}
}
@ -190,7 +190,7 @@ index a6010e8ddf640a7045f95be04dfce26918d9cd3e..15af85ec11e40337338696c51083aef9
Entity entity = source.getEntity();
int i;
@@ -1697,18 +1734,27 @@ public abstract class LivingEntity extends Entity {
@@ -1700,18 +1737,27 @@ public abstract class LivingEntity extends Entity {
this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
this.dropFromLootTable(source, flag);
@ -220,7 +220,7 @@ index a6010e8ddf640a7045f95be04dfce26918d9cd3e..15af85ec11e40337338696c51083aef9
// CraftBukkit start
public int getExpReward() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index ea836c55bad8b897e0fe0cad6d297b9b52209d69..37102e8cdaeb558e80889ff553656f14eaaeb650 100644
index 8fdba296673def1e8f69d48c35b07e355a74c9a3..7b3ce253e76cf411768af4961abd148f242f4bb4 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1018,7 +1018,13 @@ public abstract class Mob extends LivingEntity {
@ -296,10 +296,10 @@ index c47884bab387647d99ed842b46f1c078ef9b6995..a3f3e06679cef10f50346e9cc6672ec9
public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index f94a74728bd7c02a7f8245c92e7916f0b669ee0d..cd54fa8f7bbcb6036e90f4ef7cdc01d7af835a13 100644
index f70f75867a8f03d42f240a0d007d2221269f2fdb..e463ae13ce6f65675c2b6d553ecf91db5a047dbc 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -752,7 +752,8 @@ public class ArmorStand extends LivingEntity {
@@ -753,7 +753,8 @@ public class ArmorStand extends LivingEntity {
@Override
public void kill() {
@ -310,7 +310,7 @@ index f94a74728bd7c02a7f8245c92e7916f0b669ee0d..cd54fa8f7bbcb6036e90f4ef7cdc01d7
this.gameEvent(GameEvent.ENTITY_DIE);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 04b329bf2a71f600debfbac193c0d1f49afff692..8676067be5cbb149a6a50a9582a22b69ebcfb61b 100644
index cea4285095979f0656821e897659c7b91d237e82..0e9538a433e8ef721f29cc7b9f8fac914b876956 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2153,7 +2153,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -330,10 +330,10 @@ index 04b329bf2a71f600debfbac193c0d1f49afff692..8676067be5cbb149a6a50a9582a22b69
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 518e44f783f5062ce53e9907501bd3a54c8014bb..64cd5b2bc4032bfb0c917cc33884062ddba2738f 100644
index f16ab4b673f79a8f2b50caa2eefd7e55474ef28b..b86ba1b6e49128f50d3940708ec3b59580cbfde8 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -816,9 +816,16 @@ public class CraftEventFactory {
@@ -806,9 +806,16 @@ public class CraftEventFactory {
public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, List<org.bukkit.inventory.ItemStack> drops) {
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
@ -350,7 +350,7 @@ index 518e44f783f5062ce53e9907501bd3a54c8014bb..64cd5b2bc4032bfb0c917cc33884062d
victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
@@ -835,8 +842,15 @@ public class CraftEventFactory {
@@ -825,8 +832,15 @@ public class CraftEventFactory {
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
@ -366,7 +366,7 @@ index 518e44f783f5062ce53e9907501bd3a54c8014bb..64cd5b2bc4032bfb0c917cc33884062d
victim.keepLevel = event.getKeepLevel();
victim.newLevel = event.getNewLevel();
@@ -853,6 +867,31 @@ public class CraftEventFactory {
@@ -843,6 +857,31 @@ public class CraftEventFactory {
return event;
}

View file

@ -6,7 +6,7 @@ Subject: [PATCH] Prevent mob spawning from loading/generating chunks
also prevents if out of world border bounds
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index ec6fcfc94b34d2b523c011b197e6484d13517c36..31b330e140d71d9b017e68eab531a59d4f2ed9a2 100644
index 08340299538f1adacddc6d5022482a5307c06f78..ac5fa1d9e4e8f9057e3c3780fda3660bb7795295 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -169,9 +169,9 @@ public final class NaturalSpawner {

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 15af85ec11e40337338696c51083aef91591681b..369b2d92dbae896824b2e54cf30f8a607c43d451 100644
index 1189ddcab5011d34a66356cde561fe7e2cecbfdd..8155421080761734c519042e1c24dd2e765d6e75 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -116,6 +116,7 @@ import net.minecraft.world.level.storage.loot.LootTable;
@ -16,7 +16,7 @@ index 15af85ec11e40337338696c51083aef91591681b..369b2d92dbae896824b2e54cf30f8a60
import net.minecraft.world.phys.HitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraft.world.scores.PlayerTeam;
@@ -3806,6 +3807,38 @@ public abstract class LivingEntity extends Entity {
@@ -3810,6 +3811,38 @@ public abstract class LivingEntity extends Entity {
return level.clip(raytrace);
}

View file

@ -58,7 +58,7 @@ index 336a26733b5bf73455f8ec10347c1e08b8e866f7..4fce18c52c8144460ebf0c1e336dce71
return executorService;
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d79ac1e7a1301e3e5d4e6caecc95bf320e5203e5..2860bdf9d155b694fe605886a9f99cd956559f3c 100644
index afce3acc552df092636b205964e06b399b7db8e2..5e1a0ab40d9d03844c6e0b962bb15d3b4b40d229 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -306,6 +306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View file

@ -93,10 +93,10 @@ index 0e632f9eabd0d55a4eaacff54abaf637660528dd..e6fa82b942ec176288aaca080e3d9c8d
if (this.valid) {
Bukkit.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 369b2d92dbae896824b2e54cf30f8a607c43d451..1b907ca310ee217c9496f1b9a63d9cc694c177f0 100644
index 8155421080761734c519042e1c24dd2e765d6e75..4e490415e31fcd1a5d780a085ac916cbfc54bb12 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3404,9 +3404,15 @@ public abstract class LivingEntity extends Entity {
@@ -3407,9 +3407,15 @@ public abstract class LivingEntity extends Entity {
@Override
public void stopRiding() {

View file

@ -106,7 +106,7 @@ index e7442952ef1f03969949014492a7ddc6d0796ba5..d7823d7dc88cfba6f6ac9dae220e03de
public Location getLastDeathLocation() {
if (this.getData().contains("LastDeathLocation", 10)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8676067be5cbb149a6a50a9582a22b69ebcfb61b..1b708fc4990e92815f2ad56aba52bf85e5ddea7f 100644
index 0e9538a433e8ef721f29cc7b9f8fac914b876956..e31de5e408b01c2e67d2feec4020796fa74b24d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -174,6 +174,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -12,7 +12,7 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 1b708fc4990e92815f2ad56aba52bf85e5ddea7f..aebe500d3d0947536d19286195a0c7f5798e862e 100644
index e31de5e408b01c2e67d2feec4020796fa74b24d8..cdc4ef88c8369b3bd1c607ff5301fc1b04ec4582 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2636,6 +2636,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -53,7 +53,7 @@ index 2bf67468a6c745bc6243c65210477ba129bfcb07..c4315531f93f4ed68b4621157b025728
event.getPlayer().getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6f78117189ed56acb9c49450825855dd03ab81ae..0a6a91aba56554ec813fffacbdd8e30591eb1602 100644
index 44b70cef867093979e5481bee4d60676bdca6d47..acc9f22a1284cea2e29f3616598f8388f0a0e6f6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -889,6 +889,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View file

@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners,
or DEFAULT since data was not stored.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f85692e588c022a1f0cc5e3cde001d968eea59c8..91b0bc73534bec202ba39d6a8386248db1b4da30 100644
index efc2db1b27e9ac4b1094b7e529c198a94d05b164..84eeb8787c389a3c66b23d567f6c2ebe9644a1ce 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1250,6 +1250,7 @@ public class ServerLevel extends Level implements WorldGenLevel {

Some files were not shown because too many files have changed in this diff Show more