geforkt von Mirrors/Paper
aa52bf9e33
Mojang made some changes to priorities in 1.17 and it seems that these changes conflict with the changes made in this patch, which in some cases appears to cause excessive rescheduling of tasks. This, however, is not confirmed as such but seems to be the behavior that we're seeing to cause this issue, if mojang has adopted the changes we suggested, then a good chunk of this patch may be unneeded, but, this needs a much better look than I'm currently able to do
49 Zeilen
2.4 KiB
Diff
49 Zeilen
2.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Thu, 22 Apr 2021 00:28:11 -0700
|
|
Subject: [PATCH] add get-set drop chance to EntityEquipment
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java
|
|
index 5a22c089f8c2c58f577ee32caa9985fff112de3c..1a88eafcba718f0c307ef6fcde72f156f644766f 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java
|
|
@@ -244,6 +244,17 @@ public class CraftEntityEquipment implements EntityEquipment {
|
|
public void setBootsDropChance(float chance) {
|
|
this.setDropChance(net.minecraft.world.entity.EquipmentSlot.FEET, chance);
|
|
}
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public float getDropChance(EquipmentSlot slot) {
|
|
+ return getDropChance(CraftEquipmentSlot.getNMS(slot));
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setDropChance(EquipmentSlot slot, float chance) {
|
|
+ setDropChance(CraftEquipmentSlot.getNMS(slot), chance);
|
|
+ }
|
|
+ // Paper end
|
|
|
|
private void setDropChance(net.minecraft.world.entity.EquipmentSlot slot, float chance) {
|
|
Preconditions.checkArgument(this.entity.getHandle() instanceof Mob, "Cannot set drop chance for non-Mob entity");
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
|
|
index 8bca88f7b7d310b29bdc851125e4cd03718a4fb9..d6a228473ca6f425757683a4b17b035a53ab117f 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
|
|
@@ -354,4 +354,15 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
|
public void setBootsDropChance(float chance) {
|
|
throw new UnsupportedOperationException("Cannot set drop chance for PlayerInventory");
|
|
}
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public float getDropChance(EquipmentSlot slot) {
|
|
+ return 1;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setDropChance(EquipmentSlot slot, float chance) {
|
|
+ throw new UnsupportedOperationException("Cannot set drop chance for PlayerInventory");
|
|
+ }
|
|
+ // Paper end
|
|
}
|