mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 15:00:13 +01:00
Fix various mob drops being captured as death drops (#5675)
This commit is contained in:
parent
7eab7227cb
commit
012cb6b015
2 changed files with 84 additions and 0 deletions
|
@ -55,3 +55,11 @@ c net/minecraft/server/network/PlayerConnection net/minecraft/server/network/Ser
|
|||
# Commands performCommand adds a stripSlash boolean
|
||||
c net/minecraft/commands/CommandDispatcher net/minecraft/commands/Commands
|
||||
m (Lnet/minecraft/commands/CommandListenerWrapper;Ljava/lang/String;Ljava/lang/String;Z)I a performCommand
|
||||
|
||||
# Craftbukkit overloads equipItemIfPossible in Mob adding an ItemEntity parameter
|
||||
c net/minecraft/world/entity/EntityInsentient net/minecraft/world/entity/Mob
|
||||
m (Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/item/EntityItem;)Z j equipItemIfPossible
|
||||
|
||||
# Craftbukkit overloads convertTo in Mob adding various API reasons
|
||||
c net/minecraft/world/entity/EntityInsentient net/minecraft/world/entity/Mob
|
||||
m (Lnet/minecraft/world/entity/EntityTypes;ZLorg/bukkit/event/entity/EntityTransformEvent$TransformReason;Lorg/bukkit/event/entity/CreatureSpawnEvent$SpawnReason;)Lnet/minecraft/world/entity/EntityInsentient; a convertTo
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
Date: Tue, 20 Jul 2021 21:25:35 -0700
|
||||
Subject: [PATCH] Add a bunch of missing forceDrop toggles
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Mob extends LivingEntity {
|
||||
}
|
||||
|
||||
if (this.tickCount > 100) {
|
||||
+ this.forceDrops = true; // Paper
|
||||
this.spawnAtLocation((ItemLike) Items.LEAD);
|
||||
+ this.forceDrops = false; // Paper
|
||||
this.leashInfoTag = null;
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java b/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java
|
||||
@@ -0,0 +0,0 @@ public class WorkAtComposter extends WorkAtPoi {
|
||||
ItemStack itemstack = inventorysubcontainer.addItem(new ItemStack(Items.BREAD, j));
|
||||
|
||||
if (!itemstack.isEmpty()) {
|
||||
+ entity.forceDrops = true; // Paper
|
||||
entity.spawnAtLocation(itemstack, 0.5F);
|
||||
+ entity.forceDrops = false; // Paper
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -0,0 +0,0 @@ public class Panda extends Animal {
|
||||
}
|
||||
|
||||
if (!this.level.isClientSide() && this.random.nextInt(700) == 0 && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
+ this.forceDrops = true; // Paper
|
||||
this.spawnAtLocation((ItemLike) Items.SLIME_BALL);
|
||||
+ this.forceDrops = false; // Paper
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -0,0 +0,0 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
this.level.playSound((Player) null, (Entity) this, SoundEvents.SNOW_GOLEM_SHEAR, shearedSoundCategory, 1.0F, 1.0F);
|
||||
if (!this.level.isClientSide()) {
|
||||
this.setPumpkin(false);
|
||||
+ this.forceDrops = true; // Paper
|
||||
this.spawnAtLocation(new ItemStack(Items.CARVED_PUMPKIN), 1.7F);
|
||||
+ this.forceDrops = false; // Paper
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -0,0 +0,0 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@Override
|
||||
protected void finishConversion(ServerLevel world) {
|
||||
PiglinAi.cancelAdmiring(this);
|
||||
+ this.forceDrops = true; // Paper
|
||||
this.inventory.removeAllItems().forEach(this::spawnAtLocation);
|
||||
+ this.forceDrops = false; // Paper
|
||||
super.finishConversion(world);
|
||||
}
|
||||
|
Loading…
Reference in a new issue