Updated Calclavia Core
This commit is contained in:
parent
b0d97743e3
commit
8b6ce6427e
5 changed files with 21 additions and 150 deletions
|
@ -6,10 +6,10 @@
|
||||||
|
|
||||||
package resonantinduction.mechanical.fluid.pipe;
|
package resonantinduction.mechanical.fluid.pipe;
|
||||||
|
|
||||||
|
import calclavia.lib.render.RenderUtility;
|
||||||
import net.minecraft.client.model.ModelBase;
|
import net.minecraft.client.model.ModelBase;
|
||||||
import net.minecraft.client.model.ModelRenderer;
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import resonantinduction.mechanical.fluid.prefab.TileFluidNetwork;
|
|
||||||
|
|
||||||
public class ModelOpenTrough extends ModelBase
|
public class ModelOpenTrough extends ModelBase
|
||||||
{
|
{
|
||||||
|
@ -283,11 +283,11 @@ public class ModelOpenTrough extends ModelBase
|
||||||
|
|
||||||
public void render(byte side, boolean stone)
|
public void render(byte side, boolean stone)
|
||||||
{
|
{
|
||||||
renderMiddle(TileFluidNetwork.canRenderSide(side, ForgeDirection.DOWN), stone);
|
renderMiddle(RenderUtility.canRenderSide(side, ForgeDirection.DOWN), stone);
|
||||||
renderBack(TileFluidNetwork.canRenderSide(side, ForgeDirection.NORTH) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
renderBack(RenderUtility.canRenderSide(side, ForgeDirection.NORTH) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
||||||
renderFront(TileFluidNetwork.canRenderSide(side, ForgeDirection.SOUTH) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
renderFront(RenderUtility.canRenderSide(side, ForgeDirection.SOUTH) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
||||||
renderRight(TileFluidNetwork.canRenderSide(side, ForgeDirection.WEST) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
renderRight(RenderUtility.canRenderSide(side, ForgeDirection.WEST) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
||||||
renderLeft(TileFluidNetwork.canRenderSide(side, ForgeDirection.EAST) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
renderLeft(RenderUtility.canRenderSide(side, ForgeDirection.EAST) ? PipeType.NORMAL : stone ? PipeType.SOLID : PipeType.MID_CAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderMiddle(boolean bottom, boolean corners)
|
public void renderMiddle(boolean bottom, boolean corners)
|
||||||
|
|
|
@ -7,8 +7,8 @@ import net.minecraftforge.common.ForgeDirection;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import calclavia.lib.render.RenderUtility;
|
||||||
import resonantinduction.core.Reference;
|
import resonantinduction.core.Reference;
|
||||||
import resonantinduction.mechanical.fluid.prefab.TileFluidNetwork;
|
|
||||||
import cpw.mods.fml.client.FMLClientHandler;
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
@ -50,27 +50,27 @@ public class RenderPipe
|
||||||
|
|
||||||
public static void render(EnumPipeMaterial mat, byte side)
|
public static void render(EnumPipeMaterial mat, byte side)
|
||||||
{
|
{
|
||||||
if (TileFluidNetwork.canRenderSide(side, ForgeDirection.DOWN))
|
if (RenderUtility.canRenderSide(side, ForgeDirection.DOWN))
|
||||||
{
|
{
|
||||||
MODEL_PIPE.renderBottom();
|
MODEL_PIPE.renderBottom();
|
||||||
}
|
}
|
||||||
if (TileFluidNetwork.canRenderSide(side, ForgeDirection.UP))
|
if (RenderUtility.canRenderSide(side, ForgeDirection.UP))
|
||||||
{
|
{
|
||||||
MODEL_PIPE.renderTop();
|
MODEL_PIPE.renderTop();
|
||||||
}
|
}
|
||||||
if (TileFluidNetwork.canRenderSide(side, ForgeDirection.NORTH))
|
if (RenderUtility.canRenderSide(side, ForgeDirection.NORTH))
|
||||||
{
|
{
|
||||||
MODEL_PIPE.renderBack();
|
MODEL_PIPE.renderBack();
|
||||||
}
|
}
|
||||||
if (TileFluidNetwork.canRenderSide(side, ForgeDirection.SOUTH))
|
if (RenderUtility.canRenderSide(side, ForgeDirection.SOUTH))
|
||||||
{
|
{
|
||||||
MODEL_PIPE.renderFront();
|
MODEL_PIPE.renderFront();
|
||||||
}
|
}
|
||||||
if (TileFluidNetwork.canRenderSide(side, ForgeDirection.WEST))
|
if (RenderUtility.canRenderSide(side, ForgeDirection.WEST))
|
||||||
{
|
{
|
||||||
MODEL_PIPE.renderLeft();
|
MODEL_PIPE.renderLeft();
|
||||||
}
|
}
|
||||||
if (TileFluidNetwork.canRenderSide(side, ForgeDirection.EAST))
|
if (RenderUtility.canRenderSide(side, ForgeDirection.EAST))
|
||||||
{
|
{
|
||||||
MODEL_PIPE.renderRight();
|
MODEL_PIPE.renderRight();
|
||||||
}
|
}
|
||||||
|
|
|
@ -284,11 +284,6 @@ public abstract class TileFluidNetwork extends TileAdvanced implements IFluidCon
|
||||||
this.colorID = id;
|
this.colorID = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean canRenderSide(byte renderSides, ForgeDirection direction)
|
|
||||||
{
|
|
||||||
return (renderSides & (1 << direction.ordinal())) != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canConnect(ForgeDirection direction)
|
public boolean canConnect(ForgeDirection direction)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,6 +3,9 @@ package resonantinduction.mechanical.fluid.tank;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.client.renderer.RenderBlocks;
|
||||||
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -10,12 +13,16 @@ import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import resonantinduction.archaic.Archaic;
|
||||||
import resonantinduction.core.render.RIBlockRenderingHandler;
|
import resonantinduction.core.render.RIBlockRenderingHandler;
|
||||||
|
import resonantinduction.mechanical.Mechanical;
|
||||||
import resonantinduction.mechanical.fluid.pipe.EnumPipeMaterial;
|
import resonantinduction.mechanical.fluid.pipe.EnumPipeMaterial;
|
||||||
import resonantinduction.mechanical.fluid.pipe.ItemBlockFluidContainer;
|
import resonantinduction.mechanical.fluid.pipe.ItemBlockFluidContainer;
|
||||||
import resonantinduction.mechanical.fluid.prefab.BlockFluidNetwork;
|
import resonantinduction.mechanical.fluid.prefab.BlockFluidNetwork;
|
||||||
import universalelectricity.api.UniversalElectricity;
|
import universalelectricity.api.UniversalElectricity;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
|
import calclavia.lib.render.RenderUtility;
|
||||||
|
import calclavia.lib.render.block.ICustomBlockRenderer;
|
||||||
import calclavia.lib.utility.FluidUtility;
|
import calclavia.lib.utility.FluidUtility;
|
||||||
import calclavia.lib.utility.inventory.InventoryUtility;
|
import calclavia.lib.utility.inventory.InventoryUtility;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
|
|
@ -11,7 +11,6 @@ import org.lwjgl.opengl.GL11;
|
||||||
import resonantinduction.archaic.Archaic;
|
import resonantinduction.archaic.Archaic;
|
||||||
import resonantinduction.core.render.RenderFluidHelper;
|
import resonantinduction.core.render.RenderFluidHelper;
|
||||||
import resonantinduction.mechanical.Mechanical;
|
import resonantinduction.mechanical.Mechanical;
|
||||||
import resonantinduction.mechanical.fluid.prefab.TileFluidNetwork;
|
|
||||||
import calclavia.lib.render.RenderUtility;
|
import calclavia.lib.render.RenderUtility;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
@ -34,139 +33,9 @@ public class RenderTank extends TileEntitySpecialRenderer
|
||||||
{
|
{
|
||||||
byte renderSides = ((TileTank) tileEntity).renderSides;
|
byte renderSides = ((TileTank) tileEntity).renderSides;
|
||||||
|
|
||||||
boolean down = TileFluidNetwork.canRenderSide(renderSides, ForgeDirection.DOWN);
|
|
||||||
boolean up = TileFluidNetwork.canRenderSide(renderSides, ForgeDirection.UP);
|
|
||||||
boolean north = TileFluidNetwork.canRenderSide(renderSides, ForgeDirection.NORTH);
|
|
||||||
boolean south = TileFluidNetwork.canRenderSide(renderSides, ForgeDirection.SOUTH);
|
|
||||||
boolean east = TileFluidNetwork.canRenderSide(renderSides, ForgeDirection.EAST);
|
|
||||||
boolean west = TileFluidNetwork.canRenderSide(renderSides, ForgeDirection.WEST);
|
|
||||||
|
|
||||||
bindTexture(TextureMap.locationBlocksTexture);
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5);
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5);
|
||||||
|
RenderUtility.renderBlockWithConnectedTextures(renderSides, Mechanical.blockTank, null, Archaic.blockMachinePart, null);
|
||||||
/**
|
|
||||||
* Render faces
|
|
||||||
*/
|
|
||||||
for (int i = 0; i < 6; i++)
|
|
||||||
{
|
|
||||||
ForgeDirection dir = ForgeDirection.getOrientation(i);
|
|
||||||
|
|
||||||
if (!TileFluidNetwork.canRenderSide(renderSides, dir))
|
|
||||||
{
|
|
||||||
GL11.glPushMatrix();
|
|
||||||
GL11.glScalef(0.99f, 0.99f, 0.99f);
|
|
||||||
|
|
||||||
switch (i)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
GL11.glRotatef(0, 0, 0, 1);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
GL11.glRotatef(180, 0, 0, 1);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
GL11.glRotatef(90, 1, 0, 0);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
GL11.glRotatef(-90, 1, 0, 0);
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
GL11.glRotatef(-90, 0, 0, 1);
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
GL11.glRotatef(90, 0, 0, 1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
RenderUtility.renderCube(-0.501, -0.501, -0.501, 0.501, -0.475, 0.501, Mechanical.blockTank);
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render edges
|
|
||||||
*/
|
|
||||||
GL11.glPushMatrix();
|
|
||||||
|
|
||||||
if (!east)
|
|
||||||
{
|
|
||||||
if (!north)
|
|
||||||
{
|
|
||||||
// north east
|
|
||||||
RenderUtility.renderCube(0.475, -0.501, -0.501, 0.501, 0.501, -0.475, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
if (!south)
|
|
||||||
{
|
|
||||||
// south east
|
|
||||||
RenderUtility.renderCube(0.475, -0.501, 0.475, 0.501, 0.501, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!down)
|
|
||||||
{
|
|
||||||
// bottom east
|
|
||||||
RenderUtility.renderCube(0.475, -0.501, -0.501, 0.501, -0.475, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!up)
|
|
||||||
{
|
|
||||||
// top east
|
|
||||||
RenderUtility.renderCube(0.475, 0.475, -0.501, 0.501, 0.501, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!west)
|
|
||||||
{
|
|
||||||
if (!north)
|
|
||||||
{
|
|
||||||
// north west
|
|
||||||
RenderUtility.renderCube(-0.501, -0.501, -0.501, -0.475, 0.501, -0.475, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
if (!south)
|
|
||||||
{
|
|
||||||
// south west
|
|
||||||
RenderUtility.renderCube(-0.501, -0.501, 0.475, -0.475, 0.501, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
if (!down)
|
|
||||||
{
|
|
||||||
// bottom west
|
|
||||||
RenderUtility.renderCube(-0.501, -0.501, -0.501, -0.475, -0.475, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
if (!up)
|
|
||||||
{
|
|
||||||
// top west
|
|
||||||
RenderUtility.renderCube(-0.501, 0.475, -0.501, -0.475, 0.501, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!north)
|
|
||||||
{
|
|
||||||
if (!up)
|
|
||||||
{
|
|
||||||
// top north
|
|
||||||
RenderUtility.renderCube(-0.501, 0.475, -0.501, 0.501, 0.501, -0.475, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
if (!down)
|
|
||||||
{
|
|
||||||
// bottom north
|
|
||||||
RenderUtility.renderCube(-0.501, -0.501, -0.501, 0.501, -0.475, -0.475, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!south)
|
|
||||||
{
|
|
||||||
if (!up)
|
|
||||||
{
|
|
||||||
// top south
|
|
||||||
RenderUtility.renderCube(-0.501, 0.475, 0.475, 0.501, 0.501, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
if (!down)
|
|
||||||
{
|
|
||||||
// bottom south
|
|
||||||
RenderUtility.renderCube(-0.501, -0.501, 0.475, 0.501, -0.475, 0.501, Archaic.blockMachinePart);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
if (fluid != null && fluid.amount > 100)
|
if (fluid != null && fluid.amount > 100)
|
||||||
|
|
Loading…
Reference in a new issue