diff --git a/src/main/java/noppes/npcs/DataScript.java b/src/main/java/noppes/npcs/DataScript.java index 2516817ad..b40cd88f2 100644 --- a/src/main/java/noppes/npcs/DataScript.java +++ b/src/main/java/noppes/npcs/DataScript.java @@ -15,8 +15,8 @@ import noppes.npcs.controllers.ScriptContainer; import noppes.npcs.controllers.ScriptController; import noppes.npcs.entity.EntityCustomNpc; import noppes.npcs.entity.EntityNPCInterface; -import noppes.npcs.scripted.ScriptEvent; -import noppes.npcs.scripted.ScriptNpc; +import noppes.npcs.scripted.event.ScriptEvent; +import noppes.npcs.scripted.entity.ScriptNpc; import noppes.npcs.scripted.ScriptWorld; import noppes.npcs.scripted.constants.EntityType; import noppes.npcs.scripted.constants.JobType; diff --git a/src/main/java/noppes/npcs/EventHooks.java b/src/main/java/noppes/npcs/EventHooks.java index f8863cf79..d9d5a7d5e 100644 --- a/src/main/java/noppes/npcs/EventHooks.java +++ b/src/main/java/noppes/npcs/EventHooks.java @@ -16,26 +16,24 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.world.WorldServer; import net.minecraftforge.event.entity.EntityEvent; -import net.minecraftforge.event.entity.player.PlayerUseItemEvent; import net.minecraftforge.event.world.WorldEvent; -import noppes.npcs.controllers.IScriptHandler; import noppes.npcs.controllers.ScriptController; import noppes.npcs.controllers.data.ForgeDataScript; import noppes.npcs.controllers.data.PlayerDataScript; import noppes.npcs.scripted.*; import noppes.npcs.scripted.event.ForgeEvent; import noppes.npcs.scripted.event.PlayerEvent; -import noppes.npcs.scripted.event.PlayerEvent.AttackEvent; import noppes.npcs.scripted.event.PlayerEvent.ChatEvent; -import noppes.npcs.scripted.event.PlayerEvent.ContainerClosed; import noppes.npcs.scripted.event.PlayerEvent.ContainerOpen; import noppes.npcs.scripted.event.PlayerEvent.DamagedEntityEvent; import noppes.npcs.scripted.event.PlayerEvent.KeyPressedEvent; -import noppes.npcs.scripted.event.PlayerEvent.LevelUpEvent; import noppes.npcs.scripted.event.PlayerEvent.LoginEvent; import noppes.npcs.scripted.event.PlayerEvent.LogoutEvent; import noppes.npcs.scripted.event.PlayerEvent.PickUpEvent; import noppes.npcs.scripted.event.PlayerEvent.TossEvent; +import noppes.npcs.scripted.interfaces.IEntity; +import noppes.npcs.scripted.interfaces.IItemStack; +import noppes.npcs.scripted.interfaces.IWorld; import noppes.npcs.scripted.wrapper.WrapperNpcAPI; import noppes.npcs.constants.EnumScriptType; import noppes.npcs.controllers.PlayerData; @@ -47,50 +45,44 @@ public class EventHooks { public EventHooks() { } - public static void onForgeInit(IScriptHandler handler) { - noppes.npcs.scripted.event.ForgeEvent.InitEvent event = new noppes.npcs.scripted.event.ForgeEvent.InitEvent(); - handler.callScript(EnumScriptType.INIT, event); - WrapperNpcAPI.EVENT_BUS.post(event); - } - public static void onPlayerInit(PlayerDataScript handler) { noppes.npcs.scripted.event.PlayerEvent.InitEvent event = new noppes.npcs.scripted.event.PlayerEvent.InitEvent(handler.getPlayer()); - handler.callScript(EnumScriptType.INIT, event); + handler.callScript(EnumScriptType.INIT, event, "event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerTick(PlayerDataScript handler) { noppes.npcs.scripted.event.PlayerEvent.UpdateEvent event = new noppes.npcs.scripted.event.PlayerEvent.UpdateEvent(handler.getPlayer()); - handler.callScript(EnumScriptType.TICK, event); + handler.callScript(EnumScriptType.TICK, event, "event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerInteract(PlayerDataScript handler, noppes.npcs.scripted.event.PlayerEvent.InteractEvent event) { - handler.callScript(EnumScriptType.INTERACT, event, "target", event.target, "type", event.type); + handler.callScript(EnumScriptType.INTERACT, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onStartUsingItem(PlayerDataScript handler, int duration, ItemStack item){ PlayerEvent.StartUsingItem event = new PlayerEvent.StartUsingItem(handler.getPlayer(), item, duration); - handler.callScript(EnumScriptType.START_USING_ITEM, event, "duration", event.duration, "item", event.item); + handler.callScript(EnumScriptType.START_USING_ITEM, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onUsingItem(PlayerDataScript handler, int duration, ItemStack item){ PlayerEvent.UsingItem event = new PlayerEvent.UsingItem(handler.getPlayer(), item, duration); - handler.callScript(EnumScriptType.USING_ITEM, event, "duration", event.duration, "item", event.item); + handler.callScript(EnumScriptType.USING_ITEM, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onStopUsingItem(PlayerDataScript handler, int duration, ItemStack item){ PlayerEvent.StopUsingItem event = new PlayerEvent.StopUsingItem(handler.getPlayer(), item, duration); - handler.callScript(EnumScriptType.STOP_USING_ITEM, event, "duration", event.duration, "item", event.item); + handler.callScript(EnumScriptType.STOP_USING_ITEM, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static void onFinishUsingItem(PlayerDataScript handler, int duration, ItemStack item){ PlayerEvent.FinishUsingItem event = new PlayerEvent.FinishUsingItem(handler.getPlayer(), item, duration); - handler.callScript(EnumScriptType.FINISH_USING_ITEM, event, "duration", event.duration, "item", event.item); + handler.callScript(EnumScriptType.FINISH_USING_ITEM, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } @@ -99,126 +91,126 @@ public class EventHooks { for(int i = 0; i < entityItems.size(); i++){ items[i] = NpcAPI.Instance().getIItemStack(entityItems.get(i).getEntityItem()); } TossEvent event = new TossEvent(handler.getPlayer(), items); - handler.callScript(EnumScriptType.DROP, event, "items", event.items); + handler.callScript(EnumScriptType.DROP, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerPickupXP(PlayerDataScript handler, EntityXPOrb orb) { PlayerEvent.PickupXPEvent event = new PlayerEvent.PickupXPEvent(handler.getPlayer(), orb); - handler.callScript(EnumScriptType.PICKUP_XP, event, "amount", event.amount); + handler.callScript(EnumScriptType.PICKUP_XP, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerPickUp(PlayerDataScript handler, EntityItem entityItem) { PickUpEvent event = new PickUpEvent(handler.getPlayer(), new ScriptItemStack(entityItem.getEntityItem()));//NpcAPI.Instance().getIItemStack(entityItem.getEntityItem())); - handler.callScript(EnumScriptType.PICKUP, event, "item", event.item); + handler.callScript(EnumScriptType.PICKUP, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerContainerOpen(PlayerDataScript handler, Container container) { ContainerOpen event = new ContainerOpen(handler.getPlayer(), NpcAPI.Instance().getIContainer(container)); - handler.callScript(EnumScriptType.CONTAINER_OPEN, event, "container", event.container); + handler.callScript(EnumScriptType.CONTAINER_OPEN, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerDeath(PlayerDataScript handler, DamageSource source, Entity entity) { noppes.npcs.scripted.event.PlayerEvent.DiedEvent event = new noppes.npcs.scripted.event.PlayerEvent.DiedEvent(handler.getPlayer(), source, entity); - handler.callScript(EnumScriptType.KILLED, event, "source", event.source, "damageSource", event.damageSource, "type", event.type); + handler.callScript(EnumScriptType.KILLED, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerKills(PlayerDataScript handler, EntityLivingBase entityLiving) { noppes.npcs.scripted.event.PlayerEvent.KilledEntityEvent event = new noppes.npcs.scripted.event.PlayerEvent.KilledEntityEvent(handler.getPlayer(), entityLiving); - handler.callScript(EnumScriptType.KILLS, event, "entity", event.entity); + handler.callScript(EnumScriptType.KILLS, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerDamaged(PlayerDataScript handler, noppes.npcs.scripted.event.PlayerEvent.DamagedEvent event) { - handler.callScript(EnumScriptType.DAMAGED, event, "damage", event.damage, "source", event.source, "damageSource", event.damageSource); + handler.callScript(EnumScriptType.DAMAGED, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerLightning(PlayerDataScript handler) { PlayerEvent.LightningEvent event = new PlayerEvent.LightningEvent(handler.getPlayer()); - handler.callScript(EnumScriptType.LIGHTNING, event); + handler.callScript(EnumScriptType.LIGHTNING, event, "event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerSound(PlayerDataScript handler, String name, float pitch, float volume) { PlayerEvent.SoundEvent event = new PlayerEvent.SoundEvent(handler.getPlayer(), name, pitch, volume); - handler.callScript(EnumScriptType.PLAYSOUND, event, "name", name, "pitch", pitch, "volume", volume); + handler.callScript(EnumScriptType.PLAYSOUND, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerFall(PlayerDataScript handler, float distance) { PlayerEvent.FallEvent event = new PlayerEvent.FallEvent(handler.getPlayer(),distance); - handler.callScript(EnumScriptType.FALL, event, "distance", event.distance); + handler.callScript(EnumScriptType.FALL, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerLogin(PlayerDataScript handler) { LoginEvent event = new LoginEvent(handler.getPlayer()); - handler.callScript(EnumScriptType.LOGIN, event); + handler.callScript(EnumScriptType.LOGIN, event, "event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerRespawn(PlayerDataScript handler) { PlayerEvent.RespawnEvent event = new PlayerEvent.RespawnEvent(handler.getPlayer()); - handler.callScript(EnumScriptType.RESPAWN, event); + handler.callScript(EnumScriptType.RESPAWN, event, "event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerLogout(PlayerDataScript handler) { LogoutEvent event = new LogoutEvent(handler.getPlayer()); - handler.callScript(EnumScriptType.LOGOUT, event); + handler.callScript(EnumScriptType.LOGOUT, event, "event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerChat(PlayerDataScript handler, ChatEvent event) { - handler.callScript(EnumScriptType.CHAT, event, "message", event.message); + handler.callScript(EnumScriptType.CHAT, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerRanged(PlayerDataScript handler, noppes.npcs.scripted.event.PlayerEvent.RangedLaunchedEvent event) { - handler.callScript(EnumScriptType.RANGED_LAUNCHED, event, "bow", event.bow, "charge", event.charge); + handler.callScript(EnumScriptType.RANGED_LAUNCHED, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerDamagedEntity(PlayerDataScript handler, DamagedEntityEvent event) { - handler.callScript(EnumScriptType.DAMAGED_ENTITY, event, "target", event.target, "damage", event.damage, "damageSource", event.damageSource, ""); + handler.callScript(EnumScriptType.DAMAGED_ENTITY, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerChangeDim(PlayerDataScript handler, int fromDim, int toDim) { PlayerEvent.ChangedDimension event = new PlayerEvent.ChangedDimension(handler.getPlayer(), fromDim, toDim); - handler.callScript(EnumScriptType.CHANGED_DIM, event, "fromDim", event.fromDim, "toDim", event.toDim); + handler.callScript(EnumScriptType.CHANGED_DIM, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerMouseClicked(EntityPlayerMP player, int button, int mouseWheel) { PlayerDataScript handler = PlayerData.get(player).scriptData; PlayerEvent.MouseClickedEvent event = new PlayerEvent.MouseClickedEvent(handler.getPlayer(), button, mouseWheel); - handler.callScript(EnumScriptType.MOUSE_CLICKED, event, "button", event.button, "mouseWheel", event.mouseWheel); + handler.callScript(EnumScriptType.MOUSE_CLICKED, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerKeyPressed(EntityPlayerMP player, int button, boolean isCtrlPressed, boolean isShiftPressed, boolean isAltPressed, boolean isMetaPressed) { PlayerDataScript handler = PlayerData.get(player).scriptData; KeyPressedEvent event = new KeyPressedEvent(handler.getPlayer(), button, isCtrlPressed, isAltPressed, isShiftPressed, isMetaPressed); - handler.callScript(EnumScriptType.KEY_PRESSED, event, "key", button, "isCtrlPressed", isCtrlPressed, "isAltPressed", isAltPressed, "isShiftPressed", isShiftPressed, "isMetaPressed", isMetaPressed); + handler.callScript(EnumScriptType.KEY_PRESSED, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static void onPlayerTimer(PlayerData data, int id) { PlayerDataScript handler = data.scriptData; noppes.npcs.scripted.event.PlayerEvent.TimerEvent event = new noppes.npcs.scripted.event.PlayerEvent.TimerEvent(handler.getPlayer(), id); - handler.callScript(EnumScriptType.TIMER, event); + handler.callScript(EnumScriptType.TIMER, event,"event", event); WrapperNpcAPI.EVENT_BUS.post(event); } public static boolean onPlayerBreak(PlayerDataScript handler, PlayerEvent.BreakEvent event) { - handler.callScript(EnumScriptType.BREAK, event, "block", event.block, "xp", event.exp); + handler.callScript(EnumScriptType.BREAK, event,"event", event); return WrapperNpcAPI.EVENT_BUS.post(event); } @@ -227,9 +219,22 @@ public class EventHooks { onForgeEvent(new noppes.npcs.scripted.event.ForgeEvent.EntityEvent(event, e), event); } + public static void onForgeWorldEvent(WorldEvent event) { + if(ScriptController.Instance.forgeScripts.isEnabled()) { + IWorld e = NpcAPI.Instance().getIWorld((WorldServer)event.world); + onForgeEvent(new noppes.npcs.scripted.event.ForgeEvent.WorldEvent(event, e), event); + } + } + + public static void onForgeInit(ForgeDataScript handler) { + noppes.npcs.scripted.event.ForgeEvent.InitEvent event = new noppes.npcs.scripted.event.ForgeEvent.InitEvent(); + handler.callScript("init", event); + WrapperNpcAPI.EVENT_BUS.post(event); + } + public static void onForgeEvent(ForgeEvent ev, Event event) { - ForgeDataScript data = ScriptController.Instance.forgeScripts; - if(data.isEnabled()) { + ForgeDataScript handler = ScriptController.Instance.forgeScripts; + if(handler.isEnabled()) { String eventName = event.getClass().getName(); int i = eventName.lastIndexOf("."); eventName = StringUtils.uncapitalize(eventName.substring(i + 1).replace("$", "")); @@ -237,7 +242,7 @@ public class EventHooks { ev.setCanceled(event.isCanceled()); } - data.callScript(eventName, event); + handler.callScript(eventName, event); WrapperNpcAPI.EVENT_BUS.post(ev); if(event.isCancelable()) { event.setCanceled(ev.isCanceled()); @@ -245,11 +250,4 @@ public class EventHooks { } } - - public static void onForgeWorldEvent(WorldEvent event) { - if(ScriptController.Instance.forgeScripts.isEnabled()) { - IWorld e = NpcAPI.Instance().getIWorld((WorldServer)event.world); - onForgeEvent(new noppes.npcs.scripted.event.ForgeEvent.WorldEvent(event, e), event); - } - } } diff --git a/src/main/java/noppes/npcs/NoppesUtilServer.java b/src/main/java/noppes/npcs/NoppesUtilServer.java index 4f46d54bb..1cbd5fa70 100644 --- a/src/main/java/noppes/npcs/NoppesUtilServer.java +++ b/src/main/java/noppes/npcs/NoppesUtilServer.java @@ -14,7 +14,6 @@ import java.util.Map; import java.util.UUID; import java.util.zip.GZIPOutputStream; -import net.minecraft.command.ICommandManager; import net.minecraft.command.ICommandSender; import net.minecraft.command.server.CommandBlockLogic; import net.minecraft.entity.Entity; @@ -29,7 +28,6 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.rcon.RConConsoleSource; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.MobSpawnerBaseLogic; import net.minecraft.tileentity.TileEntity; @@ -38,7 +36,6 @@ import net.minecraft.tileentity.TileEntityMobSpawner; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import noppes.npcs.constants.EnumGuiType; @@ -76,7 +73,7 @@ import noppes.npcs.controllers.TransportLocation; import noppes.npcs.entity.EntityDialogNpc; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.roles.RoleTransporter; -import noppes.npcs.scripted.ScriptEventDialog; +import noppes.npcs.scripted.event.ScriptEventDialog; public class NoppesUtilServer { private static HashMap editingQuests = new HashMap(); diff --git a/src/main/java/noppes/npcs/client/gui/EventGuiScriptList.java b/src/main/java/noppes/npcs/client/gui/EventGuiScriptList.java index 0dbc6b2d1..7cbdc488a 100644 --- a/src/main/java/noppes/npcs/client/gui/EventGuiScriptList.java +++ b/src/main/java/noppes/npcs/client/gui/EventGuiScriptList.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; import net.minecraft.client.gui.GuiButton; -import noppes.npcs.PlayerScriptContainer; +import noppes.npcs.EventScriptContainer; import noppes.npcs.client.gui.util.GuiCustomScroll; import noppes.npcs.client.gui.util.GuiNpcButton; import noppes.npcs.client.gui.util.GuiNpcLabel; @@ -13,10 +13,10 @@ import noppes.npcs.client.gui.util.SubGuiInterface; public class EventGuiScriptList extends SubGuiInterface{ private GuiCustomScroll scroll1; private GuiCustomScroll scroll2; - private PlayerScriptContainer container; + private EventScriptContainer container; private List scripts; - public EventGuiScriptList(List scripts, PlayerScriptContainer container){ + public EventGuiScriptList(List scripts, EventScriptContainer container){ this.container = container; setBackground("menubg.png"); xSize = 346; diff --git a/src/main/java/noppes/npcs/client/gui/script/EventGuiScriptList.java b/src/main/java/noppes/npcs/client/gui/script/EventGuiScriptList.java index af60efd49..533a7654f 100644 --- a/src/main/java/noppes/npcs/client/gui/script/EventGuiScriptList.java +++ b/src/main/java/noppes/npcs/client/gui/script/EventGuiScriptList.java @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.minecraft.client.gui.GuiButton; -import noppes.npcs.PlayerScriptContainer; +import noppes.npcs.EventScriptContainer; import noppes.npcs.client.gui.util.GuiCustomScroll; import noppes.npcs.client.gui.util.GuiNpcButton; import noppes.npcs.client.gui.util.GuiNpcLabel; @@ -18,10 +18,10 @@ import noppes.npcs.client.gui.util.SubGuiInterface; public class EventGuiScriptList extends SubGuiInterface { private GuiCustomScroll scroll1; private GuiCustomScroll scroll2; - private PlayerScriptContainer container; + private EventScriptContainer container; private List scripts; - public EventGuiScriptList(List scripts, PlayerScriptContainer container) { + public EventGuiScriptList(List scripts, EventScriptContainer container) { this.container = container; this.setBackground("menubg.png"); this.xSize = 346; diff --git a/src/main/java/noppes/npcs/client/gui/script/GuiScriptForge.java b/src/main/java/noppes/npcs/client/gui/script/GuiScriptForge.java new file mode 100644 index 000000000..e9a29fe6a --- /dev/null +++ b/src/main/java/noppes/npcs/client/gui/script/GuiScriptForge.java @@ -0,0 +1,30 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package noppes.npcs.client.gui.script; + +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.client.Client; +import noppes.npcs.constants.EnumPacketServer; +import noppes.npcs.controllers.data.ForgeDataScript; + +public class GuiScriptForge extends GuiScriptInterface { + private ForgeDataScript script = new ForgeDataScript(); + + public GuiScriptForge() { + this.handler = this.script; + Client.sendData(EnumPacketServer.ScriptForgeGet); + } + + public void setGuiData(NBTTagCompound compound) { + this.script.readFromNBT(compound); + super.setGuiData(compound); + } + + public void save() { + super.save(); + Client.sendData(EnumPacketServer.ScriptForgeSave, script.writeToNBT(new NBTTagCompound())); + } +} diff --git a/src/main/java/noppes/npcs/client/gui/script/GuiScriptGlobal.java b/src/main/java/noppes/npcs/client/gui/script/GuiScriptGlobal.java index 84ade08f8..26bfb2834 100644 --- a/src/main/java/noppes/npcs/client/gui/script/GuiScriptGlobal.java +++ b/src/main/java/noppes/npcs/client/gui/script/GuiScriptGlobal.java @@ -39,9 +39,9 @@ public class GuiScriptGlobal extends GuiNPCInterface { if (guibutton.id == 0) { this.displayGuiScreen(new GuiScriptPlayers()); } - /*if (guibutton.id == 1) { + if (guibutton.id == 1) { this.displayGuiScreen(new GuiScriptForge()); - }*/ + } } public void keyTyped(char c, int i) { 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 b99f56c2d..9330a8f7c 100644 --- a/src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java +++ b/src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java @@ -28,7 +28,7 @@ import noppes.npcs.controllers.ScriptController; import noppes.npcs.controllers.data.ForgeDataScript; import noppes.npcs.controllers.data.PlayerDataScript; -public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallback, IGuiData, ITextChangeListener, ICustomScrollListener, IJTextAreaListener { +public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallback, IGuiData, ITextChangeListener, ICustomScrollListener, IJTextAreaListener, ITextfieldListener { private int activeTab = 0; public IScriptHandler handler; public Map> languages = new HashMap(); @@ -56,49 +56,12 @@ public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallb GuiMenuTopButton top; this.addTopButton(top = new GuiMenuTopButton(0, this.guiLeft + 4, this.guiTop - 17, "gui.settings")); - List hookList = new ArrayList(); - if(handler instanceof PlayerDataScript) { - hookList.add("playerscript.disabled"); - hookList.add("playerscript.init"); - hookList.add("playerscript.tick"); - hookList.add("playerscript.interact"); - hookList.add("playerscript.damaged"); - hookList.add("playerscript.killed"); - hookList.add("playerscript.kills"); - hookList.add("playerscript.chat"); - hookList.add("playerscript.drop"); - hookList.add("playerscript.containerOpen"); - hookList.add("playerscript.login"); - hookList.add("playerscript.logout"); - hookList.add("playerscript.chat"); - hookList.add("playerscript.damagedentity"); - hookList.add("playerscript.keyPressed"); - hookList.add("playerscript.mouseClicked"); - hookList.add("playerscript.pickUp"); - hookList.add("playerscript.rangedLaunched"); - hookList.add("playerscript.pickupXP"); - hookList.add("playerscript.timer"); - hookList.add("playerscript.startItem"); - hookList.add("playerscript.usingItem"); - hookList.add("playerscript.stopItem"); - hookList.add("playerscript.finishItem"); - hookList.add("playerscript.fall"); - hookList.add("playerscript.playSound"); - hookList.add("playerscript.lightning"); - hookList.add("playerscript.break"); - hookList.add("playerscript.changedDim"); - hookList.add("playerscript.respawn"); - } - else if(handler instanceof ForgeDataScript){ - hookList.add("forgescript.forgeInit"); - } - int topXoffset = 0; int topYoffset = 0; for(int ta = 0; ta < this.handler.getScripts().size(); ++ta) { - if(ta%15 == 0 && ta > 0) { + if(ta%20 == 0 && ta > 0) { topYoffset -= 20; - topXoffset -= top.width+260; + topXoffset -= top.width+20*22; } this.addTopButton(top = new GuiMenuTopButton(ta + 1, top.xPosition+top.width + topXoffset, top.yPosition + topYoffset, ta + 1 + "")); topXoffset = 0; @@ -106,7 +69,7 @@ public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallb scriptLimit = ta + 2; } - if(this.handler.getScripts().size() < 75) + if(this.handler.getScripts().size() < 100) this.addTopButton(new GuiMenuTopButton(scriptLimit, top.xPosition+top.width, top.yPosition, "+")); top = this.getTopButton(this.activeTab); @@ -117,14 +80,54 @@ public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallb top.active = true; if(this.activeTab > 0) { - addLabel(new GuiNpcLabel(0, "script.hooks", guiLeft + 4, guiTop + 5)); - GuiCustomScroll hooks = new GuiCustomScroll(this, 1); - hooks.setSize(68, 198); - hooks.guiLeft = guiLeft + 4; - hooks.guiTop = guiTop + 14; - hooks.setUnsortedList(hookList); - hooks.selected = getScriptHook(this.handler.getScripts().get(this.activeTab - 1),hookList); - addScroll(hooks); + if(handler instanceof PlayerDataScript) { + List hookList = new ArrayList(); + hookList.add("playerscript.disabled"); + hookList.add("playerscript.init"); + hookList.add("playerscript.tick"); + hookList.add("playerscript.interact"); + hookList.add("playerscript.damaged"); + hookList.add("playerscript.killed"); + hookList.add("playerscript.kills"); + hookList.add("playerscript.chat"); + hookList.add("playerscript.drop"); + hookList.add("playerscript.containerOpen"); + hookList.add("playerscript.login"); + hookList.add("playerscript.logout"); + hookList.add("playerscript.chat"); + hookList.add("playerscript.damagedentity"); + hookList.add("playerscript.keyPressed"); + hookList.add("playerscript.mouseClicked"); + hookList.add("playerscript.pickUp"); + hookList.add("playerscript.rangedLaunched"); + hookList.add("playerscript.pickupXP"); + hookList.add("playerscript.timer"); + hookList.add("playerscript.startItem"); + hookList.add("playerscript.usingItem"); + hookList.add("playerscript.stopItem"); + hookList.add("playerscript.finishItem"); + hookList.add("playerscript.fall"); + hookList.add("playerscript.playSound"); + hookList.add("playerscript.lightning"); + hookList.add("playerscript.break"); + hookList.add("playerscript.changedDim"); + hookList.add("playerscript.respawn"); + + addLabel(new GuiNpcLabel(0, "script.hooks", guiLeft + 4, guiTop + 5)); + GuiCustomScroll hooks = new GuiCustomScroll(this, 1); + hooks.setSize(68, 198); + hooks.guiLeft = guiLeft + 4; + hooks.guiTop = guiTop + 14; + hooks.setUnsortedList(hookList); + hooks.selected = getScriptHook(this.handler.getScripts().get(this.activeTab - 1),hookList); + addScroll(hooks); + } + else if(handler instanceof ForgeDataScript){ + addLabel(new GuiNpcLabel(0, "script.hooks", guiLeft + 4, guiTop + 5)); + GuiNpcTextField hookField = new GuiNpcTextField(1,this,this.fontRendererObj,guiLeft + 4,guiTop + 14,68,20,""); + hookField.setText(this.handler.getScripts().get(this.activeTab - 1).type); + addTextField(hookField); + } EventScriptContainer var7 = (EventScriptContainer)this.handler.getScripts().get(this.activeTab - 1); GuiNpcTextArea left = new GuiNpcTextArea(2, this, this.guiLeft + 72 + yoffset, this.guiTop + yoffset, this.xSize - 180 - yoffset, (int)((double)this.ySize * 0.96D) - yoffset * 2, var7 == null?"":var7.script); @@ -175,6 +178,13 @@ public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallb this.handler.getScripts().get(this.activeTab - 1).setType(scroll.getSelected().replace("playerscript.","")); } + @Override + public void unFocused(GuiNpcTextField textfield) { + if(textfield.id == 1){ + this.handler.getScripts().get(this.activeTab - 1).setType(textfield.getText()); + } + } + private int getScriptHook(EventScriptContainer eventScriptContainer, List list) { for(String s : list) { if (s.replace("playerscript.", "").equals(eventScriptContainer.type)) { @@ -334,8 +344,6 @@ public class GuiScriptInterface extends GuiNPCInterface implements GuiYesNoCallb text = text.replace("\r\n", "\n"); text = text.replace("\r", "\n"); container.script = text; - - ScriptController.Instance.playerScripts.errored.clear(); } } diff --git a/src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java b/src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java index 20838f2dd..79dd8753c 100644 --- a/src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java +++ b/src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java @@ -9,6 +9,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import noppes.npcs.client.Client; import noppes.npcs.constants.EnumPacketServer; +import noppes.npcs.controllers.ScriptController; import noppes.npcs.controllers.data.PlayerDataScript; public class GuiScriptPlayers extends GuiScriptInterface { @@ -28,4 +29,9 @@ public class GuiScriptPlayers extends GuiScriptInterface { super.save(); Client.sendData(EnumPacketServer.ScriptPlayerSave, script.writeToNBT(new NBTTagCompound())); } + + public void close() { + super.close(); + ScriptController.Instance.playerScripts.errored.clear(); + } } diff --git a/src/main/java/noppes/npcs/constants/EnumPacketServer.java b/src/main/java/noppes/npcs/constants/EnumPacketServer.java index ea1d395c1..474094a0e 100644 --- a/src/main/java/noppes/npcs/constants/EnumPacketServer.java +++ b/src/main/java/noppes/npcs/constants/EnumPacketServer.java @@ -37,6 +37,9 @@ public enum EnumPacketServer { ScriptPlayerSave(CustomNpcsPermissions.TOOL_SCRIPTER, false), ScriptPlayerGet(false), + ScriptForgeSave(CustomNpcsPermissions.TOOL_SCRIPTER, false), + ScriptForgeGet(false), + LinkedGetAll, LinkedRemove(CustomNpcsPermissions.GLOBAL_LINKED), LinkedAdd(CustomNpcsPermissions.GLOBAL_LINKED), ScriptDataSave(CustomNpcsPermissions.TOOL_SCRIPTER, true), ScriptDataGet(true), PlayerDataRemove(CustomNpcsPermissions.GLOBAL_PLAYERDATA), diff --git a/src/main/java/noppes/npcs/constants/EnumScriptType.java b/src/main/java/noppes/npcs/constants/EnumScriptType.java index e7cc70457..10c242b09 100644 --- a/src/main/java/noppes/npcs/constants/EnumScriptType.java +++ b/src/main/java/noppes/npcs/constants/EnumScriptType.java @@ -64,7 +64,10 @@ public enum EnumScriptType { PLAYSOUND("playSound"), RESPAWN("respawn"), CHANGED_DIM("changedDim"), - BREAK("break"); + BREAK("break"), + FORGE_INIT("forgeInit"), + FORGE_ENTITY("forgeEntity"), + FORGE_WORLD("forgeWorld"); public String function; diff --git a/src/main/java/noppes/npcs/containers/ContainerNpcInterface.java b/src/main/java/noppes/npcs/containers/ContainerNpcInterface.java index 3ddf2d0d1..9996ec51f 100644 --- a/src/main/java/noppes/npcs/containers/ContainerNpcInterface.java +++ b/src/main/java/noppes/npcs/containers/ContainerNpcInterface.java @@ -2,9 +2,8 @@ package noppes.npcs.containers; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; import net.minecraft.util.MathHelper; -import noppes.npcs.scripted.IContainer; +import noppes.npcs.scripted.interfaces.IContainer; import noppes.npcs.scripted.ScriptContainer; public class ContainerNpcInterface extends Container{ diff --git a/src/main/java/noppes/npcs/controllers/ScriptController.java b/src/main/java/noppes/npcs/controllers/ScriptController.java index b426ac053..2d6a501db 100644 --- a/src/main/java/noppes/npcs/controllers/ScriptController.java +++ b/src/main/java/noppes/npcs/controllers/ScriptController.java @@ -31,13 +31,13 @@ import noppes.npcs.LogWriter; import noppes.npcs.controllers.data.ForgeDataScript; import noppes.npcs.controllers.data.PlayerDataScript; import noppes.npcs.entity.EntityNPCInterface; -import noppes.npcs.scripted.ScriptAnimal; -import noppes.npcs.scripted.ScriptEntity; -import noppes.npcs.scripted.ScriptLiving; -import noppes.npcs.scripted.ScriptLivingBase; -import noppes.npcs.scripted.ScriptMonster; -import noppes.npcs.scripted.ScriptPixelmon; -import noppes.npcs.scripted.ScriptPlayer; +import noppes.npcs.scripted.entity.ScriptAnimal; +import noppes.npcs.scripted.entity.ScriptEntity; +import noppes.npcs.scripted.entity.ScriptLiving; +import noppes.npcs.scripted.entity.ScriptLivingBase; +import noppes.npcs.scripted.entity.ScriptMonster; +import noppes.npcs.scripted.entity.ScriptPixelmon; +import noppes.npcs.scripted.entity.ScriptPlayer; import noppes.npcs.scripted.ScriptWorld; import noppes.npcs.util.JsonException; import noppes.npcs.util.NBTJsonUtil; diff --git a/src/main/java/noppes/npcs/controllers/ScriptEntityData.java b/src/main/java/noppes/npcs/controllers/ScriptEntityData.java index 3f283f1f7..08c4e152d 100644 --- a/src/main/java/noppes/npcs/controllers/ScriptEntityData.java +++ b/src/main/java/noppes/npcs/controllers/ScriptEntityData.java @@ -4,7 +4,7 @@ import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.common.IExtendedEntityProperties; -import noppes.npcs.scripted.ScriptEntity; +import noppes.npcs.scripted.entity.ScriptEntity; public class ScriptEntityData implements IExtendedEntityProperties{ public ScriptEntity base; diff --git a/src/main/java/noppes/npcs/controllers/data/ForgeDataScript.java b/src/main/java/noppes/npcs/controllers/data/ForgeDataScript.java index aafa32fa8..ddfc54063 100644 --- a/src/main/java/noppes/npcs/controllers/data/ForgeDataScript.java +++ b/src/main/java/noppes/npcs/controllers/data/ForgeDataScript.java @@ -14,7 +14,6 @@ import java.util.Map.Entry; import cpw.mods.fml.common.eventhandler.Event; import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import noppes.npcs.EventHooks; import noppes.npcs.EventScriptContainer; @@ -22,6 +21,7 @@ import noppes.npcs.NBTTags; import noppes.npcs.constants.EnumScriptType; import noppes.npcs.controllers.IScriptHandler; import noppes.npcs.controllers.ScriptController; +import noppes.npcs.scripted.wrapper.WrapperNpcAPI; import javax.script.ScriptEngine; @@ -51,40 +51,9 @@ public class ForgeDataScript implements IScriptHandler { return compound; } - public void callScript(EnumScriptType type, Event event, Object... obs) { - if(this.isEnabled()) { -// CustomNpcs.getServer().func_152344_a(() -> { - Minecraft.getMinecraft().func_152344_a(() -> { - if (ScriptController.Instance.lastLoaded > this.lastInited) { - this.lastInited = ScriptController.Instance.lastLoaded; - if (!type.equals(EnumScriptType.FORGE_INIT)) { - EventHooks.onForgeInit(this); - } - } - - Iterator var3 = this.scripts.iterator(); - - while (var3.hasNext()) { - EventScriptContainer script = (EventScriptContainer) var3.next(); - if(script.type != type.function) - continue; - - script.setEngine(scriptLanguage); - if(script.engine == null) - return; - for(int i = 0; i + 1 < obs.length; i += 2){ - Object ob = obs[i + 1]; - if(ob instanceof Entity) - ob = ScriptController.Instance.getScriptForEntity((Entity)ob); - script.engine.put(obs[i].toString(), ob); - } - ScriptEngine engine = script.engine; - - //script.run(EnumScriptType.valueOf(type), event); - script.run(engine); - } - }); - } + @Override + public void callScript(EnumScriptType var1, Event var2, Object... obs) { + callScript(var1.function, var2); } public void callScript(String type, Event event) { @@ -102,11 +71,19 @@ public class ForgeDataScript implements IScriptHandler { while (var3.hasNext()) { EventScriptContainer script = (EventScriptContainer) var3.next(); - //script.run(EnumScriptType.valueOf(type), event); + + if(!script.type.equals(type)) + continue; script.setEngine(scriptLanguage); if(script.engine == null) return; + + Event result = (Event) script.engine.get("event"); + if(result == null) + script.engine.put("event", event); + script.engine.put("API", new WrapperNpcAPI()); + ScriptEngine engine = script.engine; script.run(engine); diff --git a/src/main/java/noppes/npcs/controllers/data/PlayerDataScript.java b/src/main/java/noppes/npcs/controllers/data/PlayerDataScript.java index 31573661c..fb93ce3d2 100644 --- a/src/main/java/noppes/npcs/controllers/data/PlayerDataScript.java +++ b/src/main/java/noppes/npcs/controllers/data/PlayerDataScript.java @@ -20,15 +20,13 @@ import net.minecraft.world.WorldServer; import noppes.npcs.EventHooks; import noppes.npcs.EventScriptContainer; import noppes.npcs.NBTTags; -import noppes.npcs.scripted.ScriptPlayer; +import noppes.npcs.scripted.entity.ScriptPlayer; import noppes.npcs.constants.EnumScriptType; import noppes.npcs.controllers.IScriptHandler; import noppes.npcs.controllers.ScriptController; import noppes.npcs.scripted.ScriptWorld; -import noppes.npcs.scripted.constants.EntityType; -import noppes.npcs.scripted.constants.JobType; -import noppes.npcs.scripted.constants.RoleType; import noppes.npcs.scripted.event.PlayerEvent; +import noppes.npcs.scripted.wrapper.WrapperNpcAPI; import javax.annotation.CheckForNull; import javax.script.ScriptEngine; @@ -47,9 +45,6 @@ public class PlayerDataScript implements IScriptHandler { public ScriptPlayer dummyPlayer; public ScriptWorld dummyWorld; - private final static EntityType entities = new EntityType(); - private final static JobType jobs = new JobType(); - private final static RoleType roles = new RoleType(); public PlayerDataScript(EntityPlayer player) { if(player != null) { @@ -132,9 +127,7 @@ public class PlayerDataScript implements IScriptHandler { PlayerEvent result = (PlayerEvent) engine.get("event"); if(result == null) engine.put("event", result = new PlayerEvent(this.getPlayer())); - engine.put("EntityType", entities); - engine.put("RoleType", roles); - engine.put("JobType", jobs); + script.engine.put("API", new WrapperNpcAPI()); script.run(engine); if (script.errored) { diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index 7d69e39e5..825c31877 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -93,7 +93,12 @@ import noppes.npcs.roles.JobInterface; import noppes.npcs.roles.RoleCompanion; import noppes.npcs.roles.RoleFollower; import noppes.npcs.roles.RoleInterface; -import noppes.npcs.scripted.*; +import noppes.npcs.scripted.entity.ScriptNpc; +import noppes.npcs.scripted.event.ScriptEventAttack; +import noppes.npcs.scripted.event.ScriptEventDamaged; +import noppes.npcs.scripted.event.ScriptEventKilled; +import noppes.npcs.scripted.event.ScriptEventTarget; +import noppes.npcs.scripted.interfaces.ICustomNpc; import noppes.npcs.util.GameProfileAlt; import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData; diff --git a/src/main/java/noppes/npcs/entity/data/DataTimers.java b/src/main/java/noppes/npcs/entity/data/DataTimers.java index bdad6f419..843d38849 100644 --- a/src/main/java/noppes/npcs/entity/data/DataTimers.java +++ b/src/main/java/noppes/npcs/entity/data/DataTimers.java @@ -12,9 +12,8 @@ import java.util.Map; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import noppes.npcs.EventHooks; -import noppes.npcs.scripted.ITimers; +import noppes.npcs.scripted.interfaces.ITimers; import noppes.npcs.controllers.PlayerData; -import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.scripted.CustomNPCsException; public class DataTimers implements ITimers { diff --git a/src/main/java/noppes/npcs/scripted/NpcAPI.java b/src/main/java/noppes/npcs/scripted/NpcAPI.java index e43f1bed9..774ac105c 100644 --- a/src/main/java/noppes/npcs/scripted/NpcAPI.java +++ b/src/main/java/noppes/npcs/scripted/NpcAPI.java @@ -10,6 +10,7 @@ import java.io.File; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.EventBus; import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -18,6 +19,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; +import noppes.npcs.scripted.interfaces.*; public abstract class NpcAPI { private static NpcAPI instance = null; @@ -31,8 +33,12 @@ public abstract class NpcAPI { public abstract IEntity getIEntity(Entity var1); + public abstract IPlayer getIPlayer(EntityPlayerMP var1); + public abstract IBlock getIBlock(World var1, BlockPos var2); + public abstract IBlock getIBlock(World world, int x, int y, int z); + public abstract IContainer getIContainer(IInventory var1); public abstract IContainer getIContainer(Container var1); diff --git a/src/main/java/noppes/npcs/scripted/ScriptBlock.java b/src/main/java/noppes/npcs/scripted/ScriptBlock.java index 86893eb5d..69dd6d984 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptBlock.java +++ b/src/main/java/noppes/npcs/scripted/ScriptBlock.java @@ -7,7 +7,6 @@ package noppes.npcs.scripted; import java.util.Map; import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; import net.minecraft.inventory.IInventory; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -15,6 +14,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; +import noppes.npcs.scripted.interfaces.*; import noppes.npcs.util.LRUHashMap; public class ScriptBlock implements IBlock { diff --git a/src/main/java/noppes/npcs/scripted/ScriptBlockPos.java b/src/main/java/noppes/npcs/scripted/ScriptBlockPos.java index 3dcb87c1a..d8214e1c9 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptBlockPos.java +++ b/src/main/java/noppes/npcs/scripted/ScriptBlockPos.java @@ -7,6 +7,7 @@ package noppes.npcs.scripted; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; +import noppes.npcs.scripted.interfaces.IPos; public class ScriptBlockPos implements IPos { private BlockPos blockPos; diff --git a/src/main/java/noppes/npcs/scripted/ScriptContainer.java b/src/main/java/noppes/npcs/scripted/ScriptContainer.java index 722eeafea..34c733a87 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptContainer.java +++ b/src/main/java/noppes/npcs/scripted/ScriptContainer.java @@ -6,15 +6,12 @@ package noppes.npcs.scripted; import net.minecraft.block.Block; -import net.minecraft.block.BlockAir; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import noppes.npcs.NoppesUtilPlayer; -import noppes.npcs.scripted.CustomNPCsException; -import noppes.npcs.scripted.IContainer; -import noppes.npcs.scripted.NpcAPI; -import noppes.npcs.scripted.IItemStack; +import noppes.npcs.scripted.interfaces.IContainer; +import noppes.npcs.scripted.interfaces.IItemStack; public class ScriptContainer implements IContainer { private IInventory inventory; diff --git a/src/main/java/noppes/npcs/scripted/ScriptEntityParticle.java b/src/main/java/noppes/npcs/scripted/ScriptEntityParticle.java index 849faafce..19ab0e360 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEntityParticle.java +++ b/src/main/java/noppes/npcs/scripted/ScriptEntityParticle.java @@ -1,7 +1,7 @@ package noppes.npcs.scripted; -import net.minecraft.entity.Entity; import noppes.npcs.NoppesUtilServer; +import noppes.npcs.scripted.entity.ScriptEntity; /** * Created by luisc on 9/8/2021. diff --git a/src/main/java/noppes/npcs/scripted/ScriptEventDialog.java b/src/main/java/noppes/npcs/scripted/ScriptEventDialog.java deleted file mode 100644 index 861faa27e..000000000 --- a/src/main/java/noppes/npcs/scripted/ScriptEventDialog.java +++ /dev/null @@ -1,15 +0,0 @@ -package noppes.npcs.scripted; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.DamageSource; -import noppes.npcs.controllers.ScriptController; - -public class ScriptEventDialog extends ScriptEvent{ - - /** - * @deprecated - */ - public boolean isClosing(){ - return true; - } -} diff --git a/src/main/java/noppes/npcs/scripted/ScriptFaction.java b/src/main/java/noppes/npcs/scripted/ScriptFaction.java index 003c08dba..972ecaf2b 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptFaction.java +++ b/src/main/java/noppes/npcs/scripted/ScriptFaction.java @@ -1,6 +1,8 @@ package noppes.npcs.scripted; import noppes.npcs.controllers.Faction; +import noppes.npcs.scripted.entity.ScriptNpc; +import noppes.npcs.scripted.entity.ScriptPlayer; public class ScriptFaction { private Faction faction; diff --git a/src/main/java/noppes/npcs/scripted/ScriptItemStack.java b/src/main/java/noppes/npcs/scripted/ScriptItemStack.java index ba0d1030e..97567e857 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptItemStack.java +++ b/src/main/java/noppes/npcs/scripted/ScriptItemStack.java @@ -13,9 +13,11 @@ import net.minecraft.nbt.NBTBase.NBTPrimitive; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; +import noppes.npcs.scripted.interfaces.IItemStack; +import noppes.npcs.scripted.interfaces.INbt; public class ScriptItemStack implements IItemStack { - protected ItemStack item; + public ItemStack item; public ScriptItemStack(ItemStack item){ this.item = item; diff --git a/src/main/java/noppes/npcs/scripted/ScriptNbt.java b/src/main/java/noppes/npcs/scripted/ScriptNbt.java index 25816f90f..968ea698d 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptNbt.java +++ b/src/main/java/noppes/npcs/scripted/ScriptNbt.java @@ -14,6 +14,7 @@ import net.minecraft.nbt.NBTTagInt; import net.minecraft.nbt.NBTTagIntArray; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; +import noppes.npcs.scripted.interfaces.INbt; import noppes.npcs.util.NBTJsonUtil; public class ScriptNbt implements INbt { diff --git a/src/main/java/noppes/npcs/scripted/ScriptPixelmonPlayerData.java b/src/main/java/noppes/npcs/scripted/ScriptPixelmonPlayerData.java index e44476362..1efd16256 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptPixelmonPlayerData.java +++ b/src/main/java/noppes/npcs/scripted/ScriptPixelmonPlayerData.java @@ -4,6 +4,7 @@ import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import noppes.npcs.controllers.PixelmonHelper; +import noppes.npcs.scripted.entity.ScriptPixelmon; public class ScriptPixelmonPlayerData { private EntityPlayerMP player; diff --git a/src/main/java/noppes/npcs/scripted/ScriptWorld.java b/src/main/java/noppes/npcs/scripted/ScriptWorld.java index 82f354fce..60d1390a0 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptWorld.java +++ b/src/main/java/noppes/npcs/scripted/ScriptWorld.java @@ -23,11 +23,14 @@ import net.minecraft.world.World; import net.minecraft.world.WorldServer; import noppes.npcs.NoppesUtilServer; import noppes.npcs.blocks.tiles.TileBigSign; -import noppes.npcs.blocks.tiles.TileSign; import noppes.npcs.controllers.ScriptController; import noppes.npcs.controllers.ServerCloneController; +import noppes.npcs.scripted.entity.ScriptEntity; +import noppes.npcs.scripted.entity.ScriptPlayer; +import noppes.npcs.scripted.interfaces.IBlock; +import noppes.npcs.scripted.interfaces.IWorld; -public class ScriptWorld implements IWorld{ +public class ScriptWorld implements IWorld { private static Map tempData = new HashMap(); public WorldServer world; public ScriptWorld(WorldServer world){ diff --git a/src/main/java/noppes/npcs/scripted/ScriptAnimal.java b/src/main/java/noppes/npcs/scripted/entity/ScriptAnimal.java similarity index 83% rename from src/main/java/noppes/npcs/scripted/ScriptAnimal.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptAnimal.java index 585fd777a..e1217aedb 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptAnimal.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptAnimal.java @@ -1,7 +1,8 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; import net.minecraft.entity.passive.EntityAnimal; import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.interfaces.IAnimal; public class ScriptAnimal extends ScriptLiving implements IAnimal { diff --git a/src/main/java/noppes/npcs/scripted/ScriptEntity.java b/src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java similarity index 97% rename from src/main/java/noppes/npcs/scripted/ScriptEntity.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java index bba2fa4af..ac8fd300e 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEntity.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java @@ -1,4 +1,4 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; import java.util.ArrayList; import java.util.HashMap; @@ -6,7 +6,6 @@ import java.util.List; import java.util.Map; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; @@ -19,16 +18,17 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagString; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; import noppes.npcs.NoppesUtilServer; -import noppes.npcs.Server; -import noppes.npcs.constants.EnumPacketClient; import noppes.npcs.controllers.ScriptController; import noppes.npcs.entity.EntityNPCInterface; +import noppes.npcs.scripted.NpcAPI; +import noppes.npcs.scripted.ScriptEntityParticle; +import noppes.npcs.scripted.ScriptItemStack; import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.interfaces.IEntity; +import noppes.npcs.scripted.interfaces.INbt; -public class ScriptEntity implements IEntity{ +public class ScriptEntity implements IEntity { protected T entity; private Map tempData = new HashMap(); diff --git a/src/main/java/noppes/npcs/scripted/ScriptLiving.java b/src/main/java/noppes/npcs/scripted/entity/ScriptLiving.java similarity index 87% rename from src/main/java/noppes/npcs/scripted/ScriptLiving.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptLiving.java index 8abbfd8ee..9b06e5625 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptLiving.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptLiving.java @@ -1,12 +1,8 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; -import net.minecraft.entity.NPCEntityHelper; import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; import noppes.npcs.controllers.ScriptController; -import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.interfaces.IEntityLiving; public class ScriptLiving extends ScriptLivingBase implements IEntityLiving { diff --git a/src/main/java/noppes/npcs/scripted/ScriptLivingBase.java b/src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java similarity index 88% rename from src/main/java/noppes/npcs/scripted/ScriptLivingBase.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java index ace51679e..9a1a23cb2 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptLivingBase.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java @@ -1,27 +1,15 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTBase.NBTPrimitive; -import net.minecraft.nbt.NBTTagString; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.MathHelper; import noppes.npcs.controllers.ScriptController; +import noppes.npcs.scripted.ScriptItemStack; import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.interfaces.IEntityLivingBase; -public class ScriptLivingBase extends ScriptEntity implements IEntityLivingBase{ +public class ScriptLivingBase extends ScriptEntity implements IEntityLivingBase { protected T entity; public ScriptLivingBase(T entity){ diff --git a/src/main/java/noppes/npcs/scripted/ScriptMonster.java b/src/main/java/noppes/npcs/scripted/entity/ScriptMonster.java similarity index 83% rename from src/main/java/noppes/npcs/scripted/ScriptMonster.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptMonster.java index 60cccd200..8e7afdd8e 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptMonster.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptMonster.java @@ -1,8 +1,8 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; -import net.minecraft.entity.EntityLiving; import net.minecraft.entity.monster.EntityMob; import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.interfaces.IMonster; public class ScriptMonster extends ScriptLiving implements IMonster { diff --git a/src/main/java/noppes/npcs/scripted/ScriptNpc.java b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java similarity index 98% rename from src/main/java/noppes/npcs/scripted/ScriptNpc.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java index 073c1af98..01b96a2b3 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptNpc.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java @@ -1,9 +1,6 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; import noppes.npcs.NoppesUtilServer; import noppes.npcs.constants.EnumAnimation; import noppes.npcs.constants.EnumJobType; @@ -11,9 +8,11 @@ import noppes.npcs.constants.EnumRoleType; import noppes.npcs.controllers.Line; import noppes.npcs.entity.EntityCustomNpc; import noppes.npcs.entity.EntityNPCInterface; -import noppes.npcs.roles.JobBard; +import noppes.npcs.scripted.ScriptFaction; +import noppes.npcs.scripted.ScriptItemStack; import noppes.npcs.scripted.constants.AnimationType; import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.interfaces.ICustomNpc; import noppes.npcs.scripted.roles.ScriptJobBard; import noppes.npcs.scripted.roles.ScriptJobConversation; import noppes.npcs.scripted.roles.ScriptJobFollower; diff --git a/src/main/java/noppes/npcs/scripted/ScriptPixelmon.java b/src/main/java/noppes/npcs/scripted/entity/ScriptPixelmon.java similarity index 98% rename from src/main/java/noppes/npcs/scripted/ScriptPixelmon.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptPixelmon.java index 57400dfcb..727ca20e8 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptPixelmon.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptPixelmon.java @@ -1,9 +1,9 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; -import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.passive.EntityTameable; import net.minecraft.nbt.NBTTagCompound; import noppes.npcs.controllers.PixelmonHelper; +import noppes.npcs.scripted.interfaces.IPixelmon; import noppes.npcs.util.ValueUtil; public class ScriptPixelmon extends ScriptAnimal implements IPixelmon { diff --git a/src/main/java/noppes/npcs/scripted/ScriptPlayer.java b/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java similarity index 98% rename from src/main/java/noppes/npcs/scripted/ScriptPlayer.java rename to src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java index 21084924b..47e8925ce 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptPlayer.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java @@ -1,4 +1,4 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; @@ -22,7 +22,10 @@ import noppes.npcs.controllers.PlayerQuestData; import noppes.npcs.controllers.Quest; import noppes.npcs.controllers.QuestController; import noppes.npcs.controllers.QuestData; +import noppes.npcs.scripted.ScriptItemStack; +import noppes.npcs.scripted.ScriptPixelmonPlayerData; import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.interfaces.IPlayer; import noppes.npcs.util.ValueUtil; public class ScriptPlayer extends ScriptLivingBase implements IPlayer { diff --git a/src/main/java/noppes/npcs/scripted/event/ForgeEvent.java b/src/main/java/noppes/npcs/scripted/event/ForgeEvent.java index d858a7b56..29c03b5a8 100644 --- a/src/main/java/noppes/npcs/scripted/event/ForgeEvent.java +++ b/src/main/java/noppes/npcs/scripted/event/ForgeEvent.java @@ -7,8 +7,8 @@ package noppes.npcs.scripted.event; import cpw.mods.fml.common.eventhandler.Cancelable; import cpw.mods.fml.common.eventhandler.Event; -import noppes.npcs.scripted.IWorld; -import noppes.npcs.scripted.IEntity; +import noppes.npcs.scripted.interfaces.IWorld; +import noppes.npcs.scripted.interfaces.IEntity; @Cancelable public class ForgeEvent extends CustomNPCsEvent { diff --git a/src/main/java/noppes/npcs/scripted/event/PlayerEvent.java b/src/main/java/noppes/npcs/scripted/event/PlayerEvent.java index 898738bef..4c14e8bf2 100644 --- a/src/main/java/noppes/npcs/scripted/event/PlayerEvent.java +++ b/src/main/java/noppes/npcs/scripted/event/PlayerEvent.java @@ -6,13 +6,15 @@ package noppes.npcs.scripted.event; import cpw.mods.fml.common.eventhandler.Cancelable; -import cpw.mods.fml.common.eventhandler.Event; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityXPOrb; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import noppes.npcs.scripted.*; +import noppes.npcs.scripted.entity.ScriptLivingBase; +import noppes.npcs.scripted.entity.ScriptPlayer; +import noppes.npcs.scripted.interfaces.*; public class PlayerEvent extends CustomNPCsEvent { public final IPlayer player; diff --git a/src/main/java/noppes/npcs/scripted/ScriptEvent.java b/src/main/java/noppes/npcs/scripted/event/ScriptEvent.java similarity index 84% rename from src/main/java/noppes/npcs/scripted/ScriptEvent.java rename to src/main/java/noppes/npcs/scripted/event/ScriptEvent.java index fc5ccc9a1..5a5a8cbfd 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEvent.java +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEvent.java @@ -1,4 +1,4 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.event; public class ScriptEvent{ diff --git a/src/main/java/noppes/npcs/scripted/ScriptEventAttack.java b/src/main/java/noppes/npcs/scripted/event/ScriptEventAttack.java similarity index 90% rename from src/main/java/noppes/npcs/scripted/ScriptEventAttack.java rename to src/main/java/noppes/npcs/scripted/event/ScriptEventAttack.java index 218b6e681..5b37517a4 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEventAttack.java +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEventAttack.java @@ -1,8 +1,8 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.event; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.DamageSource; import noppes.npcs.controllers.ScriptController; +import noppes.npcs.scripted.entity.ScriptLivingBase; public class ScriptEventAttack extends ScriptEvent{ diff --git a/src/main/java/noppes/npcs/scripted/ScriptEventDamaged.java b/src/main/java/noppes/npcs/scripted/event/ScriptEventDamaged.java similarity index 92% rename from src/main/java/noppes/npcs/scripted/ScriptEventDamaged.java rename to src/main/java/noppes/npcs/scripted/event/ScriptEventDamaged.java index 27cf4a26f..8a21666e5 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEventDamaged.java +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEventDamaged.java @@ -1,8 +1,9 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.event; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.DamageSource; import noppes.npcs.controllers.ScriptController; +import noppes.npcs.scripted.entity.ScriptLivingBase; public class ScriptEventDamaged extends ScriptEvent{ diff --git a/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java b/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java new file mode 100644 index 000000000..af4e300ad --- /dev/null +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java @@ -0,0 +1,11 @@ +package noppes.npcs.scripted.event; + +public class ScriptEventDialog extends ScriptEvent{ + + /** + * @deprecated + */ + public boolean isClosing(){ + return true; + } +} diff --git a/src/main/java/noppes/npcs/scripted/ScriptEventKilled.java b/src/main/java/noppes/npcs/scripted/event/ScriptEventKilled.java similarity index 88% rename from src/main/java/noppes/npcs/scripted/ScriptEventKilled.java rename to src/main/java/noppes/npcs/scripted/event/ScriptEventKilled.java index 37c7e202f..606002a34 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEventKilled.java +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEventKilled.java @@ -1,8 +1,9 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.event; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.DamageSource; import noppes.npcs.controllers.ScriptController; +import noppes.npcs.scripted.entity.ScriptLivingBase; public class ScriptEventKilled extends ScriptEvent{ diff --git a/src/main/java/noppes/npcs/scripted/ScriptEventTarget.java b/src/main/java/noppes/npcs/scripted/event/ScriptEventTarget.java similarity index 85% rename from src/main/java/noppes/npcs/scripted/ScriptEventTarget.java rename to src/main/java/noppes/npcs/scripted/event/ScriptEventTarget.java index 9fa1f28d3..c5aef813c 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEventTarget.java +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEventTarget.java @@ -1,8 +1,8 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.event; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.DamageSource; import noppes.npcs.controllers.ScriptController; +import noppes.npcs.scripted.entity.ScriptLivingBase; public class ScriptEventTarget extends ScriptEvent{ diff --git a/src/main/java/noppes/npcs/scripted/IAnimal.java b/src/main/java/noppes/npcs/scripted/interfaces/IAnimal.java similarity index 85% rename from src/main/java/noppes/npcs/scripted/IAnimal.java rename to src/main/java/noppes/npcs/scripted/interfaces/IAnimal.java index c5f8ade49..4bf435547 100644 --- a/src/main/java/noppes/npcs/scripted/IAnimal.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IAnimal.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.entity.passive.EntityAnimal; diff --git a/src/main/java/noppes/npcs/scripted/IBlock.java b/src/main/java/noppes/npcs/scripted/interfaces/IBlock.java similarity index 93% rename from src/main/java/noppes/npcs/scripted/IBlock.java rename to src/main/java/noppes/npcs/scripted/interfaces/IBlock.java index 9b1ce2f8a..bb84849df 100644 --- a/src/main/java/noppes/npcs/scripted/IBlock.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IBlock.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/noppes/npcs/scripted/IContainer.java b/src/main/java/noppes/npcs/scripted/interfaces/IContainer.java similarity index 92% rename from src/main/java/noppes/npcs/scripted/IContainer.java rename to src/main/java/noppes/npcs/scripted/interfaces/IContainer.java index 1d0862d7a..915980288 100644 --- a/src/main/java/noppes/npcs/scripted/IContainer.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IContainer.java @@ -3,7 +3,7 @@ // (powered by FernFlower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; diff --git a/src/main/java/noppes/npcs/scripted/ICustomNpc.java b/src/main/java/noppes/npcs/scripted/interfaces/ICustomNpc.java similarity index 95% rename from src/main/java/noppes/npcs/scripted/ICustomNpc.java rename to src/main/java/noppes/npcs/scripted/interfaces/ICustomNpc.java index 43f3b15d4..a384a6379 100644 --- a/src/main/java/noppes/npcs/scripted/ICustomNpc.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/ICustomNpc.java @@ -3,20 +3,14 @@ // (powered by FernFlower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.entity.EntityCreature; -import net.minecraft.item.ItemStack; -import noppes.npcs.NoppesUtilServer; -import noppes.npcs.constants.EnumAnimation; -import noppes.npcs.constants.EnumJobType; -import noppes.npcs.constants.EnumRoleType; -import noppes.npcs.controllers.Line; -import noppes.npcs.scripted.IItemStack; -import noppes.npcs.scripted.constants.AnimationType; -import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.ScriptFaction; +import noppes.npcs.scripted.ScriptItemStack; +import noppes.npcs.scripted.entity.ScriptLivingBase; +import noppes.npcs.scripted.entity.ScriptPlayer; import noppes.npcs.scripted.roles.*; -import noppes.npcs.util.ValueUtil; public interface ICustomNpc extends IEntityLiving { /** diff --git a/src/main/java/noppes/npcs/scripted/IDamageSource.java b/src/main/java/noppes/npcs/scripted/interfaces/IDamageSource.java similarity index 89% rename from src/main/java/noppes/npcs/scripted/IDamageSource.java rename to src/main/java/noppes/npcs/scripted/interfaces/IDamageSource.java index 2d7ab3e4a..8d7dd5caa 100644 --- a/src/main/java/noppes/npcs/scripted/IDamageSource.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IDamageSource.java @@ -3,7 +3,7 @@ // (powered by FernFlower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.util.DamageSource; diff --git a/src/main/java/noppes/npcs/scripted/IEntity.java b/src/main/java/noppes/npcs/scripted/interfaces/IEntity.java similarity index 89% rename from src/main/java/noppes/npcs/scripted/IEntity.java rename to src/main/java/noppes/npcs/scripted/interfaces/IEntity.java index 39926aac2..4478e69bc 100644 --- a/src/main/java/noppes/npcs/scripted/IEntity.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IEntity.java @@ -3,34 +3,11 @@ // (powered by FernFlower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; -import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagString; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import noppes.npcs.NoppesUtilServer; -import noppes.npcs.scripted.IWorld; -import noppes.npcs.scripted.IItemStack; -import noppes.npcs.controllers.ScriptController; -import noppes.npcs.entity.EntityNPCInterface; -import noppes.npcs.scripted.ScriptEntity; -import noppes.npcs.scripted.ScriptEntityParticle; +import noppes.npcs.scripted.entity.ScriptEntity; import noppes.npcs.scripted.ScriptItemStack; -import noppes.npcs.scripted.constants.EntityType; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; public interface IEntity { /** diff --git a/src/main/java/noppes/npcs/scripted/IEntityLiving.java b/src/main/java/noppes/npcs/scripted/interfaces/IEntityLiving.java similarity index 90% rename from src/main/java/noppes/npcs/scripted/IEntityLiving.java rename to src/main/java/noppes/npcs/scripted/interfaces/IEntityLiving.java index cc321c196..4fda07e84 100644 --- a/src/main/java/noppes/npcs/scripted/IEntityLiving.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IEntityLiving.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.entity.EntityLiving; diff --git a/src/main/java/noppes/npcs/scripted/IEntityLivingBase.java b/src/main/java/noppes/npcs/scripted/interfaces/IEntityLivingBase.java similarity index 92% rename from src/main/java/noppes/npcs/scripted/IEntityLivingBase.java rename to src/main/java/noppes/npcs/scripted/interfaces/IEntityLivingBase.java index 14a4dec97..1fc2b472d 100644 --- a/src/main/java/noppes/npcs/scripted/IEntityLivingBase.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IEntityLivingBase.java @@ -1,11 +1,9 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import noppes.npcs.controllers.ScriptController; -import noppes.npcs.scripted.constants.EntityType; +import noppes.npcs.scripted.entity.ScriptEntity; +import noppes.npcs.scripted.ScriptItemStack; +import noppes.npcs.scripted.entity.ScriptLivingBase; public interface IEntityLivingBase extends IEntity { /** diff --git a/src/main/java/noppes/npcs/scripted/IItemStack.java b/src/main/java/noppes/npcs/scripted/interfaces/IItemStack.java similarity index 88% rename from src/main/java/noppes/npcs/scripted/IItemStack.java rename to src/main/java/noppes/npcs/scripted/interfaces/IItemStack.java index 57daa5e0f..afd04e263 100644 --- a/src/main/java/noppes/npcs/scripted/IItemStack.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IItemStack.java @@ -1,17 +1,6 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.nbt.NBTTagString; - -import java.util.ArrayList; -import java.util.List; public interface IItemStack { public String getName(); diff --git a/src/main/java/noppes/npcs/scripted/IMonster.java b/src/main/java/noppes/npcs/scripted/interfaces/IMonster.java similarity index 84% rename from src/main/java/noppes/npcs/scripted/IMonster.java rename to src/main/java/noppes/npcs/scripted/interfaces/IMonster.java index 2da043c5c..99baf9350 100644 --- a/src/main/java/noppes/npcs/scripted/IMonster.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IMonster.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.entity.monster.EntityMob; diff --git a/src/main/java/noppes/npcs/scripted/INbt.java b/src/main/java/noppes/npcs/scripted/interfaces/INbt.java similarity index 97% rename from src/main/java/noppes/npcs/scripted/INbt.java rename to src/main/java/noppes/npcs/scripted/interfaces/INbt.java index 5ac4ddc95..0ff2b9f77 100644 --- a/src/main/java/noppes/npcs/scripted/INbt.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/INbt.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.nbt.NBTTagCompound; diff --git a/src/main/java/noppes/npcs/scripted/IPixelmon.java b/src/main/java/noppes/npcs/scripted/interfaces/IPixelmon.java similarity index 85% rename from src/main/java/noppes/npcs/scripted/IPixelmon.java rename to src/main/java/noppes/npcs/scripted/interfaces/IPixelmon.java index 7458347b3..b744ac4cc 100644 --- a/src/main/java/noppes/npcs/scripted/IPixelmon.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IPixelmon.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.entity.passive.EntityTameable; diff --git a/src/main/java/noppes/npcs/scripted/IPlayer.java b/src/main/java/noppes/npcs/scripted/interfaces/IPlayer.java similarity index 87% rename from src/main/java/noppes/npcs/scripted/IPlayer.java rename to src/main/java/noppes/npcs/scripted/interfaces/IPlayer.java index 60e454082..495ecbb1a 100644 --- a/src/main/java/noppes/npcs/scripted/IPlayer.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IPlayer.java @@ -1,22 +1,8 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.Achievement; -import net.minecraft.stats.StatBase; -import net.minecraft.stats.StatList; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.world.WorldSettings; -import noppes.npcs.CustomNpcsPermissions; -import noppes.npcs.NoppesStringUtils; -import noppes.npcs.NoppesUtilPlayer; -import noppes.npcs.Server; -import noppes.npcs.constants.EnumPacketClient; -import noppes.npcs.controllers.*; -import noppes.npcs.scripted.constants.EntityType; -import noppes.npcs.util.ValueUtil; +import noppes.npcs.scripted.ScriptItemStack; +import noppes.npcs.scripted.ScriptPixelmonPlayerData; public interface IPlayer extends IEntityLivingBase { /** diff --git a/src/main/java/noppes/npcs/scripted/IPos.java b/src/main/java/noppes/npcs/scripted/interfaces/IPos.java similarity index 95% rename from src/main/java/noppes/npcs/scripted/IPos.java rename to src/main/java/noppes/npcs/scripted/interfaces/IPos.java index 581a62d8d..3743f60aa 100644 --- a/src/main/java/noppes/npcs/scripted/IPos.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IPos.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/noppes/npcs/scripted/ITimers.java b/src/main/java/noppes/npcs/scripted/interfaces/ITimers.java similarity index 89% rename from src/main/java/noppes/npcs/scripted/ITimers.java rename to src/main/java/noppes/npcs/scripted/interfaces/ITimers.java index 24d1de2fe..c01509e34 100644 --- a/src/main/java/noppes/npcs/scripted/ITimers.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/ITimers.java @@ -3,7 +3,7 @@ // (powered by Fernflower decompiler) // -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; public interface ITimers { void start(int var1, int var2, boolean var3); diff --git a/src/main/java/noppes/npcs/scripted/IWorld.java b/src/main/java/noppes/npcs/scripted/interfaces/IWorld.java similarity index 87% rename from src/main/java/noppes/npcs/scripted/IWorld.java rename to src/main/java/noppes/npcs/scripted/interfaces/IWorld.java index 1be45c61e..1f9e1c0c9 100644 --- a/src/main/java/noppes/npcs/scripted/IWorld.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IWorld.java @@ -1,29 +1,10 @@ -package noppes.npcs.scripted; +package noppes.npcs.scripted.interfaces; -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagString; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntitySign; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.WorldServer; -import noppes.npcs.NoppesUtilServer; -import noppes.npcs.blocks.tiles.TileBigSign; -import noppes.npcs.controllers.ScriptController; -import noppes.npcs.controllers.ServerCloneController; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import noppes.npcs.scripted.*; +import noppes.npcs.scripted.entity.ScriptEntity; +import noppes.npcs.scripted.entity.ScriptPlayer; public interface IWorld { /** diff --git a/src/main/java/noppes/npcs/scripted/roles/ScriptJobConversation.java b/src/main/java/noppes/npcs/scripted/roles/ScriptJobConversation.java index 45d403e34..5f92c6d92 100644 --- a/src/main/java/noppes/npcs/scripted/roles/ScriptJobConversation.java +++ b/src/main/java/noppes/npcs/scripted/roles/ScriptJobConversation.java @@ -2,10 +2,6 @@ package noppes.npcs.scripted.roles; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.roles.JobConversation; -import noppes.npcs.roles.JobGuard; -import noppes.npcs.roles.JobItemGiver; -import noppes.npcs.scripted.ScriptItemStack; -import noppes.npcs.scripted.ScriptPlayer; import noppes.npcs.scripted.constants.JobType; public class ScriptJobConversation extends ScriptJobInterface{ diff --git a/src/main/java/noppes/npcs/scripted/roles/ScriptJobFollower.java b/src/main/java/noppes/npcs/scripted/roles/ScriptJobFollower.java index f12e9cb88..c2ddd5d82 100644 --- a/src/main/java/noppes/npcs/scripted/roles/ScriptJobFollower.java +++ b/src/main/java/noppes/npcs/scripted/roles/ScriptJobFollower.java @@ -2,8 +2,7 @@ package noppes.npcs.scripted.roles; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.roles.JobFollower; -import noppes.npcs.roles.JobGuard; -import noppes.npcs.scripted.ScriptNpc; +import noppes.npcs.scripted.entity.ScriptNpc; import noppes.npcs.scripted.constants.JobType; public class ScriptJobFollower extends ScriptJobInterface{ diff --git a/src/main/java/noppes/npcs/scripted/roles/ScriptJobHealer.java b/src/main/java/noppes/npcs/scripted/roles/ScriptJobHealer.java index 13bceb0f5..52bcaefc9 100644 --- a/src/main/java/noppes/npcs/scripted/roles/ScriptJobHealer.java +++ b/src/main/java/noppes/npcs/scripted/roles/ScriptJobHealer.java @@ -2,7 +2,7 @@ package noppes.npcs.scripted.roles; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.roles.JobHealer; -import noppes.npcs.scripted.ScriptLivingBase; +import noppes.npcs.scripted.entity.ScriptLivingBase; import noppes.npcs.scripted.constants.JobType; public class ScriptJobHealer extends ScriptJobInterface{ diff --git a/src/main/java/noppes/npcs/scripted/roles/ScriptJobItemGiver.java b/src/main/java/noppes/npcs/scripted/roles/ScriptJobItemGiver.java index e2d81c5c2..046f89dac 100644 --- a/src/main/java/noppes/npcs/scripted/roles/ScriptJobItemGiver.java +++ b/src/main/java/noppes/npcs/scripted/roles/ScriptJobItemGiver.java @@ -1,10 +1,7 @@ package noppes.npcs.scripted.roles; import noppes.npcs.entity.EntityNPCInterface; -import noppes.npcs.roles.JobGuard; import noppes.npcs.roles.JobItemGiver; -import noppes.npcs.scripted.ScriptItemStack; -import noppes.npcs.scripted.ScriptPlayer; import noppes.npcs.scripted.constants.JobType; public class ScriptJobItemGiver extends ScriptJobInterface{ diff --git a/src/main/java/noppes/npcs/scripted/roles/ScriptJobPuppet.java b/src/main/java/noppes/npcs/scripted/roles/ScriptJobPuppet.java index 7177de312..20b12965f 100644 --- a/src/main/java/noppes/npcs/scripted/roles/ScriptJobPuppet.java +++ b/src/main/java/noppes/npcs/scripted/roles/ScriptJobPuppet.java @@ -1,11 +1,7 @@ package noppes.npcs.scripted.roles; -import noppes.npcs.controllers.ScriptController; import noppes.npcs.entity.EntityNPCInterface; -import noppes.npcs.roles.JobGuard; -import noppes.npcs.roles.JobHealer; import noppes.npcs.roles.JobPuppet; -import noppes.npcs.scripted.ScriptLivingBase; import noppes.npcs.scripted.constants.JobType; public class ScriptJobPuppet extends ScriptJobInterface{ diff --git a/src/main/java/noppes/npcs/scripted/roles/ScriptJobSpawner.java b/src/main/java/noppes/npcs/scripted/roles/ScriptJobSpawner.java index 178afc911..cf9529be8 100644 --- a/src/main/java/noppes/npcs/scripted/roles/ScriptJobSpawner.java +++ b/src/main/java/noppes/npcs/scripted/roles/ScriptJobSpawner.java @@ -1,18 +1,12 @@ package noppes.npcs.scripted.roles; import java.util.ArrayList; -import java.util.Iterator; import net.minecraft.entity.EntityLivingBase; -import noppes.npcs.controllers.ScriptContainer; import noppes.npcs.controllers.ScriptController; import noppes.npcs.entity.EntityNPCInterface; -import noppes.npcs.roles.JobGuard; -import noppes.npcs.roles.JobItemGiver; import noppes.npcs.roles.JobSpawner; -import noppes.npcs.scripted.ScriptItemStack; -import noppes.npcs.scripted.ScriptLivingBase; -import noppes.npcs.scripted.ScriptPlayer; +import noppes.npcs.scripted.entity.ScriptLivingBase; import noppes.npcs.scripted.constants.JobType; public class ScriptJobSpawner extends ScriptJobInterface{ diff --git a/src/main/java/noppes/npcs/scripted/roles/ScriptRoleFollower.java b/src/main/java/noppes/npcs/scripted/roles/ScriptRoleFollower.java index fa105d022..d10bd8dad 100644 --- a/src/main/java/noppes/npcs/scripted/roles/ScriptRoleFollower.java +++ b/src/main/java/noppes/npcs/scripted/roles/ScriptRoleFollower.java @@ -4,7 +4,7 @@ import net.minecraft.entity.player.EntityPlayer; import noppes.npcs.controllers.ScriptController; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.roles.RoleFollower; -import noppes.npcs.scripted.ScriptPlayer; +import noppes.npcs.scripted.entity.ScriptPlayer; import noppes.npcs.scripted.constants.RoleType; public class ScriptRoleFollower extends ScriptRoleInterface{ diff --git a/src/main/java/noppes/npcs/scripted/wrapper/ScriptDamageSource.java b/src/main/java/noppes/npcs/scripted/wrapper/ScriptDamageSource.java index 94b5aef7a..32aecda6c 100644 --- a/src/main/java/noppes/npcs/scripted/wrapper/ScriptDamageSource.java +++ b/src/main/java/noppes/npcs/scripted/wrapper/ScriptDamageSource.java @@ -6,9 +6,9 @@ package noppes.npcs.scripted.wrapper; import net.minecraft.util.DamageSource; -import noppes.npcs.scripted.IDamageSource; +import noppes.npcs.scripted.interfaces.IDamageSource; import noppes.npcs.scripted.NpcAPI; -import noppes.npcs.scripted.IEntity; +import noppes.npcs.scripted.interfaces.IEntity; public class ScriptDamageSource implements IDamageSource { private DamageSource source; diff --git a/src/main/java/noppes/npcs/scripted/wrapper/WrapperEntityData.java b/src/main/java/noppes/npcs/scripted/wrapper/WrapperEntityData.java index 201867d80..641e211e2 100644 --- a/src/main/java/noppes/npcs/scripted/wrapper/WrapperEntityData.java +++ b/src/main/java/noppes/npcs/scripted/wrapper/WrapperEntityData.java @@ -8,20 +8,14 @@ package noppes.npcs.scripted.wrapper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.passive.EntityTameable; -import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; -import noppes.npcs.LogWriter; -import noppes.npcs.scripted.*; import noppes.npcs.controllers.PixelmonHelper; -import noppes.npcs.entity.EntityProjectile; +import noppes.npcs.scripted.entity.*; +import noppes.npcs.scripted.interfaces.IEntity; public class WrapperEntityData{ public IEntity base; diff --git a/src/main/java/noppes/npcs/scripted/wrapper/WrapperNpcAPI.java b/src/main/java/noppes/npcs/scripted/wrapper/WrapperNpcAPI.java index 7af89455a..95501992b 100644 --- a/src/main/java/noppes/npcs/scripted/wrapper/WrapperNpcAPI.java +++ b/src/main/java/noppes/npcs/scripted/wrapper/WrapperNpcAPI.java @@ -9,17 +9,15 @@ import java.io.File; import java.util.Map; import cpw.mods.fml.common.eventhandler.EventBus; -import net.minecraft.block.Block; -import net.minecraft.block.BlockAir; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; @@ -28,16 +26,11 @@ import noppes.npcs.CustomNpcs; import noppes.npcs.NoppesUtilServer; import noppes.npcs.scripted.*; import noppes.npcs.containers.ContainerNpcInterface; -import noppes.npcs.controllers.DialogController; -import noppes.npcs.controllers.FactionController; -import noppes.npcs.controllers.QuestController; -import noppes.npcs.controllers.RecipeController; -import noppes.npcs.controllers.ServerCloneController; import noppes.npcs.entity.EntityCustomNpc; import noppes.npcs.entity.EntityNPCInterface; +import noppes.npcs.scripted.entity.ScriptPlayer; +import noppes.npcs.scripted.interfaces.*; import noppes.npcs.util.LRUHashMap; -import noppes.npcs.util.NBTJsonUtil; -import noppes.npcs.util.JsonException; public class WrapperNpcAPI extends NpcAPI { private static final Map worldCache = new LRUHashMap(10); @@ -59,10 +52,22 @@ public class WrapperNpcAPI extends NpcAPI { } } + public IPlayer getIPlayer(EntityPlayerMP player) { + if (player != null && !player.worldObj.isRemote) { + return new ScriptPlayer(player); + } else { + return null; + } + } + public IBlock getIBlock(World world, BlockPos pos) { return new ScriptBlock(world, world.getBlock(pos.getX(),pos.getY(),pos.getZ()), pos); } + public IBlock getIBlock(World world, int x, int y, int z) { + return new ScriptBlock(world, world.getBlock(x, y, z), new BlockPos(x,y,z)); + } + public INbt getINbt(NBTTagCompound compound) { return compound == null?new ScriptNbt(new NBTTagCompound()):new ScriptNbt(compound); } diff --git a/src/main/resources/assets/customnpcs/lang/en_US.lang b/src/main/resources/assets/customnpcs/lang/en_US.lang index 34ff82e6a..cd66b129d 100644 --- a/src/main/resources/assets/customnpcs/lang/en_US.lang +++ b/src/main/resources/assets/customnpcs/lang/en_US.lang @@ -497,6 +497,8 @@ playerscript.fall=Fall playerscript.respawn=Respawn playerscript.changedDim=Dimension Change +forgescript.forgeInit=Init + item.npcWand.name=Npc Wand item.npcMobCloner.name=Mob Cloner item.npcMovingPath.name=Npc Pather