Remove the old transmitter renderer, enable the new one to render in hand and inventory

This commit is contained in:
Ben Spiers 2014-01-07 16:22:59 +00:00
parent 2cad51412d
commit 333afdc79b
22 changed files with 81 additions and 320 deletions

View file

@ -39,7 +39,6 @@ import mekanism.client.render.RenderPartTransmitter;
import mekanism.client.render.RenderTickHandler; import mekanism.client.render.RenderTickHandler;
import mekanism.client.render.block.BasicRenderingHandler; import mekanism.client.render.block.BasicRenderingHandler;
import mekanism.client.render.block.MachineRenderingHandler; import mekanism.client.render.block.MachineRenderingHandler;
import mekanism.client.render.block.TransmitterRenderingHandler;
import mekanism.client.render.entity.RenderBalloon; import mekanism.client.render.entity.RenderBalloon;
import mekanism.client.render.entity.RenderObsidianTNTPrimed; import mekanism.client.render.entity.RenderObsidianTNTPrimed;
import mekanism.client.render.entity.RenderRobit; import mekanism.client.render.entity.RenderRobit;
@ -295,7 +294,6 @@ public class ClientProxy extends CommonProxy
//Register block handlers //Register block handlers
RenderingRegistry.registerBlockHandler(new MachineRenderingHandler()); RenderingRegistry.registerBlockHandler(new MachineRenderingHandler());
RenderingRegistry.registerBlockHandler(new TransmitterRenderingHandler());
RenderingRegistry.registerBlockHandler(new BasicRenderingHandler()); RenderingRegistry.registerBlockHandler(new BasicRenderingHandler());
System.out.println("[Mekanism] Render registrations complete."); System.out.println("[Mekanism] Render registrations complete.");

View file

