aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/core/gui
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-07-04 15:21:58 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-07-04 15:21:58 +1000
commitb1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54 (patch)
treeb1061e2d9c569424d508ffcd26d33c13a565fa9a /src/Java/miscutil/core/gui
parent7b5dbdc81b2f8f393dafc3268efe5eb5cd084c39 (diff)
downloadGT5-Unofficial-b1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54.tar.gz
GT5-Unofficial-b1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54.tar.bz2
GT5-Unofficial-b1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54.zip
+ Added in base and Abstract classes to begin usage of RainsinToastCore.
+ Started work on a new GUI handler based off others, featuring dynamic ID ranges. (Internal code changes) - Removed a very old GUI handler class, left the current one until the new one is done.
Diffstat (limited to 'src/Java/miscutil/core/gui')
-rw-r--r--src/Java/miscutil/core/gui/ModGUI.java53
-rw-r--r--src/Java/miscutil/core/gui/beta/Gui_ID_Registry.java56
-rw-r--r--src/Java/miscutil/core/gui/beta/Gui_Types.java8
-rw-r--r--src/Java/miscutil/core/gui/beta/MU_GuiId.java32
4 files changed, 96 insertions, 53 deletions
diff --git a/src/Java/miscutil/core/gui/ModGUI.java b/src/Java/miscutil/core/gui/ModGUI.java
deleted file mode 100644
index 82f6ebf3bf..0000000000
--- a/src/Java/miscutil/core/gui/ModGUI.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package miscutil.core.gui;
-
-import miscutil.MiscUtils;
-import miscutil.core.block.machine.heliumgen.container.ContainerHeliumGenerator;
-import miscutil.core.block.machine.heliumgen.gui.GUIHeliumGenerator;
-import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator;
-import miscutil.core.handler.GuiHandler;
-import miscutil.core.util.Utils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.world.World;
-import cpw.mods.fml.common.network.IGuiHandler;
-import cpw.mods.fml.common.network.NetworkRegistry;
-
-public class ModGUI {
-
-
- public static void init(){
-
- Utils.LOG_INFO("Registering GUIs.");
- NetworkRegistry.INSTANCE.registerGuiHandler(MiscUtils.instance, new GuiHandler());
- //Register GuiHandler
- //NetworkRegistry.INSTANCE.registerGuiHandler(MiscUtils.instance, new GuiHandler());
- }
-}
-
-class GUI_HANDLER implements IGuiHandler {
-
- @Override
- public Object getClientGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z){
- if(ID == 0)
- return false;
- else if(ID == 1)
- return false;
- else if(ID == 2)
- return new GUIHeliumGenerator(player.inventory, (TileEntityHeliumGenerator)world.getTileEntity(x, y, z));
- else if(ID == 3)
- return false;
- return null;
- }
-
- @Override
- public Object getServerGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z){
- if(ID == 0)
- return false;
- else if(ID == 1)
- return false;
- else if(ID == 2)
- return new ContainerHeliumGenerator(player.inventory, (TileEntityHeliumGenerator)world.getTileEntity(x, y, z));
- else if(ID == 3)
- return false;
- return null;
- }
-}
diff --git a/src/Java/miscutil/core/gui/beta/Gui_ID_Registry.java b/src/Java/miscutil/core/gui/beta/Gui_ID_Registry.java
new file mode 100644
index 0000000000..11c97e8f9a
--- /dev/null
+++ b/src/Java/miscutil/core/gui/beta/Gui_ID_Registry.java
@@ -0,0 +1,56 @@
+package miscutil.core.gui.beta;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import miscutil.core.interfaces.IGuiManagerMiscUtils;
+
+public class Gui_ID_Registry
+{
+ private static final Map<Class<? extends IGuiManagerMiscUtils>, MU_GuiId> classMap = new HashMap();
+ private static final Map<Integer, MU_GuiId> idMap = new HashMap();
+ private static int nextId = 0;
+
+ static
+ {
+ //registerGuiHandlers(Gui_Types.Tile, Arrays.asList(new Class[] {TileAlveary.class}));
+ //registerGuiHandlers(MU_GuiType.Item, Arrays.asList(new Class[] { ItemBackpack.class, ItemBackpackNaturalist.class, ItemBeealyzer.class, ItemCatalogue.class, ItemFlutterlyzer.class, ItemHabitatLocator.class, ItemImprinter.class, ItemInfuser.class, ItemLetter.class, ItemSolderingIron.class, ItemTreealyzer.class }));
+ //registerGuiHandlers(MU_GuiType.Entity, Arrays.asList(new Class[] { EntityMinecartApiary.class, EntityMinecartBeehouse.class }));
+ }
+
+ private static void registerGuiHandlers(Gui_Types MU_GuiType, List<Class<? extends IGuiManagerMiscUtils>> guiHandlerClasses)
+ {
+ for (Class<? extends IGuiManagerMiscUtils> tileGuiHandlerClass : guiHandlerClasses)
+ {
+ MU_GuiId guiId = new MU_GuiId(nextId++, MU_GuiType, tileGuiHandlerClass);
+ classMap.put(tileGuiHandlerClass, guiId);
+ idMap.put(Integer.valueOf(guiId.getId()), guiId);
+ }
+ }
+
+ public static MU_GuiId getGuiIdForGuiHandler(IGuiManagerMiscUtils guiHandler)
+ {
+ Class<? extends IGuiManagerMiscUtils> guiHandlerClass = guiHandler.getClass();
+ MU_GuiId guiId = (MU_GuiId)classMap.get(guiHandlerClass);
+ if (guiId == null) {
+ for (Map.Entry<Class<? extends IGuiManagerMiscUtils>, MU_GuiId> classGuiIdEntry : classMap.entrySet()) {
+ if (((Class)classGuiIdEntry.getKey()).isAssignableFrom(guiHandlerClass))
+ {
+ guiId = (MU_GuiId)classGuiIdEntry.getValue();
+ break;
+ }
+ }
+ }
+ if (guiId == null) {
+ throw new IllegalStateException("No gui ID for gui handler: " + guiHandler);
+ }
+ return guiId;
+ }
+
+ public static MU_GuiId getGuiId(int id)
+ {
+ return (MU_GuiId)idMap.get(Integer.valueOf(id));
+ }
+
+}
diff --git a/src/Java/miscutil/core/gui/beta/Gui_Types.java b/src/Java/miscutil/core/gui/beta/Gui_Types.java
new file mode 100644
index 0000000000..79e5a21dbd
--- /dev/null
+++ b/src/Java/miscutil/core/gui/beta/Gui_Types.java
@@ -0,0 +1,8 @@
+package miscutil.core.gui.beta;
+
+public enum Gui_Types
+ {
+ Item, Tile, Entity;
+
+ private Gui_Types() {}
+ } \ No newline at end of file
diff --git a/src/Java/miscutil/core/gui/beta/MU_GuiId.java b/src/Java/miscutil/core/gui/beta/MU_GuiId.java
new file mode 100644
index 0000000000..2c97e62039
--- /dev/null
+++ b/src/Java/miscutil/core/gui/beta/MU_GuiId.java
@@ -0,0 +1,32 @@
+package miscutil.core.gui.beta;
+import miscutil.core.interfaces.IGuiManagerMiscUtils;
+
+public class MU_GuiId
+ {
+ private final int id;
+ private final Gui_Types MU_GuiType;
+ private final Class<? extends IGuiManagerMiscUtils> guiHandlerClass;
+
+ MU_GuiId(int id, Gui_Types MU_GuiType, Class<? extends IGuiManagerMiscUtils> guiHandlerClass)
+ {
+ this.id = id;
+ this.MU_GuiType = MU_GuiType;
+ this.guiHandlerClass = guiHandlerClass;
+ }
+
+ public Gui_Types getGuiType()
+ {
+ return this.MU_GuiType;
+ }
+
+ public Class<? extends IGuiManagerMiscUtils> getGuiHandlerClass()
+ {
+ return this.guiHandlerClass;
+ }
+
+ public int getId()
+ {
+ return this.id;
+ }
+ }
+