Base code done, onto actual implementation

This commit is contained in:
Aidan Brady 2013-12-20 18:29:22 -05:00
parent 2fcbbcfa6a
commit 7bb6b2761b
5 changed files with 43 additions and 12 deletions

View file

@ -131,6 +131,7 @@ public class RenderPartTransmitter implements IIconRegister
public void renderContents(PartLogisticalTransporter transporter, float partialTick, Vector3 vec) public void renderContents(PartLogisticalTransporter transporter, float partialTick, Vector3 vec)
{ {
GL11.glPushMatrix(); GL11.glPushMatrix();
entityItem.age = 0; entityItem.age = 0;
entityItem.hoverStart = 0; entityItem.hoverStart = 0;
@ -203,6 +204,8 @@ public class RenderPartTransmitter implements IIconRegister
} }
} }
} }
GL11.glPopMatrix();
} }
public void renderContents(PartUniversalCable cable, Vector3 pos) public void renderContents(PartUniversalCable cable, Vector3 pos)
@ -472,6 +475,12 @@ public class RenderPartTransmitter implements IIconRegister
{ {
boolean connected = PartTransmitter.connectionMapContainsSide(transmitter.getAllCurrentConnections(), side); boolean connected = PartTransmitter.connectionMapContainsSide(transmitter.getAllCurrentConnections(), side);
Icon renderIcon = transmitter.getIconForSide(side); Icon renderIcon = transmitter.getIconForSide(side);
if(transmitter.getRenderColor() != null)
{
GL11.glColor4f(transmitter.getRenderColor().getColor(0), transmitter.getRenderColor().getColor(1), transmitter.getRenderColor().getColor(2), 1.0F);
}
renderPart(renderIcon, transmitter.getModelForSide(side, false), transmitter.x(), transmitter.y(), transmitter.z()); renderPart(renderIcon, transmitter.getModelForSide(side, false), transmitter.x(), transmitter.y(), transmitter.z());
} }

View file

@ -15,6 +15,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ChatMessageComponent; import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraftforge.common.ForgeDirection;
public class PartDiversionTransporter extends PartLogisticalTransporter public class PartDiversionTransporter extends PartLogisticalTransporter
{ {
@ -38,6 +39,15 @@ public class PartDiversionTransporter extends PartLogisticalTransporter
return transporterIcons.getCenterIcon(2); return transporterIcons.getCenterIcon(2);
} }
@Override
public boolean canConnect(ForgeDirection side)
{
testingSide = side;
boolean unblocked = tile().canReplacePart(this, this);
testingSide = null;
return unblocked;
}
@Override @Override
public void load(NBTTagCompound nbtTags) public void load(NBTTagCompound nbtTags)
{ {
@ -98,7 +108,7 @@ public class PartDiversionTransporter extends PartLogisticalTransporter
} }
@Override @Override
public boolean onSneakRightClick(EntityPlayer player, int side) protected boolean onConfigure(EntityPlayer player, int part, int side)
{ {
int newMode = (modes[side] + 1) % 3; int newMode = (modes[side] + 1) % 3;
String description = "ERROR"; String description = "ERROR";

View file

@ -28,7 +28,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChatMessageComponent; import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
@ -97,7 +96,7 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti
@Override @Override
public boolean isValidAcceptor(TileEntity tile, ForgeDirection side) public boolean isValidAcceptor(TileEntity tile, ForgeDirection side)
{ {
return tile instanceof IInventory; return TransporterUtils.getConnections(this)[side.ordinal()];
} }
@Override @Override
@ -587,7 +586,7 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti
} }
@Override @Override
public boolean onSneakRightClick(EntityPlayer player, int side) protected boolean onConfigure(EntityPlayer player, int part, int side)
{ {
TransporterUtils.incrementColor(this); TransporterUtils.incrementColor(this);
PacketHandler.sendPacket(Transmission.CLIENTS_RANGE, new PacketTileEntity().setParams(Coord4D.get(tile()), getNetworkedData(new ArrayList())), Coord4D.get(tile()), 50D); PacketHandler.sendPacket(Transmission.CLIENTS_RANGE, new PacketTileEntity().setParams(Coord4D.get(tile()), getNetworkedData(new ArrayList())), Coord4D.get(tile()), 50D);

View file

@ -8,6 +8,7 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
import mekanism.api.EnumColor;
import mekanism.api.transmitters.IBlockableConnection; import mekanism.api.transmitters.IBlockableConnection;
import mekanism.api.transmitters.TransmissionType; import mekanism.api.transmitters.TransmissionType;
import mekanism.client.render.RenderPartTransmitter; import mekanism.client.render.RenderPartTransmitter;
@ -477,10 +478,21 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
return true; return true;
} }
else {
return onConfigure(player, side, hit.subHit);
}
}
protected boolean onConfigure(EntityPlayer player, int part, int side)
{
return false; return false;
} }
public EnumColor getRenderColor()
{
return null;
}
@Override @Override
public boolean onRightClick(EntityPlayer player, int side) public boolean onRightClick(EntityPlayer player, int side)
{ {

View file

@ -5,12 +5,12 @@ import mekanism.api.transmitters.TransmissionType;
public enum TransmitterType public enum TransmitterType
{ {
UNIVERSAL_CABLE("UniversalCable", TransmissionType.ENERGY), UNIVERSAL_CABLE("UniversalCable", Size.SMALL, TransmissionType.ENERGY),
MECHANICAL_PIPE("MechanicalPipe", TransmissionType.FLUID), MECHANICAL_PIPE("MechanicalPipe", Size.LARGE, TransmissionType.FLUID),
PRESSURIZED_TUBE("PressurizedTube", TransmissionType.GAS), PRESSURIZED_TUBE("PressurizedTube", Size.SMALL, TransmissionType.GAS),
LOGISTICAL_TRANSPORTER("LogisticalTransporter", TransmissionType.ITEM), LOGISTICAL_TRANSPORTER("LogisticalTransporter", Size.LARGE, TransmissionType.ITEM),
RESTRICTIVE_TRANSPORTER("RestrictiveTransporter", TransmissionType.ITEM), RESTRICTIVE_TRANSPORTER("RestrictiveTransporter", Size.LARGE, TransmissionType.ITEM),
DIVERSION_TRANSPORTER("DiversionTransporter", TransmissionType.ITEM); DIVERSION_TRANSPORTER("DiversionTransporter", Size.LARGE, TransmissionType.ITEM);
private String unlocalizedName; private String unlocalizedName;
private Size size; private Size size;
@ -18,9 +18,10 @@ public enum TransmitterType
public static TransmitterType[] oldMetaArray = {PRESSURIZED_TUBE, UNIVERSAL_CABLE, MECHANICAL_PIPE, LOGISTICAL_TRANSPORTER, RESTRICTIVE_TRANSPORTER, DIVERSION_TRANSPORTER}; public static TransmitterType[] oldMetaArray = {PRESSURIZED_TUBE, UNIVERSAL_CABLE, MECHANICAL_PIPE, LOGISTICAL_TRANSPORTER, RESTRICTIVE_TRANSPORTER, DIVERSION_TRANSPORTER};
private TransmitterType(String name, TransmissionType type) private TransmitterType(String name, Size s, TransmissionType type)
{ {
unlocalizedName = name; unlocalizedName = name;
size = s;
transmissionType = type; transmissionType = type;
} }