@ -1,169 +0,0 @@
package mekanism.client.model;
import mekanism.common.multipart.TransmitterType.Size;
import net.minecraft.client.model.ModelBase;
import net.minecraftforge.common.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelTransmitter extends ModelBase
{
public boolean[][] disabledFaces = {
{true, true, false, false, false, false},
{true, true, false, false, false, false},
{false, false, false, false, true, true},
{false, false, false, false, true, true},
{true, true, false, false, false, false},
{true, true, false, false, false, false},
};
ModelRendererSelectiveFace Center;
ModelRendererSelectiveFace Up;
ModelRendererSelectiveFace Down;
ModelRendererSelectiveFace Front;
ModelRendererSelectiveFace Back;
ModelRendererSelectiveFace Left;
ModelRendererSelectiveFace Right;
public ModelTransmitter(Size size)
{
if(size == Size.LARGE)
{
textureWidth = 128;
textureHeight = 128;
Center = new ModelRendererSelectiveFace(this, 0, 0);
Center.addBox(0F, 0F, 0F, 8, 8, 8);
Center.setRotationPoint(-4F, 12F, -4F);
Center.setTextureSize(64, 64);
Center.mirror = true;
setRotation(Center, 0F, 0F, 0F);
Up = new ModelRendererSelectiveFace(this, 0, 13);
Up.addBox(0F, 0F, 0F, 8, 4, 8);
Up.setRotationPoint(-4F, 8F, -4F);
Up.setTextureSize(64, 64);
Up.mirror = true;
setRotation(Up, 0F, 0F, 0F);
Down = new ModelRendererSelectiveFace(this, 34, 13);
Down.addBox(0F, 0F, 0F, 8, 4, 8);
Down.setRotationPoint(-4F, 20F, -4F);
Down.setTextureSize(64, 64);
Down.mirror = true;
setRotation(Down, 0F, 0F, 0F);
Front = new ModelRendererSelectiveFace(this, 0, 30);
Front.addBox(0F, 0F, 0F, 4, 8, 8);
Front.setRotationPoint(-4F, 12F, -4F);
Front.setTextureSize(64, 64);
Front.mirror = true;
setRotation(Front, 0F, 1.570796F, 0F);
Back = new ModelRendererSelectiveFace(this, 0, 49);
Back.addBox(0F, 0F, 0F, 4, 8, 8);
Back.setRotationPoint(-4F, 12F, 8F);
Back.setTextureSize(64, 64);
Back.mirror = true;
setRotation(Back, 0F, 1.570796F, 0F);
Left = new ModelRendererSelectiveFace(this, 34, 0);
Left.addBox(0F, 0F, 0F, 8, 4, 8);
Left.setRotationPoint(4F, 20F, 4F);
Left.setTextureSize(64, 64);
Left.mirror = true;
setRotation(Left, 1.570796F, 1.570796F, 0F);
Right = new ModelRendererSelectiveFace(this, 34, 30);
Right.addBox(0F, 0F, 0F, 8, 4, 8);
Right.setRotationPoint(-8F, 20F, 4F);
Right.setTextureSize(64, 64);
Right.mirror = true;
setRotation(Right, 1.570796F, 1.570796F, 0F);
}
else {
textureWidth = 64;
textureHeight = 64;
Center = new ModelRendererSelectiveFace(this, 0, 0);
Center.addBox(0F, 0F, 0F, 6, 6, 6);
Center.setRotationPoint(-3F, 13F, -3F);
Center.setTextureSize(64, 64);
Center.mirror = true;
setRotation(Center, 0F, 0F, 0F);
Up = new ModelRendererSelectiveFace(this, 0, 13);
Up.addBox(0F, 0F, 0F, 6, 5, 6);
Up.setRotationPoint(-3F, 8F, -3F);
Up.setTextureSize(64, 64);
Up.mirror = true;
setRotation(Up, 0F, 0F, 0F);
Down = new ModelRendererSelectiveFace(this, 26, 13);
Down.addBox(0F, 0F, 0F, 6, 5, 6);
Down.setRotationPoint(-3F, 19F, -3F);
Down.setTextureSize(64, 64);
Down.mirror = true;
setRotation(Down, 0F, 0F, 0F);
Front = new ModelRendererSelectiveFace(this, 0, 26);
Front.addBox(0F, 0F, 0F, 5, 6, 6);
Front.setRotationPoint(-3F, 13F, -3F);
Front.setTextureSize(64, 64);
Front.mirror = true;
setRotation(Front, 0F, 1.570796F, 0F);
Back = new ModelRendererSelectiveFace(this, 0, 41);
Back.addBox(0F, 0F, 0F, 5, 6, 6);
Back.setRotationPoint(-3F, 13F, 8F);
Back.setTextureSize(64, 64);
Back.mirror = true;
setRotation(Back, 0F, 1.570796F, 0F);
Left = new ModelRendererSelectiveFace(this, 26, 0);
Left.addBox(0F, 0F, 0F, 6, 5, 6);
Left.setRotationPoint(3F, 19F, 3F);
Left.setTextureSize(64, 64);
Left.mirror = true;
setRotation(Left, 1.570796F, 1.570796F, 0F);
Right = new ModelRendererSelectiveFace(this, 26, 26);
Right.addBox(0F, 0F, 0F, 6, 5, 6);
Right.setRotationPoint(-8F, 19F, 3F);
Right.setTextureSize(64, 64);
Right.mirror = true;
setRotation(Right, 1.570796F, 1.570796F, 0F);
}
}
public void renderSide(ForgeDirection orientation, boolean on)
{
if(on)
{
switch(orientation)
{
case DOWN:
Down.render(disabledFaces[orientation.ordinal()], 0.0625F);
break;
case UP:
Up.render(disabledFaces[orientation.ordinal()], 0.0625F);
break;
case NORTH:
Back.render(disabledFaces[orientation.ordinal()], 0.0625F);
break;
case SOUTH:
Front.render(disabledFaces[orientation.ordinal()], 0.0625F);
break;
case WEST:
Right.render(disabledFaces[orientation.ordinal()], 0.0625F);
break;
case EAST:
Left.render(disabledFaces[orientation.ordinal()], 0.0625F);
break;
default:
return;
}
}
}
public void renderCenter(boolean[] connectable)
{
Center.render(connectable, 0.0625F);
}
private void setRotation(ModelRendererSelectiveFace model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}

View file

@ -16,6 +16,8 @@ import mekanism.common.multipart.PartSidedPipe;
import mekanism.common.multipart.PartSidedPipe.ConnectionType; import mekanism.common.multipart.PartSidedPipe.ConnectionType;
import mekanism.common.multipart.PartTransmitter; import mekanism.common.multipart.PartTransmitter;
import mekanism.common.multipart.PartUniversalCable; import mekanism.common.multipart.PartUniversalCable;
import mekanism.common.multipart.TransmitterType;
import mekanism.common.multipart.TransmitterType.Size;
import mekanism.common.transporter.TransporterStack; import mekanism.common.transporter.TransporterStack;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType; import mekanism.common.util.MekanismUtils.ResourceType;
@ -142,6 +144,17 @@ public class RenderPartTransmitter implements IIconRegister
GL11.glPopMatrix(); GL11.glPopMatrix();
} }
public void renderItem(TransmitterType type)
{
CCRenderState.reset();
CCRenderState.startDrawing(7);
for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS)
{
renderSide(side, type);
}
CCRenderState.draw();
}
public void renderContents(PartLogisticalTransporter transporter, float partialTick, Vector3 vec) public void renderContents(PartLogisticalTransporter transporter, float partialTick, Vector3 vec)
{ {
GL11.glPushMatrix(); GL11.glPushMatrix();
@ -503,6 +516,15 @@ public class RenderPartTransmitter implements IIconRegister
renderPart(renderIcon, transmitter.getModelForSide(side, false), transmitter.x(), transmitter.y(), transmitter.z(), c, olm); renderPart(renderIcon, transmitter.getModelForSide(side, false), transmitter.x(), transmitter.y(), transmitter.z(), c, olm);
} }
public void renderSide(ForgeDirection side, TransmitterType type)
{
boolean out = side == ForgeDirection.UP || side == ForgeDirection.DOWN;
Icon renderIcon = out ? type.getSideIcon() : type.getCenterIcon();
renderPart(renderIcon, getItemModel(side, type), 0,0,0, null, null);
}
public void renderEnergySide(ForgeDirection side, PartUniversalCable cable) public void renderEnergySide(ForgeDirection side, PartUniversalCable cable)
{ {
CCRenderState.changeTexture(MekanismRenderer.getBlocksTexture()); CCRenderState.changeTexture(MekanismRenderer.getBlocksTexture());
@ -527,6 +549,21 @@ public class RenderPartTransmitter implements IIconRegister
cc.render(0, cc.verts.length, new Translation(0, 0, 0), new IconTransformation(icon), new ColourMultiplier(colour)); cc.render(0, cc.verts.length, new Translation(0, 0, 0), new IconTransformation(icon), new ColourMultiplier(colour));
} }
public CCModel getItemModel(ForgeDirection side, TransmitterType type)
{
String name = side.name().toLowerCase();
boolean out = side == ForgeDirection.UP || side == ForgeDirection.DOWN;
name += out ? "NORMAL" : "NONE";
if(type.getSize() == Size.SMALL)
{
return small_models.get(name);
}
else
{
return large_models.get(name);
}
}
@Override @Override
public void registerIcons(IconRegister register) public void registerIcons(IconRegister register)
{ {

View file

@ -1,88 +0,0 @@
package mekanism.client.render.block;
import mekanism.client.ClientProxy;
import mekanism.client.model.ModelTransmitter;
import mekanism.common.multipart.TransmitterType.Size;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.ForgeDirection;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class TransmitterRenderingHandler implements ISimpleBlockRenderingHandler
{
public ModelTransmitter smallTransmitter = new ModelTransmitter(Size.SMALL);
public ModelTransmitter largeTransmitter = new ModelTransmitter(Size.LARGE);
@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
{
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F);
GL11.glTranslated(0.0F, -1.0F, 0.0F);
GL11.glDisable(GL11.GL_CULL_FACE);
switch(metadata)
{
case 0:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "PressurizedTube.png"));
break;
case 1:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "UniversalCable.png"));
break;
case 2:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "MechanicalPipe.png"));
break;
case 3:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalTransporter.png"));
break;
case 4:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "RestrictiveTransporter.png"));
break;
case 5:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "DiversionTransporter.png"));
break;
}
if(metadata != 2 && metadata != 3 && metadata != 4 && metadata != 5)
{
smallTransmitter.renderSide(ForgeDirection.UP, true);
smallTransmitter.renderSide(ForgeDirection.DOWN, true);
smallTransmitter.renderCenter(new boolean[]{true, true, false, false, false, false});
}
else {
largeTransmitter.renderSide(ForgeDirection.UP, true);
largeTransmitter.renderSide(ForgeDirection.DOWN, true);
largeTransmitter.renderCenter(new boolean[]{true, true, false, false, false, false});
}
GL11.glEnable(GL11.GL_CULL_FACE);
}
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
{
return false;
}
@Override
public boolean shouldRender3DInInventory()
{
return true;
}
@Override
public int getRenderId()
{
return ClientProxy.TRANSMITTER_RENDER_ID;
}
}

