Readded pipes

This commit is contained in:
Calclavia 2014-01-11 12:51:00 +08:00
parent 08a47e9b3a
commit 870a5338ba
45 changed files with 368 additions and 361 deletions

View file

@ -13,8 +13,8 @@ import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.mechanical.Mechanical;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.tile.IRotatable;
import cpw.mods.fml.relauncher.Side;
@ -42,7 +42,7 @@ public class BlockTurntable extends BlockRI
public void registerIcons(IconRegister iconReg)
{
super.registerIcons(iconReg);
this.top = iconReg.registerIcon(Mechanical.PREFIX + "turntable");
this.top = iconReg.registerIcon(Reference.PREFIX + "turntable");
}
@Override

View file

@ -12,9 +12,9 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInductionTabs;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.mechanical.Mechanical;
import calclavia.lib.content.IExtraInfo.IExtraBlockInfo;
import com.builtbroken.common.Pair;
@ -41,7 +41,7 @@ public class BlockDebug extends BlockRI implements IExtraBlockInfo
{
if (block.enabled)
{
block.icon = iconReg.registerIcon(Mechanical.PREFIX + block.getTextureName());
block.icon = iconReg.registerIcon(Reference.PREFIX + block.getTextureName());
}
}
}

View file

@ -1,4 +1,4 @@
package resonantinduction.render;
package resonantinduction.core.render;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;

View file

@ -16,7 +16,6 @@ import net.minecraftforge.fluids.FluidStack;
import org.lwjgl.opengl.GL11;
import resonantinduction.old.client.render.RenderBlockEntity;
import resonantinduction.render.BlockRenderInfo;
public class RenderFluidHelper
{

View file

@ -19,6 +19,8 @@ import resonantinduction.core.part.BlockMachinePart;
import resonantinduction.electrical.battery.BlockBattery;
import resonantinduction.electrical.battery.ItemBlockBattery;
import resonantinduction.electrical.battery.TileBattery;
import resonantinduction.electrical.furnace.BlockAdvancedFurnace;
import resonantinduction.electrical.furnace.TileAdvancedFurnace;
import resonantinduction.electrical.generator.solar.BlockSolarPanel;
import resonantinduction.electrical.generator.solar.TileSolarPanel;
import resonantinduction.electrical.levitator.BlockLevitator;
@ -33,8 +35,6 @@ import resonantinduction.electrical.wire.ItemWire;
import resonantinduction.mechanical.grinder.BlockGrinderWheel;
import resonantinduction.mechanical.grinder.TileGrinderWheel;
import resonantinduction.mechanical.grinder.TilePurifier;
import resonantinduction.old.mechanics.furnace.BlockAdvancedFurnace;
import resonantinduction.old.mechanics.furnace.TileAdvancedFurnace;
import resonantinduction.old.mechanics.purifier.BlockPurifier;
import calclavia.lib.network.PacketHandler;
import calclavia.lib.recipe.UniversalRecipe;

View file

@ -10,6 +10,7 @@ import net.minecraft.network.packet.Packet;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.ResonantInduction;
import resonantinduction.electrical.Electrical;
import resonantinduction.electrical.armbot.command.TaskDrop;
import resonantinduction.electrical.armbot.command.TaskGOTO;
import resonantinduction.electrical.armbot.command.TaskGrabItem;
@ -308,11 +309,11 @@ public class TileEntityArmbot extends TileEntityAssembly implements IMultiBlock,
{
if (this.grabbedObject instanceof ItemStack)
{
PacketHandler.sendPacketToClients(Mechanical.getTilePacket().getPacket(this, "armbotItem", true, ((ItemStack) this.grabbedObject).writeToNBT(new NBTTagCompound())), worldObj, new Vector3(this), 64);
PacketHandler.sendPacketToClients(ResonantInduction.PACKET_TILE.getPacket(this, "armbotItem", true, ((ItemStack) this.grabbedObject).writeToNBT(new NBTTagCompound())), worldObj, new Vector3(this), 64);
}
else
{
PacketHandler.sendPacketToClients(Mechanical.getTilePacket().getPacket(this, "armbotItem", false), worldObj, new Vector3(this), 64);
PacketHandler.sendPacketToClients(ResonantInduction.PACKET_TILE.getPacket(this, "armbotItem", false), worldObj, new Vector3(this), 64);
}
}

View file

@ -1,4 +1,4 @@
package resonantinduction.old.mechanics.furnace;
package resonantinduction.electrical.furnace;
import java.util.Random;

View file

@ -1,4 +1,4 @@
package resonantinduction.old.mechanics.furnace;
package resonantinduction.electrical.furnace;
import java.util.ArrayList;

View file

@ -6,6 +6,8 @@ import resonantinduction.core.ResonantInduction;
import resonantinduction.core.Settings;
import resonantinduction.mechanical.belt.BlockConveyorBelt;
import resonantinduction.mechanical.belt.TileConveyorBelt;
import resonantinduction.mechanical.fluid.pipe.BlockPipe;
import resonantinduction.mechanical.fluid.pipe.TilePipe;
import resonantinduction.mechanical.fluid.tank.BlockTank;
import resonantinduction.mechanical.fluid.tank.TileTank;
import calclavia.lib.content.ContentRegistry;
@ -44,8 +46,11 @@ public class Mechanical
public static ModMetadata metadata;
public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, ID);
// Transport
public static Block blockConveyorBelt;
public static Block blockTank;
public static Block blockPipe;
@EventHandler
public void preInit(FMLPreInitializationEvent evt)
@ -53,6 +58,7 @@ public class Mechanical
NetworkRegistry.instance().registerGuiHandler(this, proxy);
blockConveyorBelt = contentRegistry.createTile(BlockConveyorBelt.class, TileConveyorBelt.class);
blockTank = contentRegistry.createTile(BlockTank.class, TileTank.class);
blockPipe = contentRegistry.createTile(BlockPipe.class, TilePipe.class);
proxy.preInit();
}

View file

@ -21,7 +21,7 @@ public class BlockReleaseValve extends BlockRI
@Override
public TileEntity createNewTileEntity(World var1)
{
return new TileEntityReleaseValve();
return new TileReleaseValve();
}
@Override

View file

