From ab2ac3d23166e3b09374e496bc7129e35fdb1b5c Mon Sep 17 00:00:00 2001 From: Kam Date: Tue, 16 Apr 2024 02:00:59 -0400 Subject: [PATCH] DBC Manage Custom Forms --- src/main/java/kamkeel/addon/DBCAddon.java | 14 +++++++++----- src/main/java/kamkeel/addon/client/DBCClient.java | 5 +++++ .../java/noppes/npcs/CustomNpcsPermissions.java | 4 +++- src/main/java/noppes/npcs/PacketHandlerServer.java | 13 +++++++++++++ src/main/java/noppes/npcs/client/ClientProxy.java | 4 ++++ .../java/noppes/npcs/constants/EnumGuiType.java | 1 + .../noppes/npcs/constants/EnumPacketServer.java | 5 ++++- 7 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/main/java/kamkeel/addon/DBCAddon.java b/src/main/java/kamkeel/addon/DBCAddon.java index 33efb2b57..b942020b6 100644 --- a/src/main/java/kamkeel/addon/DBCAddon.java +++ b/src/main/java/kamkeel/addon/DBCAddon.java @@ -24,25 +24,29 @@ public class DBCAddon { public void dbcCopyData(EntityLivingBase copied, EntityLivingBase entity){} + // AI / STATS public boolean canDBCAttack(EntityNPCInterface npc, float attackStrength, Entity receiver){ return false; } - public void doDBCDamage(EntityNPCInterface npc, float attackStrength, Entity receiver){} - public boolean isKO(EntityNPCInterface npc, EntityPlayer player){ return false; } + // PlayerData NBT public void writeToNBT(PlayerData playerData, NBTTagCompound nbtTagCompound){} - public void readFromNBT(PlayerData playerData, NBTTagCompound nbtTagCompound){} + // Client Sync public void syncPlayer(EntityPlayerMP playerMP){} - public void clientSync(NBTTagCompound compound, boolean syncEnd){} - public void syncUpdate(NBTTagCompound compound, ByteBuf buffer){} public void syncRemove(int id){} + + // Packet Handling + public void formPacketGet(EntityPlayer player, ByteBuf buffer){} + public void formPacketGets(EntityPlayer player, ByteBuf buffer){} + public void formPacketRemove(EntityPlayer player, ByteBuf buffer){} + public void formPacketSave(EntityPlayer player, ByteBuf buffer){} } diff --git a/src/main/java/kamkeel/addon/client/DBCClient.java b/src/main/java/kamkeel/addon/client/DBCClient.java index 8a7cc04cc..6c96bfb39 100644 --- a/src/main/java/kamkeel/addon/client/DBCClient.java +++ b/src/main/java/kamkeel/addon/client/DBCClient.java @@ -1,7 +1,9 @@ package kamkeel.addon.client; +import io.netty.buffer.ByteBuf; import net.minecraft.client.model.ModelBase; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import noppes.npcs.client.gui.mainmenu.GuiNpcStats; import noppes.npcs.client.gui.model.GuiCreationScreen; import noppes.npcs.client.gui.util.GuiNPCInterface2; @@ -30,4 +32,7 @@ public class DBCClient { // Render Auras public void renderDBCAuras(EntityNPCInterface npcInterface){} + + // Manage Custom Forms + public GuiNPCInterface2 manageCustomForms(EntityNPCInterface npcInterface){ return null; } } diff --git a/src/main/java/noppes/npcs/CustomNpcsPermissions.java b/src/main/java/noppes/npcs/CustomNpcsPermissions.java index 160965218..b2d278409 100644 --- a/src/main/java/noppes/npcs/CustomNpcsPermissions.java +++ b/src/main/java/noppes/npcs/CustomNpcsPermissions.java @@ -49,8 +49,10 @@ public class CustomNpcsPermissions{ public static final Permission GLOBAL_NATURALSPAWN = new Permission("customnpcs.global.naturalspawn"); public static final Permission GLOBAL_TAG = new Permission("customnpcs.global.tag"); public static final Permission GLOBAL_ANIMATION = new Permission("customnpcs.global.animation"); + public static final Permission GLOBAL_CUSTOMFORM = new Permission("customnpcs.global.customform"); - public static final Permission SPAWNER_MOB = new Permission("customnpcs.spawner.mob"); + + public static final Permission SPAWNER_MOB = new Permission("customnpcs.spawner.mob"); public static final Permission SPAWNER_CREATE = new Permission("customnpcs.spawner.create"); // Open / Use Wands diff --git a/src/main/java/noppes/npcs/PacketHandlerServer.java b/src/main/java/noppes/npcs/PacketHandlerServer.java index dd64be6ca..2e1ade42e 100644 --- a/src/main/java/noppes/npcs/PacketHandlerServer.java +++ b/src/main/java/noppes/npcs/PacketHandlerServer.java @@ -6,6 +6,7 @@ import cpw.mods.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent; import cpw.mods.fml.relauncher.Side; import foxz.utils.Market; import io.netty.buffer.ByteBuf; +import kamkeel.addon.DBCAddon; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.passive.EntityVillager; @@ -1205,6 +1206,18 @@ public class PacketHandlerServer{ NoppesUtilServer.sendAnimationDataAll(player); Server.sendData(player, EnumPacketClient.GUI_DATA, animation.writeToNBT()); } + else if(type == EnumPacketServer.CustomFormsGet){ + DBCAddon.instance.formPacketGets(player, buffer); + } + else if(type == EnumPacketServer.CustomFormGet){ + DBCAddon.instance.formPacketGet(player, buffer); + } + else if(type == EnumPacketServer.CustomFormRemove){ + DBCAddon.instance.formPacketRemove(player, buffer); + } + else if(type == EnumPacketServer.CustomFormSave){ + DBCAddon.instance.formPacketSave(player, buffer); + } else blockPackets(type, buffer, player); diff --git a/src/main/java/noppes/npcs/client/ClientProxy.java b/src/main/java/noppes/npcs/client/ClientProxy.java index 3071d68f0..5588d3c5e 100644 --- a/src/main/java/noppes/npcs/client/ClientProxy.java +++ b/src/main/java/noppes/npcs/client/ClientProxy.java @@ -5,6 +5,7 @@ import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.ObfuscationReflectionHelper; +import kamkeel.addon.client.DBCClient; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.model.ModelBiped; @@ -245,6 +246,9 @@ public class ClientProxy extends CommonProxy { else if (gui == EnumGuiType.ManageFactions) return new GuiNPCManageFactions(npc); + else if (gui == EnumGuiType.ManageCustomForms) + return DBCClient.Instance.manageCustomForms(npc); + else if (gui == EnumGuiType.ManageTags) return new GuiNPCManageTags(npc); diff --git a/src/main/java/noppes/npcs/constants/EnumGuiType.java b/src/main/java/noppes/npcs/constants/EnumGuiType.java index f069e96e6..6c8975200 100644 --- a/src/main/java/noppes/npcs/constants/EnumGuiType.java +++ b/src/main/java/noppes/npcs/constants/EnumGuiType.java @@ -6,6 +6,7 @@ public enum EnumGuiType { MainMenuStats, ManageFactions, ManageTags, + ManageCustomForms, ManageAnimations, MainMenuAdvanced, MainMenuGlobal, diff --git a/src/main/java/noppes/npcs/constants/EnumPacketServer.java b/src/main/java/noppes/npcs/constants/EnumPacketServer.java index 7e3162c88..c6accc68b 100644 --- a/src/main/java/noppes/npcs/constants/EnumPacketServer.java +++ b/src/main/java/noppes/npcs/constants/EnumPacketServer.java @@ -98,7 +98,10 @@ public enum EnumPacketServer { AnimationsGet, AnimationGet, AnimationRemove(CustomNpcsPermissions.GLOBAL_ANIMATION), AnimationSave(CustomNpcsPermissions.GLOBAL_ANIMATION), - RecipesGet, RecipeGet, QuestOpenGui, PlayerDataGet, QuestLogToServer, PartyLogToServer, UntrackQuest, + CustomFormsGet, CustomFormGet, + CustomFormRemove(CustomNpcsPermissions.GLOBAL_CUSTOMFORM), CustomFormSave(CustomNpcsPermissions.GLOBAL_CUSTOMFORM), + + RecipesGet, RecipeGet, QuestOpenGui, PlayerDataGet, QuestLogToServer, PartyLogToServer, UntrackQuest, RemoteNpcsGet(CustomNpcsPermissions.NPC_GUI), RemoteTpToNpc(CustomNpcsPermissions.NPC_TELEPORT),