From 94fc6e035c0f21513fafeb92fba92c4b9d2f9b4d Mon Sep 17 00:00:00 2001 From: somehussar <148253652+somehussar@users.noreply.github.com> Date: Mon, 3 Feb 2025 03:31:04 +0100 Subject: [PATCH] Register mail packets --- .../kamkeel/npcs/network/PacketHandler.java | 8 +- .../packets/player/MailActionPacket.java | 2 +- .../java/noppes/npcs/PacketHandlerPlayer.java | 154 +++++++++--------- .../npcs/client/gui/player/GuiMailbox.java | 23 +-- .../client/gui/player/GuiMailmanWrite.java | 27 +-- .../npcs/constants/EnumPlayerPacket.java | 8 +- 6 files changed, 112 insertions(+), 110 deletions(-) diff --git a/src/main/java/kamkeel/npcs/network/PacketHandler.java b/src/main/java/kamkeel/npcs/network/PacketHandler.java index 3d2186509..f665463bc 100644 --- a/src/main/java/kamkeel/npcs/network/PacketHandler.java +++ b/src/main/java/kamkeel/npcs/network/PacketHandler.java @@ -14,10 +14,7 @@ import kamkeel.npcs.network.packets.data.gui.IsGuiOpenPacket; import kamkeel.npcs.network.packets.data.large.*; import kamkeel.npcs.network.packets.data.npc.*; import kamkeel.npcs.network.packets.data.script.*; -import kamkeel.npcs.network.packets.player.BankActionPacket; -import kamkeel.npcs.network.packets.player.FollowerPacket; -import kamkeel.npcs.network.packets.player.InputDevicePacket; -import kamkeel.npcs.network.packets.player.TransportPacket; +import kamkeel.npcs.network.packets.player.*; import kamkeel.npcs.network.packets.request.*; import kamkeel.npcs.network.packets.request.animation.*; import kamkeel.npcs.network.packets.request.bank.BankGetPacket; @@ -351,6 +348,9 @@ public class PacketHandler { PLAYER_PACKET.registerPacket(new BankActionPacket()); + PLAYER_PACKET.registerPacket(new MailActionPacket()); + PLAYER_PACKET.registerPacket(new MailActionPacket.MailSendPacket()); + PLAYER_PACKET.registerPacket(new InputDevicePacket()); } diff --git a/src/main/java/kamkeel/npcs/network/packets/player/MailActionPacket.java b/src/main/java/kamkeel/npcs/network/packets/player/MailActionPacket.java index 445b2f831..2ddf3a550 100644 --- a/src/main/java/kamkeel/npcs/network/packets/player/MailActionPacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/player/MailActionPacket.java @@ -25,7 +25,7 @@ import java.io.IOException; import java.util.Iterator; public class MailActionPacket extends AbstractPacket { - public static final String packetName = "Player|Mail"; + public static final String packetName = "Player|MailAction"; private Action action; private long time; diff --git a/src/main/java/noppes/npcs/PacketHandlerPlayer.java b/src/main/java/noppes/npcs/PacketHandlerPlayer.java index fc43359e8..c47d72239 100644 --- a/src/main/java/noppes/npcs/PacketHandlerPlayer.java +++ b/src/main/java/noppes/npcs/PacketHandlerPlayer.java @@ -204,83 +204,83 @@ public class PacketHandlerPlayer{ PlayerFactionData data = PlayerDataController.Instance.getPlayerData(player).factionData; GuiDataPacket.sendGuiData(player, data.getPlayerGuiData()); } - else if(type == EnumPlayerPacket.MailGet){ - PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; - GuiDataPacket.sendGuiData(player, data.saveNBTData(new NBTTagCompound())); - } - else if(type == EnumPlayerPacket.MailDelete){ - long time = buffer.readLong(); - String username = ByteBufUtils.readString(buffer); - PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; - - Iterator it = data.playermail.iterator(); - while(it.hasNext()){ - PlayerMail mail = it.next(); - if(mail.time == time && mail.sender.equals(username)){ - it.remove(); - } - } - GuiDataPacket.sendGuiData(player, data.saveNBTData(new NBTTagCompound())); - } - else if(type == EnumPlayerPacket.MailSend){ - if(!(player.openContainer instanceof ContainerMail)) - return; - String username = PlayerDataController.Instance.hasPlayer(ByteBufUtils.readString(buffer)); - if(username.isEmpty()){ - NoppesUtilServer.sendGuiError(player, 0); - return; - } - - PlayerMail mail = new PlayerMail(); - //String s = player.func_145748_c_().getFormattedText(); - String s = player.getDisplayName(); - if(!s.equals(player.getCommandSenderName())) - s += "(" + player.getCommandSenderName() + ")"; - mail.readNBT(ByteBufUtils.readNBT(buffer)); - mail.sender = s; - mail.items = ((ContainerMail)player.openContainer).mail.items; - - if(mail.subject.isEmpty()){ - NoppesUtilServer.sendGuiError(player, 1); - return; - } - PlayerDataController.Instance.addPlayerMessage(username, mail); - - NBTTagCompound comp = new NBTTagCompound(); - comp.setString("username", username); - NoppesUtilServer.sendGuiClose(player, 1,comp); - } - else if(type == EnumPlayerPacket.MailboxOpenMail){ - long time = buffer.readLong(); - String username = ByteBufUtils.readString(buffer); - player.closeContainer(); - PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; - - Iterator it = data.playermail.iterator(); - while(it.hasNext()){ - PlayerMail mail = it.next(); - if(mail.time == time && mail.sender.equals(username)){ - ContainerMail.staticmail = mail; - player.openGui(CustomNpcs.instance, EnumGuiType.PlayerMailman.ordinal(), player.worldObj, 0, 0, 0); - break; - } - } - } - else if(type == EnumPlayerPacket.MailRead){ - long time = buffer.readLong(); - String username = ByteBufUtils.readString(buffer); - PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; - - Iterator it = data.playermail.iterator(); - while(it.hasNext()){ - PlayerMail mail = it.next(); - if(mail.time == time && mail.sender.equals(username)){ - mail.beenRead = true; - if(mail.hasQuest()) - PlayerQuestController.addActiveQuest(new QuestData(mail.getQuest()), player); - } - } - } +// else if(type == EnumPlayerPacket.MailGet){ +// PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; +// GuiDataPacket.sendGuiData(player, data.saveNBTData(new NBTTagCompound())); +// } +// else if(type == EnumPlayerPacket.MailDelete){ +// long time = buffer.readLong(); +// String username = ByteBufUtils.readString(buffer); +// PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; +// +// Iterator it = data.playermail.iterator(); +// while(it.hasNext()){ +// PlayerMail mail = it.next(); +// if(mail.time == time && mail.sender.equals(username)){ +// it.remove(); +// } +// } +// GuiDataPacket.sendGuiData(player, data.saveNBTData(new NBTTagCompound())); +// } +// else if(type == EnumPlayerPacket.MailSend){ +// if(!(player.openContainer instanceof ContainerMail)) +// return; +// String username = PlayerDataController.Instance.hasPlayer(ByteBufUtils.readString(buffer)); +// if(username.isEmpty()){ +// NoppesUtilServer.sendGuiError(player, 0); +// return; +// } +// +// PlayerMail mail = new PlayerMail(); +// //String s = player.func_145748_c_().getFormattedText(); +// String s = player.getDisplayName(); +// if(!s.equals(player.getCommandSenderName())) +// s += "(" + player.getCommandSenderName() + ")"; +// mail.readNBT(ByteBufUtils.readNBT(buffer)); +// mail.sender = s; +// mail.items = ((ContainerMail)player.openContainer).mail.items; +// +// if(mail.subject.isEmpty()){ +// NoppesUtilServer.sendGuiError(player, 1); +// return; +// } +// PlayerDataController.Instance.addPlayerMessage(username, mail); +// +// NBTTagCompound comp = new NBTTagCompound(); +// comp.setString("username", username); +// NoppesUtilServer.sendGuiClose(player, 1,comp); +// } +// else if(type == EnumPlayerPacket.MailboxOpenMail){ +// long time = buffer.readLong(); +// String username = ByteBufUtils.readString(buffer); +// player.closeContainer(); +// PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; +// +// Iterator it = data.playermail.iterator(); +// while(it.hasNext()){ +// PlayerMail mail = it.next(); +// if(mail.time == time && mail.sender.equals(username)){ +// ContainerMail.staticmail = mail; +// player.openGui(CustomNpcs.instance, EnumGuiType.PlayerMailman.ordinal(), player.worldObj, 0, 0, 0); +// break; +// } +// } +// } +// else if(type == EnumPlayerPacket.MailRead){ +// long time = buffer.readLong(); +// String username = ByteBufUtils.readString(buffer); +// PlayerMailData data = PlayerDataController.Instance.getPlayerData(player).mailData; +// +// Iterator it = data.playermail.iterator(); +// while(it.hasNext()){ +// PlayerMail mail = it.next(); +// if(mail.time == time && mail.sender.equals(username)){ +// mail.beenRead = true; +// if(mail.hasQuest()) +// PlayerQuestController.addActiveQuest(new QuestData(mail.getQuest()), player); +// } +// } +// } else if(type == EnumPlayerPacket.SignSave) { int x = buffer.readInt(), y = buffer.readInt(), z = buffer.readInt(); if (player.worldObj.blockExists(x, y, z)) { diff --git a/src/main/java/noppes/npcs/client/gui/player/GuiMailbox.java b/src/main/java/noppes/npcs/client/gui/player/GuiMailbox.java index f3028e3df..2094720d2 100644 --- a/src/main/java/noppes/npcs/client/gui/player/GuiMailbox.java +++ b/src/main/java/noppes/npcs/client/gui/player/GuiMailbox.java @@ -1,5 +1,6 @@ package noppes.npcs.client.gui.player; +import kamkeel.npcs.network.packets.player.MailActionPacket; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiYesNo; import net.minecraft.client.gui.GuiYesNoCallback; @@ -18,16 +19,16 @@ import java.util.Comparator; import java.util.List; public class GuiMailbox extends GuiNPCInterface implements IGuiData, ICustomScrollListener, GuiYesNoCallback{ - + private GuiCustomScroll scroll; private PlayerMailData data; private PlayerMail selected; - + public GuiMailbox() { super(); xSize = 256; setBackground("menubg.png"); - NoppesUtilPlayer.sendData(EnumPlayerPacket.MailGet); + MailActionPacket.RequestMailData(); } public void initGui() { @@ -39,7 +40,7 @@ public class GuiMailbox extends GuiNPCInterface implements IGuiData, ICustomScro scroll.guiLeft = guiLeft + 4; scroll.guiTop = guiTop + 4; addScroll(scroll); - + String title = StatCollector.translateToLocal("mailbox.name"); int x = (xSize - this.fontRendererObj.getStringWidth(title)) / 2; @@ -81,7 +82,7 @@ public class GuiMailbox extends GuiNPCInterface implements IGuiData, ICustomScro public void confirmClicked(boolean flag, int i) { if(flag && selected != null){ - NoppesUtilPlayer.sendData(EnumPlayerPacket.MailDelete, selected.time, selected.sender); + MailActionPacket.DeleteMail(selected.time, selected.sender); selected = null; } NoppesUtil.openGUI(player, this); @@ -94,7 +95,7 @@ public class GuiMailbox extends GuiNPCInterface implements IGuiData, ICustomScro if(id == 0){ GuiMailmanWrite.parent = this; GuiMailmanWrite.mail = selected; - NoppesUtilPlayer.sendData(EnumPlayerPacket.MailboxOpenMail, selected.time, selected.sender); + MailActionPacket.OpenMail(selected.time, selected.sender); selected = null; scroll.selected = -1; } @@ -103,7 +104,7 @@ public class GuiMailbox extends GuiNPCInterface implements IGuiData, ICustomScro displayGuiScreen(guiyesno); } } - + @Override public void mouseClicked(int i, int j, int k) { @@ -121,13 +122,13 @@ public class GuiMailbox extends GuiNPCInterface implements IGuiData, ICustomScro @Override public void save() { // TODO Auto-generated method stub - + } @Override public void setGuiData(NBTTagCompound compound) { PlayerMailData data = new PlayerMailData(); data.loadNBTData(compound); - + List list = new ArrayList(); Collections.sort(data.playermail, new Comparator(){ public int compare(PlayerMail o1, PlayerMail o2){ @@ -150,10 +151,10 @@ public class GuiMailbox extends GuiNPCInterface implements IGuiData, ICustomScro GuiCustomScroll guiCustomScroll) { selected = data.playermail.get(guiCustomScroll.selected); initGui(); - + if(selected != null && !selected.beenRead){ selected.beenRead = true; - NoppesUtilPlayer.sendData(EnumPlayerPacket.MailRead, selected.time, selected.sender); + MailActionPacket.ReadMail(selected.time, selected.sender); } } diff --git a/src/main/java/noppes/npcs/client/gui/player/GuiMailmanWrite.java b/src/main/java/noppes/npcs/client/gui/player/GuiMailmanWrite.java index d17b799c9..32efa064c 100644 --- a/src/main/java/noppes/npcs/client/gui/player/GuiMailmanWrite.java +++ b/src/main/java/noppes/npcs/client/gui/player/GuiMailmanWrite.java @@ -2,6 +2,7 @@ package noppes.npcs.client.gui.player; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import kamkeel.npcs.network.packets.player.MailActionPacket; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; @@ -38,15 +39,15 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi private NBTTagList bookPages; private GuiButtonNextPage buttonNextPage; private GuiButtonNextPage buttonPreviousPage; - + private boolean canEdit; private boolean canSend; /** The GuiButton to sign this book. */ - + public static GuiScreen parent; public static PlayerMail mail = new PlayerMail(); - + private Minecraft mc = Minecraft.getMinecraft(); private String username = ""; @@ -105,7 +106,7 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi addLabel(new GuiNpcLabel(0, "mailbox.sender", guiLeft + 170, guiTop + 32, 0)); else addLabel(new GuiNpcLabel(0, "mailbox.username", guiLeft + 170, guiTop + 32, 0)); - + if(canEdit && !canSend) addTextField(new GuiNpcTextField(2, this, fontRendererObj, guiLeft + 170, guiTop + 42, 114, 20, mail.sender)); else if(canEdit) @@ -124,7 +125,7 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi addButton(new GuiNpcButton(0, this.guiLeft + 200, guiTop + 171, 60, 20, "gui.done")); else if(canEdit) addButton(new GuiNpcButton(0, this.guiLeft + 200, guiTop + 171, 60, 20, "mailbox.send")); - + if(!canEdit && !canSend) addButton(new GuiNpcButton(4, this.guiLeft + 200, guiTop + 171, 60, 20, "selectWorld.deleteButton")); if(!canEdit || canSend) @@ -148,12 +149,12 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi this.buttonNextPage.setVisible(this.currPage < this.bookTotalPages - 1 || this.canEdit); this.buttonPreviousPage.setVisible(this.currPage > 0); } - + @Override public void confirmClicked(boolean flag, int i) { if(flag){ - NoppesUtilPlayer.sendData(EnumPlayerPacket.MailDelete, mail.time, mail.sender); + MailActionPacket.DeleteMail(mail.time, mail.sender); close(); } else @@ -172,7 +173,7 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi if(id == 0){ mail.message.setTag("pages", bookPages); if(canSend) - NoppesUtilPlayer.sendData(EnumPlayerPacket.MailSend, this.username, mail.writeNBT()); + MailActionPacket.SendMail(this.username, mail.writeNBT()); else close(); } @@ -327,7 +328,7 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi { s1 = this.bookPages.getStringTagAt(this.currPage); } - + if(canEdit){ if (mc.fontRenderer.getBidiFlag()) { @@ -349,14 +350,14 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi this.drawGradientRect(guiLeft + 175, guiTop + 136, guiLeft + 269, guiTop + 154, -1072689136, -804253680); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - + this.mc.getTextureManager().bindTexture(bookWidgets); for(int i = 0; i < 4; i++) this.drawTexturedModalRect(guiLeft + 175 + i * 24, guiTop + 134, 0, 22, 24, 24); - + super.drawScreen(par1, par2, par3); - + } public void close(){ @@ -390,6 +391,6 @@ public class GuiMailmanWrite extends GuiContainerNPCInterface implements ITextfi @Override public void save() { - + } } diff --git a/src/main/java/noppes/npcs/constants/EnumPlayerPacket.java b/src/main/java/noppes/npcs/constants/EnumPlayerPacket.java index cc12a09f7..f277ddbc4 100644 --- a/src/main/java/noppes/npcs/constants/EnumPlayerPacket.java +++ b/src/main/java/noppes/npcs/constants/EnumPlayerPacket.java @@ -13,11 +13,11 @@ public enum EnumPlayerPacket { CheckQuestCompletion, // BankSlotOpen, FactionsGet, - MailGet, +// MailGet, MailDelete, - MailSend, - MailRead, - MailboxOpenMail, +// MailSend, +// MailRead, +// MailboxOpenMail, SignSave, SaveBook, CompanionOpenInv,