View file

@ -12,8 +12,8 @@ import mekanism.client.model.ModelJetpack;
import mekanism.client.model.ModelObsidianTNT; import mekanism.client.model.ModelObsidianTNT;
import mekanism.client.model.ModelRobit; import mekanism.client.model.ModelRobit;
import mekanism.client.model.ModelScubaTank; import mekanism.client.model.ModelScubaTank;
import mekanism.client.model.ModelTransmitter;
import mekanism.client.render.MekanismRenderer; import mekanism.client.render.MekanismRenderer;
import mekanism.client.render.RenderPartTransmitter;
import mekanism.client.render.entity.RenderBalloon; import mekanism.client.render.entity.RenderBalloon;
import mekanism.client.render.tileentity.RenderBin; import mekanism.client.render.tileentity.RenderBin;
import mekanism.common.IElectricChest; import mekanism.common.IElectricChest;
@ -32,7 +32,6 @@ import mekanism.common.item.ItemScubaTank;
import mekanism.common.item.ItemWalkieTalkie; import mekanism.common.item.ItemWalkieTalkie;
import mekanism.common.multipart.ItemPartTransmitter; import mekanism.common.multipart.ItemPartTransmitter;
import mekanism.common.multipart.TransmitterType; import mekanism.common.multipart.TransmitterType;
import mekanism.common.multipart.TransmitterType.Size;
import mekanism.common.tileentity.TileEntityBin; import mekanism.common.tileentity.TileEntityBin;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType; import mekanism.common.util.MekanismUtils.ResourceType;
@ -63,8 +62,6 @@ public class ItemRenderingHandler implements IItemRenderer
{ {
public ModelRobit robit = new ModelRobit(); public ModelRobit robit = new ModelRobit();
public ModelChest electricChest = new ModelChest(); public ModelChest electricChest = new ModelChest();
public ModelTransmitter transmitterSmall = new ModelTransmitter(Size.SMALL);
public ModelTransmitter transmitterLarge = new ModelTransmitter(Size.LARGE);
public ModelEnergyCube energyCube = new ModelEnergyCube(); public ModelEnergyCube energyCube = new ModelEnergyCube();
public ModelEnergyCore energyCore = new ModelEnergyCore(); public ModelEnergyCore energyCore = new ModelEnergyCore();
public ModelGasTank gasTank = new ModelGasTank(); public ModelGasTank gasTank = new ModelGasTank();
@ -361,45 +358,9 @@ public class ItemRenderingHandler implements IItemRenderer
} }
else if(item.getItem() instanceof ItemPartTransmitter) else if(item.getItem() instanceof ItemPartTransmitter)
{ {
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glTranslated(-0.5, -0.5, -0.5);
GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F); GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glTranslated(0.0F, -1.0F, 0.0F); RenderPartTransmitter.getInstance().renderItem(TransmitterType.values()[item.getItemDamage()]);
GL11.glDisable(GL11.GL_CULL_FACE);
switch(item.getItemDamage())
{
case 0:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "UniversalCable.png"));
break;
case 1:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "MechanicalPipe.png"));
break;
case 2:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "PressurizedTube.png"));
break;
case 3:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalTransporter.png"));
break;
case 4:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "RestrictiveTransporter.png"));
break;
case 5:
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "DiversionTransporter.png"));
break;
}
if(TransmitterType.values()[item.getItemDamage()].getSize() == Size.SMALL)
{
transmitterSmall.renderSide(ForgeDirection.UP, true);
transmitterSmall.renderSide(ForgeDirection.DOWN, true);
transmitterSmall.renderCenter(new boolean[] {true, true, false, false, false, false});
}
else {
transmitterLarge.renderSide(ForgeDirection.UP, true);
transmitterLarge.renderSide(ForgeDirection.DOWN, true);
transmitterLarge.renderCenter(new boolean[] {true, true, false, false, false, false});
}
GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_CULL_FACE);
} }

View file

@ -90,6 +90,9 @@ public class ItemPartTransmitter extends JItemMultiPart
switch(itemstack.getItemDamage()) switch(itemstack.getItemDamage())
{ {
case 0: case 0:
case 1:
case 2:
case 3:
{ {
list.add(EnumColor.DARK_GREY + "Capable of transferring:"); list.add(EnumColor.DARK_GREY + "Capable of transferring:");
list.add("- " + EnumColor.PURPLE + "EU " + EnumColor.GREY + "(IndustrialCraft)"); list.add("- " + EnumColor.PURPLE + "EU " + EnumColor.GREY + "(IndustrialCraft)");
@ -97,27 +100,27 @@ public class ItemPartTransmitter extends JItemMultiPart
list.add("- " + EnumColor.PURPLE + "Joules " + EnumColor.GREY + "(Mekanism)"); list.add("- " + EnumColor.PURPLE + "Joules " + EnumColor.GREY + "(Mekanism)");
break; break;
} }
case 1: case 4:
{ {
list.add(EnumColor.DARK_GREY + "Capable of transferring:"); list.add(EnumColor.DARK_GREY + "Capable of transferring:");
list.add("- " + EnumColor.PURPLE + "mB " + EnumColor.GREY + "(FluidRegistry)"); list.add("- " + EnumColor.PURPLE + "mB " + EnumColor.GREY + "(FluidRegistry)");
break; break;
} }
case 2: case 5:
{ {
list.add(EnumColor.DARK_GREY + "Capable of transferring:"); list.add(EnumColor.DARK_GREY + "Capable of transferring:");
list.add("- " + EnumColor.PURPLE + "O " + EnumColor.GREY + "(Oxygen)"); list.add("- " + EnumColor.PURPLE + "O " + EnumColor.GREY + "(Oxygen)");
list.add("- " + EnumColor.PURPLE + "H " + EnumColor.GREY + "(Hydrogen)"); list.add("- " + EnumColor.PURPLE + "H " + EnumColor.GREY + "(Hydrogen)");
break; break;
} }
case 3: case 6:
{ {
list.add(EnumColor.DARK_GREY + "Capable of transferring:"); list.add(EnumColor.DARK_GREY + "Capable of transferring:");
list.add("- " + EnumColor.PURPLE + "Items (universal)"); list.add("- " + EnumColor.PURPLE + "Items (universal)");
list.add("- " + EnumColor.PURPLE + "Blocks (universal)"); list.add("- " + EnumColor.PURPLE + "Blocks (universal)");
break; break;
} }
case 4: case 7:
{ {
list.add(EnumColor.DARK_GREY + "Capable of transferring:"); list.add(EnumColor.DARK_GREY + "Capable of transferring:");
list.add("- " + EnumColor.PURPLE + "Items (universal)"); list.add("- " + EnumColor.PURPLE + "Items (universal)");
@ -125,7 +128,7 @@ public class ItemPartTransmitter extends JItemMultiPart
list.add("- " + EnumColor.DARK_RED + "Only used if no other paths available"); list.add("- " + EnumColor.DARK_RED + "Only used if no other paths available");
break; break;
} }
case 5: case 8:
{ {
list.add(EnumColor.DARK_GREY + "Capable of transferring:"); list.add(EnumColor.DARK_GREY + "Capable of transferring:");
list.add("- " + EnumColor.PURPLE + "Items (universal)"); list.add("- " + EnumColor.PURPLE + "Items (universal)");

View file

@ -119,8 +119,9 @@ public class PartUniversalCable extends PartTransmitter<EnergyNetwork> implement
public static void registerIcons(IconRegister register) public static void registerIcons(IconRegister register)
{ {
cableIcons = new TransmitterIcons(1, 1); cableIcons = new TransmitterIcons(4, 1);
cableIcons.registerCenterIcons(register, new String[] {"UniversalCable"}); cableIcons.registerCenterIcons(register, new String[] {"UniversalCableBasic", "UniversalCableAdvanced",
"UniversalCableElite", "UniversalCableUltimate"});
cableIcons.registerSideIcons(register, new String[] {"TransmitterSideSmall"}); cableIcons.registerSideIcons(register, new String[] {"TransmitterSideSmall"});
} }
@ -134,7 +135,7 @@ public class PartUniversalCable extends PartTransmitter<EnergyNetwork> implement
@Override @Override
public Icon getCenterIcon() public Icon getCenterIcon()
{ {
return cableIcons.getCenterIcon(0); return cableIcons.getCenterIcon(tier.ordinal());
} }
@Override @Override

View file

@ -2,28 +2,36 @@ package mekanism.common.multipart;
import mekanism.api.transmitters.TransmissionType; import mekanism.api.transmitters.TransmissionType;
import net.minecraft.util.Icon;
public enum TransmitterType public enum TransmitterType
{ {
UNIVERSAL_CABLE_BASIC("BasicUniversalCable", Size.SMALL, TransmissionType.ENERGY), UNIVERSAL_CABLE_BASIC("BasicUniversalCable", Size.SMALL, TransmissionType.ENERGY, PartUniversalCable.cableIcons, 0, 0),
MECHANICAL_PIPE("MechanicalPipe", Size.LARGE, TransmissionType.FLUID), UNIVERSAL_CABLE_ADVANCED("AdvancedUniversalCable", Size.SMALL, TransmissionType.ENERGY, PartUniversalCable.cableIcons, 1, 0),
PRESSURIZED_TUBE("PressurizedTube", Size.SMALL, TransmissionType.GAS), UNIVERSAL_CABLE_ELITE("EliteUniversalCable", Size.SMALL, TransmissionType.ENERGY, PartUniversalCable.cableIcons, 2, 0),
LOGISTICAL_TRANSPORTER("LogisticalTransporter", Size.LARGE, TransmissionType.ITEM), UNIVERSAL_CABLE_ULTIMATE("UltimateUniversalCable", Size.SMALL, TransmissionType.ENERGY, PartUniversalCable.cableIcons, 3, 0),
RESTRICTIVE_TRANSPORTER("RestrictiveTransporter", Size.LARGE, TransmissionType.ITEM), MECHANICAL_PIPE("MechanicalPipe", Size.LARGE, TransmissionType.FLUID, PartMechanicalPipe.pipeIcons, 0, 0),
DIVERSION_TRANSPORTER("DiversionTransporter", Size.LARGE, TransmissionType.ITEM), PRESSURIZED_TUBE("PressurizedTube", Size.SMALL, TransmissionType.GAS, PartPressurizedTube.tubeIcons, 0, 0),
UNIVERSAL_CABLE_ADVANCED("AdvancedUniversalCable", Size.SMALL, TransmissionType.ENERGY), LOGISTICAL_TRANSPORTER("LogisticalTransporter", Size.LARGE, TransmissionType.ITEM, PartLogisticalTransporter.transporterIcons, 0, 0),
UNIVERSAL_CABLE_ELITE("EliteUniversalCable", Size.SMALL, TransmissionType.ENERGY), RESTRICTIVE_TRANSPORTER("RestrictiveTransporter", Size.LARGE, TransmissionType.ITEM, PartLogisticalTransporter.transporterIcons, 1, 1),
UNIVERSAL_CABLE_ULTIMATE("UltimateUniversalCable", Size.SMALL, TransmissionType.ENERGY); DIVERSION_TRANSPORTER("DiversionTransporter", Size.LARGE, TransmissionType.ITEM, PartLogisticalTransporter.transporterIcons, 2, 0);
private String unlocalizedName; private String unlocalizedName;
private Size size; private Size size;
private TransmissionType transmissionType; private TransmissionType transmissionType;
private TransmitterIcons transmitterIcons;
private int centerIndex;
private int sideIndex;
private TransmitterType(String name, Size s, TransmissionType type) private TransmitterType(String name, Size s, TransmissionType type, TransmitterIcons icons, int center, int side)
{ {
unlocalizedName = name; unlocalizedName = name;
size = s; size = s;
transmissionType = type; transmissionType = type;
transmitterIcons = icons;
centerIndex = center;
sideIndex = side;
} }
public String getName() public String getName()
@ -41,6 +49,16 @@ public enum TransmitterType
return transmissionType; return transmissionType;
} }
public Icon getCenterIcon()
{
return transmitterIcons.getCenterIcon(centerIndex);
}
public Icon getSideIcon()
{
return transmitterIcons.getSideIcon(sideIndex);
}
public static enum Size public static enum Size
{ {
SMALL(6), SMALL(6),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB