BlockRegistryChanges

This commit is contained in:
DarkGuardsman 2013-09-20 09:34:23 -04:00
parent 4c9eca19f4
commit 3a4733cbbb
14 changed files with 35 additions and 253 deletions

View file

@ -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<? extends BlockFM> 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

View file

@ -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<BlockData> getBlocks()
public void registerObjects()
{
List<BlockData> dataList = new ArrayList<BlockData>();
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

View file

@ -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);

View file

@ -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;
}
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);

View file

@ -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);

View file

@ -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

View file

@ -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);
}

View file

@ -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<Pair<String, Class<? extends TileEntity>>> list)
{
// TODO Auto-generated method stub
}
}

View file

@ -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);
}

View file

@ -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);
}