New Metallurgic Infuser model, more efficient active state management
This commit is contained in:
parent
2a73dc3332
commit
d1a1e3375a
15 changed files with 301 additions and 203 deletions
common/mekanism
client
model
render
sound
common
block
tileentity
TileEntityAdvancedElectricMachine.javaTileEntityBasicMachine.javaTileEntityElectricMachine.javaTileEntityFactory.javaTileEntityMetallurgicInfuser.java
util
generators/common/tileentity
resources/assets/mekanism/render
|
@ -1,170 +1,222 @@
|
|||
package mekanism.client.model;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ModelMetallurgicInfuser extends ModelBase
|
||||
public class ModelMetallurgicInfuser extends ModelBase
|
||||
{
|
||||
public ModelRenderer PANEL;
|
||||
public ModelRenderer MACHINE;
|
||||
public ModelRenderer CENTER_CIRCUIT;
|
||||
public ModelRenderer PIPE_1;
|
||||
public ModelRenderer PIPE_2;
|
||||
public ModelRenderer GUI_STAND;
|
||||
public ModelRenderer GUI_SCREEN;
|
||||
public ModelRenderer PIPE_2_TOP;
|
||||
public ModelRenderer PIPE_1_TOP;
|
||||
public ModelRenderer FRONT_PANEL;
|
||||
public ModelRenderer WIRE_1;
|
||||
public ModelRenderer WIRE_2;
|
||||
public ModelRenderer SIDE_WIRE_1;
|
||||
public ModelRenderer SIDE_WIRE_2;
|
||||
public ModelRenderer VERTICAL_WIRE;
|
||||
public ModelRenderer TUBE;
|
||||
|
||||
public ModelMetallurgicInfuser()
|
||||
ModelRenderer Base;
|
||||
ModelRenderer RightChamber;
|
||||
ModelRenderer TopChamber;
|
||||
ModelRenderer BackChamber;
|
||||
ModelRenderer LeftChamber;
|
||||
ModelRenderer FCTop;
|
||||
ModelRenderer FCBottom;
|
||||
ModelRenderer FCRight;
|
||||
ModelRenderer FCLeft;
|
||||
ModelRenderer FCDoor;
|
||||
ModelRenderer Cable1;
|
||||
ModelRenderer Cable3;
|
||||
ModelRenderer Cable5;
|
||||
ModelRenderer Cable2;
|
||||
ModelRenderer Cable4;
|
||||
ModelRenderer Cable6;
|
||||
ModelRenderer TopPanelDec;
|
||||
ModelRenderer BackPlate;
|
||||
ModelRenderer TopPanel;
|
||||
ModelRenderer TopPanelExtr;
|
||||
ModelRenderer ConnectorRight;
|
||||
ModelRenderer ConnectorLeft;
|
||||
ModelRenderer ConnectorWireRight;
|
||||
ModelRenderer ConnectorWireLeft;
|
||||
ModelRenderer ConnectorWireTop;
|
||||
|
||||
public ModelMetallurgicInfuser()
|
||||
{
|
||||
textureWidth = 256;
|
||||
textureHeight = 256;
|
||||
|
||||
PANEL = new ModelRenderer(this, 0, 0);
|
||||
PANEL.addBox(-8.0F, -0.5F, -8.0F, 16, 1, 16, 0);
|
||||
PANEL.setRotationPoint(0.0F, -0.5F, 0.0F);
|
||||
PANEL.setTextureSize(256, 256);
|
||||
PANEL.mirror = true;
|
||||
setRotation(PANEL, 0F, 0F, 0F);
|
||||
|
||||
MACHINE = new ModelRenderer(this, 80, 0);
|
||||
MACHINE.addBox(-4.0F, -5.0F, -4.0F, 8, 10, 8, 0);
|
||||
MACHINE.setRotationPoint(2.0F, -6.0F, 0.0F);
|
||||
MACHINE.setTextureSize(256, 256);
|
||||
MACHINE.mirror = true;
|
||||
setRotation(MACHINE, 0F, 0F, 0F);
|
||||
|
||||
CENTER_CIRCUIT = new ModelRenderer(this, 64, 0);
|
||||
CENTER_CIRCUIT.addBox(-2.0F, -0.5F, -2.0F, 4, 1, 4, 0);
|
||||
CENTER_CIRCUIT.setRotationPoint(2.0F, -11.5F, 0.0F);
|
||||
CENTER_CIRCUIT.setTextureSize(256, 256);
|
||||
CENTER_CIRCUIT.mirror = true;
|
||||
setRotation(CENTER_CIRCUIT, 0F, 0F, 0F);
|
||||
|
||||
PIPE_1 = new ModelRenderer(this, 0, 32);
|
||||
PIPE_1.addBox(-1.0F, -5.5F, -0.5F, 2, 11, 1, 0);
|
||||
PIPE_1.setRotationPoint(2.0F, -6.0F, -4.5F);
|
||||
PIPE_1.setTextureSize(256, 256);
|
||||
PIPE_1.mirror = true;
|
||||
setRotation(PIPE_1, 0F, 0F, 0F);
|
||||
|
||||
PIPE_2 = new ModelRenderer(this, 0, 32);
|
||||
PIPE_2.addBox(-1.0F, -5.5F, -0.5F, 2, 11, 1, 0);
|
||||
PIPE_2.setRotationPoint(2.0F, -6.0F, 4.5F);
|
||||
PIPE_2.setTextureSize(256, 256);
|
||||
PIPE_2.mirror = true;
|
||||
setRotation(PIPE_2, 0F, 0F, 0F);
|
||||
|
||||
GUI_STAND = new ModelRenderer(this, 32, 32);
|
||||
GUI_STAND.addBox(-0.5F, -3.5F, -0.5F, 1, 7, 1, 0);
|
||||
GUI_STAND.setRotationPoint(-5.0F, -4.5F, 0.0F);
|
||||
GUI_STAND.setTextureSize(256, 256);
|
||||
GUI_STAND.mirror = true;
|
||||
setRotation(GUI_STAND, 0F, 0F, 0F);
|
||||
|
||||
GUI_SCREEN = new ModelRenderer(this, 48, 32);
|
||||
GUI_SCREEN.addBox(-1.5F, -0.5F, -3.0F, 3, 1, 6, 0);
|
||||
GUI_SCREEN.setRotationPoint(-5.0F, -8.0F, 0.0F);
|
||||
GUI_SCREEN.setTextureSize(256, 256);
|
||||
GUI_SCREEN.mirror = true;
|
||||
setRotation(GUI_SCREEN, 0F, 0F, -0.5F);
|
||||
|
||||
PIPE_2_TOP = new ModelRenderer(this, 16, 32);
|
||||
PIPE_2_TOP.addBox(-1.0F, -0.5F, -1.0F, 2, 1, 2, 0);
|
||||
PIPE_2_TOP.setRotationPoint(2.0F, -11.0F, 3.0F);
|
||||
PIPE_2_TOP.setTextureSize(256, 256);
|
||||
PIPE_2_TOP.mirror = true;
|
||||
setRotation(PIPE_2_TOP, 0F, 0F, 0F);
|
||||
|
||||
PIPE_1_TOP = new ModelRenderer(this, 16, 32);
|
||||
PIPE_1_TOP.addBox(-1.0F, -0.5F, -1.0F, 2, 1, 2, 0);
|
||||
PIPE_1_TOP.setRotationPoint(2.0F, -11.0F, -3.0F);
|
||||
PIPE_1_TOP.setTextureSize(256, 256);
|
||||
PIPE_1_TOP.mirror = true;
|
||||
setRotation(PIPE_1_TOP, 0F, 0F, 0F);
|
||||
|
||||
FRONT_PANEL = new ModelRenderer(this, 32, 64);
|
||||
FRONT_PANEL.addBox(-0.5F, -1.5F, -5.0F, 1, 3, 10, 0);
|
||||
FRONT_PANEL.setRotationPoint(-7.0F, -2.5F, 0.0F);
|
||||
FRONT_PANEL.setTextureSize(256, 256);
|
||||
FRONT_PANEL.mirror = true;
|
||||
setRotation(FRONT_PANEL, 0F, 0F, 0F);
|
||||
|
||||
WIRE_1 = new ModelRenderer(this, 48, 48);
|
||||
WIRE_1.addBox(-2.0F, -0.5F, -0.5F, 4, 1, 1, 0);
|
||||
WIRE_1.setRotationPoint(-0.5F, -1.0F, -4.5F);
|
||||
WIRE_1.setTextureSize(256, 256);
|
||||
WIRE_1.mirror = true;
|
||||
setRotation(WIRE_1, 0F, 0F, 0F);
|
||||
|
||||
WIRE_2 = new ModelRenderer(this, 0, 48);
|
||||
WIRE_2.addBox(-3.0F, -0.5F, -0.5F, 6, 1, 1, 0);
|
||||
WIRE_2.setRotationPoint(-1.5F, -1.0F, 4.5F);
|
||||
WIRE_2.setTextureSize(256, 256);
|
||||
WIRE_2.mirror = true;
|
||||
setRotation(WIRE_2, 0F, 0F, 0F);
|
||||
|
||||
SIDE_WIRE_1 = new ModelRenderer(this, 32, 48);
|
||||
SIDE_WIRE_1.addBox(-0.5F, -0.5F, -2.5F, 1, 1, 5, 0);
|
||||
SIDE_WIRE_1.setRotationPoint(-4.0F, -1.0F, 2.0F);
|
||||
SIDE_WIRE_1.setTextureSize(256, 256);
|
||||
SIDE_WIRE_1.mirror = true;
|
||||
setRotation(SIDE_WIRE_1, 0F, 0F, 0F);
|
||||
|
||||
SIDE_WIRE_2 = new ModelRenderer(this, 64, 48);
|
||||
SIDE_WIRE_2.addBox(-0.5F, -0.5F, -1.5F, 1, 1, 3, 0);
|
||||
SIDE_WIRE_2.setRotationPoint(-2.0F, -1.0F, -2.5F);
|
||||
SIDE_WIRE_2.setTextureSize(256, 256);
|
||||
SIDE_WIRE_2.mirror = true;
|
||||
setRotation(SIDE_WIRE_2, 0F, 0F, 0F);
|
||||
|
||||
VERTICAL_WIRE = new ModelRenderer(this, 0, 64);
|
||||
VERTICAL_WIRE.addBox(-0.5F, -3.0F, -0.5F, 1, 6, 1, 0);
|
||||
VERTICAL_WIRE.setRotationPoint(-2.0F, -4.5F, -1.5F);
|
||||
VERTICAL_WIRE.setTextureSize(256, 256);
|
||||
VERTICAL_WIRE.mirror = true;
|
||||
setRotation(VERTICAL_WIRE, 0F, 0F, 0F);
|
||||
|
||||
TUBE = new ModelRenderer(this, 16, 64);
|
||||
TUBE.addBox(-2.5F, -0.5F, -1.0F, 5, 1, 2, 0);
|
||||
TUBE.setRotationPoint(-4.0F, -3.0F, 2.0F);
|
||||
TUBE.setTextureSize(256, 256);
|
||||
TUBE.mirror = true;
|
||||
setRotation(TUBE, 0F, 0F, 0F);
|
||||
|
||||
textureWidth = 128;
|
||||
textureHeight = 64;
|
||||
|
||||
Base = new ModelRenderer(this, 0, 0);
|
||||
Base.addBox(0F, 0F, 0F, 14, 2, 16);
|
||||
Base.setRotationPoint(-7F, 22F, -8F);
|
||||
Base.setTextureSize(128, 64);
|
||||
Base.mirror = true;
|
||||
setRotation(Base, 0F, 0F, 0F);
|
||||
RightChamber = new ModelRenderer(this, 61, 0);
|
||||
RightChamber.addBox(0F, 0F, 0F, 1, 6, 5);
|
||||
RightChamber.setRotationPoint(5.5F, 16F, -6F);
|
||||
RightChamber.setTextureSize(128, 64);
|
||||
RightChamber.mirror = true;
|
||||
setRotation(RightChamber, 0F, 0F, 0F);
|
||||
TopChamber = new ModelRenderer(this, 86, 12);
|
||||
TopChamber.addBox(0F, 0F, 0F, 11, 1, 5);
|
||||
TopChamber.setRotationPoint(-5.5F, 15F, -6F);
|
||||
TopChamber.setTextureSize(128, 64);
|
||||
TopChamber.mirror = true;
|
||||
setRotation(TopChamber, 0F, 0F, 0F);
|
||||
BackChamber = new ModelRenderer(this, 74, 0);
|
||||
BackChamber.addBox(0F, 0F, 0F, 11, 6, 1);
|
||||
BackChamber.setRotationPoint(-5.5F, 16F, -1F);
|
||||
BackChamber.setTextureSize(128, 64);
|
||||
BackChamber.mirror = true;
|
||||
setRotation(BackChamber, 0F, 0F, 0F);
|
||||
LeftChamber = new ModelRenderer(this, 61, 0);
|
||||
LeftChamber.addBox(0F, 0F, 0F, 1, 6, 5);
|
||||
LeftChamber.setRotationPoint(-6.5F, 16F, -6F);
|
||||
LeftChamber.setTextureSize(128, 64);
|
||||
LeftChamber.mirror = true;
|
||||
setRotation(LeftChamber, 0F, 0F, 0F);
|
||||
FCTop = new ModelRenderer(this, 99, 6);
|
||||
FCTop.addBox(0F, 0F, 0F, 11, 1, 1);
|
||||
FCTop.setRotationPoint(-5.5F, 16F, -7F);
|
||||
FCTop.setTextureSize(128, 64);
|
||||
FCTop.mirror = true;
|
||||
setRotation(FCTop, 0F, 0F, 0F);
|
||||
FCBottom = new ModelRenderer(this, 99, 6);
|
||||
FCBottom.addBox(0F, 0F, 0F, 11, 1, 1);
|
||||
FCBottom.setRotationPoint(-5.5F, 21F, -7F);
|
||||
FCBottom.setTextureSize(128, 64);
|
||||
FCBottom.mirror = true;
|
||||
setRotation(FCBottom, 0F, 0F, 0F);
|
||||
FCRight = new ModelRenderer(this, 61, 11);
|
||||
FCRight.addBox(0F, 0F, 0F, 1, 4, 1);
|
||||
FCRight.setRotationPoint(4.5F, 17F, -7F);
|
||||
FCRight.setTextureSize(128, 64);
|
||||
FCRight.mirror = true;
|
||||
setRotation(FCRight, 0F, 0F, 0F);
|
||||
FCLeft = new ModelRenderer(this, 61, 11);
|
||||
FCLeft.addBox(0F, 0F, 0F, 1, 4, 1);
|
||||
FCLeft.setRotationPoint(-5.5F, 17F, -7F);
|
||||
FCLeft.setTextureSize(128, 64);
|
||||
FCLeft.mirror = true;
|
||||
setRotation(FCLeft, 0F, 0F, 0F);
|
||||
FCDoor = new ModelRenderer(this, 99, 0);
|
||||
FCDoor.addBox(0F, -2F, -0.5F, 9, 4, 1);
|
||||
FCDoor.setRotationPoint(-4.5F, 19F, -7F);
|
||||
FCDoor.setTextureSize(128, 64);
|
||||
FCDoor.mirror = true;
|
||||
setRotation(FCDoor, 0F, 0F, 0F);
|
||||
Cable1 = new ModelRenderer(this, 105, 19);
|
||||
Cable1.addBox(0F, 0F, 0F, 1, 1, 7);
|
||||
Cable1.setRotationPoint(-4.5F, 19.5F, 0F);
|
||||
Cable1.setTextureSize(128, 64);
|
||||
Cable1.mirror = true;
|
||||
setRotation(Cable1, 0F, 0.0174533F, 0F);
|
||||
Cable3 = new ModelRenderer(this, 86, 19);
|
||||
Cable3.addBox(0F, 0F, 0F, 2, 2, 7);
|
||||
Cable3.setRotationPoint(3F, 18F, 0F);
|
||||
Cable3.setTextureSize(128, 64);
|
||||
Cable3.mirror = true;
|
||||
setRotation(Cable3, 0F, 0.0174533F, 0F);
|
||||
Cable5 = new ModelRenderer(this, 105, 19);
|
||||
Cable5.addBox(0F, 0F, 0F, 1, 1, 7);
|
||||
Cable5.setRotationPoint(3.5F, 19.5F, 0F);
|
||||
Cable5.setTextureSize(128, 64);
|
||||
Cable5.mirror = true;
|
||||
setRotation(Cable5, 0F, 0.0174533F, 0F);
|
||||
Cable2 = new ModelRenderer(this, 86, 19);
|
||||
Cable2.addBox(0F, 0F, 0F, 2, 2, 7);
|
||||
Cable2.setRotationPoint(-5F, 18F, 0F);
|
||||
Cable2.setTextureSize(128, 64);
|
||||
Cable2.mirror = true;
|
||||
setRotation(Cable2, 0F, 0F, 0F);
|
||||
Cable4 = new ModelRenderer(this, 105, 19);
|
||||
Cable4.addBox(0F, 0F, 0F, 1, 1, 7);
|
||||
Cable4.setRotationPoint(-4.5F, 17.5F, 0F);
|
||||
Cable4.setTextureSize(128, 64);
|
||||
Cable4.mirror = true;
|
||||
setRotation(Cable4, 0F, 0.0174533F, 0F);
|
||||
Cable6 = new ModelRenderer(this, 105, 19);
|
||||
Cable6.addBox(0F, 0F, 0F, 1, 1, 7);
|
||||
Cable6.setRotationPoint(3.5F, 17.5F, 0F);
|
||||
Cable6.setTextureSize(128, 64);
|
||||
Cable6.mirror = true;
|
||||
setRotation(Cable6, 0F, 0.0174533F, 0F);
|
||||
TopPanelDec = new ModelRenderer(this, 33, 28);
|
||||
TopPanelDec.addBox(0F, 0F, 0F, 13, 1, 1);
|
||||
TopPanelDec.setRotationPoint(-6.5F, 11.5F, 5.5F);
|
||||
TopPanelDec.setTextureSize(128, 64);
|
||||
TopPanelDec.mirror = true;
|
||||
setRotation(TopPanelDec, 0F, 0F, 0F);
|
||||
BackPlate = new ModelRenderer(this, 0, 19);
|
||||
BackPlate.addBox(0F, 0F, 0F, 14, 12, 2);
|
||||
BackPlate.setRotationPoint(-7F, 10F, 6F);
|
||||
BackPlate.setTextureSize(128, 64);
|
||||
BackPlate.mirror = true;
|
||||
setRotation(BackPlate, 0F, 0F, 0F);
|
||||
TopPanel = new ModelRenderer(this, 33, 19);
|
||||
TopPanel.addBox(0F, 0F, 0F, 14, 2, 3);
|
||||
TopPanel.setRotationPoint(-7F, 10F, 3F);
|
||||
TopPanel.setTextureSize(128, 64);
|
||||
TopPanel.mirror = true;
|
||||
setRotation(TopPanel, 0F, 0F, 0F);
|
||||
TopPanelExtr = new ModelRenderer(this, 33, 25);
|
||||
TopPanelExtr.addBox(0F, 0F, 0F, 14, 1, 1);
|
||||
TopPanelExtr.setRotationPoint(-7F, 10F, 2F);
|
||||
TopPanelExtr.setTextureSize(128, 64);
|
||||
TopPanelExtr.mirror = true;
|
||||
setRotation(TopPanelExtr, 0F, 0F, 0F);
|
||||
ConnectorRight = new ModelRenderer(this, 68, 19);
|
||||
ConnectorRight.addBox(0F, 0F, 0F, 3, 1, 3);
|
||||
ConnectorRight.setRotationPoint(1.5F, 14F, -5F);
|
||||
ConnectorRight.setTextureSize(128, 64);
|
||||
ConnectorRight.mirror = true;
|
||||
setRotation(ConnectorRight, 0F, 0F, 0F);
|
||||
ConnectorLeft = new ModelRenderer(this, 68, 19);
|
||||
ConnectorLeft.addBox(0F, 0F, 0F, 3, 1, 3);
|
||||
ConnectorLeft.setRotationPoint(-4.5F, 14F, -5F);
|
||||
ConnectorLeft.setTextureSize(128, 64);
|
||||
ConnectorLeft.mirror = true;
|
||||
setRotation(ConnectorLeft, 0F, 0F, 0F);
|
||||
ConnectorWireRight = new ModelRenderer(this, 68, 24);
|
||||
ConnectorWireRight.addBox(0F, 0F, 0F, 1, 3, 1);
|
||||
ConnectorWireRight.setRotationPoint(2.5F, 11F, -4F);
|
||||
ConnectorWireRight.setTextureSize(128, 64);
|
||||
ConnectorWireRight.mirror = true;
|
||||
setRotation(ConnectorWireRight, 0F, 0F, 0F);
|
||||
ConnectorWireLeft = new ModelRenderer(this, 68, 24);
|
||||
ConnectorWireLeft.addBox(0F, 0F, 0F, 1, 3, 1);
|
||||
ConnectorWireLeft.setRotationPoint(-3.5F, 11F, -4F);
|
||||
ConnectorWireLeft.setTextureSize(128, 64);
|
||||
ConnectorWireLeft.mirror = true;
|
||||
setRotation(ConnectorWireLeft, 0F, 0F, 0F);
|
||||
ConnectorWireTop = new ModelRenderer(this, 68, 29);
|
||||
ConnectorWireTop.addBox(0F, 0F, 0F, 5, 1, 1);
|
||||
ConnectorWireTop.setRotationPoint(-2.5F, 11F, -4F);
|
||||
ConnectorWireTop.setTextureSize(128, 64);
|
||||
ConnectorWireTop.mirror = true;
|
||||
setRotation(ConnectorWireTop, 0F, 0F, 0F);
|
||||
}
|
||||
|
||||
|
||||
public void render(float size)
|
||||
{
|
||||
PANEL.render(size);
|
||||
MACHINE.render(size);
|
||||
CENTER_CIRCUIT.render(size);
|
||||
PIPE_1.render(size);
|
||||
PIPE_2.render(size);
|
||||
GUI_STAND.render(size);
|
||||
GUI_SCREEN.render(size);
|
||||
PIPE_2_TOP.render(size);
|
||||
PIPE_1_TOP.render(size);
|
||||
FRONT_PANEL.render(size);
|
||||
WIRE_1.render(size);
|
||||
WIRE_2.render(size);
|
||||
SIDE_WIRE_1.render(size);
|
||||
SIDE_WIRE_2.render(size);
|
||||
VERTICAL_WIRE.render(size);
|
||||
TUBE.render(size);
|
||||
Base.render(size);
|
||||
RightChamber.render(size);
|
||||
TopChamber.render(size);
|
||||
BackChamber.render(size);
|
||||
LeftChamber.render(size);
|
||||
FCTop.render(size);
|
||||
FCBottom.render(size);
|
||||
FCRight.render(size);
|
||||
FCLeft.render(size);
|
||||
FCDoor.render(size);
|
||||
Cable1.render(size);
|
||||
Cable3.render(size);
|
||||
Cable5.render(size);
|
||||
Cable2.render(size);
|
||||
Cable4.render(size);
|
||||
Cable6.render(size);
|
||||
TopPanelDec.render(size);
|
||||
BackPlate.render(size);
|
||||
TopPanel.render(size);
|
||||
TopPanelExtr.render(size);
|
||||
ConnectorRight.render(size);
|
||||
ConnectorLeft.render(size);
|
||||
ConnectorWireRight.render(size);
|
||||
ConnectorWireLeft.render(size);
|
||||
ConnectorWireTop.render(size);
|
||||
}
|
||||
|
||||
|
||||
private void setRotation(ModelRenderer model, float x, float y, float z)
|
||||
{
|
||||
model.rotateAngleX = x;
|
||||
|
|
|
@ -54,7 +54,7 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler
|
|||
{
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F);
|
||||
GL11.glTranslatef(0.0F, 0.3F, 0.0F);
|
||||
GL11.glTranslatef(0.0F, -0.95F, -0.10F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "MetallurgicInfuser.png"));
|
||||
metallurgicInfuser.render(0.0625F);
|
||||
}
|
||||
|
|
|
@ -27,17 +27,17 @@ public class RenderMetallurgicInfuser extends TileEntitySpecialRenderer
|
|||
{
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F);
|
||||
|
||||
bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "MetallurgicInfuser.png"));
|
||||
|
||||
switch(tileEntity.facing)
|
||||
{
|
||||
case 2: GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); break;
|
||||
case 3: GL11.glRotatef(270, 0.0F, 1.0F, 0.0F); break;
|
||||
case 4: GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); break;
|
||||
case 5: GL11.glRotatef(0, 0.0F, 1.0F, 0.0F); break;
|
||||
case 2: GL11.glRotatef(0, 0.0F, 1.0F, 0.0F); break;
|
||||
case 3: GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); break;
|
||||
case 4: GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); break;
|
||||
case 5: GL11.glRotatef(270, 0.0F, 1.0F, 0.0F); break;
|
||||
}
|
||||
|
||||
GL11.glTranslatef(0, -1.5F, 0);
|
||||
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
model.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
|
|
|
@ -54,11 +54,14 @@ public class SoundHandler
|
|||
URL url = getClass().getClassLoader().getResource("assets/mekanism/sound");
|
||||
File dir = new File(url.getFile());
|
||||
|
||||
for(File file : dir.listFiles())
|
||||
if(dir != null)
|
||||
{
|
||||
if(!file.isDirectory() && file.getName().endsWith(".ogg"))
|
||||
for(File file : dir.listFiles())
|
||||
{
|
||||
preloadSound(file.getName());
|
||||
if(!file.isDirectory() && file.getName().endsWith(".ogg"))
|
||||
{
|
||||
preloadSound(file.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -277,11 +277,18 @@ public class BlockBasic extends Block
|
|||
tileEntity.structure.fluidStored.amount += itemFluid.amount;
|
||||
}
|
||||
|
||||
player.setCurrentItemOrArmor(0, new ItemStack(Item.bucketEmpty));
|
||||
if(!player.capabilities.isCreativeMode)
|
||||
{
|
||||
player.setCurrentItemOrArmor(0, new ItemStack(Item.bucketEmpty));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
itemStack.stackSize--;
|
||||
if(!player.capabilities.isCreativeMode)
|
||||
{
|
||||
itemStack.stackSize--;
|
||||
}
|
||||
|
||||
if(itemStack.stackSize == 0)
|
||||
{
|
||||
|
|
|
@ -187,6 +187,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds
|
|||
public void randomDisplayTick(World world, int x, int y, int z, Random random)
|
||||
{
|
||||
TileEntityBasicBlock tileEntity = (TileEntityBasicBlock)world.getBlockTileEntity(x, y, z);
|
||||
|
||||
if(MekanismUtils.isActive(world, x, y, z) && !(tileEntity instanceof TileEntityChargepad) && !(tileEntity instanceof TileEntityLogisticalSorter))
|
||||
{
|
||||
float xRandom = (float)x + 0.5F;
|
||||
|
|
|
@ -86,7 +86,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM
|
|||
|
||||
handleSecondaryFuel();
|
||||
|
||||
if(canOperate() && MekanismUtils.canFunction(this) && electricityStored >= MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_PER_TICK) && secondaryEnergyStored >= SECONDARY_ENERGY_PER_TICK)
|
||||
if(canOperate() && MekanismUtils.canFunction(this) && getEnergy() >= MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_PER_TICK) && secondaryEnergyStored >= SECONDARY_ENERGY_PER_TICK)
|
||||
{
|
||||
setActive(true);
|
||||
|
||||
|
@ -103,13 +103,18 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM
|
|||
}
|
||||
}
|
||||
else {
|
||||
setActive(false);
|
||||
if(prevEnergy >= getEnergy())
|
||||
{
|
||||
setActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
if(!canOperate())
|
||||
{
|
||||
operatingTicks = 0;
|
||||
}
|
||||
|
||||
prevEnergy = getEnergy();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,6 +66,9 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
|
|||
/** This machine's current RedstoneControl type. */
|
||||
public RedstoneControl controlType = RedstoneControl.DISABLED;
|
||||
|
||||
/** This machine's previous amount of energy. */
|
||||
public double prevEnergy;
|
||||
|
||||
public TileComponentUpgrade upgradeComponent;
|
||||
public TileComponentEjector ejectorComponent;
|
||||
|
||||
|
@ -101,8 +104,9 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
|
|||
{
|
||||
updateDelay--;
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
@ -163,7 +167,7 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
|
|||
super.handlePacketData(dataStream);
|
||||
|
||||
operatingTicks = dataStream.readInt();
|
||||
isActive = dataStream.readBoolean();
|
||||
clientActive = dataStream.readBoolean();
|
||||
controlType = RedstoneControl.values()[dataStream.readInt()];
|
||||
|
||||
for(int i = 0; i < 6; i++)
|
||||
|
@ -171,9 +175,10 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
|
|||
sideConfig[i] = dataStream.readByte();
|
||||
}
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
updateDelay = Mekanism.UPDATE_DELAY;
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
|
|||
{
|
||||
ChargeUtils.discharge(1, this);
|
||||
|
||||
if(canOperate() && MekanismUtils.canFunction(this) && electricityStored >= MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_PER_TICK))
|
||||
if(canOperate() && MekanismUtils.canFunction(this) && getEnergy() >= MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_PER_TICK))
|
||||
{
|
||||
setActive(true);
|
||||
|
||||
|
@ -71,13 +71,18 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
|
|||
}
|
||||
}
|
||||
else {
|
||||
setActive(false);
|
||||
if(prevEnergy >= getEnergy())
|
||||
{
|
||||
setActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
if(!canOperate())
|
||||
{
|
||||
operatingTicks = 0;
|
||||
}
|
||||
|
||||
prevEnergy = getEnergy();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -74,6 +74,9 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg
|
|||
/** This machine's recipe type. */
|
||||
public int recipeType;
|
||||
|
||||
/** This machine's previous amount of energy. */
|
||||
public double prevEnergy;
|
||||
|
||||
/** This machine's current RedstoneControl type. */
|
||||
public RedstoneControl controlType = RedstoneControl.DISABLED;
|
||||
|
||||
|
@ -116,8 +119,9 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg
|
|||
{
|
||||
updateDelay--;
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
@ -219,27 +223,29 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg
|
|||
}
|
||||
}
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
boolean hasOperation = false;
|
||||
|
||||
for(int i = 0; i < tier.processes; i++)
|
||||
{
|
||||
boolean hasOperation = false;
|
||||
|
||||
for(int i = 0; i < tier.processes; i++)
|
||||
if(canOperate(getInputSlot(i), getOutputSlot(i)))
|
||||
{
|
||||
if(canOperate(getInputSlot(i), getOutputSlot(i)))
|
||||
{
|
||||
hasOperation = true;
|
||||
break;
|
||||
}
|
||||
hasOperation = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if(MekanismUtils.canFunction(this) && hasOperation && electricityStored >= MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_PER_TICK))
|
||||
}
|
||||
|
||||
if(MekanismUtils.canFunction(this) && hasOperation && getEnergy() >= MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_PER_TICK))
|
||||
{
|
||||
setActive(true);
|
||||
}
|
||||
else {
|
||||
if(prevEnergy >= getEnergy())
|
||||
{
|
||||
setActive(true);
|
||||
}
|
||||
else {
|
||||
setActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
prevEnergy = getEnergy();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -409,7 +415,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg
|
|||
{
|
||||
super.handlePacketData(dataStream);
|
||||
|
||||
isActive = dataStream.readBoolean();
|
||||
clientActive = dataStream.readBoolean();
|
||||
recipeType = dataStream.readInt();
|
||||
recipeTicks = dataStream.readInt();
|
||||
controlType = RedstoneControl.values()[dataStream.readInt()];
|
||||
|
@ -424,9 +430,10 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg
|
|||
sideConfig[i] = dataStream.readByte();
|
||||
}
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
updateDelay = Mekanism.UPDATE_DELAY;
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,6 +76,9 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
/** How many ticks must pass until this block's active state can sync with the client. */
|
||||
public int updateDelay;
|
||||
|
||||
/** This machine's previous amount of energy. */
|
||||
public double prevEnergy;
|
||||
|
||||
/** This machine's current RedstoneControl type. */
|
||||
public RedstoneControl controlType = RedstoneControl.DISABLED;
|
||||
|
||||
|
@ -110,8 +113,9 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
{
|
||||
updateDelay--;
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
@ -172,7 +176,10 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
}
|
||||
}
|
||||
else {
|
||||
setActive(false);
|
||||
if(prevEnergy >= getEnergy())
|
||||
{
|
||||
setActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
if(!canOperate())
|
||||
|
@ -185,6 +192,8 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
infuseStored = 0;
|
||||
type = null;
|
||||
}
|
||||
|
||||
prevEnergy = getEnergy();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -408,7 +417,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
|
||||
super.handlePacketData(dataStream);
|
||||
|
||||
isActive = dataStream.readBoolean();
|
||||
clientActive = dataStream.readBoolean();
|
||||
operatingTicks = dataStream.readInt();
|
||||
infuseStored = dataStream.readInt();
|
||||
controlType = RedstoneControl.values()[dataStream.readInt()];
|
||||
|
@ -419,9 +428,10 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
|
|||
sideConfig[i] = dataStream.readByte();
|
||||
}
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
updateDelay = Mekanism.UPDATE_DELAY;
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -271,7 +271,7 @@ public final class CableUtils
|
|||
{
|
||||
if(TransmissionType.checkTransmissionType(tileEntity, TransmissionType.ENERGY))
|
||||
{
|
||||
emitter.setEnergy(emitter.getEnergy() - (Math.min(emitter.getEnergy(), emitter.getMaxOutput()) - CableUtils.emitEnergyToNetwork(Math.min(emitter.getEnergy(), emitter.getMaxOutput()), emitter, ForgeDirection.getOrientation(emitter.facing))));
|
||||
emitter.setEnergy(emitter.getEnergy() - (Math.min(emitter.getEnergy(), emitter.getMaxOutput()) - CableUtils.emitEnergyToNetwork(Math.min(emitter.getEnergy(), emitter.getMaxOutput()), emitter, emitter.getOutputtingSide())));
|
||||
return;
|
||||
}
|
||||
else if(tileEntity instanceof IStrictEnergyAcceptor)
|
||||
|
@ -282,13 +282,13 @@ public final class CableUtils
|
|||
}
|
||||
else if(tileEntity instanceof IPowerReceptor && Mekanism.hooks.BuildCraftLoaded)
|
||||
{
|
||||
PowerReceiver receiver = ((IPowerReceptor)tileEntity).getPowerReceiver(ForgeDirection.getOrientation(emitter.facing).getOpposite());
|
||||
PowerReceiver receiver = ((IPowerReceptor)tileEntity).getPowerReceiver(emitter.getOutputtingSide().getOpposite());
|
||||
|
||||
if(receiver != null)
|
||||
{
|
||||
double electricityNeeded = Math.min(receiver.powerRequest(), receiver.getMaxEnergyStored() - receiver.getEnergyStored())*Mekanism.FROM_BC;
|
||||
double transferEnergy = Math.min(emitter.getEnergy(), Math.min(electricityNeeded, emitter.getMaxOutput()));
|
||||
receiver.receiveEnergy(Type.STORAGE, (float)(transferEnergy*Mekanism.TO_BC), ForgeDirection.getOrientation(emitter.facing).getOpposite());
|
||||
receiver.receiveEnergy(Type.STORAGE, (float)(transferEnergy*Mekanism.TO_BC), emitter.getOutputtingSide().getOpposite());
|
||||
emitter.setEnergy(emitter.getEnergy() - transferEnergy);
|
||||
}
|
||||
}
|
||||
|
@ -296,7 +296,7 @@ public final class CableUtils
|
|||
|
||||
if(tileEntity instanceof IConductor)
|
||||
{
|
||||
ForgeDirection outputDirection = ForgeDirection.getOrientation(emitter.facing);
|
||||
ForgeDirection outputDirection = emitter.getOutputtingSide();
|
||||
float provide = emitter.getProvide(outputDirection);
|
||||
|
||||
if(provide > 0)
|
||||
|
|
|
@ -380,6 +380,7 @@ public final class MekanismUtils
|
|||
public static boolean isActive(IBlockAccess world, int x, int y, int z)
|
||||
{
|
||||
TileEntity tileEntity = (TileEntity)world.getBlockTileEntity(x, y, z);
|
||||
|
||||
if(tileEntity != null)
|
||||
{
|
||||
if(tileEntity instanceof IActiveState)
|
||||
|
|
|
@ -86,8 +86,9 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
|
|||
{
|
||||
updateDelay--;
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
@ -263,12 +264,13 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
|
|||
{
|
||||
super.handlePacketData(dataStream);
|
||||
|
||||
isActive = dataStream.readBoolean();
|
||||
clientActive = dataStream.readBoolean();
|
||||
controlType = RedstoneControl.values()[dataStream.readInt()];
|
||||
|
||||
if(updateDelay == 0)
|
||||
if(updateDelay == 0 && clientActive != isActive)
|
||||
{
|
||||
updateDelay = Mekanism.UPDATE_DELAY;
|
||||
isActive = clientActive;
|
||||
MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord);
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Before ![]() (image error) Size: 4.2 KiB After ![]() (image error) Size: 5 KiB ![]() ![]() |
Loading…
Add table
Reference in a new issue