From 52aa1a75c1bd1d03e222093fac7eda7bb599a523 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 23 Jan 2025 17:45:13 -0500 Subject: [PATCH] Profile Change Command Completed --- .../kamkeel/command/profile/CommandProfile.java | 1 + .../command/profile/CommandProfileBase.java | 4 ++-- .../kamkeel/controllers/ProfileController.java | 17 +++++++---------- .../java/kamkeel/controllers/data/CNPCData.java | 1 + src/main/java/noppes/npcs/CustomNpcs.java | 2 ++ 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/kamkeel/command/profile/CommandProfile.java b/src/main/java/kamkeel/command/profile/CommandProfile.java index 0d0076f16..a8a19de4b 100644 --- a/src/main/java/kamkeel/command/profile/CommandProfile.java +++ b/src/main/java/kamkeel/command/profile/CommandProfile.java @@ -22,6 +22,7 @@ public class CommandProfile extends CommandBase { public CommandProfile(){ registerCommand(help); + registerCommand(new CommandProfileChange()); } public void registerCommand(CommandProfileBase command){ diff --git a/src/main/java/kamkeel/command/profile/CommandProfileBase.java b/src/main/java/kamkeel/command/profile/CommandProfileBase.java index 270c2db73..24487dba2 100644 --- a/src/main/java/kamkeel/command/profile/CommandProfileBase.java +++ b/src/main/java/kamkeel/command/profile/CommandProfileBase.java @@ -123,11 +123,11 @@ public abstract class CommandProfileBase extends CommandBase{ } public String getSubCommandPermission(String subCommand){ - return "cnpc.kamkeel." + getCommandName().toLowerCase() + "." + subCommand.toLowerCase(); + return "profile.kamkeel." + getCommandName().toLowerCase() + "." + subCommand.toLowerCase(); } public String getSubUniversalPermission(){ - return "cnpc.kamkeel." + getCommandName().toLowerCase() + "*"; + return "profile.kamkeel." + getCommandName().toLowerCase() + "*"; } public boolean canSendCommand(ICommandSender sender, SubCommand command, String subCommand){ diff --git a/src/main/java/kamkeel/controllers/ProfileController.java b/src/main/java/kamkeel/controllers/ProfileController.java index 6fbb874e1..a5f9a86da 100644 --- a/src/main/java/kamkeel/controllers/ProfileController.java +++ b/src/main/java/kamkeel/controllers/ProfileController.java @@ -104,7 +104,7 @@ public class ProfileController { }); } - public void changeSlot(EntityPlayer player, int slotNumber){ + public static void changeSlot(EntityPlayer player, int slotNumber){ if(!activeProfiles.containsKey(player.getUniqueID())) return; @@ -122,7 +122,7 @@ public class ProfileController { save(player, profile); } - public void saveSlotData(EntityPlayer player){ + public static void saveSlotData(EntityPlayer player){ if(!activeProfiles.containsKey(player.getUniqueID())) return; @@ -134,8 +134,9 @@ public class ProfileController { slot = profile.slots.get(profile.currentID); dataCompound = (NBTTagCompound) slot.getCompound().copy(); } else { - slot = new Slot(profile.currentID, "Slot 1"); + slot = new Slot(profile.currentID, "Slot " + profile.currentID); dataCompound = new NBTTagCompound(); + slot.setCompound(dataCompound); } for(IProfileData profileData : profileTypes.values()){ @@ -146,7 +147,7 @@ public class ProfileController { slot.setCompound(dataCompound); } - public void changePlayerSlot(EntityPlayer player, int id){ + public static void changePlayerSlot(EntityPlayer player, int id){ if(!activeProfiles.containsKey(player.getUniqueID())) return; @@ -158,19 +159,15 @@ public class ProfileController { slotCompound = (NBTTagCompound) slot.getCompound().copy(); } else { slot = new Slot(id, "Slot " + id); - slot.setCompound(new NBTTagCompound()); slotCompound = new NBTTagCompound(); + slot.setCompound(slotCompound); } slot.setLastLoaded(System.currentTimeMillis()); profile.slots.put(id, slot); for(IProfileData profileData : profileTypes.values()){ - if(slotCompound.hasKey(profileData.getTagName())){ - profileData.setNBT(player, slotCompound.getCompoundTag(profileData.getTagName())); - } else { - profileData.setNBT(player, new NBTTagCompound()); - } + profileData.setNBT(player, slotCompound.getCompoundTag(profileData.getTagName())); profileData.save(player); } diff --git a/src/main/java/kamkeel/controllers/data/CNPCData.java b/src/main/java/kamkeel/controllers/data/CNPCData.java index 12c820b3c..fc1ae9d72 100644 --- a/src/main/java/kamkeel/controllers/data/CNPCData.java +++ b/src/main/java/kamkeel/controllers/data/CNPCData.java @@ -34,5 +34,6 @@ public class CNPCData implements IProfileData { else { customNPCData.setNBT(replace); } + customNPCData.updateClient = true; } } diff --git a/src/main/java/noppes/npcs/CustomNpcs.java b/src/main/java/noppes/npcs/CustomNpcs.java index 15ba66a7a..ce5577197 100644 --- a/src/main/java/noppes/npcs/CustomNpcs.java +++ b/src/main/java/noppes/npcs/CustomNpcs.java @@ -11,6 +11,7 @@ import cpw.mods.fml.common.registry.EntityRegistry; import foxz.command.CommandNoppes; import kamkeel.addon.AddonManager; import kamkeel.command.CommandKamkeel; +import kamkeel.command.profile.CommandProfile; import kamkeel.controllers.ProfileController; import kamkeel.controllers.data.CNPCData; import kamkeel.developer.Developer; @@ -260,6 +261,7 @@ public class CustomNpcs { public void serverstart(FMLServerStartingEvent event) { event.registerServerCommand(new CommandNoppes()); event.registerServerCommand(new CommandKamkeel()); + event.registerServerCommand(new CommandProfile()); } private void registerNpc(Class cl, String name) {