aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil/core')
-rw-r--r--src/Java/miscutil/core/block/ModBlocks.java46
-rw-r--r--src/Java/miscutil/core/block/general/antigrief/TowerDevice.java (renamed from src/Java/miscutil/core/block/antigrief/TowerDevice.java)4
-rw-r--r--src/Java/miscutil/core/block/general/fluids/BlockFluidJackDaniels.java (renamed from src/Java/miscutil/core/block/fluids/BlocktestFluid.java)11
-rw-r--r--src/Java/miscutil/core/block/general/fluids/FluidRegistryHandler.java49
-rw-r--r--src/Java/miscutil/core/block/machine/Machine_Charger.java82
-rw-r--r--src/Java/miscutil/core/block/machine/Machine_NHG.java2
-rw-r--r--src/Java/miscutil/core/block/machine/heliumgen/block/HeliumGenerator.java (renamed from src/Java/miscutil/core/block/heliumgen/block/HeliumGenerator.java)4
-rw-r--r--src/Java/miscutil/core/block/machine/heliumgen/container/ContainerHeliumGenerator.java (renamed from src/Java/miscutil/core/block/heliumgen/container/ContainerHeliumGenerator.java)4
-rw-r--r--src/Java/miscutil/core/block/machine/heliumgen/gui/GUIHeliumGenerator.java (renamed from src/Java/miscutil/core/block/heliumgen/gui/GUIHeliumGenerator.java)6
-rw-r--r--src/Java/miscutil/core/block/machine/heliumgen/slots/InvSlotRadiation.java (renamed from src/Java/miscutil/core/block/heliumgen/slots/InvSlotRadiation.java)4
-rw-r--r--src/Java/miscutil/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java (renamed from src/Java/miscutil/core/block/heliumgen/tileentity/TileEntityHeliumGenerator.java)4
-rw-r--r--src/Java/miscutil/core/common/CommonProxy.java8
-rw-r--r--src/Java/miscutil/core/container/Container_Charger.java81
-rw-r--r--src/Java/miscutil/core/container/Container_NHG.java2
-rw-r--r--src/Java/miscutil/core/creative/AddToCreativeTab.java4
-rw-r--r--src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabBlock.java (renamed from src/Java/miscutil/core/creative/MiscUtilCreativeTabBlock.java)2
-rw-r--r--src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabMachines.java (renamed from src/Java/miscutil/core/creative/MiscUtilCreativeTabMachines.java)2
-rw-r--r--src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabMisc.java (renamed from src/Java/miscutil/core/creative/MiscUtilCreativeTabMisc.java)2
-rw-r--r--src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabTools.java (renamed from src/Java/miscutil/core/creative/MiscUtilCreativeTabTools.java)2
-rw-r--r--src/Java/miscutil/core/gui/ModGUI.java6
-rw-r--r--src/Java/miscutil/core/gui/machine/GUI_Charger.java50
-rw-r--r--src/Java/miscutil/core/gui/machine/GUI_NHG.java2
-rw-r--r--src/Java/miscutil/core/handler/COMPAT_HANDLER.java4
-rw-r--r--src/Java/miscutil/core/handler/GuiHandler.java13
-rw-r--r--src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCentrifuge.java2
-rw-r--r--src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCokeOven.java2
-rw-r--r--src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialPlatePress.java2
-rw-r--r--src/Java/miscutil/core/handler/registration/gregtech/GregtechRocketFuelGenerator.java34
-rw-r--r--src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java2
-rw-r--r--src/Java/miscutil/core/item/ModItems.java24
-rw-r--r--src/Java/miscutil/core/item/base/BaseItemWithCharge.java74
-rw-r--r--src/Java/miscutil/core/item/general/BedLocator_Base.java106
-rw-r--r--src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java78
-rw-r--r--src/Java/miscutil/core/lib/CORE.java8
-rw-r--r--src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java5
-rw-r--r--src/Java/miscutil/core/tileentities/ModTileEntities.java9
-rw-r--r--src/Java/miscutil/core/tileentities/general/TileEntityReverter.java (renamed from src/Java/miscutil/core/tileentities/TileEntityReverter.java)2
-rw-r--r--src/Java/miscutil/core/tileentities/machines/TileEntityCharger.java186
-rw-r--r--src/Java/miscutil/core/tileentities/machines/TileEntityNHG.java (renamed from src/Java/miscutil/core/tileentities/TileEntityNHG.java)80
39 files changed, 853 insertions, 155 deletions
diff --git a/src/Java/miscutil/core/block/ModBlocks.java b/src/Java/miscutil/core/block/ModBlocks.java
index 9893430b69..7ab4a4c5c0 100644
--- a/src/Java/miscutil/core/block/ModBlocks.java
+++ b/src/Java/miscutil/core/block/ModBlocks.java
@@ -1,16 +1,12 @@
package miscutil.core.block;
import miscutil.core.block.base.BasicBlock;
-import miscutil.core.block.fluids.BlocktestFluid;
-import miscutil.core.block.heliumgen.block.HeliumGenerator;
-import miscutil.core.block.machine.Machine_NHG;
-import miscutil.core.lib.CORE;
+import miscutil.core.block.general.fluids.FluidRegistryHandler;
import miscutil.core.util.Utils;
import miscutil.gregtech.common.blocks.GregtechMetaCasingBlocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
public final class ModBlocks {
@@ -23,28 +19,10 @@ public final class ModBlocks {
public static Block blockCasingsMisc;
public static Block blockHeliumGenerator;
public static Block blockNHG;
+ public static Block blockCharger;
-
-
-
- //Fluids
- /**
- *
- * Luminosity .setLuminosity(luminosity)
- How much light does the fluid emit. Default: 0, Lava uses 15
- Density .setDensity(density)
- How dense is the fluid, the only effect is whether or not a fluid replaces another fluid when they flow into each other. Default: 1000, the density of water at 4 degrees Celsius in kg/m³
- Temperature .setTemperature(temp)
- How hot, or cold is the fluid. Has currently no effect. Default: 295, the "normal" room temperature in degrees Kelvin, this is approximately 72°F or 22°C.
- Viscosity .setViscosity(viscosity)
- How thick the fluid is. Determines how fast it flows. Default: 1000 for water, lava uses 6000
- Is Gaseous .setGaseous(boolean)
- Indicates if the fluid is gaseous. Used for rendering. Default: false
- *
- */
-
- public static Fluid testFluid = new Fluid("testFluid");
- public static Block testFluidBlock;
+ public static Fluid fluidJackDaniels = new Fluid("fluidJackDaniels");
+ public static Block blockFluidJackDaniels;
@@ -69,19 +47,11 @@ public final class ModBlocks {
blockCasingsMisc = new GregtechMetaCasingBlocks();
//Fluids
- //testFluid
- testFluid.setLuminosity(12);
- testFluid.setDensity(1200);
- testFluid.setTemperature(420);
- testFluid.setViscosity(750);
- testFluid.setGaseous(true);
- FluidRegistry.registerFluid(testFluid);
- testFluidBlock = new BlocktestFluid(testFluid, Material.water).setBlockName("yourFluid");
- GameRegistry.registerBlock(testFluidBlock, CORE.MODID + "_" + testFluidBlock.getUnlocalizedName().substring(5));
- testFluid.setUnlocalizedName(testFluidBlock.getUnlocalizedName());
+ FluidRegistryHandler.registerFluids();
- blockHeliumGenerator = GameRegistry.registerBlock(new HeliumGenerator(), "Helium_Collector");
- blockNHG = GameRegistry.registerBlock(new Machine_NHG("blockNuclearFueledHeliumGenerator"), "blockNuclearFueledHeliumGenerator");
+ // blockHeliumGenerator = GameRegistry.registerBlock(new HeliumGenerator(), "Helium_Collector");
+ // blockNHG = GameRegistry.registerBlock(new Machine_NHG("blockNuclearFueledHeliumGenerator"), "blockNuclearFueledHeliumGenerator");
+ // blockCharger = GameRegistry.registerBlock(new Machine_Charger("blockMachineCharger"), "blockMachineCharger");
//WIP TODO
diff --git a/src/Java/miscutil/core/block/antigrief/TowerDevice.java b/src/Java/miscutil/core/block/general/antigrief/TowerDevice.java
index c3b0ab69a8..9ff0d36b33 100644
--- a/src/Java/miscutil/core/block/antigrief/TowerDevice.java
+++ b/src/Java/miscutil/core/block/general/antigrief/TowerDevice.java
@@ -1,4 +1,4 @@
-package miscutil.core.block.antigrief;
+package miscutil.core.block.general.antigrief;
import static miscutil.core.block.ModBlocks.blockGriefSaver;
@@ -7,7 +7,7 @@ import java.util.Random;
import miscutil.core.creative.AddToCreativeTab;
import miscutil.core.lib.CORE;
-import miscutil.core.tileentities.TileEntityReverter;
+import miscutil.core.tileentities.general.TileEntityReverter;
import miscutil.core.util.Utils;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/Java/miscutil/core/block/fluids/BlocktestFluid.java b/src/Java/miscutil/core/block/general/fluids/BlockFluidJackDaniels.java
index 8676f21d81..1ddfcbe081 100644
--- a/src/Java/miscutil/core/block/fluids/BlocktestFluid.java
+++ b/src/Java/miscutil/core/block/general/fluids/BlockFluidJackDaniels.java
@@ -1,6 +1,7 @@
-package miscutil.core.block.fluids;
+package miscutil.core.block.general.fluids;
import miscutil.core.creative.AddToCreativeTab;
+import miscutil.core.lib.CORE;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
@@ -11,14 +12,14 @@ import net.minecraftforge.fluids.Fluid;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-public class BlocktestFluid extends BlockFluidClassic {
+public class BlockFluidJackDaniels extends BlockFluidClassic {
@SideOnly(Side.CLIENT)
protected IIcon stillIcon;
@SideOnly(Side.CLIENT)
protected IIcon flowingIcon;
- public BlocktestFluid(Fluid fluid, Material material) {
+ public BlockFluidJackDaniels(Fluid fluid, Material material) {
super(fluid, material);
setCreativeTab(AddToCreativeTab.tabMisc);
}
@@ -31,8 +32,8 @@ public class BlocktestFluid extends BlockFluidClassic {
@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister register) {
- stillIcon = register.registerIcon("modid:fluidStill");
- flowingIcon = register.registerIcon("modid:fluidFlowing");
+ stillIcon = register.registerIcon(CORE.MODID+":fluids/fluid.jackdaniels");
+ flowingIcon = register.registerIcon(CORE.MODID+":fluids/fluid.jackdaniels");
}
@Override
diff --git a/src/Java/miscutil/core/block/general/fluids/FluidRegistryHandler.java b/src/Java/miscutil/core/block/general/fluids/FluidRegistryHandler.java
new file mode 100644
index 0000000000..bf03203247
--- /dev/null
+++ b/src/Java/miscutil/core/block/general/fluids/FluidRegistryHandler.java
@@ -0,0 +1,49 @@
+package miscutil.core.block.general.fluids;
+
+import static miscutil.core.block.ModBlocks.blockFluidJackDaniels;
+import static miscutil.core.block.ModBlocks.fluidJackDaniels;
+import miscutil.core.lib.CORE;
+import net.minecraft.block.material.Material;
+import net.minecraftforge.fluids.FluidRegistry;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+public class FluidRegistryHandler {
+
+ //Fluids
+ /**
+ *
+ * Luminosity .setLuminosity(luminosity)
+ How much light does the fluid emit. Default: 0, Lava uses 15
+ Density .setDensity(density)
+ How dense is the fluid, the only effect is whether or not a fluid replaces another fluid when they flow into each other. Default: 1000, the density of water at 4 degrees Celsius in kg/m³
+ Temperature .setTemperature(temp)
+ How hot, or cold is the fluid. Has currently no effect. Default: 295, the "normal" room temperature in degrees Kelvin, this is approximately 72°F or 22°C.
+ Viscosity .setViscosity(viscosity)
+ How thick the fluid is. Determines how fast it flows. Default: 1000 for water, lava uses 6000
+ Is Gaseous .setGaseous(boolean)
+ Indicates if the fluid is gaseous. Used for rendering. Default: false
+ *
+ */
+
+ public static void registerFluids(){
+ run();
+ }
+
+ private static void run(){
+ fluidJackDaniels();
+ }
+
+ private static void fluidJackDaniels(){
+ //testFluid
+ fluidJackDaniels.setLuminosity(12);
+ fluidJackDaniels.setDensity(1200);
+ fluidJackDaniels.setTemperature(420);
+ fluidJackDaniels.setViscosity(750);
+ fluidJackDaniels.setGaseous(true);
+ FluidRegistry.registerFluid(fluidJackDaniels);
+ blockFluidJackDaniels = new BlockFluidJackDaniels(fluidJackDaniels, Material.water).setBlockName("fluidJackDaniels");
+ GameRegistry.registerBlock(blockFluidJackDaniels, CORE.MODID + "_" + blockFluidJackDaniels.getUnlocalizedName().substring(5));
+ fluidJackDaniels.setUnlocalizedName(blockFluidJackDaniels.getUnlocalizedName());
+ }
+
+}
diff --git a/src/Java/miscutil/core/block/machine/Machine_Charger.java b/src/Java/miscutil/core/block/machine/Machine_Charger.java
new file mode 100644
index 0000000000..9efb539afb
--- /dev/null
+++ b/src/Java/miscutil/core/block/machine/Machine_Charger.java
@@ -0,0 +1,82 @@
+package miscutil.core.block.machine;
+
+import java.util.ArrayList;
+
+import miscutil.MiscUtils;
+import miscutil.core.creative.AddToCreativeTab;
+import miscutil.core.lib.CORE;
+import miscutil.core.tileentities.machines.TileEntityCharger;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import scala.util.Random;
+
+public class Machine_Charger extends BlockContainer
+{
+ private static final String name = "Charging Machine";
+
+ private final Random rand = new Random();
+
+ public Machine_Charger(String unlocalizedName)
+ {
+ super(Material.iron);
+ //GameRegistry.registerBlock(this, unlocalizedName);
+ this.setBlockName(unlocalizedName);
+ this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName);
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ }
+
+ @Override
+ public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float lx, float ly, float lz)
+ {
+ if (world.isRemote) return true;
+
+ TileEntity te = world.getTileEntity(x, y, z);
+ if (te != null && te instanceof TileEntityCharger)
+ {
+ player.openGui(MiscUtils.instance, 1, world, x, y, z);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public void breakBlock(World world, int x, int y, int z, Block block, int par6)
+ {
+ if (world.isRemote) return;
+
+ ArrayList drops = new ArrayList();
+
+ TileEntity teRaw = world.getTileEntity(x, y, z);
+
+ if (teRaw != null && teRaw instanceof TileEntityCharger)
+ {
+ TileEntityCharger te = (TileEntityCharger) teRaw;
+
+ for (int i = 0; i < te.getSizeInventory(); i++)
+ {
+ ItemStack stack = te.getStackInSlot(i);
+
+ if (stack != null) drops.add(stack.copy());
+ }
+ }
+
+ for (int i = 0;i < drops.size();i++)
+ {
+ EntityItem item = new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, (ItemStack) drops.get(i));
+ item.setVelocity((rand.nextDouble() - 0.5) * 0.25, rand.nextDouble() * 0.5 * 0.25, (rand.nextDouble() - 0.5) * 0.25);
+ world.spawnEntityInWorld(item);
+ }
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World world, int par2)
+ {
+ return new TileEntityCharger();
+ }
+} \ No newline at end of file
diff --git a/src/Java/miscutil/core/block/machine/Machine_NHG.java b/src/Java/miscutil/core/block/machine/Machine_NHG.java
index 1738469fd7..fe06577307 100644
--- a/src/Java/miscutil/core/block/machine/Machine_NHG.java
+++ b/src/Java/miscutil/core/block/machine/Machine_NHG.java
@@ -5,7 +5,7 @@ import java.util.ArrayList;
import miscutil.MiscUtils;
import miscutil.core.creative.AddToCreativeTab;
import miscutil.core.lib.CORE;
-import miscutil.core.tileentities.TileEntityNHG;
+import miscutil.core.tileentities.machines.TileEntityNHG;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
diff --git a/src/Java/miscutil/core/block/heliumgen/block/HeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/block/HeliumGenerator.java
index f424097240..83897db5e0 100644
--- a/src/Java/miscutil/core/block/heliumgen/block/HeliumGenerator.java
+++ b/src/Java/miscutil/core/block/machine/heliumgen/block/HeliumGenerator.java
@@ -1,9 +1,9 @@
-package miscutil.core.block.heliumgen.block;
+package miscutil.core.block.machine.heliumgen.block;
import java.util.Random;
import miscutil.MiscUtils;
-import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator;
+import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator;
import miscutil.core.creative.AddToCreativeTab;
import miscutil.core.lib.CORE;
import net.minecraft.block.Block;
diff --git a/src/Java/miscutil/core/block/heliumgen/container/ContainerHeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/container/ContainerHeliumGenerator.java
index 7de3efd4c6..17389a5abe 100644
--- a/src/Java/miscutil/core/block/heliumgen/container/ContainerHeliumGenerator.java
+++ b/src/Java/miscutil/core/block/machine/heliumgen/container/ContainerHeliumGenerator.java
@@ -1,11 +1,11 @@
-package miscutil.core.block.heliumgen.container;
+package miscutil.core.block.machine.heliumgen.container;
import ic2.core.ContainerBase;
import ic2.core.slot.SlotInvSlot;
import java.util.List;
-import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator;
+import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.SlotFurnace;
diff --git a/src/Java/miscutil/core/block/heliumgen/gui/GUIHeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/gui/GUIHeliumGenerator.java
index 309a7b5fba..708ba9c924 100644
--- a/src/Java/miscutil/core/block/heliumgen/gui/GUIHeliumGenerator.java
+++ b/src/Java/miscutil/core/block/machine/heliumgen/gui/GUIHeliumGenerator.java
@@ -1,7 +1,7 @@
-package miscutil.core.block.heliumgen.gui;
+package miscutil.core.block.machine.heliumgen.gui;
-import miscutil.core.block.heliumgen.container.ContainerHeliumGenerator;
-import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator;
+import miscutil.core.block.machine.heliumgen.container.ContainerHeliumGenerator;
+import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator;
import miscutil.core.lib.CORE;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
diff --git a/src/Java/miscutil/core/block/heliumgen/slots/InvSlotRadiation.java b/src/Java/miscutil/core/block/machine/heliumgen/slots/InvSlotRadiation.java
index 22491e6cf2..d8a9c38897 100644
--- a/src/Java/miscutil/core/block/heliumgen/slots/InvSlotRadiation.java
+++ b/src/Java/miscutil/core/block/machine/heliumgen/slots/InvSlotRadiation.java
@@ -1,7 +1,7 @@
-package miscutil.core.block.heliumgen.slots;
+package miscutil.core.block.machine.heliumgen.slots;
import ic2.core.block.invslot.InvSlot;
-import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator;
+import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator;
import net.minecraft.item.ItemStack;
public class InvSlotRadiation extends InvSlot
diff --git a/src/Java/miscutil/core/block/heliumgen/tileentity/TileEntityHeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java
index 8793e06d4b..66420a72a5 100644
--- a/src/Java/miscutil/core/block/heliumgen/tileentity/TileEntityHeliumGenerator.java
+++ b/src/Java/miscutil/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java
@@ -1,4 +1,4 @@
-package miscutil.core.block.heliumgen.tileentity;
+package miscutil.core.block.machine.heliumgen.tileentity;
import ic2.api.Direction;
import ic2.api.reactor.IReactor;
@@ -16,7 +16,7 @@ import ic2.core.util.ConfigUtil;
import java.util.List;
import miscutil.core.block.ModBlocks;
-import miscutil.core.block.heliumgen.slots.InvSlotRadiation;
+import miscutil.core.block.machine.heliumgen.slots.InvSlotRadiation;
import miscutil.core.item.ModItems;
import miscutil.core.util.Utils;
import miscutil.core.util.item.UtilsItems;
diff --git a/src/Java/miscutil/core/common/CommonProxy.java b/src/Java/miscutil/core/common/CommonProxy.java
index 7c6b9b2d4f..499ea28eb6 100644
--- a/src/Java/miscutil/core/common/CommonProxy.java
+++ b/src/Java/miscutil/core/common/CommonProxy.java
@@ -17,6 +17,7 @@ import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.event.FMLServerStartingEvent;
public class CommonProxy {
@@ -57,9 +58,14 @@ public class CommonProxy {
//Compat Handling
COMPAT_HANDLER.InitialiseHandlerThenAddRecipes();
COMPAT_HANDLER.RemoveRecipesFromOtherMods();
- COMPAT_HANDLER.InitialiseLateHandlerThenAddRecipes();
COMPAT_HANDLER.startLoadingGregAPIBasedRecipes();
}
+
+
+ public void serverStarting(FMLServerStartingEvent e)
+ {
+ COMPAT_HANDLER.InitialiseLateHandlerThenAddRecipes();
+ }
public void registerNetworkStuff(){
ModGUI.init();
diff --git a/src/Java/miscutil/core/container/Container_Charger.java b/src/Java/miscutil/core/container/Container_Charger.java
new file mode 100644
index 0000000000..cbe7156d0e
--- /dev/null
+++ b/src/Java/miscutil/core/container/Container_Charger.java
@@ -0,0 +1,81 @@
+package miscutil.core.container;
+
+import miscutil.core.tileentities.machines.TileEntityCharger;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class Container_Charger extends Container
+{
+ private TileEntityCharger te;
+
+ public static final int INPUT_1 = 0;
+
+ private int slotID = 0;
+
+ public Container_Charger(TileEntityCharger te, EntityPlayer player)
+ {
+ this.te = te;
+
+ //Fuel Slot A
+ addSlotToContainer(new Slot(te, slotID++, 80, 53));
+
+
+
+ //Inventory
+ for (int i = 0; i < 3; i++)
+ {
+ for (int j = 0; j < 9; j++)
+ {
+ addSlotToContainer(new Slot(player.inventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
+ }
+ }
+ // Hotbar
+ for (int i = 0; i < 9; i++)
+ {
+ addSlotToContainer(new Slot(player.inventory, i, 8 + i * 18, 142));
+ }
+ }
+
+ @Override
+ public ItemStack transferStackInSlot(EntityPlayer player, int slotRaw)
+ {
+ ItemStack stack = null;
+ Slot slot = (Slot)inventorySlots.get(slotRaw);
+
+ if (slot != null && slot.getHasStack())
+ {
+ ItemStack stackInSlot = slot.getStack();
+ stack = stackInSlot.copy();
+
+ if (slotRaw < 3 * 9)
+ {
+ if (!mergeItemStack(stackInSlot, 3 * 9, inventorySlots.size(), true))
+ {
+ return null;
+ }
+ }
+ else if (!mergeItemStack(stackInSlot, 0, 3 * 9, false))
+ {
+ return null;
+ }
+
+ if (stackInSlot.stackSize == 0)
+ {
+ slot.putStack((ItemStack)null);
+ }
+ else
+ {
+ slot.onSlotChanged();
+ }
+ }
+ return stack;
+ }
+
+ @Override
+ public boolean canInteractWith(EntityPlayer player)
+ {
+ return te.isUseableByPlayer(player);
+ }
+} \ No newline at end of file
diff --git a/src/Java/miscutil/core/container/Container_NHG.java b/src/Java/miscutil/core/container/Container_NHG.java
index 8baed3f5bd..78461ad2b7 100644
--- a/src/Java/miscutil/core/container/Container_NHG.java
+++ b/src/Java/miscutil/core/container/Container_NHG.java
@@ -1,6 +1,6 @@
package miscutil.core.container;
-import miscutil.core.tileentities.TileEntityNHG;
+import miscutil.core.tileentities.machines.TileEntityNHG;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
diff --git a/src/Java/miscutil/core/creative/AddToCreativeTab.java b/src/Java/miscutil/core/creative/AddToCreativeTab.java
index 2f271dfa9e..869f2c4925 100644
--- a/src/Java/miscutil/core/creative/AddToCreativeTab.java
+++ b/src/Java/miscutil/core/creative/AddToCreativeTab.java
@@ -1,5 +1,9 @@
package miscutil.core.creative;
+import miscutil.core.creative.tabs.MiscUtilCreativeTabBlock;
+import miscutil.core.creative.tabs.MiscUtilCreativeTabMachines;
+import miscutil.core.creative.tabs.MiscUtilCreativeTabMisc;
+import miscutil.core.creative.tabs.MiscUtilCreativeTabTools;
import miscutil.core.lib.CORE;
import net.minecraft.creativetab.CreativeTabs;
diff --git a/src/Java/miscutil/core/creative/MiscUtilCreativeTabBlock.java b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabBlock.java
index b048df7f12..343eb2f341 100644
--- a/src/Java/miscutil/core/creative/MiscUtilCreativeTabBlock.java
+++ b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabBlock.java
@@ -1,4 +1,4 @@
-package miscutil.core.creative;
+package miscutil.core.creative.tabs;
import miscutil.core.block.ModBlocks;
import net.minecraft.creativetab.CreativeTabs;
diff --git a/src/Java/miscutil/core/creative/MiscUtilCreativeTabMachines.java b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabMachines.java
index 9029e8d3c7..6bc433b93a 100644
--- a/src/Java/miscutil/core/creative/MiscUtilCreativeTabMachines.java
+++ b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabMachines.java
@@ -1,4 +1,4 @@
-package miscutil.core.creative;
+package miscutil.core.creative.tabs;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
diff --git a/src/Java/miscutil/core/creative/MiscUtilCreativeTabMisc.java b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabMisc.java
index ee8aebe16d..1330f86aee 100644
--- a/src/Java/miscutil/core/creative/MiscUtilCreativeTabMisc.java
+++ b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabMisc.java
@@ -1,4 +1,4 @@
-package miscutil.core.creative;
+package miscutil.core.creative.tabs;
import miscutil.core.item.ModItems;
import net.minecraft.creativetab.CreativeTabs;
diff --git a/src/Java/miscutil/core/creative/MiscUtilCreativeTabTools.java b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabTools.java
index 75fba9e0ff..feddf0e5aa 100644
--- a/src/Java/miscutil/core/creative/MiscUtilCreativeTabTools.java
+++ b/src/Java/miscutil/core/creative/tabs/MiscUtilCreativeTabTools.java
@@ -1,4 +1,4 @@
-package miscutil.core.creative;
+package miscutil.core.creative.tabs;
import miscutil.core.item.ModItems;
import net.minecraft.creativetab.CreativeTabs;
diff --git a/src/Java/miscutil/core/gui/ModGUI.java b/src/Java/miscutil/core/gui/ModGUI.java
index 259270d224..82f6ebf3bf 100644
--- a/src/Java/miscutil/core/gui/ModGUI.java
+++ b/src/Java/miscutil/core/gui/ModGUI.java
@@ -1,9 +1,9 @@
package miscutil.core.gui;
import miscutil.MiscUtils;
-import miscutil.core.block.heliumgen.container.ContainerHeliumGenerator;
-import miscutil.core.block.heliumgen.gui.GUIHeliumGenerator;
-import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator;
+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;
diff --git a/src/Java/miscutil/core/gui/machine/GUI_Charger.java b/src/Java/miscutil/core/gui/machine/GUI_Charger.java
new file mode 100644
index 0000000000..deca8d4f09
--- /dev/null
+++ b/src/Java/miscutil/core/gui/machine/GUI_Charger.java
@@ -0,0 +1,50 @@
+package miscutil.core.gui.machine;
+
+import miscutil.core.container.Container_Charger;
+import miscutil.core.lib.CORE;
+import miscutil.core.tileentities.machines.TileEntityCharger;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.ResourceLocation;
+
+import org.lwjgl.opengl.GL11;
+
+public class GUI_Charger extends GuiContainer
+{
+ private ResourceLocation texture = new ResourceLocation(CORE.MODID, "textures/gui/machine_Charger.png");
+
+ private InventoryPlayer inventory;
+ private TileEntityCharger te;
+
+ public GUI_Charger(TileEntityCharger te, EntityPlayer player)
+ {
+ super(new Container_Charger(te, player));
+ inventory = player.inventory;
+ this.te = te;
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+ {
+ Minecraft.getMinecraft().renderEngine.bindTexture(texture);
+
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+
+ drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2)
+ {
+ fontRendererObj.drawString(I18n.format(te.getInventoryName()), (xSize / 2) - (fontRendererObj.getStringWidth(I18n.format(te.getInventoryName())) / 2), 6, 4210752, false);
+ //fontRendererObj.drawString(I18n.format(inventory.getInventoryName()), 8, ySize - 96 + 2, 4210752);
+ fontRendererObj.drawString(I18n.format("Charge:"+te.getCharge()+"~"), 8, ySize - 96 + 2, 4210752);
+ fontRendererObj.drawString(I18n.format("Progress:"+te.getProgress()+"ticks"), 80, ySize - 96 + 2, 4210752);
+ }
+} \ No newline at end of file
diff --git a/src/Java/miscutil/core/gui/machine/GUI_NHG.java b/src/Java/miscutil/core/gui/machine/GUI_NHG.java
index b536157a49..e2239d6d40 100644
--- a/src/Java/miscutil/core/gui/machine/GUI_NHG.java
+++ b/src/Java/miscutil/core/gui/machine/GUI_NHG.java
@@ -2,7 +2,7 @@ package miscutil.core.gui.machine;
import miscutil.core.container.Container_NHG;
import miscutil.core.lib.CORE;
-import miscutil.core.tileentities.TileEntityNHG;
+import miscutil.core.tileentities.machines.TileEntityNHG;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n;
diff --git a/src/Java/miscutil/core/handler/COMPAT_HANDLER.java b/src/Java/miscutil/core/handler/COMPAT_HANDLER.java
index 9035039cdf..078c3984ac 100644
--- a/src/Java/miscutil/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/miscutil/core/handler/COMPAT_HANDLER.java
@@ -24,6 +24,7 @@ import miscutil.core.handler.registration.gregtech.GregtechEnergyBuffer;
import miscutil.core.handler.registration.gregtech.GregtechIndustrialCentrifuge;
import miscutil.core.handler.registration.gregtech.GregtechIndustrialCokeOven;
import miscutil.core.handler.registration.gregtech.GregtechIndustrialPlatePress;
+import miscutil.core.handler.registration.gregtech.GregtechRocketFuelGenerator;
import miscutil.core.handler.registration.gregtech.GregtechSafeBlock;
import miscutil.core.handler.registration.gregtech.GregtechSteamCondenser;
import miscutil.core.item.ModItems;
@@ -34,6 +35,7 @@ import miscutil.core.recipe.ShapedRecipeObject;
import miscutil.core.util.Utils;
import miscutil.core.util.item.UtilsItems;
import miscutil.core.util.recipe.UtilsRecipe;
+import miscutil.gregtech.common.items.MetaGeneratedGregtechItems;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
@@ -71,6 +73,7 @@ public class COMPAT_HANDLER {
public static void registerGregtechMachines() {
if (Gregtech) {
+ new MetaGeneratedGregtechItems();
GregtechEnergyBuffer.run();
GregtechConduits.run();
GregtechSteamCondenser.run();
@@ -78,6 +81,7 @@ public class COMPAT_HANDLER {
GregtechIndustrialCentrifuge.run();
GregtechIndustrialCokeOven.run();
GregtechIndustrialPlatePress.run();
+ GregtechRocketFuelGenerator.run();
}
}
diff --git a/src/Java/miscutil/core/handler/GuiHandler.java b/src/Java/miscutil/core/handler/GuiHandler.java
index 67200c6cf3..d604f1b147 100644
--- a/src/Java/miscutil/core/handler/GuiHandler.java
+++ b/src/Java/miscutil/core/handler/GuiHandler.java
@@ -1,8 +1,11 @@
package miscutil.core.handler;
+import miscutil.core.container.Container_Charger;
import miscutil.core.container.Container_NHG;
+import miscutil.core.gui.machine.GUI_Charger;
import miscutil.core.gui.machine.GUI_NHG;
-import miscutil.core.tileentities.TileEntityNHG;
+import miscutil.core.tileentities.machines.TileEntityCharger;
+import miscutil.core.tileentities.machines.TileEntityNHG;
import miscutil.core.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
@@ -12,7 +15,7 @@ import cpw.mods.fml.common.network.IGuiHandler;
public class GuiHandler implements IGuiHandler {
private static final int GUI1 = 0; //Nuclear Helium Gen.
- private static final int GUI2 = 1; //Energy Buffer
+ private static final int GUI2 = 1; //Energy Charger
@@ -25,7 +28,7 @@ public class GuiHandler implements IGuiHandler {
return new Container_NHG((TileEntityNHG)te, player);
}
else if (ID == GUI2){
-
+ return new Container_Charger((TileEntityCharger)te, player);
}
@@ -44,8 +47,8 @@ public class GuiHandler implements IGuiHandler {
return new GUI_NHG((TileEntityNHG) te, player);
}
else if (ID == GUI2){
- Utils.LOG_WARNING("Opening Gui with Id: "+ID+" Energy Buffer");
- //return new GUI_Bat_Buf();
+ Utils.LOG_WARNING("Opening Gui with Id: "+ID+" Charger");
+ return new GUI_Charger((TileEntityCharger) te, player);
}
}
return null;
diff --git a/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCentrifuge.java b/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCentrifuge.java
index 06da27f8a3..324131155d 100644
--- a/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCentrifuge.java
+++ b/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCentrifuge.java
@@ -2,7 +2,7 @@ package miscutil.core.handler.registration.gregtech;
import miscutil.core.util.Utils;
import miscutil.gregtech.api.enums.GregtechItemList;
-import miscutil.gregtech.common.machines.multi.GregtechMetaTileEntityIndustrialCentrifuge;
+import miscutil.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityIndustrialCentrifuge;
public class GregtechIndustrialCentrifuge
{
diff --git a/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCokeOven.java b/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCokeOven.java
index 00aecf6415..53f540609c 100644
--- a/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCokeOven.java
+++ b/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialCokeOven.java
@@ -2,7 +2,7 @@ package miscutil.core.handler.registration.gregtech;
import miscutil.core.util.Utils;
import miscutil.gregtech.api.enums.GregtechItemList;
-import miscutil.gregtech.common.machines.multi.GregtechMetaTileEntityIndustrialCokeOven;
+import miscutil.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityIndustrialCokeOven;
public class GregtechIndustrialCokeOven
{
diff --git a/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialPlatePress.java b/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialPlatePress.java
index c66dad598d..eba567ea42 100644
--- a/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialPlatePress.java
+++ b/src/Java/miscutil/core/handler/registration/gregtech/GregtechIndustrialPlatePress.java
@@ -1,7 +1,7 @@
package miscutil.core.handler.registration.gregtech;
import miscutil.gregtech.api.enums.GregtechItemList;
-import miscutil.gregtech.common.machines.multi.GregtechMetaTileEntityIndustrialPlatePress;
+import miscutil.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityIndustrialPlatePress;
public class GregtechIndustrialPlatePress
{
diff --git a/src/Java/miscutil/core/handler/registration/gregtech/GregtechRocketFuelGenerator.java b/src/Java/miscutil/core/handler/registration/gregtech/GregtechRocketFuelGenerator.java
new file mode 100644
index 0000000000..79e33d5a78
--- /dev/null
+++ b/src/Java/miscutil/core/handler/registration/gregtech/GregtechRocketFuelGenerator.java
@@ -0,0 +1,34 @@
+package miscutil.core.handler.registration.gregtech;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
+import miscutil.core.lib.LoadedMods;
+import miscutil.core.util.Utils;
+import miscutil.gregtech.api.enums.GregtechItemList;
+import miscutil.gregtech.common.tileentities.generators.GregtechMetaTileEntityRocketFuelGenerator;
+
+public class GregtechRocketFuelGenerator {
+
+ public static void run()
+ {
+ if (LoadedMods.Gregtech){
+ Utils.LOG_INFO("MiscUtils: Gregtech5u Content | Registering Industrial Rocket Engines.");
+ run1();
+ }
+
+ }
+
+ private static void run1(){
+ GregtechItemList.Rocket_Engine_EV.set(new GregtechMetaTileEntityRocketFuelGenerator(793, "advancedgenerator.rocketFuel.tier.01", "Basic Rocket Engine", 4).getStackForm(1L));
+ GregtechItemList.Rocket_Engine_IV.set(new GregtechMetaTileEntityRocketFuelGenerator(794, "advancedgenerator.rocketFuel.tier.02", "Advanced Rocket Engine", 5).getStackForm(1L));
+ GregtechItemList.Rocket_Engine_LuV.set(new GregtechMetaTileEntityRocketFuelGenerator(795, "advancedgenerator.rocketFuel.tier.03", "Turbo Rocket Engine", 6).getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'), ItemList.Electric_Piston_LV, Character.valueOf('E'), ItemList.Electric_Motor_LV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'), OrePrefixes.cableGt01.get(Materials.Aluminium), Character.valueOf('G'), OrePrefixes.gearGt.get(Materials.Titanium)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'), ItemList.Electric_Piston_MV, Character.valueOf('E'), ItemList.Electric_Motor_MV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('W'), OrePrefixes.cableGt01.get(Materials.Platinum), Character.valueOf('G'), OrePrefixes.gearGt.get(Materials.TungstenSteel)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_LuV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'), ItemList.Electric_Piston_HV, Character.valueOf('E'), ItemList.Electric_Motor_HV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.cableGt01.get(Materials.Tungsten), Character.valueOf('G'), OrePrefixes.gearGt.get(Materials.Chrome)});
+
+ }
+
+}
diff --git a/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java b/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java
index 652f089719..afc899410b 100644
--- a/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java
+++ b/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java
@@ -3,7 +3,7 @@ package miscutil.core.handler.registration.gregtech;
import miscutil.core.util.Utils;
import miscutil.gregtech.api.enums.GregtechItemList;
import miscutil.gregtech.api.metatileentity.implementations.GregtechMetaCondensor;
-import miscutil.gregtech.common.machines.multi.GregtechMetaTileEntityIronBlastFurnace;
+import miscutil.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityIronBlastFurnace;
public class GregtechSteamCondenser
{
diff --git a/src/Java/miscutil/core/item/ModItems.java b/src/Java/miscutil/core/item/ModItems.java
index fbec6a59a3..6da428c924 100644
--- a/src/Java/miscutil/core/item/ModItems.java
+++ b/src/Java/miscutil/core/item/ModItems.java
@@ -105,6 +105,9 @@ Gold Tool: 22*/
public static Item FuelRod_Uranium;
public static Item FuelRod_Plutonium;
+ public static Item itemBedLocator_Base;
+ public static Item itemBaseItemWithCharge;
+
//@SuppressWarnings("unused")
public static final void init(){
@@ -225,10 +228,10 @@ Gold Tool: 22*/
FuelRod_Uranium = new FuelRod_Base("itemFuelRod_Uranium", "Uranium", 2500, 2500);
FuelRod_Plutonium = new FuelRod_Base("itemFuelRod_Plutonium", "Plutonium", 5000, 5000);
//Registry
- GameRegistry.registerItem(FuelRod_Empty, "itemFuelRod_Empty");
- GameRegistry.registerItem(FuelRod_Thorium, "itemFuelRod_Thorium");
- GameRegistry.registerItem(FuelRod_Uranium, "itemFuelRod_Uranium");
- GameRegistry.registerItem(FuelRod_Plutonium, "itemFuelRod_Plutonium");
+ //GameRegistry.registerItem(FuelRod_Empty, "itemFuelRod_Empty");
+ //GameRegistry.registerItem(FuelRod_Thorium, "itemFuelRod_Thorium");
+ //GameRegistry.registerItem(FuelRod_Uranium, "itemFuelRod_Uranium");
+ //GameRegistry.registerItem(FuelRod_Plutonium, "itemFuelRod_Plutonium");
}
else {
Utils.LOG_WARNING("IndustrialCraft2 not Found - Skipping Resources.");
@@ -236,6 +239,14 @@ Gold Tool: 22*/
/*
* Misc Items
*/
+
+
+ //itemBedLocator_Base = new BedLocator_Base("itemBedLocator_Base");
+ //GameRegistry.registerItem(itemBedLocator_Base, "itemBedLocator_Base");
+
+ //itemBaseItemWithCharge = new BaseItemWithCharge("itemBaseItemWithCharge", 0, 1000);
+ //GameRegistry.registerItem(itemBaseItemWithCharge, "itemBaseItemWithCharge");
+
//Staballoy Equipment
itemStaballoyPickaxe = new StaballoyPickaxe("itemStaballoyPickaxe", STABALLOY).setCreativeTab(AddToCreativeTab.tabTools);
GameRegistry.registerItem(itemStaballoyPickaxe, itemStaballoyPickaxe.getUnlocalizedName());
@@ -257,10 +268,10 @@ Gold Tool: 22*/
//Buffer Cores!
Item itemBufferCore;
for(int i=1; i<=10; i++){
- Utils.LOG_INFO(""+i);
+ //Utils.LOG_INFO(""+i);
itemBufferCore = new BufferCore("itemBufferCore", i).setCreativeTab(AddToCreativeTab.tabMisc);
GameRegistry.registerItem(itemBufferCore, itemBufferCore.getUnlocalizedName()+i);
- System.out.println("Buffer Core registration count is: "+i);
+ //System.out.println("Buffer Core registration count is: "+i);
}
//Dev Items
itemStickyRubber = new Item().setUnlocalizedName("itemStickyRubber").setCreativeTab(tabMisc).setTextureName(CORE.MODID + ":itemStickyRubber");
@@ -270,6 +281,7 @@ Gold Tool: 22*/
GameRegistry.registerItem(itemIngotBatteryAlloy, "itemIngotBatteryAlloy");
itemPlateBatteryAlloy = new Item().setUnlocalizedName("itemPlateBatteryAlloy").setCreativeTab(tabMisc).setTextureName(CORE.MODID + ":itemPlateBatteryAlloy");
GameRegistry.registerItem(itemPlateBatteryAlloy, "itemPlateBatteryAlloy");
+
itemHeliumBlob = new Item().setUnlocalizedName("itemHeliumBlob").setCreativeTab(tabMisc).setTextureName(CORE.MODID + ":itemHeliumBlob");
GameRegistry.registerItem(itemHeliumBlob, "itemHeliumBlob");
diff --git a/src/Java/miscutil/core/item/base/BaseItemWithCharge.java b/src/Java/miscutil/core/item/base/BaseItemWithCharge.java
new file mode 100644
index 0000000000..7c88a62ed0
--- /dev/null
+++ b/src/Java/miscutil/core/item/base/BaseItemWithCharge.java
@@ -0,0 +1,74 @@
+package miscutil.core.item.base;
+
+import java.util.List;
+
+import miscutil.core.creative.AddToCreativeTab;
+import miscutil.core.lib.CORE;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.world.World;
+
+public class BaseItemWithCharge extends Item{
+
+ public int int_Charge = 0;
+ public int int_Max_Charge = 0;
+
+ public BaseItemWithCharge(String unlocalizedName, int constructor_Charge, int constructor_Max_Charge) {
+ this.setUnlocalizedName(unlocalizedName);
+ this.setTextureName(CORE.MODID + ":" + unlocalizedName);
+ this.setMaxStackSize(1);
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ this.int_Charge = constructor_Charge;
+ this.int_Max_Charge = constructor_Max_Charge;
+ }
+
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) {
+ int NBT_Charge = int_Charge;
+ int NBT_Max_Charge = int_Max_Charge;
+ if (stack.stackTagCompound != null) {
+ NBT_Charge = stack.stackTagCompound.getInteger("charge_Current");
+ NBT_Max_Charge = stack.stackTagCompound.getInteger("charge_Max");
+ String tempX = String.valueOf(NBT_Charge);
+ String tempY = String.valueOf(NBT_Max_Charge);
+ String formattedX = EnumChatFormatting.RED+tempX+EnumChatFormatting.GRAY;
+ String formattedY = EnumChatFormatting.DARK_RED+tempY+EnumChatFormatting.GRAY;
+ list.add(EnumChatFormatting.GRAY+"Charge:"+formattedX+"/"+formattedY+".");
+ super.addInformation(stack, aPlayer, list, bool);
+ }
+ }
+
+ //Ticking and NBT Handling
+ /* Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and
+ * update it's contents.
+ *
+ * public int fuelRemaining = 0;
+ public int maximumFuel = 0;
+ public String fuelType = "";
+ public float heat = 0;
+ public float maxHeat = 5000;
+ *
+ */
+ @Override
+ public void onCreated(ItemStack itemStack, World world, EntityPlayer player) {
+
+ }
+
+ @Override
+ public void onUpdate(ItemStack itemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
+
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer par3Entity) {
+ itemStack.stackTagCompound = new NBTTagCompound();
+ return super.onItemRightClick(itemStack, world, par3Entity);
+ }
+
+
+
+}
diff --git a/src/Java/miscutil/core/item/general/BedLocator_Base.java b/src/Java/miscutil/core/item/general/BedLocator_Base.java
new file mode 100644
index 0000000000..b4402e0689
--- /dev/null
+++ b/src/Java/miscutil/core/item/general/BedLocator_Base.java
@@ -0,0 +1,106 @@
+package miscutil.core.item.general;
+
+import java.util.List;
+
+import miscutil.core.creative.AddToCreativeTab;
+import miscutil.core.lib.CORE;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.world.World;
+
+public class BedLocator_Base extends Item{
+
+ public int bed_X = 0;
+ public int bed_Y = 0;
+ public int bed_Z = 0;
+
+ public BedLocator_Base(String unlocalizedName) {
+ this.setUnlocalizedName(unlocalizedName);
+ this.setTextureName(CORE.MODID + ":" + unlocalizedName);
+ this.setMaxStackSize(1);
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ }
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) {
+
+
+ int NBT_X = bed_X;
+ int NBT_Y = bed_Y;
+ int NBT_Z = bed_Z;
+
+
+ if (stack.stackTagCompound != null) {
+ NBT_X = stack.stackTagCompound.getInteger("pos_x");
+ NBT_Y = stack.stackTagCompound.getInteger("pos_y");
+ NBT_Z = stack.stackTagCompound.getInteger("pos_z");
+
+ String tempX = String.valueOf(NBT_X);
+ String tempY = String.valueOf(NBT_Y);
+ String tempZ = String.valueOf(NBT_Z);
+ String formattedX = EnumChatFormatting.DARK_RED+tempX+EnumChatFormatting.GRAY;
+ String formattedY = EnumChatFormatting.RED+tempY+EnumChatFormatting.GRAY;
+ String formattedZ = EnumChatFormatting.RED+tempZ+EnumChatFormatting.GRAY;
+
+ list.add(EnumChatFormatting.GRAY+"X: "+formattedX+".");
+ list.add(EnumChatFormatting.GRAY+"Y: "+formattedY+".");
+ list.add(EnumChatFormatting.GRAY+"Z: "+formattedZ+".");
+ super.addInformation(stack, aPlayer, list, bool);
+ }
+ }
+
+ //Ticking and NBT Handling
+ /* Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and
+ * update it's contents.
+ *
+ * public int fuelRemaining = 0;
+ public int maximumFuel = 0;
+ public String fuelType = "";
+ public float heat = 0;
+ public float maxHeat = 5000;
+ *
+ */
+ @Override
+ public void onCreated(ItemStack itemStack, World world, EntityPlayer player) {
+ itemStack.stackTagCompound = new NBTTagCompound();
+ this.bed_X = 0;
+ this.bed_Y = 0;
+ this.bed_Z = 0;
+ itemStack.stackTagCompound.setInteger("pos_x", bed_X);
+ itemStack.stackTagCompound.setInteger("pos_y", bed_Y);
+ itemStack.stackTagCompound.setInteger("pos_z", bed_Z);
+ }
+
+ @Override
+ public void onUpdate(ItemStack itemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
+
+
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer par3Entity) {
+ itemStack.stackTagCompound = new NBTTagCompound();
+ if (par3Entity.getBedLocation() != null){
+ this.bed_X = par3Entity.getBedLocation().posX;
+ this.bed_Y = par3Entity.getBedLocation().posY;
+ this.bed_Z = par3Entity.getBedLocation().posZ;
+ }
+ else {
+ this.bed_X = 0;
+ this.bed_Y = 0;
+ this.bed_Z = 0;
+ }
+ itemStack.stackTagCompound.setInteger("pos_x", bed_X);
+ itemStack.stackTagCompound.setInteger("pos_y", bed_Y);
+ itemStack.stackTagCompound.setInteger("pos_z", bed_Z);
+ return super.onItemRightClick(itemStack, world, par3Entity);
+ }
+
+
+
+}
diff --git a/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java b/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java
index 20d6fcd08e..4aa9f57092 100644
--- a/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java
+++ b/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java
@@ -19,7 +19,6 @@ public class FuelRod_Base extends Item{
public String fuelType = "";
public float heat = 0;
public float maxHeat = getMaxHeat();
- private ItemStack thisStack = null;
public FuelRod_Base(String unlocalizedName, String type, int fuelLeft, int maxFuel) {
this.setUnlocalizedName(unlocalizedName);
this.setTextureName(CORE.MODID + ":" + unlocalizedName);
@@ -30,12 +29,6 @@ public class FuelRod_Base extends Item{
this.fuelType = type;
this.setCreativeTab(AddToCreativeTab.tabMachines);
}
-
- /*@Override
- public void setDamage(ItemStack stack, int damage) {
- this.heat=heat+5;
- super.setDamage(stack, damage);
- }*/
private float getMaxHeat(){
float tempvar;
@@ -58,6 +51,13 @@ public class FuelRod_Base extends Item{
}
+ private void updateVars(ItemStack stack){
+ if (stack.stackTagCompound != null) {
+ heat = stack.stackTagCompound.getFloat("heat");
+ fuelRemaining = stack.stackTagCompound.getInteger("fuelRemaining");
+ }
+ }
+
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) {
@@ -67,12 +67,12 @@ public class FuelRod_Base extends Item{
int NBT_Fuel = fuelRemaining;
String NBT_Type= fuelType;
- thisStack = stack;
if (stack.stackTagCompound != null) {
NBT_Heat = stack.stackTagCompound.getFloat("heat");
NBT_MaxHeat = stack.stackTagCompound.getFloat("maxHeat");
NBT_Fuel = stack.stackTagCompound.getInteger("fuelRemaining");
- NBT_Type = stack.stackTagCompound.getString("fuelType");}
+ NBT_Type = stack.stackTagCompound.getString("fuelType");
+ }
String tempHeat = String.valueOf(NBT_Heat);
String tempMaxHeat = String.valueOf(NBT_MaxHeat);
@@ -85,6 +85,8 @@ public class FuelRod_Base extends Item{
int tempMax = maximumFuel;
float tempCurrentHeat = heat;
int tempFuelLeft = fuelRemaining;
+
+ //Fuel Usage Formatting
if (tempFuelLeft <= maximumFuel/3){
formattedFuelLeft = EnumChatFormatting.RED+tempFuel+EnumChatFormatting.GRAY;
}
@@ -97,44 +99,54 @@ public class FuelRod_Base extends Item{
else {
formattedFuelLeft = EnumChatFormatting.GRAY+tempFuel+EnumChatFormatting.GRAY;
}
- if (tempCurrentHeat <= maxHeat/3 && tempCurrentHeat != 0){
+
+ //Heat Formatting
+ if (tempCurrentHeat <= 200 && tempCurrentHeat >= 0){
formattedHeat = EnumChatFormatting.GRAY+tempHeat+EnumChatFormatting.GRAY;
}
- else if (tempCurrentHeat >= maxHeat/3 && tempMax <= (maxHeat/3)*2 && tempCurrentHeat != 0){
+ else if (tempCurrentHeat <= maxHeat/3 && tempCurrentHeat > 200){
formattedHeat = EnumChatFormatting.YELLOW+tempHeat+EnumChatFormatting.GRAY;
}
- else if (tempCurrentHeat <= (maxHeat/3)*2 && tempMax <= maxHeat && tempCurrentHeat != 0){
+ else if (tempCurrentHeat >= maxHeat/3 && tempMax < (maxHeat/3)*2 && tempCurrentHeat != 0){
+ formattedHeat = EnumChatFormatting.GOLD+tempHeat+EnumChatFormatting.GRAY;
+ }
+ else if (tempCurrentHeat >= ((maxHeat/3)*2) && tempMax <= maxHeat && tempCurrentHeat != 0){
formattedHeat = EnumChatFormatting.RED+tempHeat+EnumChatFormatting.GRAY;
}
else {
formattedHeat = EnumChatFormatting.BLUE+tempHeat+EnumChatFormatting.GRAY;
}
-
list.add(EnumChatFormatting.GRAY+"A "+formattedType+" Fuel Rod.");
list.add(EnumChatFormatting.GRAY+"Running at "+formattedHeat+"/"+formattedMaxHeat+" Kelvin.");
list.add(EnumChatFormatting.GRAY+"Fuel Remaining: "+formattedFuelLeft+"L.");
super.addInformation(stack, aPlayer, list, bool);
}
- public String getType(){
- return fuelType;
+ public String getType(ItemStack stack){
+ if (stack.stackTagCompound != null){
+ return stack.stackTagCompound.getString("fuelType");
+ }
+ return fuelType;
}
- public int getFuelRemaining(){
- return fuelRemaining;
+ public int getFuelRemaining(ItemStack stack){
+ if (stack.stackTagCompound != null){
+ return stack.stackTagCompound.getInteger("fuelRemaining");
+ }
+ return 0;
}
public int getMaxFuel(){
return maximumFuel;
}
- public int getFuel(){
- if (thisStack != null){
- int i = thisStack.getItemDamage();
+ public int getFuel(ItemStack stack){
+ if (stack != null){
+ int i = stack.getItemDamage();
int r = maximumFuel - i;
return r;
}
- return fuelRemaining;
+ return getFuelRemaining(stack);
}
public boolean setFuelRemainingExplicitly(int i){
@@ -155,8 +167,11 @@ public class FuelRod_Base extends Item{
return false;
}
- public float getHeat(){
- return heat;
+ public float getHeat(ItemStack value){
+ if (value.stackTagCompound != null){
+ return value.stackTagCompound.getFloat("heat");
+ }
+ return 0f;
}
public boolean addHeat(float i){
@@ -183,22 +198,23 @@ public class FuelRod_Base extends Item{
@Override
public void onCreated(ItemStack itemStack, World world, EntityPlayer player) {
itemStack.stackTagCompound = new NBTTagCompound();
- itemStack.stackTagCompound.setInteger("fuelRemaining", fuelRemaining);
+ itemStack.stackTagCompound.setInteger("fuelRemaining", getFuelRemaining(itemStack));
itemStack.stackTagCompound.setInteger("maximumFuel", maximumFuel);
- itemStack.stackTagCompound.setFloat("heat", heat);
- itemStack.stackTagCompound.setFloat("maxHeat", maxHeat);
- itemStack.stackTagCompound.setString("fuelType", fuelType);
+ itemStack.stackTagCompound.setFloat("heat", getHeat(itemStack));
+ itemStack.stackTagCompound.setFloat("maxHeat", getMaxHeat());
+ itemStack.stackTagCompound.setString("fuelType", getType(itemStack));
+ updateVars(itemStack);
}
@Override
public void onUpdate(ItemStack itemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
itemStack.stackTagCompound = new NBTTagCompound();
- itemStack.stackTagCompound.setInteger("fuelRemaining", getFuelRemaining());
+ itemStack.stackTagCompound.setInteger("fuelRemaining", getFuelRemaining(itemStack));
itemStack.stackTagCompound.setInteger("maximumFuel", maximumFuel);
- itemStack.stackTagCompound.setFloat("heat", getHeat());
+ itemStack.stackTagCompound.setFloat("heat", getHeat(itemStack));
itemStack.stackTagCompound.setFloat("maxHeat", getMaxHeat());
- itemStack.stackTagCompound.setString("fuelType", fuelType);
-
+ itemStack.stackTagCompound.setString("fuelType", getType(itemStack));
+ updateVars(itemStack);
}
diff --git a/src/Java/miscutil/core/lib/CORE.java b/src/Java/miscutil/core/lib/CORE.java
index f2be1776bd..1e9f9b90dc 100644
--- a/src/Java/miscutil/core/lib/CORE.java
+++ b/src/Java/miscutil/core/lib/CORE.java
@@ -15,7 +15,7 @@ public class CORE {
public static final String name = "Misc. Utils";
public static final String MODID = "miscutils";
public static final String VERSION = "1.0.4";
- public static final boolean DEBUG = true;
+ public static final boolean DEBUG = false;
public static final boolean LOAD_ALL_CONTENT = false;
public static final int GREG_FIRST_ID = 760;
public static Map PlayerCache;
@@ -42,15 +42,17 @@ public class CORE {
TEX_DIR = "textures/",
TEX_DIR_GUI = TEX_DIR + "gui/",
TEX_DIR_ITEM = TEX_DIR + "items/",
- TEX_DIR_BLOCK = TEX_DIR/* + "blocks/"*/,
+ TEX_DIR_BLOCK = TEX_DIR + "blocks/",
TEX_DIR_ENTITY = TEX_DIR + "entity/",
TEX_DIR_ASPECTS = TEX_DIR + "aspects/",
+ TEX_DIR_FLUIDS = TEX_DIR_BLOCK + "fluids/",
RES_PATH = MODID + ":" + TEX_DIR,
RES_PATH_GUI = MODID + ":" + TEX_DIR_GUI,
RES_PATH_ITEM = MODID + ":" + TEX_DIR_ITEM,
RES_PATH_BLOCK = MODID + ":" + TEX_DIR_BLOCK,
RES_PATH_ENTITY = MODID + ":" + TEX_DIR_ENTITY,
- RES_PATH_ASPECTS = MODID + ":" + TEX_DIR_ASPECTS;
+ RES_PATH_ASPECTS = MODID + ":" + TEX_DIR_ASPECTS,
+ RES_PATH_FLUIDS = MODID + ":" + TEX_DIR_FLUIDS;
//public static final Materials2[] MiscGeneratedMaterials = new Materials2[1000];
diff --git a/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java b/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java
index 3f3338b1d1..d35e304815 100644
--- a/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java
@@ -2,6 +2,7 @@ package miscutil.core.recipe;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import miscutil.core.lib.CORE;
import miscutil.core.util.Utils;
@@ -82,4 +83,8 @@ public class RECIPES_GREGTECH {
//GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6L), ItemList.Casing_Turbine.get(1L, new Object[0]), ItemList.Casing_Turbine3.get(1L, new Object[0]), 50, 16);
}
+
+ private static void addFuels(){
+ CORE.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L, 1), null, 2800, 5);
+ }
} \ No newline at end of file
diff --git a/src/Java/miscutil/core/tileentities/ModTileEntities.java b/src/Java/miscutil/core/tileentities/ModTileEntities.java
index a27e7be6ad..0f5ba5ed56 100644
--- a/src/Java/miscutil/core/tileentities/ModTileEntities.java
+++ b/src/Java/miscutil/core/tileentities/ModTileEntities.java
@@ -1,8 +1,6 @@
package miscutil.core.tileentities;
-import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator;
import miscutil.core.util.Utils;
-import cpw.mods.fml.common.registry.GameRegistry;
public class ModTileEntities {
@@ -10,9 +8,10 @@ public class ModTileEntities {
public static void init(){
Utils.LOG_INFO("Registering Tile Entities.");
//GameRegistry.registerTileEntity(TileEntityReverter.class, "TE_blockGriefSaver");
- GameRegistry.registerTileEntity(TileEntityReverter.class, "Tower Reverter");
- GameRegistry.registerTileEntity(TileEntityNHG.class, "NuclearFueledHeliumGenerator");
- GameRegistry.registerTileEntity(TileEntityHeliumGenerator.class, "Helium");
+ //GameRegistry.registerTileEntity(TileEntityReverter.class, "Tower Reverter");
+ //GameRegistry.registerTileEntity(TileEntityNHG.class, "NuclearFueledHeliumGenerator");
+ //GameRegistry.registerTileEntity(TileEntityCharger.class, "TE_Charger");
+ // GameRegistry.registerTileEntity(TileEntityHeliumGenerator.class, "Helium");
}
}
diff --git a/src/Java/miscutil/core/tileentities/TileEntityReverter.java b/src/Java/miscutil/core/tileentities/general/TileEntityReverter.java
index 4ee8eeed4b..8793271985 100644
--- a/src/Java/miscutil/core/tileentities/TileEntityReverter.java
+++ b/src/Java/miscutil/core/tileentities/general/TileEntityReverter.java
@@ -1,4 +1,4 @@
-package miscutil.core.tileentities;
+package miscutil.core.tileentities.general;
import java.util.Random;
diff --git a/src/Java/miscutil/core/tileentities/machines/TileEntityCharger.java b/src/Java/miscutil/core/tileentities/machines/TileEntityCharger.java
new file mode 100644
index 0000000000..6d78cb829e
--- /dev/null
+++ b/src/Java/miscutil/core/tileentities/machines/TileEntityCharger.java
@@ -0,0 +1,186 @@
+package miscutil.core.tileentities.machines;
+
+import miscutil.core.item.base.BaseItemWithCharge;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.util.Constants;
+
+public class TileEntityCharger extends TileEntity implements IInventory
+{
+ private ItemStack[] items = new ItemStack[1]; //18
+ private int progress_Current = 1;
+ private int progress_Max = 1000;
+ public float charge_Current;
+ public float charge_Max = 10000;
+ private float tempItemChargeValue;
+
+ public float getCharge(){
+ return charge_Current;
+ }
+
+ public int getProgress(){
+ return progress_Current;
+ }
+
+ @Override
+ public int getSizeInventory()
+ {
+ return items.length;
+ }
+
+ @Override
+ public ItemStack getStackInSlot(int slot)
+ {
+ return items[slot];
+ }
+
+ @Override
+ public ItemStack decrStackSize(int slot, int amount)
+ {
+ if (items[slot] != null)
+ {
+ ItemStack itemstack;
+
+ if (items[slot].stackSize == amount)
+ {
+ itemstack = items[slot];
+ items[slot] = null;
+ markDirty();
+ return itemstack;
+ }
+ itemstack = items[slot].splitStack(amount);
+ if (items[slot].stackSize == 0) items[slot] = null;
+ markDirty();
+ return itemstack;
+ }
+ return null;
+ }
+
+ @Override
+ public ItemStack getStackInSlotOnClosing(int slot)
+ {
+ if (items[slot] != null)
+ {
+ ItemStack itemstack = items[slot];
+ items[slot] = null;
+ return itemstack;
+ }
+ return null;
+ }
+
+ @Override
+ public void setInventorySlotContents(int slot, ItemStack stack)
+ {
+ if (stack != null){
+ items[slot] = stack;
+ if (stack != null && stack.stackSize > getInventoryStackLimit())
+ {
+ stack.stackSize = getInventoryStackLimit();
+ }
+
+
+ markDirty();
+ }
+ }
+
+ @Override
+ public String getInventoryName()
+ {
+ return "container.Charger";
+ }
+
+ @Override
+ public boolean hasCustomInventoryName()
+ {
+ return false;
+ }
+
+ @Override
+ public void readFromNBT(NBTTagCompound nbt)
+ {
+ super.readFromNBT(nbt);
+ NBTTagList list = nbt.getTagList("Items", Constants.NBT.TAG_COMPOUND);
+ items = new ItemStack[getSizeInventory()];
+
+ for (int i = 0; i < list.tagCount(); ++i) { NBTTagCompound comp = list.getCompoundTagAt(i); int j = comp.getByte("Slot") & 255; if (j >= 0 && j < items.length)
+ {
+ items[j] = ItemStack.loadItemStackFromNBT(comp);
+ }
+ }
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound nbt)
+ {
+ super.writeToNBT(nbt);
+ NBTTagList list = new NBTTagList();
+
+ for (int i = 0; i < items.length; ++i)
+ {
+ if (items[i] != null)
+ {
+ NBTTagCompound comp = new NBTTagCompound();
+ comp.setByte("Slot", (byte)i);
+ items[i].writeToNBT(comp);
+ list.appendTag(comp);
+ }
+ }
+
+ nbt.setTag("Items", list);
+ }
+
+ @Override
+ public int getInventoryStackLimit()
+ {
+ return 64;
+ }
+
+ @Override
+ public boolean isUseableByPlayer(EntityPlayer player)
+ {
+ return worldObj.getTileEntity(xCoord, yCoord, zCoord) != this ? false : player.getDistanceSq((double)xCoord + 0.5D, (double)yCoord + 0.5D, (double)zCoord + 0.5D) <= 64.0D;
+ }
+
+ @Override
+ public void openInventory() {}
+
+ @Override
+ public void closeInventory() {}
+
+ @Override
+ public boolean isItemValidForSlot(int slot, ItemStack stack)
+ {
+ return true;
+ }
+
+ @Override
+ public void updateEntity() {
+ if(!this.worldObj.isRemote){
+ if (progress_Current < progress_Max){
+ progress_Current++;
+ }
+ else if (progress_Current >= progress_Max){
+ if (charge_Current < charge_Max){
+ charge_Current = charge_Current+500;
+ }
+ if (getStackInSlot(0).getItem() instanceof BaseItemWithCharge){
+ float tempCharge;
+ ItemStack output = getStackInSlot(0).copy();
+ if (output.stackTagCompound != null){
+ tempCharge = output.stackTagCompound.getFloat("charge_Current");
+ output.stackTagCompound = new NBTTagCompound();
+ output.stackTagCompound.setFloat("charge_Current", tempCharge+40);
+ this.charge_Current = charge_Current-40;
+ tempCharge = 0;
+ }
+ }
+ progress_Current = 0;
+ }
+ }
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/miscutil/core/tileentities/TileEntityNHG.java b/src/Java/miscutil/core/tileentities/machines/TileEntityNHG.java
index 17dd8d4216..3581592c02 100644
--- a/src/Java/miscutil/core/tileentities/TileEntityNHG.java
+++ b/src/Java/miscutil/core/tileentities/machines/TileEntityNHG.java
@@ -1,4 +1,4 @@
-package miscutil.core.tileentities;
+package miscutil.core.tileentities.machines;
import miscutil.core.item.ModItems;
import miscutil.core.item.general.fuelrods.FuelRod_Base;
@@ -49,7 +49,7 @@ public class TileEntityNHG extends TileEntity implements IInventory
public boolean isValidFuelRod(ItemStack input){
if(!this.worldObj.isRemote){
if (input != null){
- if (input.copy().getItem() instanceof FuelRod_Base){
+ if (input.getItem() instanceof FuelRod_Base){
int fuelRodFuelLevel = getRodFuelValue(input);
float fuelRodHeatLevel = getRodHeatValue(input);
Utils.LOG_WARNING("Fuel Left: "+fuelRodFuelLevel+" Current Temp: "+fuelRodHeatLevel);
@@ -64,31 +64,46 @@ public class TileEntityNHG extends TileEntity implements IInventory
public ItemStack doFuelRodHeatDamage(ItemStack input){
if(!this.worldObj.isRemote){
- if (input.copy() != null){
- if (isValidFuelRod(input.copy())){
- int fuelRodFuelLevel = getRodFuelValue(input.copy());
- float fuelRodHeatLevel = getRodHeatValue(input.copy());
- if((fuelRodHeatLevel <= 0 || fuelRodHeatLevel == 0) && fuelRodFuelLevel > 0){
-
- if(fuelRodFuelLevel <= 0 || fuelRodFuelLevel == 0){
- return null;
- }
- else if(fuelRodFuelLevel >= 5){
+ if (input != null){
+ if (isValidFuelRod(input)){
+ int fuelRodFuelLevel = getRodFuelValue(input);
+ float fuelRodHeatLevel = getRodHeatValue(input);
+ if(fuelRodFuelLevel <= 0 || fuelRodFuelLevel == 0){
+ return null;
+ }
+ if(fuelRodHeatLevel == 0 && fuelRodFuelLevel > 0){
+ if(fuelRodFuelLevel >= 5){
int tempInt=fuelRodFuelLevel;
float tempFloat=fuelRodHeatLevel;
ItemStack output = input.copy();
- output.stackTagCompound.setInteger("fuelRemaining", tempInt-5);
- output.stackTagCompound.setFloat("heat", tempFloat+5);
-
+ if (input.stackTagCompound != null){
+ output.stackTagCompound = new NBTTagCompound();
+ output.stackTagCompound.setInteger("fuelRemaining", tempInt-40);
+ output.stackTagCompound.setFloat("heat", tempFloat+20);
+ }
return output;
- }
- else {
- return null;
}
+ return null;
}
+ else if(fuelRodHeatLevel >= 5 && fuelRodFuelLevel > 0){
+ int tempInt=fuelRodFuelLevel;
+ float tempFloat=fuelRodHeatLevel;
+ ItemStack output = input.copy();
+ if (input.stackTagCompound != null){
+ output.stackTagCompound = new NBTTagCompound();
+ output.stackTagCompound.setInteger("fuelRemaining", tempInt-5);
+ output.stackTagCompound.setFloat("heat", tempFloat+5);
+ }
+ return output;
+ }
+
else if(fuelRodHeatLevel >= 5 && fuelRodFuelLevel == 0){
- input.stackTagCompound.setInteger("heat", -5);
- return input;
+ ItemStack output = input.copy();
+ if (input.stackTagCompound != null){
+ output.stackTagCompound = new NBTTagCompound();
+ output.stackTagCompound.setInteger("heat", -5);
+ }
+ return output;
}
else {
return null;
@@ -100,18 +115,18 @@ public class TileEntityNHG extends TileEntity implements IInventory
}
public float getRodHeatValue(ItemStack value){
- if (value.copy() != null){
- if (value.copy().stackTagCompound != null){
- return value.copy().stackTagCompound.getFloat("heat");
+ if (value != null){
+ if (value.stackTagCompound != null){
+ return value.stackTagCompound.getFloat("heat");
}
}
return 0f;
}
public int getRodFuelValue(ItemStack value){
- if (value.copy() != null){
- if (value.copy().stackTagCompound != null){
- int tempInt = value.copy().stackTagCompound.getInteger("fuelRemaining");
+ if (value != null){
+ if (value.stackTagCompound != null){
+ int tempInt = value.stackTagCompound.getInteger("fuelRemaining");
return tempInt;
}
}
@@ -123,14 +138,11 @@ public class TileEntityNHG extends TileEntity implements IInventory
if(!this.worldObj.isRemote){
for (int i = 0; i < getSizeInventory(); i++){
if (items[i] != null){
- if (items[i].copy().getItem() instanceof FuelRod_Base){
+ if (items[i].getItem() instanceof FuelRod_Base){
ItemStack fuelRodStack = getStackInSlot(i).copy();
//setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
if (i == 0){
- fuelrod_1 = true;
- FuelRod_Base x = (FuelRod_Base) fuelRodStack.getItem();
- x.addHeat(5);
- x.addFuel(-5);
+ fuelrod_1 = true;
ItemStack r = doFuelRodHeatDamage(fuelRodStack);
setInventorySlotContents(i, r);
}
@@ -224,7 +236,9 @@ public class TileEntityNHG extends TileEntity implements IInventory
}
}
}
-
+ Utils.LOG_WARNING("|"+fuelrod_1+"|"+fuelrod_2+"|"+fuelrod_3+"| "+"|"+fuelrod_10+"|"+fuelrod_11+"|"+fuelrod_12+"|");
+ Utils.LOG_WARNING("|"+fuelrod_4+"|"+fuelrod_5+"|"+fuelrod_6+"| "+"|"+fuelrod_13+"|"+fuelrod_14+"|"+fuelrod_15+"|");
+ Utils.LOG_WARNING("|"+fuelrod_7+"|"+fuelrod_8+"|"+fuelrod_9+"| "+"|"+fuelrod_16+"|"+fuelrod_17+"|"+fuelrod_18+"|");
}
}
@@ -237,7 +251,7 @@ public class TileEntityNHG extends TileEntity implements IInventory
if(!this.worldObj.isRemote){
for (int i = 0; i < getSizeInventory(); i++){
if (items[i] != null){
- if (items[i].copy().getItem() instanceof FuelRod_Base){
+ if (items[i].getItem() instanceof FuelRod_Base){
ItemStack fuelRodStack = getStackInSlot(i).copy();
//if (fuelRodStack.stackTagCompound.getFloat("heat") != 0){
doFuelRodHeatDamage(fuelRodStack);