Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@4d20922 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11024)
PaperMC/Paper@2fa5e0e Fix horse inventories (#11028)
PaperMC/Paper@62ed302 Fix entity distance check when applying knockback

closes #1553
This commit is contained in:
granny
2024-07-07 17:53:09 -07:00
parent de2e7a7967
commit cb0f04bd77
59 changed files with 260 additions and 205 deletions

View File

@@ -126,18 +126,73 @@ index b3bb0d55da0278d4981830f7073bb326bc836215..7bd2d2b9bb1275fa8e4bdc6d498a59e4
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Bogged.java b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
index 1dae6f96fe4dcac6d251639c6226a1d15b5ae691..907d88f40f8c6c1d0612be4d31b63220fecb0ea1 100644
index 71efea7a6bfb5662890dae5faae27a3c80afad2b..f3aae2c50d05a05ad4aef36d432b87b431ba07e8 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
@@ -182,7 +182,7 @@ public class Bogged extends AbstractSkeleton implements Shearable {
@@ -104,7 +104,7 @@ public class Bogged extends AbstractSkeleton implements Shearable {
if (itemstack.is(Items.SHEARS) && this.readyForShearing()) {
// CraftBukkit start
// Paper start - expose drops in event
- java.util.List<net.minecraft.world.item.ItemStack> drops = generateDefaultDrops();
+ java.util.List<net.minecraft.world.item.ItemStack> drops = generateDefaultDrops(net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel(net.minecraft.world.item.enchantment.Enchantments.LOOTING, itemstack)); // Purpur
final org.bukkit.event.player.PlayerShearEntityEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops);
if (event != null) {
if (event.isCancelled()) {
@@ -171,7 +171,7 @@ public class Bogged extends AbstractSkeleton implements Shearable {
@Override
public void shear(SoundSource shearedSoundCategory) {
// Paper start - shear drop API
- this.shear(shearedSoundCategory, generateDefaultDrops());
+ this.shear(shearedSoundCategory, generateDefaultDrops(0)); // Purpur
}
@Override
@@ -184,7 +184,7 @@ public class Bogged extends AbstractSkeleton implements Shearable {
private void spawnShearedMushrooms() {
// Paper start - shear drops API
- this.spawnDrops(generateDefaultDrops()); // Only here for people calling spawnSheardMushrooms. Not used otherwise.
+ this.spawnDrops(generateDefaultDrops(0)); // Only here for people calling spawnSheardMushrooms. Not used otherwise. // Purpur
}
private void spawnDrops(java.util.List<net.minecraft.world.item.ItemStack> drops) {
drops.forEach(stack -> {
@@ -193,14 +193,22 @@ public class Bogged extends AbstractSkeleton implements Shearable {
this.forceDrops = false;
});
}
- private void generateShearedMushrooms(java.util.function.Consumer<ItemStack> stackConsumer) {
+ private void generateShearedMushrooms(java.util.function.Consumer<ItemStack> stackConsumer, int looting) { // Purpur
// Paper end - shear drops API
Level world = this.level();
if (world instanceof ServerLevel worldserver) {
LootTable loottable = worldserver.getServer().reloadableRegistries().getLootTable(BuiltInLootTables.BOGGED_SHEAR);
LootParams lootparams = (new LootParams.Builder(worldserver)).withParameter(LootContextParams.ORIGIN, this.position()).withParameter(LootContextParams.THIS_ENTITY, this).create(LootContextParamSets.SHEARING);
- ObjectListIterator objectlistiterator = loottable.getRandomItems(lootparams).iterator();
+ // Purpur start
+ it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> randomItemsList = loottable.getRandomItems(lootparams);
+ if (org.purpurmc.purpur.PurpurConfig.allowShearsLooting && looting > 0) {
+ for (int i = 0; i < looting; i++) {
+ randomItemsList.addAll(loottable.getRandomItems(lootparams));
+ }
+ }
+ ObjectListIterator objectlistiterator = randomItemsList.iterator();
+ // Purpur end
while (objectlistiterator.hasNext()) {
ItemStack itemstack = (ItemStack) objectlistiterator.next();
@@ -213,9 +221,9 @@ public class Bogged extends AbstractSkeleton implements Shearable {
// Paper start - shear drops API
@Override
- public java.util.List<ItemStack> generateDefaultDrops() {
+ public java.util.List<ItemStack> generateDefaultDrops(int looting) { // Purpur
final java.util.List<ItemStack> drops = new java.util.ArrayList<>();
this.generateShearedMushrooms(drops::add);
- this.generateShearedMushrooms(drops::add);
+ this.generateShearedMushrooms(drops::add, looting); // Purpur
return drops;
}
// Paper end - shear drops API
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 3032944e7ae61f31ceb72ad688add99f2451f33e..346113abdc8da4a2fe69650642515460086a357a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java