Store remaining turn seconds in PacketBattlePing

This commit is contained in:
Stephen Seo 2024-10-22 20:35:31 +09:00
parent 8e469f1a8a
commit 252b3a5272
2 changed files with 9 additions and 3 deletions

View file

@ -461,7 +461,7 @@ public class Battle {
if (!isServer) { if (!isServer) {
return; return;
} }
PacketBattlePing pingPacket = new PacketBattlePing(getId()); PacketBattlePing pingPacket = new PacketBattlePing(getId(), (int)(timer / 1000000000L));
for (Combatant p : players.values()) { for (Combatant p : players.values()) {
TurnBasedMinecraftMod.getHandler().send(pingPacket, PacketDistributor.PLAYER.with((ServerPlayer)p.entity)); TurnBasedMinecraftMod.getHandler().send(pingPacket, PacketDistributor.PLAYER.with((ServerPlayer)p.entity));
} }

View file

@ -9,13 +9,16 @@ import java.util.function.Function;
public class PacketBattlePing { public class PacketBattlePing {
private int battleID; private int battleID;
private int decisionSeconds;
public PacketBattlePing() { public PacketBattlePing() {
battleID = 0; battleID = 0;
decisionSeconds = 1;
} }
public PacketBattlePing(int battleID) { public PacketBattlePing(int battleID, int decisionSeconds) {
this.battleID = battleID; this.battleID = battleID;
this.decisionSeconds = decisionSeconds;
} }
public static class Encoder implements BiConsumer<PacketBattlePing, RegistryFriendlyByteBuf> { public static class Encoder implements BiConsumer<PacketBattlePing, RegistryFriendlyByteBuf> {
@ -24,6 +27,7 @@ public class PacketBattlePing {
@Override @Override
public void accept(PacketBattlePing pkt, RegistryFriendlyByteBuf buf) { public void accept(PacketBattlePing pkt, RegistryFriendlyByteBuf buf) {
buf.writeInt(pkt.battleID); buf.writeInt(pkt.battleID);
buf.writeInt(pkt.decisionSeconds);
} }
} }
@ -32,7 +36,7 @@ public class PacketBattlePing {
@Override @Override
public PacketBattlePing apply(RegistryFriendlyByteBuf buf) { public PacketBattlePing apply(RegistryFriendlyByteBuf buf) {
return new PacketBattlePing(buf.readInt()); return new PacketBattlePing(buf.readInt(), buf.readInt());
} }
} }
@ -46,6 +50,8 @@ public class PacketBattlePing {
TurnBasedMinecraftMod.proxy.createLocalBattle(pkt.battleID); TurnBasedMinecraftMod.proxy.createLocalBattle(pkt.battleID);
} }
TurnBasedMinecraftMod.proxy.setBattleGuiAsGui(); TurnBasedMinecraftMod.proxy.setBattleGuiAsGui();
TurnBasedMinecraftMod.proxy.setBattleGuiBattleChanged();
TurnBasedMinecraftMod.proxy.setBattleGuiTime(pkt.decisionSeconds);
}); });
ctx.setPacketHandled(true); ctx.setPacketHandled(true);
} }