Updated packet handle methods for new totem item methods.
This commit is contained in:
@ -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());
|
||||||
});
|
});
|
||||||
|
@ -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);
|
||||||
|
@ -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());
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user