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.ResonantInduction;
import resonantinduction.core.Settings;
import resonantinduction.core.TabRI;
import resonantinduction.core.part.BlockMachineMaterial;
import calclavia.lib.content.ContentRegistry;
import calclavia.lib.network.PacketHandler;
@ -64,7 +65,7 @@ public class Archaic
@Mod.Metadata(ID)
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 blockCrate;

View file

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

View file

@ -12,7 +12,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
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 cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -25,13 +26,13 @@ import cpw.mods.fml.relauncher.SideOnly;
*
* @author DarkGuardsman
*/
public class BlockCrate extends BlockRI
public class BlockCrate extends BlockTile
{
Icon advanced, elite;
public BlockCrate()
public BlockCrate(int id)
{
super("crate");
super(id, UniversalElectricity.machine);
}
@SideOnly(Side.CLIENT)

View file

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

View file

@ -1,6 +1,7 @@
package resonantinduction.archaic.engineering;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
@ -9,15 +10,14 @@ import resonantinduction.api.recipe.MachineRecipes;
import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.api.recipe.RecipeResource;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.item.ItemRI;
import universalelectricity.api.vector.Vector3;
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);
setMaxDamage(400);
}

View file

@ -14,19 +14,19 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
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.SideOnly;
public class BlockFirebox extends BlockRI
public class BlockFirebox extends BlockTile
{
private Icon topOn;
private Icon topOff;
public BlockFirebox()
public BlockFirebox(int id)
{
super("firebox", Material.rock);
this.setTickRandomly(true);
super(id, Material.rock);
setTickRandomly(true);
}
@Override

View file

@ -11,19 +11,19 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import universalelectricity.api.vector.Vector2;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class BlockHotPlate extends BlockRI
public class BlockHotPlate extends BlockTile
{
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);
setTickRandomly(true);
}

View file

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

View file

@ -9,19 +9,19 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import calclavia.lib.utility.inventory.InventoryUtility;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class BlockCast extends BlockRI
public class BlockCast extends BlockTile
{
Icon top;
public BlockCast()
public BlockCast(int id)
{
super("cast", Material.wood);
super(id, Material.iron);
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.World;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import calclavia.lib.utility.inventory.InventoryUtility;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class BlockMillstone extends BlockRI
public class BlockMillstone extends BlockTile
{
Icon top;
public BlockMillstone()
public BlockMillstone(int id)
{
super("millstone", Material.wood);
super(id, Material.iron);
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> 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
public void preInit(FMLPreInitializationEvent evt)

View file

@ -29,6 +29,7 @@ public class Settings
/** Settings */
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 boolean SOUND_FXS = true;
public static boolean SHINY_SILVER = true;
@ -41,16 +42,20 @@ public class Settings
{
CONFIGURATION.load();
// Config
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);
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);
if (!didLoad)
{
// Config
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);
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_MAX_REACH = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Contractor 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_PUSH_DELAY = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Contractor Item Push Delay", Settings.LEVITATOR_PUSH_DELAY).getInt(Settings.LEVITATOR_PUSH_DELAY);
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, "Levitator Max Item Reach", Settings.LEVITATOR_MAX_REACH).getInt(Settings.LEVITATOR_MAX_REACH);
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, "Levitator Item Push Delay", Settings.LEVITATOR_PUSH_DELAY).getInt(Settings.LEVITATOR_PUSH_DELAY);
didLoad = true;
}
}
public static void save()

View file

@ -2,12 +2,13 @@ package resonantinduction.core.part;
import java.util.List;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import calclavia.lib.prefab.block.BlockTile;
/**
* A block used to build machines or decoration.
@ -15,14 +16,14 @@ import resonantinduction.core.prefab.block.BlockRI;
* @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" };
Icon[] icons = new Icon[iconNames.length];
public BlockMachineMaterial()
public BlockMachineMaterial(int id)
{
super("material");
super(id, Material.iron);
}
@Override

View file

@ -1,5 +1,6 @@
package resonantinduction.core.prefab.block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
@ -10,17 +11,18 @@ import net.minecraft.world.World;
import resonantinduction.api.IFilterable;
import resonantinduction.archaic.imprint.ItemImprint;
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.
*
* @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. */

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 resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.resource.item.ItemOreResource;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -23,16 +23,17 @@ import cpw.mods.fml.relauncher.SideOnly;
* @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);
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F);
setBlockBoundsForDepth(0);
setHardness(0.5f);
setTextureName(Reference.PREFIX + "material_sand");
setStepSound(soundGravelFootstep);
}
@Override

View file

@ -5,6 +5,7 @@ import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
@ -12,8 +13,9 @@ import net.minecraftforge.oredict.OreDictionary;
import resonantinduction.api.recipe.MachineRecipes;
import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.api.recipe.RecipeResource;
import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction;
import resonantinduction.core.prefab.item.ItemRI;
import resonantinduction.core.TabRI;
import resonantinduction.core.resource.ResourceGenerator;
import resonantinduction.core.resource.TileMaterial;
import universalelectricity.api.vector.Vector3;
@ -28,13 +30,16 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author Calclavia
*
*/
public class ItemOreResource extends ItemRI
public class ItemOreResource extends Item
{
private int blockID = ResonantInduction.blockDust.blockID;;
public ItemOreResource(int id, String name)
{
super(name, id);
super(id);
setUnlocalizedName(Reference.PREFIX + name);
setTextureName(Reference.PREFIX + name);
setCreativeTab(TabRI.CORE);
setHasSubtypes(true);
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)
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
private static Item itemPartWire;
@ -122,7 +122,7 @@ public class Electrical
blockSolarPanel = contentRegistry.createTile(BlockSolarPanel.class, TileSolarPanel.class);
blockGenerator = contentRegistry.createTile(BlockGenerator.class, TileGenerator.class);
blockThermopile = contentRegistry.createTile(BlockThermopile.class, TileThermopile.class);
blockItemCharger = contentRegistry.createTile(BlockCharger.class, TileCharger.class);
Settings.save();

View file

@ -7,19 +7,20 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import calclavia.components.CalclaviaLoader;
import calclavia.lib.multiblock.fake.IBlockActivate;
import calclavia.lib.multiblock.fake.IMultiBlock;
import calclavia.lib.prefab.block.BlockTile;
import cpw.mods.fml.relauncher.Side;
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

View file

@ -15,9 +15,10 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRIIO;
import resonantinduction.core.render.RIBlockRenderingHandler;
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.SideOnly;
@ -27,12 +28,12 @@ import cpw.mods.fml.relauncher.SideOnly;
* @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());
this.setTextureName(Reference.PREFIX + "material_metal_side");
super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_side");
}
@Override

View file

@ -5,91 +5,94 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
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 */
public class BlockCharger extends BlockRI
* @author Darkguardsman
*/
public class BlockCharger extends BlockTile
{
public BlockCharger()
{
super("BlockItemCharger");
setTextureName(Reference.PREFIX + "material_metal_side");
}
public BlockCharger(int id)
{
super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "material_metal_side");
}
@Override
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);
return side;
}
@Override
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);
return side;
}
@Override
public void setBlockBoundsForItemRender()
{
this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f);
}
@Override
public void setBlockBoundsForItemRender()
{
this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f);
}
@Override
public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z)
{
TileEntity tile = world.getBlockTileEntity(x, y, z);
if (tile instanceof TileCharger)
{
switch (((TileCharger) tile).getDirection())
{
case DOWN:
this.setBlockBounds(0f, .6f, 0f, 1f, 1f, 1f);
break;
case WEST:
this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f);
break;
case SOUTH:
this.setBlockBounds(0f, 0f, 0f, 1f, 1f, .4f);
break;
case NORTH:
this.setBlockBounds(0f, 0f, .6f, 1f, 1f, 1f);
break;
case UP:
this.setBlockBounds(0f, 0f, 0f, 1f, .4f, 1f);
break;
case EAST:
this.setBlockBounds(0f, 0f, 0f, .4f, 1f, 1f);
break;
default:
break;
}
}
}
@Override
public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z)
{
TileEntity tile = world.getBlockTileEntity(x, y, z);
if (tile instanceof TileCharger)
{
switch (((TileCharger) tile).getDirection())
{
case DOWN:
this.setBlockBounds(0f, .6f, 0f, 1f, 1f, 1f);
break;
case WEST:
this.setBlockBounds(.6f, 0f, 0f, 1f, 1f, 1f);
break;
case SOUTH:
this.setBlockBounds(0f, 0f, 0f, 1f, 1f, .4f);
break;
case NORTH:
this.setBlockBounds(0f, 0f, .6f, 1f, 1f, 1f);
break;
case UP:
this.setBlockBounds(0f, 0f, 0f, 1f, .4f, 1f);
break;
case EAST:
this.setBlockBounds(0f, 0f, 0f, .4f, 1f, 1f);
break;
default:
break;
}
}
}
@Override
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);
if (player != null && tile instanceof TileCharger)
{
return this.interactCurrentItem((TileCharger) tile, 0, player);
}
return false;
}
@Override
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);
if (player != null && tile instanceof TileCharger)
{
return this.interactCurrentItem((TileCharger) tile, 0, player);
}
return false;
}
@Override
public TileEntity createNewTileEntity(World world)
{
return new TileCharger();
}
@Override
public TileEntity createNewTileEntity(World world)
{
return new TileCharger();
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public int damageDropped(int par1)
{
return 0;
}
@Override
public int damageDropped(int par1)
{
return 0;
}
}

View file

@ -7,20 +7,21 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
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.SideOnly;
public class BlockEncoder extends BlockRI
public class BlockEncoder extends BlockTile
{
Icon encoder_side;
Icon encoder_top;
Icon encoder_bottom;
public BlockEncoder()
public BlockEncoder(int id)
{
super("encoder");
super(id, UniversalElectricity.machine);
}
@SideOnly(Side.CLIENT)

View file

@ -5,19 +5,19 @@ import java.util.List;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.item.ItemRI;
import cpw.mods.fml.relauncher.Side;
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);
}

View file

@ -4,16 +4,17 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRIRotatable;
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.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");
rotationMask = Byte.parseByte("111111", 2);
}

View file

@ -3,16 +3,17 @@ package resonantinduction.electrical.generator.solar;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
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.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");
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.world.World;
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");
}

View file

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

View file

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

View file

@ -4,9 +4,9 @@ import net.minecraft.block.ITileEntityProvider;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.mechanical.process.TileMixer;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockRotatable;
/**
* A block used to build machines.
@ -14,11 +14,11 @@ import resonantinduction.mechanical.process.TileMixer;
* @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");
}

View file

@ -9,10 +9,10 @@ import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.Utility;
import resonantinduction.core.prefab.block.BlockRIIO;
import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import calclavia.lib.prefab.block.BlockSidedIO;
import calclavia.lib.utility.LanguageUtility;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -21,12 +21,12 @@ import cpw.mods.fml.relauncher.SideOnly;
* @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());
this.setTextureName(Reference.PREFIX + "machine");
super(id, UniversalElectricity.machine);
setTextureName(Reference.PREFIX + "machine");
}
@Override

View file

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

View file

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

View file

@ -2,6 +2,7 @@ package resonantinduction.mechanical.belt;
import java.util.List;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
@ -14,9 +15,10 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.render.RIBlockRenderingHandler;
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.SideOnly;
@ -25,13 +27,13 @@ import cpw.mods.fml.relauncher.SideOnly;
*
* @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");
this.setBlockBounds(0, 0, 0, 1, 0.3f, 1);
setBlockBounds(0, 0, 0, 1, 0.3f, 1);
}
@Override

View file

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

View file

@ -1,18 +1,19 @@
package resonantinduction.mechanical.fluid.prefab;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockRI;
import calclavia.lib.prefab.block.BlockTile;
/**
* @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

View file

@ -1,5 +1,6 @@
package resonantinduction.mechanical.fluid.pump;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
@ -7,18 +8,18 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
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.SideOnly;
public class BlockGrate extends BlockRIRotatable
public class BlockGrate extends BlockRotatable
{
private Icon drainIcon;
private Icon fillIcon;
public BlockGrate()
public BlockGrate(int id)
{
super("grate");
super(id, Material.iron);
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.ItemBlockFluidContainer;
import resonantinduction.mechanical.fluid.prefab.BlockFluidNetwork;
import universalelectricity.api.UniversalElectricity;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.utility.FluidUtility;
import calclavia.lib.utility.inventory.InventoryUtility;
@ -22,11 +23,11 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockTank extends BlockFluidNetwork
{
public BlockTank()
public BlockTank(int id)
{
super("tank");
this.setHardness(1f);
this.setResistance(5f);
super(id, UniversalElectricity.machine);
setHardness(1f);
setResistance(5f);
}
@Override

View file

@ -9,20 +9,20 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.part.ItemMultipartBase;
import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3;
import codechicken.multipart.ControlKeyModifer;
import codechicken.multipart.JItemMultiPart;
import codechicken.multipart.MultiPartRegistry;
import codechicken.multipart.PartMap;
import codechicken.multipart.TMultiPart;
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

View file

@ -4,17 +4,17 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.part.ItemMultipartBase;
import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3;
import codechicken.multipart.JItemMultiPart;
import codechicken.multipart.MultiPartRegistry;
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

View file

@ -1,6 +1,7 @@
package resonantinduction.mechanical.item;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatMessageComponent;
@ -11,14 +12,13 @@ import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import resonantinduction.api.IReadOut;
import resonantinduction.api.IReadOut.EnumTools;
import resonantinduction.core.prefab.item.ItemRI;
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.setMaxStackSize(1);

View file

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

View file

@ -7,6 +7,7 @@ import net.minecraft.util.ChatMessageComponent;
import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockImprintable;
import resonantinduction.core.render.RIBlockRenderingHandler;
import universalelectricity.api.UniversalElectricity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -17,9 +18,9 @@ import cpw.mods.fml.relauncher.SideOnly;
*/
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);
}

View file

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

View file

@ -4,17 +4,18 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.core.render.RIBlockRenderingHandler;
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.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");
rotationMask = Byte.parseByte("111111", 2);
}

View file

@ -3,15 +3,15 @@ package resonantinduction.mechanical.process;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.api.recipe.MachineRecipes;
import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.api.recipe.RecipeResource;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.core.resource.fluid.BlockFluidMixture;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.block.BlockTile;
import calclavia.lib.utility.LanguageUtility;
import calclavia.lib.utility.inventory.InventoryUtility;
@ -21,11 +21,11 @@ import calclavia.lib.utility.inventory.InventoryUtility;
* @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

View file

@ -1,6 +1,7 @@
package resonantinduction.mechanical.process;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.tileentity.TileEntity;
@ -8,9 +9,8 @@ import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRIRotatable;
import resonantinduction.core.render.RIBlockRenderingHandler;
import calclavia.lib.prefab.block.BlockRotatable;
import calclavia.lib.utility.WorldUtility;
/**
@ -19,11 +19,11 @@ import calclavia.lib.utility.WorldUtility;
* @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");
setBlockBounds(0.05f, 0.05f, 0.05f, 0.95f, 0.95f, 0.95f);
rotationMask = Byte.parseByte("111111", 2);

View file

@ -13,21 +13,13 @@ import cpw.mods.fml.relauncher.SideOnly;
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");
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)
@Override
public int getRenderType()

View file

@ -13,21 +13,13 @@ import cpw.mods.fml.relauncher.SideOnly;
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");
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)
@Override
public int getRenderType()

View file

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