Replaced target cost validation with method call. Added check if totem can revive more expensive targets.

This commit is contained in:
2022-01-18 18:27:55 +00:00
parent 3f8ac8ddde
commit e83ec0e5ce

View File

@ -49,13 +49,7 @@ public class ReviveTargetPacket {
int charge = TotemItem.getCharge(totemStack); int charge = TotemItem.getCharge(totemStack);
int targetCost = TotemItem.getTargetCost(totemStack); int targetCost = TotemItem.getTargetCost(totemStack);
if (TotemItem.isCostDynamic(totemStack) && targetCost != target.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS))) { TotemItem.validateTargetCost(totemStack, target.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS)));
targetCost = target.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS));
TotemItem.setTargetCost(totemStack, targetCost);
} else if (!TotemItem.isCostDynamic(totemStack) && targetCost != TotemItem.getMaxCharge(totemStack)) {
targetCost = TotemItem.getMaxCharge(totemStack);
TotemItem.setTargetCost(totemStack, targetCost);
}
if (!target.isSpectator()) { if (!target.isSpectator()) {
sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + target.getDisplayName().getString() + TextFormatting.WHITE + " is not dead!"), sender.getUUID()); sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + target.getDisplayName().getString() + TextFormatting.WHITE + " is not dead!"), sender.getUUID());
@ -67,7 +61,7 @@ public class ReviveTargetPacket {
return; return;
} }
if (charge < targetCost) { if (charge < targetCost && !TotemItem.canReviveMoreExpensiveTargets(totemStack)) {
sender.sendMessage(new StringTextComponent(TextFormatting.WHITE + "Not enough charge!"), sender.getUUID()); sender.sendMessage(new StringTextComponent(TextFormatting.WHITE + "Not enough charge!"), sender.getUUID());
return; return;
} }