mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
add get-set drop chance to EntityEquipment
== AT == public net.minecraft.world.entity.Mob getEquipmentDropChance(Lnet/minecraft/world/entity/EquipmentSlot;)F
This commit is contained in:
parent
8683cde7c0
commit
12f070c05a
2 changed files with 24 additions and 10 deletions
|
@ -244,15 +244,22 @@ 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");
|
||||
|
||||
if (slot == net.minecraft.world.entity.EquipmentSlot.MAINHAND || slot == net.minecraft.world.entity.EquipmentSlot.OFFHAND) {
|
||||
((Mob) this.entity.getHandle()).handDropChances[slot.getIndex()] = chance;
|
||||
} else {
|
||||
((Mob) this.entity.getHandle()).armorDropChances[slot.getIndex()] = chance;
|
||||
}
|
||||
((Mob) this.entity.getHandle()).setDropChance(slot, chance); // Paper - use setter on Mob
|
||||
}
|
||||
|
||||
private float getDropChance(net.minecraft.world.entity.EquipmentSlot slot) {
|
||||
|
@ -260,10 +267,6 @@ public class CraftEntityEquipment implements EntityEquipment {
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (slot == net.minecraft.world.entity.EquipmentSlot.MAINHAND || slot == net.minecraft.world.entity.EquipmentSlot.OFFHAND) {
|
||||
return ((Mob) this.entity.getHandle()).handDropChances[slot.getIndex()];
|
||||
} else {
|
||||
return ((Mob) this.entity.getHandle()).armorDropChances[slot.getIndex()];
|
||||
}
|
||||
return ((Mob) this.entity.getHandle()).getEquipmentDropChance(slot); // Paper - use getter on Mob
|
||||
}
|
||||
}
|
||||
|
|
|
@ -353,4 +353,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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue