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)
{
GL11.glPushMatrix();
entityItem.age = 0;
entityItem.hoverStart = 0;
@ -203,6 +204,8 @@ public class RenderPartTransmitter implements IIconRegister
}
}
}
GL11.glPopMatrix();
}
public void renderContents(PartUniversalCable cable, Vector3 pos)
@ -472,6 +475,12 @@ public class RenderPartTransmitter implements IIconRegister
{
boolean connected = PartTransmitter.connectionMapContainsSide(transmitter.getAllCurrentConnections(), 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());
}

View file

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

View file

@ -28,7 +28,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.Icon;
import net.minecraftforge.common.ForgeDirection;
@ -97,7 +96,7 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti
@Override
public boolean isValidAcceptor(TileEntity tile, ForgeDirection side)
{
return tile instanceof IInventory;
return TransporterUtils.getConnections(this)[side.ordinal()];
}
@Override
@ -587,7 +586,7 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti
}
@Override
public boolean onSneakRightClick(EntityPlayer player, int side)
protected boolean onConfigure(EntityPlayer player, int part, int side)
{
TransporterUtils.incrementColor(this);
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 mekanism.api.Coord4D;
import mekanism.api.EnumColor;
import mekanism.api.transmitters.IBlockableConnection;
import mekanism.api.transmitters.TransmissionType;
import mekanism.client.render.RenderPartTransmitter;
@ -477,9 +478,20 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
return true;
}
else {
return onConfigure(player, side, hit.subHit);
}
}
protected boolean onConfigure(EntityPlayer player, int part, int side)
{
return false;
}
public EnumColor getRenderColor()
{
return null;
}
@Override
public boolean onRightClick(EntityPlayer player, int side)

View file

@ -5,12 +5,12 @@ import mekanism.api.transmitters.TransmissionType;
public enum TransmitterType
{
UNIVERSAL_CABLE("UniversalCable", TransmissionType.ENERGY),
MECHANICAL_PIPE("MechanicalPipe", TransmissionType.FLUID),
PRESSURIZED_TUBE("PressurizedTube", TransmissionType.GAS),
LOGISTICAL_TRANSPORTER("LogisticalTransporter", TransmissionType.ITEM),
RESTRICTIVE_TRANSPORTER("RestrictiveTransporter", TransmissionType.ITEM),
DIVERSION_TRANSPORTER("DiversionTransporter", TransmissionType.ITEM);
UNIVERSAL_CABLE("UniversalCable", Size.SMALL, TransmissionType.ENERGY),
MECHANICAL_PIPE("MechanicalPipe", Size.LARGE, TransmissionType.FLUID),
PRESSURIZED_TUBE("PressurizedTube", Size.SMALL, TransmissionType.GAS),
LOGISTICAL_TRANSPORTER("LogisticalTransporter", Size.LARGE, TransmissionType.ITEM),
RESTRICTIVE_TRANSPORTER("RestrictiveTransporter", Size.LARGE, TransmissionType.ITEM),
DIVERSION_TRANSPORTER("DiversionTransporter", Size.LARGE, TransmissionType.ITEM);
private String unlocalizedName;
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};
private TransmitterType(String name, TransmissionType type)
private TransmitterType(String name, Size s, TransmissionType type)
{
unlocalizedName = name;
size = s;
transmissionType = type;
}