Invites are now fully functional, can be accepted and ignored

This commit is contained in:
luisc committed 2024-01-22 10:53:20 -06:00
1 parent 4abbb62e69
commit b712d5390b
5 files changed
+124 -18

No files matched your search

@@ -2,7 +2,6 @@ package noppes.npcs;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent;
import cpw.mods.fml.relauncher.Side;
import foxz.utils.Market;
@@ -113,19 +112,12 @@ public class PacketHandlerServer{
PlayerDataController.Instance.getPlayerData(player).animationData.cacheAnimation(buffer.readInt());
return;
} else if (type == EnumPacketServer.GetPartyData || type == EnumPacketServer.CreateParty) {
PlayerData playerData = PlayerDataController.Instance.getPlayerData(player);
if (type == EnumPacketServer.CreateParty) {
Party party = PartyController.Instance().createParty();
party.addPlayer(player);
party.setLeader(player);
}
NBTTagCompound compound = new NBTTagCompound();
if (playerData.partyUUID != null) {
Party party = PartyController.Instance().getParty(playerData.partyUUID);
compound = party.writeToNBT();
}
Server.sendData(player, EnumPacketClient.GUI_DATA, compound);
sendPartyData(player);
} else if (type == EnumPacketServer.DisbandParty) {
PlayerData playerData = PlayerDataController.Instance.getPlayerData(player);
if (playerData.partyUUID != null) {
@@ -142,7 +134,11 @@ public class PacketHandlerServer{
if (playerData.partyUUID != null) {
Party party = PartyController.Instance().getParty(playerData.partyUUID);
party.removePlayer(kickPlayer);
Server.sendData(player, EnumPacketClient.GUI_DATA, party.writeToNBT());
if (kickPlayer != player) {
sendPartyData(player);
} else {
sendInviteData((EntityPlayerMP) kickPlayer);
}
}
}
} else if (type == EnumPacketServer.SavePartyData) {
@@ -167,6 +163,22 @@ public class PacketHandlerServer{
invitedData.inviteToParty(PartyController.Instance().getParty(senderData.partyUUID));
}
}
} else if (type == EnumPacketServer.GetPartyInviteList) {
sendInviteData(player);
} else if (type == EnumPacketServer.AcceptInvite) {
PlayerData playerData = PlayerDataController.Instance.getPlayerData(player);
String uuidString = Server.readString(buffer);
if (uuidString != null) {
UUID uuid = UUID.fromString(uuidString);
playerData.acceptInvite(uuid);
}
} else if (type == EnumPacketServer.IgnoreInvite) {
PlayerData playerData = PlayerDataController.Instance.getPlayerData(player);
String uuidString = Server.readString(buffer);
if (uuidString != null) {
UUID uuid = UUID.fromString(uuidString);
playerData.ignoreInvite(uuid);
}
}
if(type.needsNpc && npc == null){
@@ -214,6 +226,35 @@ public class PacketHandlerServer{
}
}
public static void sendPartyData(EntityPlayerMP player) {
PlayerData playerData = PlayerDataController.Instance.getPlayerData(player);
if (playerData.partyUUID != null) {
Party party = PartyController.Instance().getParty(playerData.partyUUID);
Server.sendData(player, EnumPacketClient.GUI_DATA, party.writeToNBT());
} else {
sendInviteData(player);
}
}
public static void sendInviteData(EntityPlayerMP player) {
PlayerData playerData = PlayerDataController.Instance.getPlayerData(player);
if (playerData.partyUUID == null) {
NBTTagCompound compound = new NBTTagCompound();
NBTTagList list = new NBTTagList();
HashSet<UUID> partyInvites = playerData.getPartyInvites();
for (UUID uuid : partyInvites) {
Party party = PartyController.Instance().getParty(uuid);
NBTTagCompound partyCompound = new NBTTagCompound();
partyCompound.setString("PartyLeader", party.getPartyLeaderName());
partyCompound.setString("PartyUUID", party.getPartyUUID().toString());
list.appendTag(partyCompound);
}
compound.setTag("PartyInvites", list);
Server.sendData(player, EnumPacketClient.GUI_DATA, compound);
}
}
private void isGuiOpenPacket(ByteBuf buffer, EntityPlayerMP player) throws IOException {
NoppesUtilServer.isGUIOpen(buffer, player);
}