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) {
|
public void setBootsDropChance(float chance) {
|
||||||
this.setDropChance(net.minecraft.world.entity.EquipmentSlot.FEET, 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) {
|
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");
|
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()).setDropChance(slot, chance); // Paper - use setter on Mob
|
||||||
((Mob) this.entity.getHandle()).handDropChances[slot.getIndex()] = chance;
|
|
||||||
} else {
|
|
||||||
((Mob) this.entity.getHandle()).armorDropChances[slot.getIndex()] = chance;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private float getDropChance(net.minecraft.world.entity.EquipmentSlot slot) {
|
private float getDropChance(net.minecraft.world.entity.EquipmentSlot slot) {
|
||||||
|
@ -260,10 +267,6 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (slot == net.minecraft.world.entity.EquipmentSlot.MAINHAND || slot == net.minecraft.world.entity.EquipmentSlot.OFFHAND) {
|
return ((Mob) this.entity.getHandle()).getEquipmentDropChance(slot); // Paper - use getter on Mob
|
||||||
return ((Mob) this.entity.getHandle()).handDropChances[slot.getIndex()];
|
|
||||||
} else {
|
|
||||||
return ((Mob) this.entity.getHandle()).armorDropChances[slot.getIndex()];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -353,4 +353,15 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
||||||
public void setBootsDropChance(float chance) {
|
public void setBootsDropChance(float chance) {
|
||||||
throw new UnsupportedOperationException("Cannot set drop chance for PlayerInventory");
|
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