Updated packet handle methods for new totem item methods.

This commit is contained in:
2022-01-18 21:53:22 +00:00
parent e752c75ccd
commit b0a30961b3
3 changed files with 7 additions and 18 deletions

View File

@ -6,7 +6,6 @@ import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.network.PacketBuffer; import net.minecraft.network.PacketBuffer;
import net.minecraft.server.management.PlayerList; import net.minecraft.server.management.PlayerList;
import net.minecraft.stats.Stats;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@ -46,12 +45,8 @@ public class ChangeTargetPacket {
TotemItem.setTargetIndex(totemStack, targetIndex); TotemItem.setTargetIndex(totemStack, targetIndex);
TotemItem.setTargetUUID(totemStack, target.getUUID()); TotemItem.setTargetUUID(totemStack, target.getUUID());
TotemItem.setTagTargetName(totemStack, target.getDisplayName().getString()); TotemItem.setTargetName(totemStack, target.getDisplayName().getString());
if (TotemItem.isCostDynamic(totemStack)) { TotemItem.setTargetDeaths(totemStack, target);
TotemItem.setTargetCost(totemStack, target.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS)));
} else {
TotemItem.setTargetCost(totemStack, TotemItem.getMaxCharge(totemStack));
}
sender.sendMessage(new StringTextComponent(TextFormatting.WHITE + "Now targetting " + TextFormatting.GRAY + target.getDisplayName().getString()), sender.getUUID()); sender.sendMessage(new StringTextComponent(TextFormatting.WHITE + "Now targetting " + TextFormatting.GRAY + target.getDisplayName().getString()), sender.getUUID());
}); });

View File

@ -34,13 +34,10 @@ public class ChargeTotemPacket {
ItemStack totemStack = (packet.hand.equals(Hand.MAIN_HAND)) ? sender.getMainHandItem() : sender.getOffhandItem(); ItemStack totemStack = (packet.hand.equals(Hand.MAIN_HAND)) ? sender.getMainHandItem() : sender.getOffhandItem();
ItemStack chargeStack = (packet.hand.equals(Hand.MAIN_HAND)) ? sender.getOffhandItem() : sender.getMainHandItem(); ItemStack chargeStack = (packet.hand.equals(Hand.MAIN_HAND)) ? sender.getOffhandItem() : sender.getMainHandItem();
int charge = TotemItem.getCharge(totemStack);
if (charge >= TotemItem.getMaxCharge(totemStack)) { if (TotemItem.isTotemFull(totemStack)) { return; }
return;
}
TotemItem.setCharge(totemStack, charge + 1); TotemItem.setCharge(totemStack, TotemItem.getCharge(totemStack) + 1);
chargeStack.setCount(chargeStack.getCount() - 1); chargeStack.setCount(chargeStack.getCount() - 1);
}); });
context.setPacketHandled(true); context.setPacketHandled(true);

View File

@ -47,10 +47,6 @@ public class ReviveTargetPacket {
return; return;
} }
int charge = TotemItem.getCharge(totemStack);
int targetCost = TotemItem.getTargetCost(totemStack);
TotemItem.validateTargetCost(totemStack, target.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS)));
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());
return; return;
@ -61,14 +57,15 @@ public class ReviveTargetPacket {
return; return;
} }
if (charge < targetCost && !TotemItem.canReviveMoreExpensiveTargets(totemStack)) { TotemItem.setTargetDeaths(totemStack, target);
if (TotemItem.canTotemAffordTarget(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;
} }
target.teleportTo(sender.getLevel(), sender.position().x, sender.position().y, sender.position().z, sender.yRot, sender.xRot); target.teleportTo(sender.getLevel(), sender.position().x, sender.position().y, sender.position().z, sender.yRot, sender.xRot);
target.setGameMode(sender.getLevel().getServer().getDefaultGameType()); target.setGameMode(sender.getLevel().getServer().getDefaultGameType());
TotemItem.setCharge(totemStack, charge - targetCost); TotemItem.setCharge(totemStack, TotemItem.getCharge(totemStack) - TotemItem.getTargetCost(totemStack));
totemStack.hurtAndBreak(1, sender, e -> e.broadcastBreakEvent(packet.hand)); totemStack.hurtAndBreak(1, sender, e -> e.broadcastBreakEvent(packet.hand));
sender.sendMessage(new StringTextComponent(TextFormatting.WHITE + "Successfully revived " + TextFormatting.GRAY + target.getDisplayName().getString()), sender.getUUID()); sender.sendMessage(new StringTextComponent(TextFormatting.WHITE + "Successfully revived " + TextFormatting.GRAY + target.getDisplayName().getString()), sender.getUUID());
}); });