@ -13,7 +13,7 @@ import resonantinduction.old.api.fluid.INetworkPipe;
import calclavia.lib.utility.HelperMethods;
import dark.lib.interfaces.IReadOut;
public class TileEntityReleaseValve extends TileEntityFluidDevice implements ITileConnector, IReadOut
public class TileReleaseValve extends TileEntityFluidDevice implements ITileConnector, IReadOut
{
public TileEntity[] connected = new TileEntity[6];

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.fluid.pipes;
package resonantinduction.mechanical.fluid.pipe;
import java.util.ArrayList;
import java.util.List;
@ -15,6 +15,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.fluids.FluidTankInfo;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.mechanical.render.MechanicalBlockRenderingHandler;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.utility.FluidHelper;
import cpw.mods.fml.relauncher.Side;
@ -35,11 +36,13 @@ public class BlockPipe extends BlockRI
}
//Use Vanilla Couldron to fill it.
@Deprecated
@Override
public void fillWithRain(World world, int x, int y, int z)
{
int meta = world.getBlockMetadata(x, y, z);
if (meta == FluidPartsMaterial.WOOD.ordinal() || meta == FluidPartsMaterial.STONE.ordinal())
if (meta == FluidContainerMaterial.WOOD.ordinal() || meta == FluidContainerMaterial.STONE.ordinal())
{
// TODO fill pipe since it will have an open top and can gather rain
}
@ -50,9 +53,9 @@ public class BlockPipe extends BlockRI
{
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
TileEntity entity = world.getBlockTileEntity(x, y, z);
if (entity instanceof TileEntityPipe)
if (entity instanceof TilePipe)
{
ret.add(new ItemStack(this, 1, FluidPartsMaterial.getDropItemMeta(world, x, y, z)));
ret.add(new ItemStack(this, 1, FluidContainerMaterial.getDropItemMeta(world, x, y, z)));
}
return ret;
}
@ -73,19 +76,19 @@ public class BlockPipe extends BlockRI
@SideOnly(Side.CLIENT)
public int getRenderType()
{
return -1;
return MechanicalBlockRenderingHandler.ID;
}
@Override
public TileEntity createNewTileEntity(World var1)
{
return new TileEntityPipe();
return new TilePipe();
}
@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
{
return new ItemStack(this, 1, FluidPartsMaterial.getDropItemMeta(world, x, y, z));
return new ItemStack(this, 1, FluidContainerMaterial.getDropItemMeta(world, x, y, z));
}
@Override
@ -97,7 +100,7 @@ public class BlockPipe extends BlockRI
@Override
public int getLightValue(IBlockAccess world, int x, int y, int z)
{
if (world.getBlockMetadata(x, y, z) == FluidPartsMaterial.HELL.ordinal())
if (world.getBlockMetadata(x, y, z) == FluidContainerMaterial.HELL.ordinal())
{
return 5;
}
@ -113,7 +116,7 @@ public class BlockPipe extends BlockRI
@Override
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
for (FluidPartsMaterial data : FluidPartsMaterial.values())
for (FluidContainerMaterial data : FluidContainerMaterial.values())
{
par3List.add(data.getStack());
}
@ -123,12 +126,12 @@ public class BlockPipe extends BlockRI
public void breakBlock(World world, int x, int y, int z, int par5, int par6)
{
TileEntity entity = world.getBlockTileEntity(x, y, z);
if (entity instanceof TileEntityPipe)
if (entity instanceof TilePipe)
{
FluidTankInfo tank = ((TileEntityPipe) entity).getTankInfo()[0];
FluidTankInfo tank = ((TilePipe) entity).getTankInfo()[0];
if (tank != null && tank.fluid != null && tank.fluid.getFluid() != null && tank.fluid.amount > 0)
{
((TileEntityPipe) entity).getTileNetwork().drainNetworkTank(world, FluidHelper.fillBlock(world, new Vector3(x, y, z), tank.fluid, true), true);
((TilePipe) entity).getTileNetwork().drainNetworkTank(world, FluidHelper.fillBlock(world, new Vector3(x, y, z), tank.fluid, true), true);
}
}
super.breakBlock(world, x, y, z, par5, par6);

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.fluid.pipes;
package resonantinduction.mechanical.fluid.pipe;
import dark.lib.helpers.ColorCode;
import dark.lib.helpers.ColorCode.IColoredId;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.fluid.pipes;
package resonantinduction.mechanical.fluid.pipe;
import dark.lib.helpers.ColorCode;
import dark.lib.helpers.ColorCode.IColoredId;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.fluid.pipes;
package resonantinduction.mechanical.fluid.pipe;
import java.util.ArrayList;
import java.util.List;
@ -7,8 +7,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidStack;
import resonantinduction.mechanical.Mechanical;
import resonantinduction.mechanical.fluid.prefab.TileFluidNetworkTile;
import resonantinduction.old.core.recipe.RecipeLoader;
import dark.lib.helpers.ColorCode;
/**
@ -21,7 +21,7 @@ import dark.lib.helpers.ColorCode;
*
* @author DarkGuardsman
*/
public enum FluidPartsMaterial
public enum FluidContainerMaterial
{
/** Simple water only pipe. Should render open toped when it can */
WOOD("wood", false, true, false, -1, 200),
@ -38,7 +38,7 @@ public enum FluidPartsMaterial
/** Fluid movement pipe that doesn't work well with pressure */
GOLD("gold", true, true, false, 200, 2000),
/** Cheap molten metal pipe */
OBBY("obby", false, true, true, 1000, 1000),
OBSIDIAN("obsidian", false, true, true, 1000, 1000),
/**
* Very strong fluid and gas support pipe. Should also support molten metal as long as they
* don't stay in the pipe too long.
@ -65,14 +65,14 @@ public enum FluidPartsMaterial
*/
public static int spacing = 1000;
private FluidPartsMaterial()
private FluidContainerMaterial()
{
this.canSupportGas = true;
this.canSupportFluids = true;
canSupportMoltenFluids = true;
}
private FluidPartsMaterial(String name, boolean gas, boolean fluid, boolean molten, String... strings)
private FluidContainerMaterial(String name, boolean gas, boolean fluid, boolean molten, String... strings)
{
this.matName = name;
this.canSupportGas = gas;
@ -80,28 +80,28 @@ public enum FluidPartsMaterial
this.canSupportMoltenFluids = molten;
}
private FluidPartsMaterial(String name, boolean gas, boolean fluid, boolean molten, int pressure, int volume, String... strings)
private FluidContainerMaterial(String name, boolean gas, boolean fluid, boolean molten, int pressure, int volume, String... strings)
{
this(name, gas, fluid, molten, strings);
this.maxPressure = pressure;
this.maxVolume = volume;
}
public static FluidPartsMaterial get(World world, int x, int y, int z)
public static FluidContainerMaterial get(World world, int x, int y, int z)
{
return get(world.getBlockMetadata(x, y, z));
}
public static FluidPartsMaterial get(int i)
public static FluidContainerMaterial get(int i)
{
if (i < FluidPartsMaterial.values().length)
if (i < FluidContainerMaterial.values().length)
{
return FluidPartsMaterial.values()[i];
return FluidContainerMaterial.values()[i];
}
return null;
}
public static FluidPartsMaterial get(ItemStack stack)
public static FluidContainerMaterial get(ItemStack stack)
{
if (stack != null)
{
@ -110,14 +110,14 @@ public enum FluidPartsMaterial
return null;
}
public static FluidPartsMaterial getFromItemMeta(int meta)
public static FluidContainerMaterial getFromItemMeta(int meta)
{
meta = meta / spacing;
if (meta < FluidPartsMaterial.values().length)
if (meta < FluidContainerMaterial.values().length)
{
return FluidPartsMaterial.values()[meta];
return FluidContainerMaterial.values()[meta];
}
return FluidPartsMaterial.WOOD;
return FluidContainerMaterial.WOOD;
}
public ItemStack getStack()
@ -132,12 +132,12 @@ public enum FluidPartsMaterial
public ItemStack getStack(int s)
{
return new ItemStack(RecipeLoader.blockPipe, s, (this.ordinal() * spacing));
return new ItemStack(Mechanical.blockPipe, s, (this.ordinal() * spacing));
}
public ItemStack getStack(int s, ColorCode color)
{
return new ItemStack(RecipeLoader.blockPipe, s, (this.ordinal() * spacing) + color.ordinal() + 1);
return new ItemStack(Mechanical.blockPipe, s, (this.ordinal() * spacing) + color.ordinal() + 1);
}
public int getMeta(int typeID)

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.fluid.pipes;
package resonantinduction.mechanical.fluid.pipe;
import dark.lib.helpers.ColorCode.IColoredId;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.fluid.pipes;
package resonantinduction.mechanical.fluid.pipe;
import java.util.List;
@ -104,7 +104,7 @@ public class ItemBlockPipe extends ItemBlock
@Override
public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata)
{
if (super.placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, (stack.getItemDamage() / FluidPartsMaterial.spacing)))
if (super.placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, (stack.getItemDamage() / FluidContainerMaterial.spacing)))
{
TileEntity tile = world.getBlockTileEntity(x, y, z);
if (tile instanceof TileFluidNetworkTile)

View file

@ -1,4 +1,4 @@
package resonantinduction.old.client.render;
package resonantinduction.mechanical.fluid.pipe;
import java.util.HashMap;
@ -11,11 +11,8 @@ import org.lwjgl.opengl.GL11;
import resonantinduction.core.Reference;
import resonantinduction.core.render.RenderFluidHelper;
import resonantinduction.mechanical.fluid.pipes.EnumPipeType;
import resonantinduction.mechanical.fluid.pipes.FluidPartsMaterial;
import resonantinduction.mechanical.fluid.pipes.TileEntityPipe;
import resonantinduction.old.client.model.ModelLargePipe;
import resonantinduction.old.client.model.ModelOpenTrough;
import resonantinduction.old.client.model.ModelPipe;
import com.builtbroken.common.Pair;
@ -25,28 +22,28 @@ import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class RenderPipe extends TileEntitySpecialRenderer
{
public static ModelLargePipe MODEL_PIPE = new ModelLargePipe();
public static ModelPipe MODEL_PIPE = new ModelPipe();
public static ModelOpenTrough MODEL_TROUGH_PIPE = new ModelOpenTrough();
private static HashMap<Pair<FluidPartsMaterial, Integer>, ResourceLocation> TEXTURES = new HashMap<Pair<FluidPartsMaterial, Integer>, ResourceLocation>();
public static ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "pipes/Pipe.png");
private static HashMap<Pair<FluidContainerMaterial, Integer>, ResourceLocation> TEXTURES = new HashMap<Pair<FluidContainerMaterial, Integer>, ResourceLocation>();
public static ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "pipe.png");
@Override
public void renderTileEntityAt(TileEntity te, double d, double d1, double d2, float f)
{
// Texture file
FluidPartsMaterial mat = FluidPartsMaterial.IRON;
if (te.getBlockMetadata() < FluidPartsMaterial.values().length)
FluidContainerMaterial mat = FluidContainerMaterial.IRON;
if (te.getBlockMetadata() < FluidContainerMaterial.values().length)
{
mat = FluidPartsMaterial.values()[te.getBlockMetadata()];
mat = FluidContainerMaterial.values()[te.getBlockMetadata()];
}
if (te instanceof TileEntityPipe)
if (te instanceof TilePipe)
{
boolean[] sides = ((TileEntityPipe) te).renderConnection;
if (mat == FluidPartsMaterial.WOOD || mat == FluidPartsMaterial.STONE)
boolean[] sides = ((TilePipe) te).renderConnection;
if (mat == FluidContainerMaterial.WOOD || mat == FluidContainerMaterial.STONE)
{
FluidStack liquid = ((TileEntityPipe) te).getTank().getFluid();
int cap = ((TileEntityPipe) te).getTankInfo()[0].capacity;
FluidStack liquid = ((TilePipe) te).getTank().getFluid();
int cap = ((TilePipe) te).getTankInfo()[0].capacity;
// FluidStack liquid = new FluidStack(FluidRegistry.WATER, cap);
if (liquid != null && liquid.amount > 100)
{
@ -143,7 +140,7 @@ public class RenderPipe extends TileEntitySpecialRenderer
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F);
bindTexture(RenderPipe.getTexture(mat, 0));
RenderPipe.render(mat, ((TileEntityPipe) te).getSubID(), sides);
RenderPipe.render(mat, ((TilePipe) te).getSubID(), sides);
GL11.glPopMatrix();
}
else
@ -157,11 +154,12 @@ public class RenderPipe extends TileEntitySpecialRenderer
}
public static ResourceLocation getTexture(FluidPartsMaterial mat, int pipeID)
public static ResourceLocation getTexture(FluidContainerMaterial mat, int pipeID)
{
if (mat != null)
{
Pair<FluidPartsMaterial, Integer> index = new Pair<FluidPartsMaterial, Integer>(mat, pipeID);
Pair<FluidContainerMaterial, Integer> index = new Pair<FluidContainerMaterial, Integer>(mat, pipeID);
if (!TEXTURES.containsKey(index))
{
String pipeName = "";
@ -169,7 +167,7 @@ public class RenderPipe extends TileEntitySpecialRenderer
{
pipeName = EnumPipeType.get(pipeID).getName(pipeID);
}
TEXTURES.put(index, new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "pipes/" + mat.matName + "/" + pipeName + "Pipe.png"));
TEXTURES.put(index, new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "pipe/" + mat.matName + ".png"));
}
return TEXTURES.get(index);
}
@ -178,16 +176,16 @@ public class RenderPipe extends TileEntitySpecialRenderer
public static ResourceLocation getTexture(int meta)
{
return getTexture(FluidPartsMaterial.getFromItemMeta(meta), FluidPartsMaterial.getType(meta));
return getTexture(FluidContainerMaterial.getFromItemMeta(meta), FluidContainerMaterial.getType(meta));
}
public static void render(FluidPartsMaterial mat, int pipeID, boolean[] side)
public static void render(FluidContainerMaterial mat, int pipeID, boolean[] side)
{
if (mat == FluidPartsMaterial.WOOD)
if (mat == FluidContainerMaterial.WOOD)
{
MODEL_TROUGH_PIPE.render(side, false);
}
else if (mat == FluidPartsMaterial.STONE)
else if (mat == FluidContainerMaterial.STONE)
{
MODEL_TROUGH_PIPE.render(side, true);
}
@ -199,7 +197,7 @@ public class RenderPipe extends TileEntitySpecialRenderer
public static void render(int meta, boolean[] bs)
{
render(FluidPartsMaterial.getFromItemMeta(meta), FluidPartsMaterial.getType(meta), bs);
render(FluidContainerMaterial.getFromItemMeta(meta), FluidContainerMaterial.getType(meta), bs);
}
}

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.fluid.pipes;
package resonantinduction.mechanical.fluid.pipe;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
@ -15,7 +15,7 @@ import calclavia.lib.utility.FluidHelper;
import dark.lib.helpers.ColorCode;
import dark.lib.helpers.ColorCode.IColorCoded;
public class TileEntityPipe extends TileFluidNetworkTile implements IColorCoded, INetworkPipe
public class TilePipe extends TileFluidNetworkTile implements IColorCoded, INetworkPipe
{
/** gets the current color mark of the pipe */
@Override
@ -41,10 +41,10 @@ public class TileEntityPipe extends TileFluidNetworkTile implements IColorCoded,
public void validateConnectionSide(TileEntity tileEntity, ForgeDirection side)
{
int meta = new Vector3(this).getBlockMetadata(this.worldObj);
if (meta < FluidPartsMaterial.values().length)
if (meta < FluidContainerMaterial.values().length)
{
FluidPartsMaterial pipeMat = FluidPartsMaterial.values()[meta];
if (pipeMat == FluidPartsMaterial.WOOD || pipeMat == FluidPartsMaterial.STONE)
FluidContainerMaterial pipeMat = FluidContainerMaterial.values()[meta];
if (pipeMat == FluidContainerMaterial.WOOD || pipeMat == FluidContainerMaterial.STONE)
{
if (side == ForgeDirection.UP)
{
@ -52,13 +52,13 @@ public class TileEntityPipe extends TileFluidNetworkTile implements IColorCoded,
}
}
}
if (tileEntity instanceof TileEntityPipe)
if (tileEntity instanceof TilePipe)
{
int metaOther = new Vector3(tileEntity).getBlockMetadata(this.worldObj);
if (meta < FluidPartsMaterial.values().length && metaOther < FluidPartsMaterial.values().length)
if (meta < FluidContainerMaterial.values().length && metaOther < FluidContainerMaterial.values().length)
{
FluidPartsMaterial pipeMat = FluidPartsMaterial.values()[meta];
FluidPartsMaterial pipeMatOther = FluidPartsMaterial.values()[metaOther];
FluidContainerMaterial pipeMat = FluidContainerMaterial.values()[meta];
FluidContainerMaterial pipeMatOther = FluidContainerMaterial.values()[metaOther];
// Same pipe types can connect
if (pipeMat == pipeMatOther)
{
@ -67,14 +67,14 @@ public class TileEntityPipe extends TileFluidNetworkTile implements IColorCoded,
this.renderConnection[side.ordinal()] = true;
}// Wood and stone pipes can connect to each other but not other pipe types since
// they are more like a trough than a pipe
else if ((pipeMat == FluidPartsMaterial.WOOD || pipeMat == FluidPartsMaterial.STONE) && (pipeMatOther == FluidPartsMaterial.WOOD || pipeMatOther == FluidPartsMaterial.STONE))
else if ((pipeMat == FluidContainerMaterial.WOOD || pipeMat == FluidContainerMaterial.STONE) && (pipeMatOther == FluidContainerMaterial.WOOD || pipeMatOther == FluidContainerMaterial.STONE))
{
this.getTileNetwork().mergeNetwork(((INetworkPipe) tileEntity).getTileNetwork(), this);
connectedBlocks.add(tileEntity);
this.renderConnection[side.ordinal()] = true;
}// Any other pipe can connect to each other as long as the color matches except for
// glass which only works with itself at the moment
else if (pipeMat != FluidPartsMaterial.WOOD && pipeMat != FluidPartsMaterial.STONE && pipeMatOther != FluidPartsMaterial.WOOD && pipeMatOther != FluidPartsMaterial.STONE && pipeMat != FluidPartsMaterial.GLASS && pipeMatOther != FluidPartsMaterial.GLASS)
else if (pipeMat != FluidContainerMaterial.WOOD && pipeMat != FluidContainerMaterial.STONE && pipeMatOther != FluidContainerMaterial.WOOD && pipeMatOther != FluidContainerMaterial.STONE && pipeMat != FluidContainerMaterial.GLASS && pipeMatOther != FluidContainerMaterial.GLASS)
{
this.getTileNetwork().mergeNetwork(((INetworkPipe) tileEntity).getTileNetwork(), this);
connectedBlocks.add(tileEntity);
@ -108,9 +108,9 @@ public class TileEntityPipe extends TileFluidNetworkTile implements IColorCoded,
public double getMaxPressure(ForgeDirection side)
{
int meta = this.worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
if (meta < FluidPartsMaterial.values().length)
if (meta < FluidContainerMaterial.values().length)
{
return FluidPartsMaterial.values()[meta].maxPressure;
return FluidContainerMaterial.values()[meta].maxPressure;
}
return 350;
}
@ -185,7 +185,7 @@ public class TileEntityPipe extends TileFluidNetworkTile implements IColorCoded,
@Override
public void sendTankUpdate(int index)
{
if (this.getBlockMetadata() == FluidPartsMaterial.WOOD.ordinal() || this.getBlockMetadata() == FluidPartsMaterial.STONE.ordinal())
if (this.getBlockMetadata() == FluidContainerMaterial.WOOD.ordinal() || this.getBlockMetadata() == FluidContainerMaterial.STONE.ordinal())
{
super.sendTankUpdate(index);
}

View file

@ -25,7 +25,7 @@ import resonantinduction.core.network.ISimplePacketReceiver;
import resonantinduction.core.tilenetwork.INetworkPart;
import resonantinduction.core.tilenetwork.ITileNetwork;
import resonantinduction.mechanical.fluid.network.NetworkFluidTiles;
import resonantinduction.mechanical.fluid.pipes.FluidPartsMaterial;
import resonantinduction.mechanical.fluid.pipe.FluidContainerMaterial;
import resonantinduction.old.api.fluid.FluidMasterList;
import resonantinduction.old.api.fluid.INetworkFluidPart;
import universalelectricity.api.vector.Vector3;
@ -296,7 +296,7 @@ public abstract class TileFluidNetworkTile extends TileEntityFluidDevice impleme
@Override
public boolean onPassThrew(FluidStack fluid, ForgeDirection from, ForgeDirection to)
{
FluidPartsMaterial mat = FluidPartsMaterial.get(this.getBlockMetadata());
FluidContainerMaterial mat = FluidContainerMaterial.get(this.getBlockMetadata());
if (fluid != null && fluid.getFluid() != null && mat != null)
{
if (fluid.getFluid().isGaseous(fluid) && !mat.canSupportGas)

View file

@ -27,10 +27,9 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockConstructionPump extends BlockRI
{
public BlockConstructionPump()
{
super(Settings.CONFIGURATION, "ConstructionPump", Material.iron);
super("constructionPump", Material.iron);
this.setHardness(1f);
this.setResistance(5f);

View file

@ -1,135 +0,0 @@
package resonantinduction.mechanical.fluid.pump;
import java.util.Set;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRI;
import com.builtbroken.common.Pair;
public class BlockDrain extends BlockRI
{
private Icon blockIcon;
private Icon drainIcon;
private Icon fillIcon;
public BlockDrain()
{
super(Settings.CONFIGURATION, "FluidDrain", Material.iron);
}
@Override
public TileEntity createNewTileEntity(World var1)
{
return new TileEntityDrain();
}
@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.blockIcon = par1IconRegister.registerIcon(Reference.PREFIX + "ironMachineSide");
this.drainIcon = par1IconRegister.registerIcon(Reference.PREFIX + "drain");
this.fillIcon = par1IconRegister.registerIcon(Reference.PREFIX + "drain2");
}
@Override
public Icon getIcon(int par1, int par2)
{
return par1 != 1 && par1 != 0 ? this.blockIcon : this.drainIcon;
}
@Override
public Icon getBlockTexture(IBlockAccess world, int x, int y, int z, int side)
{
TileEntity entity = world.getBlockTileEntity(x, y, z);
ForgeDirection dir = ForgeDirection.getOrientation(side);
if (entity instanceof TileEntityDrain)
{
if (dir == ((TileEntityDrain) entity).getDirection())
{
if (((TileEntityDrain) entity).canDrain())
{
return this.drainIcon;
}
else
{
return this.fillIcon;
}
}
}
return this.blockIcon;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase p, ItemStack itemStack)
{
int angle = MathHelper.floor_double((p.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
world.setBlockMetadataWithNotify(x, y, z, angle, 3);
TileEntity entity = world.getBlockTileEntity(x, y, z);
}
@Override
public boolean onSneakUseWrench(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
int meta = world.getBlockMetadata(x, y, z);
if (world.getBlockMetadata(x, y, z) < 6)
{
meta += 6;
}
else
{
meta -= 6;
}
world.setBlockMetadataWithNotify(x, y, z, meta, 3);
TileEntity entity = world.getBlockTileEntity(x, y, z);
if (entity instanceof TileEntityDrain)
{
entityPlayer.sendChatToPlayer(ChatMessageComponent.createFromText("Draining Sources? " + ((TileEntityDrain) entity).canDrain()));
}
return true;
}
return true;
}
@Override
public boolean onUseWrench(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
int meta = side;
if (world.getBlockMetadata(x, y, z) > 5)
{
meta += 6;
}
world.setBlockMetadataWithNotify(x, y, z, meta, 3);
return true;
}
return true;
}
@Override
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list)
{
list.add(new Pair<String, Class<? extends TileEntity>>("FluidDrain", TileEntityDrain.class));
}
}

View file

@ -0,0 +1,135 @@
package resonantinduction.mechanical.fluid.pump;
import java.util.Set;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.core.Reference;
import resonantinduction.core.Settings;
import resonantinduction.core.prefab.block.BlockRI;
import com.builtbroken.common.Pair;
public class BlockGrate extends BlockRI
{
private Icon blockIcon;
private Icon drainIcon;
private Icon fillIcon;
public BlockGrate()
{
super("grate", Material.iron);
}
@Override
public TileEntity createNewTileEntity(World var1)
{
return new TileGrate();
}
@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.blockIcon = par1IconRegister.registerIcon(Reference.PREFIX + "ironMachineSide");
this.drainIcon = par1IconRegister.registerIcon(Reference.PREFIX + "drain");
this.fillIcon = par1IconRegister.registerIcon(Reference.PREFIX + "drain2");
}
@Override
public Icon getIcon(int par1, int par2)
{
return par1 != 1 && par1 != 0 ? this.blockIcon : this.drainIcon;
}
@Override
public Icon getBlockTexture(IBlockAccess world, int x, int y, int z, int side)
{
TileEntity entity = world.getBlockTileEntity(x, y, z);
ForgeDirection dir = ForgeDirection.getOrientation(side);
if (entity instanceof TileGrate)
{
if (dir == ((TileGrate) entity).getDirection())
{
if (((TileGrate) entity).canDrain())
{
return this.drainIcon;
}
else
{
return this.fillIcon;
}
}
}
return this.blockIcon;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase p, ItemStack itemStack)
{
int angle = MathHelper.floor_double((p.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
world.setBlockMetadataWithNotify(x, y, z, angle, 3);
TileEntity entity = world.getBlockTileEntity(x, y, z);
}
@Override
public boolean onSneakUseWrench(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
int meta = world.getBlockMetadata(x, y, z);
if (world.getBlockMetadata(x, y, z) < 6)
{
meta += 6;
}
else
{
meta -= 6;
}
world.setBlockMetadataWithNotify(x, y, z, meta, 3);
TileEntity entity = world.getBlockTileEntity(x, y, z);
if (entity instanceof TileGrate)
{
entityPlayer.sendChatToPlayer(ChatMessageComponent.createFromText("Draining Sources? " + ((TileGrate) entity).canDrain()));
}
return true;
}
return true;
}
@Override
public boolean onUseWrench(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
int meta = side;
if (world.getBlockMetadata(x, y, z) > 5)
{
meta += 6;
}
world.setBlockMetadataWithNotify(x, y, z, meta, 3);
return true;
}
return true;
}
@Override
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list)
{
list.add(new Pair<String, Class<? extends TileEntity>>("FluidDrain", TileGrate.class));
}
}

View file

@ -22,76 +22,75 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockPumpMachine extends BlockRI
{
public BlockPumpMachine()
{
super("pump", Material.iron);
this.setHardness(1f);
this.setResistance(5f);
}
public BlockPumpMachine()
{
super(Settings.CONFIGURATION, "StarterPump", Material.iron);
this.setHardness(1f);
this.setResistance(5f);
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean renderAsNormalBlock()
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean renderAsNormalBlock()
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public int getRenderType()
{
return BlockRenderHelper.renderID;
}
@Override
@SideOnly(Side.CLIENT)
public int getRenderType()
{
return BlockRenderHelper.renderID;
}
@Override
public int damageDropped(int meta)
{
return 0;
}
@Override
public int damageDropped(int meta)
{
return 0;
}
@Override
public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side)
{
return side != ForgeDirection.DOWN;
}
@Override
public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side)
{
return side != ForgeDirection.DOWN;
}
@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
{
int meta = world.getBlockMetadata(x, y, z);
TileEntity ent = world.getBlockTileEntity(x, y, z);
@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
{
int meta = world.getBlockMetadata(x, y, z);
TileEntity ent = world.getBlockTileEntity(x, y, z);
if (meta < 4)
{
return new ItemStack(RecipeLoader.blockPumpMachine, 1, 0);
}
if (meta < 4)
{
return new ItemStack(RecipeLoader.blockPumpMachine, 1, 0);
}
return null;
}
return null;
}
@Override
public TileEntity createNewTileEntity(World world)
{
return new TileEntityStarterPump();
}
@Override
public TileEntity createNewTileEntity(World world)
{
return new TileEntityStarterPump();
}
@Override
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
par3List.add(new ItemStack(par1, 1, 0));
}
@Override
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
par3List.add(new ItemStack(par1, 1, 0));
}
@Override
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list)
{
list.add(new Pair<String, Class<? extends TileEntity>>("starterPump", TileEntityStarterPump.class));
@Override
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list)
{
list.add(new Pair<String, Class<? extends TileEntity>>("starterPump", TileEntityStarterPump.class));
}
}
}

View file

@ -22,7 +22,7 @@ import calclavia.lib.utility.FluidHelper;
import com.builtbroken.common.Pair;
public class TileEntityDrain extends TileEntityFluidDevice implements IFluidHandler, IDrain
public class TileGrate extends TileEntityFluidDevice implements IFluidHandler, IDrain
{
/* MAX BLOCKS DRAINED PER 1/2 SECOND */
public static int MAX_WORLD_EDITS_PER_PROCESS = 50;
@ -81,14 +81,14 @@ public class TileEntityDrain extends TileEntityFluidDevice implements IFluidHand
this.currentWorldEdits = 0;
/* ONLY FIND NEW SOURCES IF OUR CURRENT LIST RUNS DRY */
if (this.getLiquidFinder().results.size() < TileEntityDrain.MAX_WORLD_EDITS_PER_PROCESS + 10)
if (this.getLiquidFinder().results.size() < TileGrate.MAX_WORLD_EDITS_PER_PROCESS + 10)
{
this.getLiquidFinder().refresh().start(new Vector3(this).modifyPositionFromSide(this.getDirection()), TileEntityDrain.MAX_WORLD_EDITS_PER_PROCESS, false);
this.getLiquidFinder().refresh().start(new Vector3(this).modifyPositionFromSide(this.getDirection()), TileGrate.MAX_WORLD_EDITS_PER_PROCESS, false);
}
if (this.getFillFinder().results.size() < TileEntityDrain.MAX_WORLD_EDITS_PER_PROCESS + 10)
if (this.getFillFinder().results.size() < TileGrate.MAX_WORLD_EDITS_PER_PROCESS + 10)
{
this.getFillFinder().refresh().start(new Vector3(this).modifyPositionFromSide(this.getDirection()), TileEntityDrain.MAX_WORLD_EDITS_PER_PROCESS, true);
this.getFillFinder().refresh().start(new Vector3(this).modifyPositionFromSide(this.getDirection()), TileGrate.MAX_WORLD_EDITS_PER_PROCESS, true);
}
}

View file

@ -10,9 +10,9 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import resonantinduction.core.prefab.block.BlockRI;
import resonantinduction.mechanical.fluid.pipes.FluidPartsMaterial;
import resonantinduction.mechanical.fluid.pipes.ItemBlockPipe;
import resonantinduction.mechanical.fluid.pipes.TileEntityPipe;
import resonantinduction.mechanical.fluid.pipe.FluidContainerMaterial;
import resonantinduction.mechanical.fluid.pipe.ItemBlockPipe;
import resonantinduction.mechanical.fluid.pipe.TilePipe;
import resonantinduction.mechanical.render.MechanicalBlockRenderingHandler;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.utility.FluidHelper;
@ -83,7 +83,7 @@ public class BlockTank extends BlockRI
@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
{
return new ItemStack(this, 1, FluidPartsMaterial.getDropItemMeta(world, x, y, z));
return new ItemStack(this, 1, FluidContainerMaterial.getDropItemMeta(world, x, y, z));
}
@Override
@ -91,9 +91,9 @@ public class BlockTank extends BlockRI
{
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
TileEntity entity = world.getBlockTileEntity(x, y, z);
if (entity instanceof TileEntityPipe)
if (entity instanceof TilePipe)
{
ret.add(new ItemStack(this, 1, FluidPartsMaterial.getDropItemMeta(world, x, y, z)));
ret.add(new ItemStack(this, 1, FluidContainerMaterial.getDropItemMeta(world, x, y, z)));
}
return ret;
}
@ -102,9 +102,9 @@ public class BlockTank extends BlockRI
@Override
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
for (FluidPartsMaterial data : FluidPartsMaterial.values())
for (FluidContainerMaterial data : FluidContainerMaterial.values())
{
par3List.add(new ItemStack(this, 1, data.ordinal() * FluidPartsMaterial.spacing));
par3List.add(new ItemStack(this, 1, data.ordinal() * FluidContainerMaterial.spacing));
break;
}
}

View file

@ -9,6 +9,7 @@ import org.lwjgl.opengl.GL11;
import resonantinduction.core.Reference;
import resonantinduction.mechanical.Mechanical;
import resonantinduction.mechanical.fluid.pipe.RenderPipe;
import resonantinduction.mechanical.fluid.tank.RenderTank;
import resonantinduction.old.client.model.ModelConveyorBelt;
import resonantinduction.old.client.model.ModelCrusher;
@ -55,6 +56,17 @@ public class MechanicalBlockRenderingHandler implements ISimpleBlockRenderingHan
RenderTank.MODEL.render(0.0625F, false, false, false, false);
GL11.glPopMatrix();
}
else if (block == Mechanical.blockPipe)
{
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, 1.3F, 0.0F);
GL11.glRotatef(180f, 0f, 0f, 1f);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderPipe.getTexture(metadata));
RenderPipe.MODEL_PIPE.renderFront();
RenderPipe.MODEL_PIPE.renderMiddle();
RenderPipe.MODEL_PIPE.renderBack();
GL11.glPopMatrix();
}
else if (RecipeLoader.blockRejector != null && block.blockID == RecipeLoader.blockRejector.blockID)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "rejector.png"));
@ -91,28 +103,6 @@ public class MechanicalBlockRenderingHandler implements ISimpleBlockRenderingHan
* GL11.glPopMatrix();
* }
*/
else if (RecipeLoader.processorMachine != null && block.blockID == RecipeLoader.processorMachine.blockID && metadata == 0)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "CrusherBlock.png"));
GL11.glPushMatrix();
GL11.glTranslatef(0f, 1f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glRotatef(-90f, 0f, 1f, 0f);
this.modelCrushor.renderBody(0.0625f);
this.modelCrushor.renderPiston(0.0625f, 4);
GL11.glPopMatrix();
}
else if (RecipeLoader.processorMachine != null && block.blockID == RecipeLoader.processorMachine.blockID && metadata == 4)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "GrinderBlock.png"));
GL11.glPushMatrix();
GL11.glTranslatef(0f, 1f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glRotatef(-90f, 0f, 1f, 0f);
this.grinderModel.renderBody(0.0625f);
this.grinderModel.renderRotation(0.0625f, 0);
GL11.glPopMatrix();
}
/*
* else if (RecipeLoader.blockSteamGen != null && block.blockID ==
* RecipeLoader.blockSteamGen.blockID)

View file

@ -7,8 +7,8 @@ import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import resonantinduction.mechanical.fluid.TileEntityReleaseValve;
import resonantinduction.mechanical.fluid.pipes.TileEntityPipe;
import resonantinduction.mechanical.fluid.TileReleaseValve;
import resonantinduction.mechanical.fluid.pipe.TilePipe;
import resonantinduction.mechanical.fluid.pump.TileEntityConstructionPump;
import resonantinduction.mechanical.fluid.pump.TileEntityStarterPump;
import resonantinduction.mechanical.fluid.tank.RenderTank;
@ -58,12 +58,12 @@ public class ClientProxy extends CommonProxy
public void init()
{
super.init();
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPipe.class, new RenderPipe());
ClientRegistry.bindTileEntitySpecialRenderer(TilePipe.class, new RenderPipe());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStarterPump.class, new RenderPump());
// ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRod.class, new RenderGearRod());
// ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGenerator.class, new
// RenderGenerator());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReleaseValve.class, new RenderReleaseValve());
ClientRegistry.bindTileEntitySpecialRenderer(TileReleaseValve.class, new RenderReleaseValve());
ClientRegistry.bindTileEntitySpecialRenderer(TileKitchenSink.class, new RenderSink());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConstructionPump.class, new RenderConstructionPump());
ClientRegistry.bindTileEntitySpecialRenderer(TileTank.class, new RenderTank());

View file

@ -12,7 +12,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelLargePipe extends ModelBase
public class ModelPipe extends ModelBase
{
// fields
ModelRenderer Mid;
@ -35,7 +35,7 @@ public class ModelLargePipe extends ModelBase
ModelRenderer FrontPipe;
ModelRenderer FrontConnect;
public ModelLargePipe()
public ModelPipe()
{
textureWidth = 128;
textureHeight = 32;
@ -185,6 +185,18 @@ public class ModelLargePipe extends ModelBase
renderMiddle();
}
public void renderAll()
{
this.renderMiddle();
this.renderBottom();
this.renderTop();
this.renderLeft();
this.renderRight();
this.renderBack();
this.renderFront();
}
public void renderMiddle()
{
Mid.render(0.0625F);

View file

@ -7,7 +7,7 @@ import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import resonantinduction.core.Reference;
import resonantinduction.mechanical.fluid.pipes.FluidPartsMaterial;
import resonantinduction.mechanical.fluid.pipe.FluidContainerMaterial;
import resonantinduction.old.client.model.ModelReleaseValve;
import resonantinduction.old.core.recipe.RecipeLoader;
import cpw.mods.fml.client.FMLClientHandler;
@ -40,7 +40,7 @@ public class ItemPipeRenderer implements IItemRenderer
int meta = item.getItemDamage();
if (RecipeLoader.blockReleaseValve != null && item.itemID == RecipeLoader.blockReleaseValve.blockID)
{
meta = FluidPartsMaterial.IRON.getMeta();
meta = FluidContainerMaterial.IRON.getMeta();
}
if (type == ItemRenderType.ENTITY)
{

View file

@ -10,7 +10,7 @@ import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;
import resonantinduction.render.BlockRenderInfo;
import resonantinduction.core.render.BlockRenderInfo;
import universalelectricity.api.vector.Vector3;
public class RenderBlockEntity extends Render

View file

@ -7,8 +7,8 @@ import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import resonantinduction.core.Reference;
import resonantinduction.mechanical.fluid.TileEntityReleaseValve;
import resonantinduction.old.client.model.ModelLargePipe;
import resonantinduction.mechanical.fluid.TileReleaseValve;
import resonantinduction.old.client.model.ModelPipe;
import resonantinduction.old.client.model.ModelReleaseValve;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -16,7 +16,7 @@ import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class RenderReleaseValve extends TileEntitySpecialRenderer
{
private ModelLargePipe SixPipe;
private ModelPipe SixPipe;
private ModelReleaseValve valve;
private TileEntity[] ents = new TileEntity[6];
@ -24,7 +24,7 @@ public class RenderReleaseValve extends TileEntitySpecialRenderer
public RenderReleaseValve()
{
SixPipe = new ModelLargePipe();
SixPipe = new ModelPipe();
valve = new ModelReleaseValve();
}
@ -35,9 +35,9 @@ public class RenderReleaseValve extends TileEntitySpecialRenderer
GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F);
if (te instanceof TileEntityReleaseValve)
if (te instanceof TileReleaseValve)
{
ents = ((TileEntityReleaseValve) te).connected;
ents = ((TileReleaseValve) te).connected;
}
bindTexture(RenderPipe.TEXTURE);
if (ents[0] != null)

View file

@ -11,7 +11,7 @@ import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import resonantinduction.core.resource.item.ItemParts.Parts;
import resonantinduction.mechanical.fluid.pipes.FluidPartsMaterial;
import resonantinduction.mechanical.fluid.pipe.FluidContainerMaterial;
import resonantinduction.old.core.ItemOreDirv;
import resonantinduction.old.core.misc.EnumTool;
import resonantinduction.old.mechanics.processor.BlockProcessor;
@ -23,7 +23,7 @@ import dark.lib.helpers.ColorCode;
import dark.lib.interfaces.IReadOut.EnumTools;
import dark.lib.recipes.MachineRecipeHandler;
import dark.lib.recipes.ProcessorType;
@Deprecated
public class RecipeLoader
{
@ -334,19 +334,19 @@ public class RecipeLoader
{
if (blockTank != null)
{
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.GLASS.getMeta()), "SXS", "X X", "SXS", 's', Item.silk, 'X', Block.glass);
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.WOOD.getMeta()), "LXL", "X X", "LXL", 'L', Block.wood, 'X', Block.glass);
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.STONE.getMeta()), "SXS", "X X", "SXS", 'S', Block.stone, 'X', Block.glass);
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.IRON.getMeta()), "IXI", "X X", "IXI", 'I', Item.ingotIron, 'X', Block.glass);
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.GLASS.getMeta()), "SXS", "X X", "SXS", 's', Item.silk, 'X', Block.glass);
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.WOOD.getMeta()), "LXL", "X X", "LXL", 'L', Block.wood, 'X', Block.glass);
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.STONE.getMeta()), "SXS", "X X", "SXS", 'S', Block.stone, 'X', Block.glass);
GameRegistry.addRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.IRON.getMeta()), "IXI", "X X", "IXI", 'I', Item.ingotIron, 'X', Block.glass);
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.TIN.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.TIN.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.COPPER.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.COPPER.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.BRONZE.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.BRONZE.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.GOLD.getMeta()), "IXI", "X X", "IXI", 'I', Item.ingotGold, 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.STEEL.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.STEEL.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.TIN.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.TIN.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.COPPER.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.COPPER.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.BRONZE.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.BRONZE.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.GOLD.getMeta()), "IXI", "X X", "IXI", 'I', Item.ingotGold, 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.STEEL.getMeta()), "IXI", "X X", "IXI", 'I', EnumMaterial.STEEL.getOreName(EnumOrePart.INGOTS), 'X', Block.glass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.OBBY.getMeta()), "IXI", "XEX", "IXI", 'I', Block.obsidian, 'X', Block.glass, 'E', Item.enderPearl));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidPartsMaterial.HELL.getMeta()), "IXI", "XBX", "IXI", 'I', Block.obsidian, 'X', Block.netherBrick, 'B', Item.blazePowder));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.OBSIDIAN.getMeta()), "IXI", "XEX", "IXI", 'I', Block.obsidian, 'X', Block.glass, 'E', Item.enderPearl));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockTank, 1, FluidContainerMaterial.HELL.getMeta()), "IXI", "XBX", "IXI", 'I', Block.obsidian, 'X', Block.netherBrick, 'B', Item.blazePowder));
}
}
@ -354,18 +354,18 @@ public class RecipeLoader
{
if (blockPipe != null)
{
GameRegistry.addRecipe(FluidPartsMaterial.WOOD.getStack(2), "LLL", "WWW", "LLL", 'W', Block.planks, 'L', Block.wood);
GameRegistry.addRecipe(FluidPartsMaterial.STONE.getStack(2), "SSS", "CCC", "SSS", 'S', Block.stone, 'C', Block.cobblestone);
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidPartsMaterial.IRON.getStack(2), EnumMaterial.IRON.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidPartsMaterial.GOLD.getStack(2), EnumMaterial.GOLD.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidPartsMaterial.TIN.getStack(2), EnumMaterial.TIN.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidPartsMaterial.COPPER.getStack(2), EnumMaterial.COPPER.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidPartsMaterial.BRONZE.getStack(2), EnumMaterial.BRONZE.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidPartsMaterial.STEEL.getStack(2), EnumMaterial.STEEL.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidPartsMaterial.OBBY.getStack(2), new Object[] { EnumMaterial.OBBY.getOreName(EnumOrePart.TUBE), Block.netherBrick, Block.netherBrick }));
GameRegistry.addRecipe(new ShapedOreRecipe(FluidPartsMaterial.HELL.getStack(4), new Object[] { "OOO", "BNB", "OOO", 'N', Block.netherBrick, 'B', Item.blazeRod, 'O', Block.obsidian }));
GameRegistry.addRecipe(FluidContainerMaterial.WOOD.getStack(2), "LLL", "WWW", "LLL", 'W', Block.planks, 'L', Block.wood);
GameRegistry.addRecipe(FluidContainerMaterial.STONE.getStack(2), "SSS", "CCC", "SSS", 'S', Block.stone, 'C', Block.cobblestone);
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidContainerMaterial.IRON.getStack(2), EnumMaterial.IRON.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidContainerMaterial.GOLD.getStack(2), EnumMaterial.GOLD.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidContainerMaterial.TIN.getStack(2), EnumMaterial.TIN.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidContainerMaterial.COPPER.getStack(2), EnumMaterial.COPPER.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidContainerMaterial.BRONZE.getStack(2), EnumMaterial.BRONZE.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidContainerMaterial.STEEL.getStack(2), EnumMaterial.STEEL.getOreName(EnumOrePart.TUBE), Parts.Seal.name));
GameRegistry.addRecipe(new ShapelessOreRecipe(FluidContainerMaterial.OBSIDIAN.getStack(2), new Object[] { EnumMaterial.OBBY.getOreName(EnumOrePart.TUBE), Block.netherBrick, Block.netherBrick }));
GameRegistry.addRecipe(new ShapedOreRecipe(FluidContainerMaterial.HELL.getStack(4), new Object[] { "OOO", "BNB", "OOO", 'N', Block.netherBrick, 'B', Item.blazeRod, 'O', Block.obsidian }));
for (FluidPartsMaterial mat : FluidPartsMaterial.values())
for (FluidContainerMaterial mat : FluidContainerMaterial.values())
{
for (ColorCode color : ColorCode.values())
{

View file

Before

Width:  |  Height:  |  Size: 829 B

After

Width:  |  Height:  |  Size: 829 B

View file

Before

Width:  |  Height:  |  Size: 828 B

After

Width:  |  Height:  |  Size: 828 B

View file

Before

Width:  |  Height:  |  Size: 808 B

After

Width:  |  Height:  |  Size: 808 B

View file

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 5 KiB

View file

Before

Width:  |  Height:  |  Size: 829 B

After

Width:  |  Height:  |  Size: 829 B

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB