From 2743fa17d89cf74c2fb0644e9d9ddd4bc92487b2 Mon Sep 17 00:00:00 2001 From: luisc Date: Wed, 22 Dec 2021 03:30:01 -0600 Subject: [PATCH] Added command forge event --- .../java/noppes/npcs/ServerEventsHandler.java | 18 ++++++++++-------- .../client/gui/script/GuiScriptInterface.java | 5 +++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/noppes/npcs/ServerEventsHandler.java b/src/main/java/noppes/npcs/ServerEventsHandler.java index dec8576dc..218f941a3 100644 --- a/src/main/java/noppes/npcs/ServerEventsHandler.java +++ b/src/main/java/noppes/npcs/ServerEventsHandler.java @@ -21,6 +21,7 @@ import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; import net.minecraft.village.MerchantRecipeList; +import net.minecraftforge.event.CommandEvent; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -35,20 +36,14 @@ import noppes.npcs.constants.EnumPacketClient; import noppes.npcs.constants.EnumQuestType; import noppes.npcs.constants.EnumRoleType; import noppes.npcs.constants.EnumScriptType; -import noppes.npcs.controllers.Line; -import noppes.npcs.controllers.PlayerData; -import noppes.npcs.controllers.PlayerDataController; -import noppes.npcs.controllers.PlayerQuestData; -import noppes.npcs.controllers.QuestData; -import noppes.npcs.controllers.RecipeCarpentry; -import noppes.npcs.controllers.RecipeController; -import noppes.npcs.controllers.ServerCloneController; +import noppes.npcs.controllers.*; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.items.ItemExcalibur; import noppes.npcs.items.ItemShield; import noppes.npcs.items.ItemSoulstoneEmpty; import noppes.npcs.quests.QuestKill; import noppes.npcs.roles.RoleFollower; +import noppes.npcs.scripted.event.ForgeEvent; public class ServerEventsHandler { @@ -74,6 +69,13 @@ public class ServerEventsHandler { // exps.put(player.getCommandSenderName(), player.experienceTotal); // } + @SubscribeEvent + public void invoke(CommandEvent event){ + if(CustomNpcs.getServer() != null && ScriptController.Instance.forgeScripts.isEnabled()) { + EventHooks.onForgeEvent(new ForgeEvent(event), event); + } + } + @SubscribeEvent public void invoke(EntityInteractEvent event) { ItemStack item = event.entityPlayer.getCurrentEquippedItem(); diff --git a/src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java b/src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java index 18e2b8ce3..c843b39ec 100644 --- a/src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java +++ b/src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java @@ -20,6 +20,7 @@ import net.minecraft.client.gui.GuiYesNo; import net.minecraft.client.gui.GuiYesNoCallback; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraftforge.event.CommandEvent; import net.minecraftforge.event.entity.EntityEvent; import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.event.world.ChunkDataEvent; @@ -169,6 +170,10 @@ public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallb } } } + String eventName = CommandEvent.class.getName(); + int i = eventName.lastIndexOf("."); + eventName = StringUtils.uncapitalize(eventName.substring(i + 1).replace("$", "")); + hookList.add(eventName); } hooks.setUnsortedList(hookList); addScroll(hooks);