diff options
Diffstat (limited to 'src/Java/miscutil/core')
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); |