diff --git a/src/dark/fluid/common/BlockFM.java b/src/dark/fluid/common/BlockFM.java index 5f492b51..65c057c1 100644 --- a/src/dark/fluid/common/BlockFM.java +++ b/src/dark/fluid/common/BlockFM.java @@ -2,16 +2,17 @@ package dark.fluid.common; import net.minecraft.block.material.Material; import net.minecraftforge.common.Configuration; +import dark.core.common.DarkMain; import dark.core.prefab.IExtraObjectInfo; import dark.core.prefab.machine.BlockMachine; +import dark.core.registration.ModObjectRegistry.BlockBuildData; public abstract class BlockFM extends BlockMachine implements IExtraObjectInfo { - public BlockFM(String name, int blockID, Material material) + public BlockFM(Class blockClass, String name, Material material) { - super(name, FluidMech.CONFIGURATION, blockID, material); - this.setCreativeTab(FluidMech.TabFluidMech); + super(new BlockBuildData(blockClass, name, material).setConfigProvider(FluidMech.CONFIGURATION).setCreativeTab(DarkMain.tabHydrualic)); } @Override diff --git a/src/dark/fluid/common/FluidMech.java b/src/dark/fluid/common/FluidMech.java index b7a0ff77..bb3a1f59 100644 --- a/src/dark/fluid/common/FluidMech.java +++ b/src/dark/fluid/common/FluidMech.java @@ -1,17 +1,13 @@ package dark.fluid.common; import java.io.File; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; import java.util.logging.Logger; -import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraftforge.common.Configuration; import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; import org.modstats.ModstatInfo; @@ -27,12 +23,10 @@ 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.network.NetworkMod; -import dark.core.common.BlockRegistry.BlockData; import dark.core.common.DarkMain; import dark.core.prefab.ModPrefab; import dark.core.prefab.items.ItemBlockHolder; -import dark.fluid.common.machines.BlockBoiler; -import dark.fluid.common.machines.BlockFluid; +import dark.core.registration.ModObjectRegistry; import dark.fluid.common.machines.BlockReleaseValve; import dark.fluid.common.machines.BlockSink; import dark.fluid.common.machines.BlockTank; @@ -41,9 +35,6 @@ import dark.fluid.common.pipes.ItemBlockPipe; import dark.fluid.common.pump.BlockConstructionPump; import dark.fluid.common.pump.BlockDrain; import dark.fluid.common.pump.BlockPumpMachine; -import dark.mech.common.machines.BlockGenerator; -import dark.mech.common.machines.BlockRod; -import dark.mech.common.machines.BlockSteamPiston; @ModstatInfo(prefix = "fluidmech") @Mod(modid = FluidMech.MOD_ID, name = FluidMech.MOD_NAME, version = FluidMech.VERSION, dependencies = "after:DarkCore", useMetadata = true) @@ -128,87 +119,25 @@ public class FluidMech extends ModPrefab } @Override - public List getBlocks() + public void registerObjects() { - List dataList = new ArrayList(); if (recipeLoader == null) { recipeLoader = new FMRecipeLoader(); } - /* CONFIGS */ CONFIGURATION.load(); - if (FluidMech.CONFIGURATION.get("general", "EnableWasteFluid", true).getBoolean(true)) - { - fmWaste = new Fluid(WASTE_FLUID_NAME).setUnlocalizedName("fluid.waste.name").setDensity(1300).setViscosity(1800); - FluidRegistry.registerFluid(fmWaste); - waste = FluidRegistry.getFluid(WASTE_FLUID_NAME); - if (waste == null) - { - waste = fmWaste; - } - if (waste.getBlockID() == -1) - { - FMRecipeLoader.blockWasteLiquid = new BlockFluid(waste, getNextID()); - FMRecipeLoader.blockWasteLiquid.setUnlocalizedName("FluidWaste"); - dataList.add(new BlockData(FMRecipeLoader.blockWasteLiquid, "lmWaste").canDisable(false)); - } - else - { - FMRecipeLoader.blockWasteLiquid = Block.blocksList[waste.getBlockID()]; - } - } - if (FluidMech.CONFIGURATION.get("general", "EnableOilFluid", true).getBoolean(true) && FluidRegistry.getFluid("oil") == null) - { - fmOil = new Fluid(OIL_FLUID_NAME).setUnlocalizedName("fluid.oil.name").setDensity(1500).setViscosity(4700); - FluidRegistry.registerFluid(fmOil); - oil = FluidRegistry.getFluid(OIL_FLUID_NAME); + FMRecipeLoader.blockWasteLiquid = ModObjectRegistry.createNewFluidBlock(this.PREFIX, FluidMech.CONFIGURATION, new Fluid(WASTE_FLUID_NAME).setUnlocalizedName("fluid.waste.name").setDensity(1300).setViscosity(1800)); + FMRecipeLoader.blockOilLiquid = ModObjectRegistry.createNewFluidBlock(this.PREFIX, FluidMech.CONFIGURATION, new Fluid(OIL_FLUID_NAME).setUnlocalizedName("fluid.oil.name").setDensity(1500).setViscosity(4700)); + FMRecipeLoader.blockPipe = ModObjectRegistry.createNewBlock(FluidMech.MOD_ID, BlockPipe.class, ItemBlockPipe.class); + FMRecipeLoader.blockMachine = ModObjectRegistry.createNewBlock(FluidMech.MOD_ID, BlockPumpMachine.class, ItemBlockHolder.class); + FMRecipeLoader.blockReleaseValve = ModObjectRegistry.createNewBlock(FluidMech.MOD_ID, BlockReleaseValve.class, ItemBlockHolder.class); + FMRecipeLoader.blockTank = ModObjectRegistry.createNewBlock(FluidMech.MOD_ID, BlockTank.class, ItemBlockPipe.class); + FMRecipeLoader.blockSink = ModObjectRegistry.createNewBlock(FluidMech.MOD_ID, BlockSink.class, ItemBlockHolder.class); + FMRecipeLoader.blockDrain = ModObjectRegistry.createNewBlock(FluidMech.MOD_ID, BlockDrain.class, ItemBlockHolder.class); + FMRecipeLoader.blockConPump = ModObjectRegistry.createNewBlock(FluidMech.MOD_ID, BlockConstructionPump.class, ItemBlockHolder.class); - if (oil == null) - { - oil = fmOil; - } - if (oil.getBlockID() == -1) - { - FMRecipeLoader.blockOilLiquid = new BlockFluid(oil, getNextID()); - FMRecipeLoader.blockOilLiquid.setUnlocalizedName("FluidOil"); - dataList.add(new BlockData(FMRecipeLoader.blockOilLiquid, "lmOil").canDisable(false)); - } - else - { - FMRecipeLoader.blockOilLiquid = Block.blocksList[oil.getBlockID()]; - } - } - /* BLOCK DECLARATION -- CONFIG LOADER */ - FMRecipeLoader.blockPipe = new BlockPipe(getNextID()); - FMRecipeLoader.blockMachine = new BlockPumpMachine(getNextID()); - FMRecipeLoader.blockRod = new BlockRod(getNextID()); - FMRecipeLoader.blockGenerator = new BlockGenerator(getNextID()); - FMRecipeLoader.blockReleaseValve = new BlockReleaseValve(getNextID()); - FMRecipeLoader.blockTank = new BlockTank(getNextID()); - FMRecipeLoader.blockSink = new BlockSink(getNextID()); - FMRecipeLoader.blockDrain = new BlockDrain(getNextID()); - FMRecipeLoader.blockConPump = new BlockConstructionPump(getNextID()); - FMRecipeLoader.blockPiston = new BlockSteamPiston(getNextID()); - FMRecipeLoader.blockBoiler = new BlockBoiler(getNextID()); - - dataList.add(new BlockData(FMRecipeLoader.blockPipe, ItemBlockPipe.class, "lmPipe")); - dataList.add(new BlockData(FMRecipeLoader.blockPipe, ItemBlockPipe.class, "lmGenPipe")); - dataList.add(new BlockData(FMRecipeLoader.blockReleaseValve, ItemBlockHolder.class, "eValve")); - dataList.add(new BlockData(FMRecipeLoader.blockRod, "mechRod")); - dataList.add(new BlockData(FMRecipeLoader.blockGenerator, "mechGenerator")); - dataList.add(new BlockData(FMRecipeLoader.blockMachine, ItemBlockHolder.class, "lmMachines")); - dataList.add(new BlockData(FMRecipeLoader.blockTank, ItemBlockPipe.class, "lmTank")); - dataList.add(new BlockData(FMRecipeLoader.blockSink, "lmSink")); - dataList.add(new BlockData(FMRecipeLoader.blockDrain, "lmDrain")); - dataList.add(new BlockData(FMRecipeLoader.blockConPump, "lmConPump")); - dataList.add(new BlockData(FMRecipeLoader.blockHeater, "SPHeater")); - dataList.add(new BlockData(FMRecipeLoader.blockPiston, "SPPiston")); - dataList.add(new BlockData(FMRecipeLoader.blockBoiler, "SPBoiler")); - - /* ITEM DECLARATION */ CONFIGURATION.save(); - return dataList; } @Override diff --git a/src/dark/fluid/common/machines/BlockBoiler.java b/src/dark/fluid/common/machines/BlockBoiler.java index 445ec975..02d43f99 100644 --- a/src/dark/fluid/common/machines/BlockBoiler.java +++ b/src/dark/fluid/common/machines/BlockBoiler.java @@ -16,9 +16,9 @@ import dark.fluid.common.BlockFM; public class BlockBoiler extends BlockFM { - public BlockBoiler(int par1) + public BlockBoiler() { - super("Boilers", par1, Material.iron); + super(BlockBoiler.class, "Boilers", Material.iron); this.setCreativeTab(CreativeTabs.tabBlock); this.setHardness(1f); this.setResistance(3f); diff --git a/src/dark/fluid/common/machines/BlockFluid.java b/src/dark/fluid/common/machines/BlockFluid.java deleted file mode 100644 index bbbf38ae..00000000 --- a/src/dark/fluid/common/machines/BlockFluid.java +++ /dev/null @@ -1,41 +0,0 @@ -package dark.fluid.common.machines; - -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.util.Icon; -import net.minecraftforge.fluids.BlockFluidFinite; -import net.minecraftforge.fluids.Fluid; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import dark.fluid.common.FluidMech; - -public class BlockFluid extends BlockFluidFinite -{ - Icon flowing; - Icon still; - Fluid fluid; - - public BlockFluid(Fluid fluid, int id) - { - super(FluidMech.CONFIGURATION.getBlock(fluid.getName(), id).getInt(), fluid, Material.water); - this.fluid = fluid; - - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) - { - this.flowing = par1IconRegister.registerIcon(FluidMech.instance.PREFIX + this.getUnlocalizedName().replace("tile.", "") + "_flowing"); - this.still = par1IconRegister.registerIcon(FluidMech.instance.PREFIX + this.getUnlocalizedName().replace("tile.", "") + "_still"); - fluid.setIcons(still, flowing); - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) - { - return still; - } - -} diff --git a/src/dark/fluid/common/machines/BlockReleaseValve.java b/src/dark/fluid/common/machines/BlockReleaseValve.java index 40551d06..761577f0 100644 --- a/src/dark/fluid/common/machines/BlockReleaseValve.java +++ b/src/dark/fluid/common/machines/BlockReleaseValve.java @@ -17,9 +17,9 @@ import dark.fluid.common.FMRecipeLoader; public class BlockReleaseValve extends BlockFM { - public BlockReleaseValve(int par1) + public BlockReleaseValve() { - super("ReleaseValve", par1, Material.iron); + super(BlockReleaseValve.class, "ReleaseValve", Material.iron); this.setHardness(1f); this.setResistance(5f); } diff --git a/src/dark/fluid/common/machines/BlockSink.java b/src/dark/fluid/common/machines/BlockSink.java index 7059daff..ad6085d2 100644 --- a/src/dark/fluid/common/machines/BlockSink.java +++ b/src/dark/fluid/common/machines/BlockSink.java @@ -20,9 +20,9 @@ import dark.fluid.common.BlockFM; public class BlockSink extends BlockFM { - public BlockSink(int par1) + public BlockSink() { - super("FluidSink", par1, Material.iron); + super(BlockSink.class, "FluidSink", Material.iron); this.setResistance(4f); this.setHardness(4f); } diff --git a/src/dark/fluid/common/machines/BlockTank.java b/src/dark/fluid/common/machines/BlockTank.java index 4a4dc37c..2f1a3244 100644 --- a/src/dark/fluid/common/machines/BlockTank.java +++ b/src/dark/fluid/common/machines/BlockTank.java @@ -24,9 +24,9 @@ public class BlockTank extends BlockFM { public static int tankVolume = 8; - public BlockTank(int id) + public BlockTank() { - super("FluidTank", id, Material.rock); + super(BlockTank.class, "FluidTank",Material.rock); this.setHardness(1f); this.setResistance(5f); } diff --git a/src/dark/fluid/common/pipes/BlockPipe.java b/src/dark/fluid/common/pipes/BlockPipe.java index 9569b1ad..a7cc2d12 100644 --- a/src/dark/fluid/common/pipes/BlockPipe.java +++ b/src/dark/fluid/common/pipes/BlockPipe.java @@ -28,9 +28,9 @@ public class BlockPipe extends BlockFM public static int waterFlowRate = 3000; - public BlockPipe(int id) + public BlockPipe() { - super("FluidPipe", id, Material.iron); + super(BlockPipe.class, "FluidPipe", Material.iron); this.setBlockBounds(0.30F, 0.30F, 0.30F, 0.70F, 0.70F, 0.70F); this.setHardness(1f); this.setResistance(3f); diff --git a/src/dark/fluid/common/pump/BlockConstructionPump.java b/src/dark/fluid/common/pump/BlockConstructionPump.java index 967fafc3..c7b57b31 100644 --- a/src/dark/fluid/common/pump/BlockConstructionPump.java +++ b/src/dark/fluid/common/pump/BlockConstructionPump.java @@ -30,9 +30,9 @@ public class BlockConstructionPump extends BlockFM Icon inputIcon; Icon outputIcon; - public BlockConstructionPump(int id) + public BlockConstructionPump() { - super("ConstructionPump", id, Material.iron); + super(BlockConstructionPump.class, "ConstructionPump", Material.iron); this.setHardness(1f); this.setResistance(5f); diff --git a/src/dark/fluid/common/pump/BlockDrain.java b/src/dark/fluid/common/pump/BlockDrain.java index ce0949db..e2ef52ea 100644 --- a/src/dark/fluid/common/pump/BlockDrain.java +++ b/src/dark/fluid/common/pump/BlockDrain.java @@ -24,9 +24,9 @@ public class BlockDrain extends BlockFM private Icon drainIcon; private Icon fillIcon; - public BlockDrain(int id) + public BlockDrain() { - super("FluidDrain", id, Material.iron); + super(BlockDrain.class, "FluidDrain",Material.iron); } @Override diff --git a/src/dark/fluid/common/pump/BlockPumpMachine.java b/src/dark/fluid/common/pump/BlockPumpMachine.java index f3a57c02..4b20b4ae 100644 --- a/src/dark/fluid/common/pump/BlockPumpMachine.java +++ b/src/dark/fluid/common/pump/BlockPumpMachine.java @@ -20,9 +20,9 @@ import dark.fluid.common.FMRecipeLoader; public class BlockPumpMachine extends BlockFM { - public BlockPumpMachine(int id) + public BlockPumpMachine() { - super("StarterPump", id, Material.iron); + super(BlockPumpMachine.class, "StarterPump", Material.iron); this.setHardness(1f); this.setResistance(5f); } diff --git a/src/dark/mech/common/machines/BlockGenerator.java b/src/dark/mech/common/machines/BlockGenerator.java deleted file mode 100644 index 15a5cf4b..00000000 --- a/src/dark/mech/common/machines/BlockGenerator.java +++ /dev/null @@ -1,107 +0,0 @@ -package dark.mech.common.machines; - -import java.util.ArrayList; -import java.util.Set; - -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import dark.core.prefab.helpers.Pair; -import dark.fluid.client.render.BlockRenderHelper; -import dark.fluid.common.BlockFM; -import dark.fluid.common.FMRecipeLoader; - -public class BlockGenerator extends BlockFM -{ - - public BlockGenerator(int id) - { - super("MechanicalGenerator", id, Material.iron); - this.setHardness(1f); - this.setResistance(5f); - } - - @Override - public void addCreativeItems(ArrayList itemList) - { - itemList.add(new ItemStack(this, 1, 0)); - } - - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) - { - - return new ItemStack(FMRecipeLoader.blockGenerator, 1); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase par5EntityLiving, ItemStack stack) - { - int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - world.setBlockMetadataWithNotify(x, y, z, blockID, angle); - } - - @Override - public boolean onUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ) - { - int angle = MathHelper.floor_double((par5EntityPlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - int metadata = par1World.getBlockMetadata(x, y, z); - if (metadata < 3) - { - par1World.setBlockMetadataWithNotify(x, y, z, blockID, metadata + angle); - } - else - { - par1World.setBlockMetadataWithNotify(x, y, z, blockID, 0); - } - return true; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public int getRenderType() - { - return BlockRenderHelper.renderID; - } - - @Override - public void onNeighborBlockChange(World par1World, int x, int y, int z, int side) - { - super.onNeighborBlockChange(par1World, x, y, z, side); - - } - - @Override - public TileEntity createNewTileEntity(World world) - { - // TODO Auto-generated method stub - return null; - } - - @Override - public void getTileEntities(int blockID, Set>> list) - { - // TODO Auto-generated method stub - - } -} diff --git a/src/dark/mech/common/machines/BlockRod.java b/src/dark/mech/common/machines/BlockRod.java index f91cb09c..424f1ec7 100644 --- a/src/dark/mech/common/machines/BlockRod.java +++ b/src/dark/mech/common/machines/BlockRod.java @@ -21,9 +21,9 @@ import dark.fluid.common.FMRecipeLoader; public class BlockRod extends BlockFM { - public BlockRod(int par1) + public BlockRod() { - super("MechanicalRod", par1, Material.iron); + super(BlockRod.class, "MechanicalRod", Material.iron); this.setHardness(1f); this.setResistance(5f); } diff --git a/src/dark/mech/common/machines/BlockSteamPiston.java b/src/dark/mech/common/machines/BlockSteamPiston.java index c5036692..5770928a 100644 --- a/src/dark/mech/common/machines/BlockSteamPiston.java +++ b/src/dark/mech/common/machines/BlockSteamPiston.java @@ -16,9 +16,9 @@ import dark.fluid.common.BlockFM; public class BlockSteamPiston extends BlockFM { - public BlockSteamPiston(int par1) + public BlockSteamPiston() { - super("SteamEngine", par1, Material.iron); + super(BlockSteamPiston.class, "SteamEngine", Material.iron); }