Using new block and item loading system

This commit is contained in:
Calclavia 2014-02-04 23:30:49 +08:00
parent 5ac68f9a8d
commit f5d002c126
54 changed files with 315 additions and 575 deletions

View file

@ -25,6 +25,7 @@ import resonantinduction.archaic.process.TileMillstone;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.core.Settings; import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
import resonantinduction.core.part.BlockMachineMaterial; import resonantinduction.core.part.BlockMachineMaterial;
import calclavia.lib.content.ContentRegistry; import calclavia.lib.content.ContentRegistry;
import calclavia.lib.network.PacketHandler; import calclavia.lib.network.PacketHandler;
@ -64,7 +65,7 @@ public class Archaic
@Mod.Metadata(ID) @Mod.Metadata(ID)
public static ModMetadata metadata; public static ModMetadata metadata;
public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, ID); public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, Settings.idManager, ID).setPrefix(Reference.PREFIX).setTab(TabRI.CORE);
public static Block blockEngineeringTable; public static Block blockEngineeringTable;
public static Block blockCrate; public static Block blockCrate;

View file

@ -3,6 +3,7 @@ package resonantinduction.archaic.blocks;
import java.util.Random; import java.util.Random;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
@ -10,21 +11,22 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRIRotatable; import universalelectricity.api.UniversalElectricity;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockRotatable;
import calclavia.lib.prefab.block.IRotatableBlock; import calclavia.lib.prefab.block.IRotatableBlock;
import calclavia.lib.prefab.tile.IRotatable; import calclavia.lib.prefab.tile.IRotatable;
import codechicken.multipart.TileMultipart; import codechicken.multipart.TileMultipart;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockTurntable extends BlockRIRotatable public class BlockTurntable extends BlockRotatable
{ {
private Icon top; private Icon top;
public BlockTurntable() public BlockTurntable(int id)
{ {
super("turntable"); super(id, Material.piston);
setTextureName(Reference.PREFIX + "turntable_side"); setTextureName(Reference.PREFIX + "turntable_side");
setTickRandomly(true); setTickRandomly(true);
rotationMask = Byte.parseByte("111111", 2); rotationMask = Byte.parseByte("111111", 2);

View file

@ -12,7 +12,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI; import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockTile;
import codechicken.multipart.ControlKeyModifer; import codechicken.multipart.ControlKeyModifer;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -25,13 +26,13 @@ import cpw.mods.fml.relauncher.SideOnly;
* *
* @author DarkGuardsman * @author DarkGuardsman
*/ */
public class BlockCrate extends BlockRI public class BlockCrate extends BlockTile
{ {
Icon advanced, elite; Icon advanced, elite;
public BlockCrate() public BlockCrate(int id)
{ {
super("crate"); super(id, UniversalElectricity.machine);
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)

View file

@ -2,6 +2,7 @@ package resonantinduction.archaic.engineering;
import java.util.Random; import java.util.Random;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -11,9 +12,9 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import universalelectricity.api.vector.Vector2; import universalelectricity.api.vector.Vector2;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockRotatable;
import calclavia.lib.utility.WorldUtility; import calclavia.lib.utility.WorldUtility;
import calclavia.lib.utility.inventory.InventoryUtility; import calclavia.lib.utility.inventory.InventoryUtility;
import codechicken.multipart.ControlKeyModifer; import codechicken.multipart.ControlKeyModifer;
@ -27,16 +28,16 @@ import cpw.mods.fml.relauncher.SideOnly;
* *
* @author Calclavia * @author Calclavia
*/ */
public class BlockEngineeringTable extends BlockRIRotatable public class BlockEngineeringTable extends BlockRotatable
{ {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
private Icon iconTop; private Icon iconTop;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
private Icon iconFront; private Icon iconFront;
public BlockEngineeringTable() public BlockEngineeringTable(int id)
{ {
super("engineeringTable"); super(id, Material.wood);
setBlockBounds(0, 0, 0, 1, 0.9f, 1); setBlockBounds(0, 0, 0, 1, 0.9f, 1);
} }

View file

@ -1,6 +1,7 @@
package resonantinduction.archaic.engineering; package resonantinduction.archaic.engineering;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -9,15 +10,14 @@ import resonantinduction.api.recipe.MachineRecipes;
import resonantinduction.api.recipe.MachineRecipes.RecipeType; import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.api.recipe.RecipeResource; import resonantinduction.api.recipe.RecipeResource;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.item.ItemRI;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.utility.inventory.InventoryUtility; import calclavia.lib.utility.inventory.InventoryUtility;
public class ItemHammer extends ItemRI public class ItemHammer extends Item
{ {
public ItemHammer() public ItemHammer(int id)
{ {
super("hammer"); super(id);
setMaxStackSize(1); setMaxStackSize(1);
setMaxDamage(400); setMaxDamage(400);
} }

View file

@ -14,19 +14,19 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI; import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockFirebox extends BlockRI public class BlockFirebox extends BlockTile
{ {
private Icon topOn; private Icon topOn;
private Icon topOff; private Icon topOff;
public BlockFirebox() public BlockFirebox(int id)
{ {
super("firebox", Material.rock); super(id, Material.rock);
this.setTickRandomly(true); setTickRandomly(true);
} }
@Override @Override

View file

@ -11,19 +11,19 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import universalelectricity.api.vector.Vector2; import universalelectricity.api.vector.Vector2;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockHotPlate extends BlockRI public class BlockHotPlate extends BlockTile
{ {
private Icon topElectric; private Icon topElectric;
public BlockHotPlate() public BlockHotPlate(int id)
{ {
super("hotPlate", Material.rock); super(id, Material.rock);
setBlockBounds(0, 0, 0, 1, 0.2f, 1); setBlockBounds(0, 0, 0, 1, 0.2f, 1);
setTickRandomly(true); setTickRandomly(true);
} }

View file

@ -1,7 +1,6 @@
package resonantinduction.archaic.imprint; package resonantinduction.archaic.imprint;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -11,24 +10,25 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI; import universalelectricity.api.UniversalElectricity;
import universalelectricity.api.vector.Vector2; import universalelectricity.api.vector.Vector2;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import universalelectricity.api.vector.VectorWorld; import universalelectricity.api.vector.VectorWorld;
import calclavia.lib.prefab.block.BlockTile;
import calclavia.lib.utility.inventory.InventoryUtility; import calclavia.lib.utility.inventory.InventoryUtility;
import codechicken.multipart.ControlKeyModifer; import codechicken.multipart.ControlKeyModifer;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockImprinter extends BlockRI public class BlockImprinter extends BlockTile
{ {
Icon imprinter_side; Icon imprinter_side;
Icon imprinter_top; Icon imprinter_top;
Icon imprinter_bottom; Icon imprinter_bottom;
public BlockImprinter() public BlockImprinter(int id)
{ {
super("imprinter", Material.wood); super(id, UniversalElectricity.machine);
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)

View file

@ -9,19 +9,19 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import calclavia.lib.utility.inventory.InventoryUtility; import calclavia.lib.utility.inventory.InventoryUtility;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockCast extends BlockRI public class BlockCast extends BlockTile
{ {
Icon top; Icon top;
public BlockCast() public BlockCast(int id)
{ {
super("cast", Material.wood); super(id, Material.iron);
setTextureName(Reference.PREFIX + "material_metal_side"); setTextureName(Reference.PREFIX + "material_metal_side");
} }

View file

@ -9,19 +9,19 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import calclavia.lib.utility.inventory.InventoryUtility; import calclavia.lib.utility.inventory.InventoryUtility;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockMillstone extends BlockRI public class BlockMillstone extends BlockTile
{ {
Icon top; Icon top;
public BlockMillstone() public BlockMillstone(int id)
{ {
super("millstone", Material.wood); super(id, Material.iron);
setTextureName(Reference.PREFIX + "material_wood_surface"); setTextureName(Reference.PREFIX + "material_wood_surface");
} }

View file

@ -81,7 +81,7 @@ public class ResonantInduction
public static List<Fluid> fluidMixtures = new ArrayList<Fluid>(); public static List<Fluid> fluidMixtures = new ArrayList<Fluid>();
public static List<Fluid> fluidMaterials = new ArrayList<Fluid>(); public static List<Fluid> fluidMaterials = new ArrayList<Fluid>();
public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, ID); public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, Settings.idManager, ID);
@EventHandler @EventHandler
public void preInit(FMLPreInitializationEvent evt) public void preInit(FMLPreInitializationEvent evt)

View file

@ -29,6 +29,7 @@ public class Settings
/** Settings */ /** Settings */
public static final Configuration CONFIGURATION = new Configuration(new File(Loader.instance().getConfigDir(), Reference.NAME + ".cfg")); public static final Configuration CONFIGURATION = new Configuration(new File(Loader.instance().getConfigDir(), Reference.NAME + ".cfg"));
private static boolean didLoad = false;
public static int FURNACE_WATTAGE = 50000; public static int FURNACE_WATTAGE = 50000;
public static boolean SOUND_FXS = true; public static boolean SOUND_FXS = true;
public static boolean SHINY_SILVER = true; public static boolean SHINY_SILVER = true;
@ -41,16 +42,20 @@ public class Settings
{ {
CONFIGURATION.load(); CONFIGURATION.load();
// Config if (!didLoad)
FURNACE_WATTAGE = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Furnace Wattage Per Tick", FURNACE_WATTAGE).getInt(FURNACE_WATTAGE); {
SOUND_FXS = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Tesla Sound FXs", SOUND_FXS).getBoolean(SOUND_FXS); // Config
SHINY_SILVER = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Shiny silver wires", SHINY_SILVER).getBoolean(SHINY_SILVER); FURNACE_WATTAGE = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Furnace Wattage Per Tick", FURNACE_WATTAGE).getInt(FURNACE_WATTAGE);
MAX_CONTRACTOR_DISTANCE = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Max EM Contractor Path", MAX_CONTRACTOR_DISTANCE).getInt(MAX_CONTRACTOR_DISTANCE); SOUND_FXS = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Tesla Sound FXs", SOUND_FXS).getBoolean(SOUND_FXS);
SHINY_SILVER = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Shiny silver wires", SHINY_SILVER).getBoolean(SHINY_SILVER);
MAX_CONTRACTOR_DISTANCE = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Max EM Contractor Path", MAX_CONTRACTOR_DISTANCE).getInt(MAX_CONTRACTOR_DISTANCE);
LEVITATOR_ACCELERATION = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Contractor Item Acceleration", Settings.LEVITATOR_ACCELERATION).getDouble(Settings.LEVITATOR_ACCELERATION); LEVITATOR_ACCELERATION = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Levitator Item Acceleration", Settings.LEVITATOR_ACCELERATION).getDouble(Settings.LEVITATOR_ACCELERATION);
LEVITATOR_MAX_REACH = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Contractor Max Item Reach", Settings.LEVITATOR_MAX_REACH).getInt(Settings.LEVITATOR_MAX_REACH); LEVITATOR_MAX_REACH = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Levitator Max Item Reach", Settings.LEVITATOR_MAX_REACH).getInt(Settings.LEVITATOR_MAX_REACH);
LEVITATOR_MAX_SPEED = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Contractor Max Item Speed", Settings.LEVITATOR_MAX_SPEED).getDouble(Settings.LEVITATOR_MAX_SPEED); LEVITATOR_MAX_SPEED = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Levitator Max Item Speed", Settings.LEVITATOR_MAX_SPEED).getDouble(Settings.LEVITATOR_MAX_SPEED);
LEVITATOR_PUSH_DELAY = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Contractor Item Push Delay", Settings.LEVITATOR_PUSH_DELAY).getInt(Settings.LEVITATOR_PUSH_DELAY); LEVITATOR_PUSH_DELAY = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Levitator Item Push Delay", Settings.LEVITATOR_PUSH_DELAY).getInt(Settings.LEVITATOR_PUSH_DELAY);
didLoad = true;
}
} }
public static void save() public static void save()

View file

@ -2,12 +2,13 @@ package resonantinduction.core.part;
import java.util.List; import java.util.List;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI; import calclavia.lib.prefab.block.BlockTile;
/** /**
* A block used to build machines or decoration. * A block used to build machines or decoration.
@ -15,14 +16,14 @@ import resonantinduction.core.prefab.block.BlockRI;
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockMachineMaterial extends BlockRI public class BlockMachineMaterial extends BlockTile
{ {
String[] iconNames = new String[] { "material_stone_brick", "material_stone_brick2", "material_stone_chiseled", "material_stone_cobble", "material_stone_cracked", "material_stone", "material_stone_slab", "material_stone_mossy", "material_steel_dark", "material_steel_tint", "material_steel" }; String[] iconNames = new String[] { "material_stone_brick", "material_stone_brick2", "material_stone_chiseled", "material_stone_cobble", "material_stone_cracked", "material_stone", "material_stone_slab", "material_stone_mossy", "material_steel_dark", "material_steel_tint", "material_steel" };
Icon[] icons = new Icon[iconNames.length]; Icon[] icons = new Icon[iconNames.length];
public BlockMachineMaterial() public BlockMachineMaterial(int id)
{ {
super("material"); super(id, Material.iron);
} }
@Override @Override

View file

@ -1,5 +1,6 @@
package resonantinduction.core.prefab.block; package resonantinduction.core.prefab.block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -10,17 +11,18 @@ import net.minecraft.world.World;
import resonantinduction.api.IFilterable; import resonantinduction.api.IFilterable;
import resonantinduction.archaic.imprint.ItemImprint; import resonantinduction.archaic.imprint.ItemImprint;
import resonantinduction.core.prefab.tile.TileEntityFilterable; import resonantinduction.core.prefab.tile.TileEntityFilterable;
import calclavia.lib.prefab.block.BlockRotatable;
/** /**
* Extend this block class if a filter is allowed to be placed inside of this block. * Extend this block class if a filter is allowed to be placed inside of this block.
* *
* @author Calclavia * @author Calclavia
*/ */
public abstract class BlockImprintable extends BlockRIRotatable public abstract class BlockImprintable extends BlockRotatable
{ {
public BlockImprintable(String blockName) public BlockImprintable(int id, Material material)
{ {
super(blockName); super(id, material);
} }
/** Allows filters to be placed inside of this block. */ /** Allows filters to be placed inside of this block. */

View file

@ -1,45 +0,0 @@
package resonantinduction.core.prefab.block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.Configuration;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockTile;
import codechicken.multipart.ControlKeyModifer;
/**
* Basic prefab for machine
*
* @author DarkGuardsman
*
*/
public class BlockRI extends BlockTile
{
public BlockRI(String name)
{
this(name, UniversalElectricity.machine);
}
public BlockRI(String name, Material material)
{
this(Settings.getNextBlockID(), name, material);
}
public BlockRI(int id, String name, Material material)
{
super(Settings.CONFIGURATION.get(Configuration.CATEGORY_BLOCK, name, id).getInt(id), material);
this.setCreativeTab(TabRI.CORE);
this.setUnlocalizedName(Reference.PREFIX + name);
this.setTextureName(Reference.PREFIX + name);
this.setHardness(1f);
}
@Override
public boolean isControlDown(EntityPlayer player)
{
return ControlKeyModifer.isControlDown(player);
}
}

View file

@ -1,39 +0,0 @@
/**
*
*/
package resonantinduction.core.prefab.block;
import net.minecraft.block.material.Material;
import net.minecraftforge.common.Configuration;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockSidedIO;
/**
* Blocks that have specific sided input and output should extend this.
*
* @author Calclavia
*/
public class BlockRIIO extends BlockSidedIO
{
public BlockRIIO(String name)
{
this(name, Settings.getNextBlockID());
}
public BlockRIIO(String name, int id)
{
this(name, id, UniversalElectricity.machine);
}
public BlockRIIO(String name, int id, Material material)
{
super(Settings.CONFIGURATION.get(Configuration.CATEGORY_BLOCK, name, id).getInt(id), material);
this.setCreativeTab(TabRI.CORE);
this.setUnlocalizedName(Reference.PREFIX + name);
this.setTextureName(Reference.PREFIX + name);
this.setHardness(1f);
}
}

View file

@ -1,37 +0,0 @@
package resonantinduction.core.prefab.block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.Configuration;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockRotatable;
import codechicken.multipart.ControlKeyModifer;
/**
* @author Calclavia
*
*/
public class BlockRIRotatable extends BlockRotatable
{
public BlockRIRotatable(String name)
{
this(name, Settings.getNextBlockID());
}
public BlockRIRotatable(String name, int id)
{
super(Settings.CONFIGURATION.get(Configuration.CATEGORY_BLOCK, name, id).getInt(id), UniversalElectricity.machine);
this.setCreativeTab(TabRI.CORE);
this.setUnlocalizedName(Reference.PREFIX + name);
this.setTextureName(Reference.PREFIX + name);
this.setHardness(1f);
}
@Override
public boolean isControlDown(EntityPlayer player)
{
return ControlKeyModifer.isControlDown(player);
}
}

View file

@ -1,24 +0,0 @@
package resonantinduction.core.prefab.item;
import net.minecraft.item.Item;
import net.minecraftforge.common.Configuration;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
/** @author Calclavia */
public class ItemRI extends Item
{
public ItemRI(String name)
{
this(name, Settings.getNextItemID());
}
public ItemRI(String name, int id)
{
super(Settings.CONFIGURATION.get(Configuration.CATEGORY_ITEM, name, id).getInt(id));
this.setCreativeTab(TabRI.CORE);
this.setUnlocalizedName(Reference.PREFIX + name);
this.setTextureName(Reference.PREFIX + name);
}
}

View file

@ -1,23 +0,0 @@
package resonantinduction.core.prefab.part;
import net.minecraftforge.common.Configuration;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
import codechicken.multipart.JItemMultiPart;
/**
* @author Calclavia
*
*/
public abstract class ItemMultipartBase extends JItemMultiPart
{
public ItemMultipartBase(String name, int id)
{
super(Settings.CONFIGURATION.get(Configuration.CATEGORY_ITEM, name, id).getInt(id));
this.setCreativeTab(TabRI.CORE);
this.setUnlocalizedName(Reference.PREFIX + name);
this.setTextureName(Reference.PREFIX + name);
}
}

View file

@ -12,8 +12,8 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.resource.item.ItemOreResource; import resonantinduction.core.resource.item.ItemOreResource;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -23,16 +23,17 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockDust extends BlockRI public class BlockDust extends BlockTile
{ {
public BlockDust() public BlockDust(int id)
{ {
super("dust", Material.sand); super(id, Material.sand);
setCreativeTab(null); setCreativeTab(null);
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F);
setBlockBoundsForDepth(0); setBlockBoundsForDepth(0);
setHardness(0.5f); setHardness(0.5f);
setTextureName(Reference.PREFIX + "material_sand"); setTextureName(Reference.PREFIX + "material_sand");
setStepSound(soundGravelFootstep);
} }
@Override @Override

View file

@ -5,6 +5,7 @@ import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -12,8 +13,9 @@ import net.minecraftforge.oredict.OreDictionary;
import resonantinduction.api.recipe.MachineRecipes; import resonantinduction.api.recipe.MachineRecipes;
import resonantinduction.api.recipe.MachineRecipes.RecipeType; import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.api.recipe.RecipeResource; import resonantinduction.api.recipe.RecipeResource;
import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.core.prefab.item.ItemRI; import resonantinduction.core.TabRI;
import resonantinduction.core.resource.ResourceGenerator; import resonantinduction.core.resource.ResourceGenerator;
import resonantinduction.core.resource.TileMaterial; import resonantinduction.core.resource.TileMaterial;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
@ -28,13 +30,16 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author Calclavia * @author Calclavia
* *
*/ */
public class ItemOreResource extends ItemRI public class ItemOreResource extends Item
{ {
private int blockID = ResonantInduction.blockDust.blockID;; private int blockID = ResonantInduction.blockDust.blockID;;
public ItemOreResource(int id, String name) public ItemOreResource(int id, String name)
{ {
super(name, id); super(id);
setUnlocalizedName(Reference.PREFIX + name);
setTextureName(Reference.PREFIX + name);
setCreativeTab(TabRI.CORE);
setHasSubtypes(true); setHasSubtypes(true);
setMaxDamage(0); setMaxDamage(0);
} }

View file

@ -1,114 +0,0 @@
package resonantinduction.core.resource.item;
import java.util.List;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraftforge.oredict.OreDictionary;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.item.ItemRI;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* A meta data item containing parts of various crafting recipes. These parts do not do anything but
* allow new crafting recipes to be created.
*
* @author DarkGuardsman
*/
public class ItemParts extends ItemRI
{
public ItemParts()
{
super("DMParts", Settings.getNextItemID());
this.setHasSubtypes(true);
this.setMaxDamage(0);
this.setMaxStackSize(64);
this.setCreativeTab(CreativeTabs.tabMaterials);
}
@Override
public String getUnlocalizedName(ItemStack itemStack)
{
if (itemStack != null && itemStack.getItemDamage() < Parts.values().length)
{
return "item." + Parts.values()[itemStack.getItemDamage()].name;
}
return super.getUnlocalizedName();
}
@Override
@SideOnly(Side.CLIENT)
public Icon getIconFromDamage(int meta)
{
if (meta < Parts.values().length)
{
return Parts.values()[meta].icon;
}
return this.itemIcon;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister iconRegister)
{
super.registerIcons(iconRegister);
for (Parts part : Parts.values())
{
part.icon = iconRegister.registerIcon(Reference.PREFIX + "part." + part.name);
}
}
@Override
public int getMetadata(int meta)
{
return meta;
}
@Override
public void getSubItems(int blockID, CreativeTabs tab, List itemStackList)
{
for (Parts part : Parts.values())
{
if (part.show)
{
itemStackList.add(new ItemStack(this, 1, part.ordinal()));
}
}
}
public static enum Parts
{
Seal("leatherSeal"), GasSeal("gasSeal"), Tank("unfinishedTank"), Valve("valvePart"),
MiningIcon("miningIcon", false), CircuitBasic("circuitBasic"),
CircuitAdvanced("circuitAdvanced"), CircuitElite("circuitElite"), Motor("motor"),
IC("ic_chip"), COIL("coilCopper"), LASER("diodeLaser");
public String name;
public Icon icon;
boolean show = true;
private Parts(String name)
{
this.name = name;
}
private Parts(String name, boolean show)
{
this(name);
this.show = show;
}
}
public void loadOreNames()
{
for (Parts part : Parts.values())
{
OreDictionary.registerOre(part.name, new ItemStack(this, 1, part.ordinal()));
}
}
}

View file

@ -75,7 +75,7 @@ public class Electrical
@Mod.Metadata(ID) @Mod.Metadata(ID)
public static ModMetadata metadata; public static ModMetadata metadata;
public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, ID); public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, Settings.idManager, ID).setPrefix(Reference.PREFIX).setTab(TabRI.CORE);
// Energy // Energy
private static Item itemPartWire; private static Item itemPartWire;
@ -122,7 +122,7 @@ public class Electrical
blockSolarPanel = contentRegistry.createTile(BlockSolarPanel.class, TileSolarPanel.class); blockSolarPanel = contentRegistry.createTile(BlockSolarPanel.class, TileSolarPanel.class);
blockGenerator = contentRegistry.createTile(BlockGenerator.class, TileGenerator.class); blockGenerator = contentRegistry.createTile(BlockGenerator.class, TileGenerator.class);
blockThermopile = contentRegistry.createTile(BlockThermopile.class, TileThermopile.class); blockThermopile = contentRegistry.createTile(BlockThermopile.class, TileThermopile.class);
blockItemCharger = contentRegistry.createTile(BlockCharger.class, TileCharger.class); blockItemCharger = contentRegistry.createTile(BlockCharger.class, TileCharger.class);
Settings.save(); Settings.save();

View file

@ -7,19 +7,20 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import calclavia.components.CalclaviaLoader; import calclavia.components.CalclaviaLoader;
import calclavia.lib.multiblock.fake.IBlockActivate; import calclavia.lib.multiblock.fake.IBlockActivate;
import calclavia.lib.multiblock.fake.IMultiBlock; import calclavia.lib.multiblock.fake.IMultiBlock;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockArmbot extends BlockRI public class BlockArmbot extends BlockTile
{ {
public BlockArmbot() public BlockArmbot(int id)
{ {
super("armbot"); super(id, UniversalElectricity.machine);
} }
@Override @Override

View file

@ -15,9 +15,10 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.Settings; import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRIIO;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.CompatibilityModule; import universalelectricity.api.CompatibilityModule;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockSidedIO;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -27,12 +28,12 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockBattery extends BlockRIIO implements ITileEntityProvider public class BlockBattery extends BlockSidedIO implements ITileEntityProvider
{ {
public BlockBattery() public BlockBattery(int id)
{ {
super("battery", Settings.getNextBlockID()); super(id, UniversalElectricity.machine);
this.setTextureName(Reference.PREFIX + "material_metal_side"); setTextureName(Reference.PREFIX + "material_metal_side");
} }
@Override @Override

View file

@ -5,91 +5,94 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI; import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockTile;
/** Block that is used to charge an item on its surface /**
* Block that is used to charge an item on its surface
* *
* @author Darkguardsman */ * @author Darkguardsman
public class BlockCharger extends BlockRI */
public class BlockCharger extends BlockTile
{ {
public BlockCharger() public BlockCharger(int id)
{ {
super("BlockItemCharger"); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_side"); setTextureName(Reference.PREFIX + "material_metal_side");
} }
@Override @Override
public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int meta) public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int meta)
{ {
world.setBlockMetadataWithNotify(x, y, z, side, 3); world.setBlockMetadataWithNotify(x, y, z, side, 3);
return side; return side;
} }
@Override @Override
public void setBlockBoundsForItemRender() public void setBlockBoundsForItemRender()
{ {
this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f); this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f);
} }
@Override @Override
public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z)
{ {
TileEntity tile = world.getBlockTileEntity(x, y, z); TileEntity tile = world.getBlockTileEntity(x, y, z);
if (tile instanceof TileCharger) if (tile instanceof TileCharger)
{ {
switch (((TileCharger) tile).getDirection()) switch (((TileCharger) tile).getDirection())
{ {
case DOWN: case DOWN:
this.setBlockBounds(0f, .6f, 0f, 1f, 1f, 1f); this.setBlockBounds(0f, .6f, 0f, 1f, 1f, 1f);
break; break;
case WEST: case WEST:
this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f); this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f);
break; break;
case SOUTH: case SOUTH:
this.setBlockBounds(0f, 0f, 0f, 1f, 1f, .4f); this.setBlockBounds(0f, 0f, 0f, 1f, 1f, .4f);
break; break;
case NORTH: case NORTH:
this.setBlockBounds(0f, 0f, .6f, 1f, 1f, 1f); this.setBlockBounds(0f, 0f, .6f, 1f, 1f, 1f);
break; break;
case UP: case UP:
this.setBlockBounds(0f, 0f, 0f, 1f, .4f, 1f); this.setBlockBounds(0f, 0f, 0f, 1f, .4f, 1f);
break; break;
case EAST: case EAST:
this.setBlockBounds(0f, 0f, 0f, .4f, 1f, 1f); this.setBlockBounds(0f, 0f, 0f, .4f, 1f, 1f);
break; break;
default: default:
break; break;
} }
} }
} }
@Override @Override
public boolean onMachineActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) public boolean onMachineActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
{ {
TileEntity tile = world.getBlockTileEntity(x, y, z); TileEntity tile = world.getBlockTileEntity(x, y, z);
if (player != null && tile instanceof TileCharger) if (player != null && tile instanceof TileCharger)
{ {
return this.interactCurrentItem((TileCharger) tile, 0, player); return this.interactCurrentItem((TileCharger) tile, 0, player);
} }
return false; return false;
} }
@Override @Override
public TileEntity createNewTileEntity(World world) public TileEntity createNewTileEntity(World world)
{ {
return new TileCharger(); return new TileCharger();
} }
@Override @Override
public boolean isOpaqueCube() public boolean isOpaqueCube()
{ {
return false; return false;
} }
@Override @Override
public int damageDropped(int par1) public int damageDropped(int par1)
{ {
return 0; return 0;
} }
} }

View file

@ -7,20 +7,21 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.electrical.Electrical; import resonantinduction.electrical.Electrical;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockEncoder extends BlockRI public class BlockEncoder extends BlockTile
{ {
Icon encoder_side; Icon encoder_side;
Icon encoder_top; Icon encoder_top;
Icon encoder_bottom; Icon encoder_bottom;
public BlockEncoder() public BlockEncoder(int id)
{ {
super("encoder"); super(id, UniversalElectricity.machine);
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)

View file

@ -5,19 +5,19 @@ import java.util.List;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.item.ItemRI;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class ItemDisk extends ItemRI public class ItemDisk extends Item
{ {
public ItemDisk() public ItemDisk(int id)
{ {
super("disk"); super(id);
this.setHasSubtypes(true); this.setHasSubtypes(true);
} }

View file

@ -4,16 +4,17 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockRotatable;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockGenerator extends BlockRIRotatable public class BlockGenerator extends BlockRotatable
{ {
public BlockGenerator() public BlockGenerator(int id)
{ {
super("generator"); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_steel"); setTextureName(Reference.PREFIX + "material_steel");
rotationMask = Byte.parseByte("111111", 2); rotationMask = Byte.parseByte("111111", 2);
} }

View file

@ -3,16 +3,17 @@ package resonantinduction.electrical.generator.solar;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockSolarPanel extends BlockRI public class BlockSolarPanel extends BlockTile
{ {
public BlockSolarPanel() public BlockSolarPanel(int id)
{ {
super("solarPanel"); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_side"); setTextureName(Reference.PREFIX + "material_metal_side");
setBlockBounds(0, 0, 0, 1, 0.5f, 1); setBlockBounds(0, 0, 0, 1, 0.5f, 1);
} }

View file

@ -3,13 +3,14 @@ package resonantinduction.electrical.generator.thermopile;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI; import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockTile;
public class BlockThermopile extends BlockRI public class BlockThermopile extends BlockTile
{ {
public BlockThermopile() public BlockThermopile(int id)
{ {
super("thermopile"); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_top"); setTextureName(Reference.PREFIX + "material_metal_top");
} }

View file

@ -8,21 +8,22 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import universalelectricity.api.vector.VectorWorld; import universalelectricity.api.vector.VectorWorld;
import calclavia.components.tool.ToolModeLink; import calclavia.components.tool.ToolModeLink;
import calclavia.lib.prefab.block.BlockRotatable;
import calclavia.lib.prefab.block.ILinkable; import calclavia.lib.prefab.block.ILinkable;
import calclavia.lib.utility.WrenchUtility; import calclavia.lib.utility.WrenchUtility;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockLevitator extends BlockRIRotatable public class BlockLevitator extends BlockRotatable
{ {
public BlockLevitator() public BlockLevitator(int id)
{ {
super("levitator"); super(id, UniversalElectricity.machine);
this.setTextureName(Reference.PREFIX + "machine"); setTextureName(Reference.PREFIX + "machine");
} }
@Override @Override

View file

@ -8,23 +8,22 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.part.ItemMultipartBase;
import resonantinduction.electrical.wire.EnumWireMaterial; import resonantinduction.electrical.wire.EnumWireMaterial;
import calclavia.lib.utility.LanguageUtility; import calclavia.lib.utility.LanguageUtility;
import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3; import codechicken.lib.vec.Vector3;
import codechicken.multipart.ControlKeyModifer; import codechicken.multipart.ControlKeyModifer;
import codechicken.multipart.JItemMultiPart;
import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.MultiPartRegistry;
import codechicken.multipart.TMultiPart; import codechicken.multipart.TMultiPart;
public class ItemMultimeter extends ItemMultipartBase public class ItemMultimeter extends JItemMultiPart
{ {
private Icon[] icons = new Icon[EnumWireMaterial.values().length]; private Icon[] icons = new Icon[EnumWireMaterial.values().length];
public ItemMultimeter() public ItemMultimeter(int id)
{ {
super("multimeter", Settings.getNextItemID()); super(id);
} }
@Override @Override

View file

@ -4,9 +4,9 @@ import net.minecraft.block.ITileEntityProvider;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.mechanical.process.TileMixer; import resonantinduction.mechanical.process.TileMixer;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockRotatable;
/** /**
* A block used to build machines. * A block used to build machines.
@ -14,11 +14,11 @@ import resonantinduction.mechanical.process.TileMixer;
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockMixer extends BlockRIRotatable implements ITileEntityProvider public class BlockMixer extends BlockRotatable implements ITileEntityProvider
{ {
public BlockMixer() public BlockMixer(int id)
{ {
super("mixer", Settings.getNextBlockID()); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_top"); setTextureName(Reference.PREFIX + "material_metal_top");
} }

View file

@ -9,10 +9,10 @@ import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.Utility; import resonantinduction.core.Utility;
import resonantinduction.core.prefab.block.BlockRIIO;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockSidedIO;
import calclavia.lib.utility.LanguageUtility; import calclavia.lib.utility.LanguageUtility;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -21,12 +21,12 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockTesla extends BlockRIIO implements ITileEntityProvider public class BlockTesla extends BlockSidedIO implements ITileEntityProvider
{ {
public BlockTesla() public BlockTesla(int id)
{ {
super("tesla", Settings.getNextBlockID()); super(id, UniversalElectricity.machine);
this.setTextureName(Reference.PREFIX + "machine"); setTextureName(Reference.PREFIX + "machine");
} }
@Override @Override

View file

@ -5,21 +5,20 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.part.ItemMultipartBase;
import resonantinduction.electrical.wire.EnumWireMaterial; import resonantinduction.electrical.wire.EnumWireMaterial;
import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3; import codechicken.lib.vec.Vector3;
import codechicken.multipart.JItemMultiPart;
import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.MultiPartRegistry;
import codechicken.multipart.TMultiPart; import codechicken.multipart.TMultiPart;
public class ItemTransformer extends ItemMultipartBase public class ItemTransformer extends JItemMultiPart
{ {
private Icon[] icons = new Icon[EnumWireMaterial.values().length]; private Icon[] icons = new Icon[EnumWireMaterial.values().length];
public ItemTransformer() public ItemTransformer(int id)
{ {
super("transformer", Settings.getNextItemID()); super(id);
} }
@Override @Override

View file

@ -8,6 +8,7 @@ import net.minecraftforge.oredict.ShapedOreRecipe;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.core.Settings; import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
import resonantinduction.electrical.purifier.BlockMixer; import resonantinduction.electrical.purifier.BlockMixer;
import resonantinduction.mechanical.belt.BlockConveyorBelt; import resonantinduction.mechanical.belt.BlockConveyorBelt;
import resonantinduction.mechanical.belt.TileConveyorBelt; import resonantinduction.mechanical.belt.TileConveyorBelt;
@ -29,7 +30,7 @@ import resonantinduction.mechanical.logistic.TileRejector;
import resonantinduction.mechanical.network.IMechanical; import resonantinduction.mechanical.network.IMechanical;
import resonantinduction.mechanical.network.PacketNetwork; import resonantinduction.mechanical.network.PacketNetwork;
import resonantinduction.mechanical.process.BlockFilter; import resonantinduction.mechanical.process.BlockFilter;
import resonantinduction.mechanical.process.BlockGrinderWheel; import resonantinduction.mechanical.process.BlockGrindingWheel;
import resonantinduction.mechanical.process.TileGrinderWheel; import resonantinduction.mechanical.process.TileGrinderWheel;
import resonantinduction.mechanical.process.TileMixer; import resonantinduction.mechanical.process.TileMixer;
import resonantinduction.mechanical.turbine.BlockWaterTurbine; import resonantinduction.mechanical.turbine.BlockWaterTurbine;
@ -73,7 +74,7 @@ public class Mechanical
@Mod.Metadata(ID) @Mod.Metadata(ID)
public static ModMetadata metadata; public static ModMetadata metadata;
public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, ID); public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, Settings.idManager, ID).setPrefix(Reference.PREFIX).setTab(TabRI.CORE);
// Energy // Energy
public static Item itemGear; public static Item itemGear;
@ -124,7 +125,7 @@ public class Mechanical
itemPipe = contentRegistry.createItem(ItemPipe.class); itemPipe = contentRegistry.createItem(ItemPipe.class);
// Machines // Machines
blockGrinderWheel = contentRegistry.createTile(BlockGrinderWheel.class, TileGrinderWheel.class); blockGrinderWheel = contentRegistry.createTile(BlockGrindingWheel.class, TileGrinderWheel.class);
blockPurifier = contentRegistry.createTile(BlockMixer.class, TileMixer.class); blockPurifier = contentRegistry.createTile(BlockMixer.class, TileMixer.class);
blockFilter = contentRegistry.createBlock(BlockFilter.class); blockFilter = contentRegistry.createBlock(BlockFilter.class);
OreDictionary.registerOre("gear", itemGear); OreDictionary.registerOre("gear", itemGear);

View file

@ -2,6 +2,7 @@ package resonantinduction.mechanical.belt;
import java.util.List; import java.util.List;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
@ -14,9 +15,10 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import resonantinduction.mechanical.belt.TileConveyorBelt.SlantType; import resonantinduction.mechanical.belt.TileConveyorBelt.SlantType;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -25,13 +27,13 @@ import cpw.mods.fml.relauncher.SideOnly;
* *
* @author Calclavia, DarkGuardsman * @author Calclavia, DarkGuardsman
*/ */
public class BlockConveyorBelt extends BlockRI public class BlockConveyorBelt extends BlockTile
{ {
public BlockConveyorBelt() public BlockConveyorBelt(int id)
{ {
super("conveyorBelt"); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_side"); setTextureName(Reference.PREFIX + "material_metal_side");
this.setBlockBounds(0, 0, 0, 1, 0.3f, 1); setBlockBounds(0, 0, 0, 1, 0.3f, 1);
} }
@Override @Override

View file

@ -3,18 +3,17 @@ package resonantinduction.mechanical.fluid.pipe;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.part.ItemMultipartBase;
import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3; import codechicken.lib.vec.Vector3;
import codechicken.multipart.JItemMultiPart;
import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.MultiPartRegistry;
import codechicken.multipart.TMultiPart; import codechicken.multipart.TMultiPart;
public class ItemPipe extends ItemMultipartBase public class ItemPipe extends JItemMultiPart
{ {
public ItemPipe() public ItemPipe(int id)
{ {
super("pipe", Settings.getNextItemID()); super(id);
this.setHasSubtypes(true); this.setHasSubtypes(true);
this.setMaxDamage(0); this.setMaxDamage(0);
} }
@ -33,12 +32,13 @@ public class ItemPipe extends ItemMultipartBase
return damage; return damage;
} }
/* /*
@Override * @Override
public void getSubItems(int itemID, CreativeTabs tab, List listToAddTo) * public void getSubItems(int itemID, CreativeTabs tab, List listToAddTo)
{ * {
for (EnumPipeMaterial material : EnumPipeMaterial.values()) * for (EnumPipeMaterial material : EnumPipeMaterial.values())
{ * {
listToAddTo.add(new ItemStack(itemID, 1, material.ordinal())); * listToAddTo.add(new ItemStack(itemID, 1, material.ordinal()));
} * }
}*/ * }
*/
} }

View file

@ -1,18 +1,19 @@
package resonantinduction.mechanical.fluid.prefab; package resonantinduction.mechanical.fluid.prefab;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockRI; import calclavia.lib.prefab.block.BlockTile;
/** /**
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockFluidNetwork extends BlockRI public abstract class BlockFluidNetwork extends BlockTile
{ {
public BlockFluidNetwork(String name) public BlockFluidNetwork(int id, Material material)
{ {
super(name); super(id, material);
} }
@Override @Override

View file

@ -1,5 +1,6 @@
package resonantinduction.mechanical.fluid.pump; package resonantinduction.mechanical.fluid.pump;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
@ -7,18 +8,18 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRIRotatable; import calclavia.lib.prefab.block.BlockRotatable;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockGrate extends BlockRIRotatable public class BlockGrate extends BlockRotatable
{ {
private Icon drainIcon; private Icon drainIcon;
private Icon fillIcon; private Icon fillIcon;
public BlockGrate() public BlockGrate(int id)
{ {
super("grate"); super(id, Material.iron);
rotationMask = Byte.parseByte("111111", 2); rotationMask = Byte.parseByte("111111", 2);
} }

View file

@ -14,6 +14,7 @@ import resonantinduction.core.render.RIBlockRenderingHandler;
import resonantinduction.mechanical.fluid.pipe.EnumPipeMaterial; import resonantinduction.mechanical.fluid.pipe.EnumPipeMaterial;
import resonantinduction.mechanical.fluid.pipe.ItemBlockFluidContainer; import resonantinduction.mechanical.fluid.pipe.ItemBlockFluidContainer;
import resonantinduction.mechanical.fluid.prefab.BlockFluidNetwork; import resonantinduction.mechanical.fluid.prefab.BlockFluidNetwork;
import universalelectricity.api.UniversalElectricity;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.utility.FluidUtility; import calclavia.lib.utility.FluidUtility;
import calclavia.lib.utility.inventory.InventoryUtility; import calclavia.lib.utility.inventory.InventoryUtility;
@ -22,11 +23,11 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockTank extends BlockFluidNetwork public class BlockTank extends BlockFluidNetwork
{ {
public BlockTank() public BlockTank(int id)
{ {
super("tank"); super(id, UniversalElectricity.machine);
this.setHardness(1f); setHardness(1f);
this.setResistance(5f); setResistance(5f);
} }
@Override @Override

View file

@ -9,20 +9,20 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Settings; import resonantinduction.core.Settings;
import resonantinduction.core.prefab.part.ItemMultipartBase;
import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3; import codechicken.lib.vec.Vector3;
import codechicken.multipart.ControlKeyModifer; import codechicken.multipart.ControlKeyModifer;
import codechicken.multipart.JItemMultiPart;
import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.MultiPartRegistry;
import codechicken.multipart.PartMap; import codechicken.multipart.PartMap;
import codechicken.multipart.TMultiPart; import codechicken.multipart.TMultiPart;
import codechicken.multipart.TileMultipart; import codechicken.multipart.TileMultipart;
public class ItemGear extends ItemMultipartBase public class ItemGear extends JItemMultiPart
{ {
public ItemGear() public ItemGear(int id)
{ {
super("gear", Settings.getNextItemID()); super(id);
} }
@Override @Override

View file

@ -4,17 +4,17 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Settings; import resonantinduction.core.Settings;
import resonantinduction.core.prefab.part.ItemMultipartBase;
import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3; import codechicken.lib.vec.Vector3;
import codechicken.multipart.JItemMultiPart;
import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.MultiPartRegistry;
import codechicken.multipart.TMultiPart; import codechicken.multipart.TMultiPart;
public class ItemGearShaft extends ItemMultipartBase public class ItemGearShaft extends JItemMultiPart
{ {
public ItemGearShaft() public ItemGearShaft(int id)
{ {
super("gearShaft", Settings.getNextItemID()); super(id);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package resonantinduction.mechanical.item; package resonantinduction.mechanical.item;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatMessageComponent; import net.minecraft.util.ChatMessageComponent;
@ -11,14 +12,13 @@ import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler; import net.minecraftforge.fluids.IFluidHandler;
import resonantinduction.api.IReadOut; import resonantinduction.api.IReadOut;
import resonantinduction.api.IReadOut.EnumTools; import resonantinduction.api.IReadOut.EnumTools;
import resonantinduction.core.prefab.item.ItemRI;
import calclavia.lib.utility.FluidUtility; import calclavia.lib.utility.FluidUtility;
public class ItemPipeGauge extends ItemRI public class ItemPipeGauge extends Item
{ {
public ItemPipeGauge() public ItemPipeGauge(int id)
{ {
super("pipeGauge"); super(id);
this.setHasSubtypes(true); this.setHasSubtypes(true);
this.setMaxStackSize(1); this.setMaxStackSize(1);

View file

@ -12,6 +12,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockImprintable; import resonantinduction.core.prefab.block.BlockImprintable;
import universalelectricity.api.UniversalElectricity;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -21,9 +22,9 @@ public class BlockDetector extends BlockImprintable
Icon eye_red; Icon eye_red;
Icon eye_green; Icon eye_green;
public BlockDetector() public BlockDetector(int id)
{ {
super("detector"); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_side"); setTextureName(Reference.PREFIX + "material_metal_side");
} }

View file

@ -7,6 +7,7 @@ import net.minecraft.util.ChatMessageComponent;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockImprintable; import resonantinduction.core.prefab.block.BlockImprintable;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -17,9 +18,9 @@ import cpw.mods.fml.relauncher.SideOnly;
*/ */
public class BlockManipulator extends BlockImprintable public class BlockManipulator extends BlockImprintable
{ {
public BlockManipulator() public BlockManipulator(int id)
{ {
super("manipulator"); super(id, UniversalElectricity.machine);
this.setBlockBounds(0, 0, 0, 1, 0.09f, 1); this.setBlockBounds(0, 0, 0, 1, 0.09f, 1);
} }

View file

@ -7,6 +7,7 @@ import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockImprintable; import resonantinduction.core.prefab.block.BlockImprintable;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -15,9 +16,9 @@ public class BlockRejector extends BlockImprintable
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
protected Icon front; protected Icon front;
public BlockRejector() public BlockRejector(int id)
{ {
super("rejector"); super(id, UniversalElectricity.machine);
} }
@Override @Override

View file

@ -4,17 +4,18 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import resonantinduction.electrical.generator.TileGenerator; import resonantinduction.electrical.generator.TileGenerator;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockRotatable;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class BlockFluidMotor extends BlockRIRotatable public class BlockHydrualicPump extends BlockRotatable
{ {
public BlockFluidMotor() public BlockHydrualicPump(int id)
{ {
super("FluidMotor"); super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_steel"); setTextureName(Reference.PREFIX + "material_steel");
rotationMask = Byte.parseByte("111111", 2); rotationMask = Byte.parseByte("111111", 2);
} }

View file

@ -3,15 +3,15 @@ package resonantinduction.mechanical.process;
import java.util.Random; import java.util.Random;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.api.recipe.MachineRecipes; import resonantinduction.api.recipe.MachineRecipes;
import resonantinduction.api.recipe.MachineRecipes.RecipeType; import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.api.recipe.RecipeResource; import resonantinduction.api.recipe.RecipeResource;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.resource.fluid.BlockFluidMixture; import resonantinduction.core.resource.fluid.BlockFluidMixture;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import calclavia.lib.utility.LanguageUtility; import calclavia.lib.utility.LanguageUtility;
import calclavia.lib.utility.inventory.InventoryUtility; import calclavia.lib.utility.inventory.InventoryUtility;
@ -21,11 +21,11 @@ import calclavia.lib.utility.inventory.InventoryUtility;
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockFilter extends BlockRI implements ITileEntityProvider public class BlockFilter extends BlockTile
{ {
public BlockFilter() public BlockFilter(int id)
{ {
super("filter"); super(id, Material.iron);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package resonantinduction.mechanical.process; package resonantinduction.mechanical.process;
import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
@ -8,9 +9,8 @@ import net.minecraft.util.DamageSource;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.core.render.RIBlockRenderingHandler; import resonantinduction.core.render.RIBlockRenderingHandler;
import calclavia.lib.prefab.block.BlockRotatable;
import calclavia.lib.utility.WorldUtility; import calclavia.lib.utility.WorldUtility;
/** /**
@ -19,11 +19,11 @@ import calclavia.lib.utility.WorldUtility;
* @author Calclavia * @author Calclavia
* *
*/ */
public class BlockGrinderWheel extends BlockRIRotatable implements ITileEntityProvider public class BlockGrindingWheel extends BlockRotatable implements ITileEntityProvider
{ {
public BlockGrinderWheel() public BlockGrindingWheel(int id)
{ {
super("grindingWheel", Settings.getNextBlockID()); super(id, Material.wood);
setTextureName(Reference.PREFIX + "material_steel_dark"); setTextureName(Reference.PREFIX + "material_steel_dark");
setBlockBounds(0.05f, 0.05f, 0.05f, 0.95f, 0.95f, 0.95f); setBlockBounds(0.05f, 0.05f, 0.05f, 0.95f, 0.95f, 0.95f);
rotationMask = Byte.parseByte("111111", 2); rotationMask = Byte.parseByte("111111", 2);

View file

@ -13,21 +13,13 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockWaterTurbine extends BlockTurbine public class BlockWaterTurbine extends BlockTurbine
{ {
public BlockWaterTurbine() public BlockWaterTurbine(int id)
{ {
this(Settings.getNextBlockID(), "waterTurbine", Material.iron); super(id, Material.iron);
setTextureName(Reference.PREFIX + "material_wood_surface"); setTextureName(Reference.PREFIX + "material_wood_surface");
rotationMask = Byte.parseByte("111111", 2); rotationMask = Byte.parseByte("111111", 2);
} }
public BlockWaterTurbine(int id, String name, Material material)
{
super(Settings.CONFIGURATION.getBlock(name, id).getInt(id), material);
this.setUnlocalizedName(Reference.PREFIX + name);
this.setCreativeTab(TabRI.CORE);
this.setTextureName(Reference.PREFIX + name);
}
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@Override @Override
public int getRenderType() public int getRenderType()

View file

@ -13,21 +13,13 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockWindTurbine extends BlockTurbine public class BlockWindTurbine extends BlockTurbine
{ {
public BlockWindTurbine() public BlockWindTurbine(int id)
{ {
this(Settings.getNextBlockID(), "windTurbine", Material.iron); super(id, Material.iron);
setTextureName(Reference.PREFIX + "material_wood_surface"); setTextureName(Reference.PREFIX + "material_wood_surface");
rotationMask = Byte.parseByte("111111", 2); rotationMask = Byte.parseByte("111111", 2);
} }
public BlockWindTurbine(int id, String name, Material material)
{
super(Settings.CONFIGURATION.getBlock(name, id).getInt(id), material);
this.setUnlocalizedName(Reference.PREFIX + name);
this.setCreativeTab(TabRI.CORE);
this.setTextureName(Reference.PREFIX + name);
}
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@Override @Override
public int getRenderType() public int getRenderType()

View file

@ -19,18 +19,18 @@ item.resonantinduction\:oreRefinedDust.name=%v Refined Dust
item.resonantinduction\:oreRubble.name=%v Rubble item.resonantinduction\:oreRubble.name=%v Rubble
### Archaic Module ### Archaic Module
## Materials ## machineMaterials
tile.resonantinduction\:material.0.name=Industrial Brick tile.resonantinduction\:machineMaterial.0.name=Industrial Brick
tile.resonantinduction\:material.1.name=Industrial Brick tile.resonantinduction\:machineMaterial.1.name=Industrial Brick
tile.resonantinduction\:material.2.name=Industrial Chiseled Brick tile.resonantinduction\:machineMaterial.2.name=Industrial Chiseled Brick
tile.resonantinduction\:material.3.name=Industrial Cobblestone tile.resonantinduction\:machineMaterial.3.name=Industrial Cobblestone
tile.resonantinduction\:material.4.name=Industrial Cracked Stone tile.resonantinduction\:machineMaterial.4.name=Industrial Cracked Stone
tile.resonantinduction\:material.5.name=Industrial Stone tile.resonantinduction\:machineMaterial.5.name=Industrial Stone
tile.resonantinduction\:material.6.name=Industrial Stone Slab tile.resonantinduction\:machineMaterial.6.name=Industrial Stone Slab
tile.resonantinduction\:material.7.name=Industrial Mossy Stone tile.resonantinduction\:machineMaterial.7.name=Industrial Mossy Stone
tile.resonantinduction\:material.8.name=Dark Steel tile.resonantinduction\:machineMaterial.8.name=Dark Steel
tile.resonantinduction\:material.9.namee=Tinted Steel tile.resonantinduction\:machineMaterial.9.name=Tinted Steel
tile.resonantinduction\:material.10.name=Steel tile.resonantinduction\:machineMaterial.10.name=Steel
## Items ## Items
item.resonantinduction\:imprint.name=Imprint item.resonantinduction\:imprint.name=Imprint
@ -109,6 +109,7 @@ tile.resonantinduction\:levitator.name=Electromagnetic Levitator
tile.resonantinduction\:battery.name=Battery tile.resonantinduction\:battery.name=Battery
tile.resonantinduction\:armbot.name=Armbot tile.resonantinduction\:armbot.name=Armbot
tile.resonantinduction\:encoder.name=Encoder tile.resonantinduction\:encoder.name=Encoder
tile.resonantinduction\:charger.name=Charging Plate
## Generators ## Generators
tile.resonantinduction\:solarPanel.name=Solar Panel tile.resonantinduction\:solarPanel.name=Solar Panel