diff --git a/src/dark/common/debug/BlockDebug.java b/src/dark/common/debug/BlockDebug.java index bb4b9441..43e74ce5 100644 --- a/src/dark/common/debug/BlockDebug.java +++ b/src/dark/common/debug/BlockDebug.java @@ -1,7 +1,16 @@ package dark.common.debug; +import java.util.List; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.Configuration; import dark.core.DarkMain; @@ -9,15 +18,17 @@ import dark.core.blocks.BlockMachine; public class BlockDebug extends BlockMachine { - enum debugBlocks + Icon load, source, vod, fluid; + + public static enum debugBlocks { - INF_POWER("infPower", TileEntityInfSupply.class), + INF_POWER("infSource", TileEntityInfSupply.class), INF_FLUID("infFluid", TileEntityInfFluid.class), VOID("void", TileEntityVoid.class), INF_LOAD("infLoad", TileEntityInfLoad.class); - String name; - Class clazz; + public String name; + public Class clazz; private debugBlocks(String name, Class clazz) { @@ -29,6 +40,37 @@ public class BlockDebug extends BlockMachine public BlockDebug(int blockID, Configuration config) { super("DebugBlock", config, blockID, Material.clay); + this.setCreativeTab(CreativeTabs.tabRedstone); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IconRegister iconReg) + { + super.registerIcons(iconReg); + this.source = iconReg.registerIcon(DarkMain.getInstance().PREFIX + "infSource"); + this.load = iconReg.registerIcon(DarkMain.getInstance().PREFIX + "infLoad"); + this.vod = iconReg.registerIcon(DarkMain.getInstance().PREFIX + "void"); + this.fluid = iconReg.registerIcon(DarkMain.getInstance().PREFIX + "infFluid"); + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int side, int meta) + { + switch (meta) + { + case 0: + return this.source; + case 1: + return this.fluid; + case 2: + return this.vod; + case 3: + return this.load; + default: + return this.blockIcon; + } } @Override @@ -55,4 +97,13 @@ public class BlockDebug extends BlockMachine return null; } + @Override + public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) + { + for (int i = 0; i < debugBlocks.values().length; i++) + { + par3List.add(new ItemStack(par1, 1, i)); + } + } + } diff --git a/src/dark/common/debug/TileEntityInfLoad.java b/src/dark/common/debug/TileEntityInfLoad.java index bc5f3fa2..b74d6658 100644 --- a/src/dark/common/debug/TileEntityInfLoad.java +++ b/src/dark/common/debug/TileEntityInfLoad.java @@ -18,6 +18,10 @@ public class TileEntityInfLoad extends TileEntity implements IElectrical @Override public float receiveElectricity(ForgeDirection from, ElectricityPack receive, boolean doReceive) { + if(receive != null) + { + System.out.print("Burning off "+receive.getWatts()+" watts of energy"); + } return this.canConnect(from) && receive != null ? receive.getWatts() : 0; } diff --git a/src/dark/common/debug/TileEntityVoid.java b/src/dark/common/debug/TileEntityVoid.java index 958f40df..43d729ff 100644 --- a/src/dark/common/debug/TileEntityVoid.java +++ b/src/dark/common/debug/TileEntityVoid.java @@ -1,5 +1,7 @@ package dark.common.debug; +import java.util.HashMap; + import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.fluids.Fluid; @@ -13,13 +15,16 @@ import net.minecraftforge.fluids.IFluidHandler; * @author DarkGuardsman */ public class TileEntityVoid extends TileEntity implements IFluidHandler { + //TODO later add to this to make it actually have an ingame use other than debug + public static HashMap storage = new HashMap(); + FluidTank tank = new FluidTank(1000000); @Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { //TODO add wrench toggle options to change amount actually drained - return resource != null && this.canDrain(from, resource.getFluid()) ? resource.amount : 0; + return resource != null && this.canFill(from, resource.getFluid()) ? resource.amount : 0; } @Override diff --git a/src/dark/core/DarkMain.java b/src/dark/core/DarkMain.java index daf928de..40999d2a 100644 --- a/src/dark/core/DarkMain.java +++ b/src/dark/core/DarkMain.java @@ -24,6 +24,7 @@ import cpw.mods.fml.common.event.FMLServerStoppingEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import dark.common.debug.BlockDebug; +import dark.common.debug.BlockDebug.debugBlocks; import dark.core.blocks.BlockMulti; import dark.core.blocks.BlockOre; import dark.core.blocks.TileEntityMulti; @@ -106,11 +107,15 @@ public class DarkMain extends ModPrefab } if (CoreRecipeLoader.blockDebug != null) { - GameRegistry.registerBlock(CoreRecipeLoader.blockDebug, ItemBlockHolder.class, "DMOre"); + GameRegistry.registerBlock(CoreRecipeLoader.blockDebug, ItemBlockHolder.class, "DMDebug"); + for (int i = 0; i < debugBlocks.values().length; i++) + { + GameRegistry.registerTileEntity(debugBlocks.values()[i].clazz, "DMDebug" + i); + } } GameRegistry.registerBlock(blockMulti, "multiBlock"); - GameRegistry.registerTileEntity(TileEntityMulti.class, "ALMulti"); + GameRegistry.registerTileEntity(TileEntityMulti.class, "DMMultiBlock"); BlockOre.regiserOreNames(); diff --git a/src/dark/core/blocks/BlockMachine.java b/src/dark/core/blocks/BlockMachine.java index 70428da4..7bb80ab1 100644 --- a/src/dark/core/blocks/BlockMachine.java +++ b/src/dark/core/blocks/BlockMachine.java @@ -41,14 +41,8 @@ public abstract class BlockMachine extends BlockAdvanced implements ITileEntityP @Override public void registerIcons(IconRegister iconReg) { - this.blockIcon = iconReg.registerIcon(DarkMain.getInstance().PREFIX + "machine"); - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getBlockTexture(IBlockAccess par1iBlockAccess, int par2, int par3, int par4, int par5) - { - return this.blockIcon; + if (this.blockIcon == null) + this.blockIcon = iconReg.registerIcon(DarkMain.getInstance().PREFIX + "machine"); } @Override