mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 10:27:44 +01:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user