Add TE support to Universal Cables, implemented Mechanical Pipe suck mode
This commit is contained in:
parent
cb69ff842e
commit
705b2b4528
3 changed files with 38 additions and 4 deletions
common/mekanism/common/multipart
|
@ -20,9 +20,12 @@ public class MultipartMekanism implements IPartFactory, IPartConverter
|
|||
public void init()
|
||||
{
|
||||
MultiPartRegistry.registerConverter(this);
|
||||
MultiPartRegistry.registerParts(this, new String[]{"mekanism:universal_cable", "mekanism:mechanical_pipe", "mekanism:pressurized_tube", "mekanism:logistical_transporter"});
|
||||
MultiPartRegistry.registerParts(this, new String[] {"mekanism:universal_cable", "mekanism:mechanical_pipe", "mekanism:pressurized_tube", "mekanism:logistical_transporter"});
|
||||
MultipartGenerator.registerPassThroughInterface("mekanism.api.transmitters.ITransmitter");
|
||||
MultipartGenerator.registerPassThroughInterface("ic2.api.energy.tile.IEnergySink");
|
||||
MultipartGenerator.registerPassThroughInterface("cofh.api.energy.IEnergyHandler");
|
||||
MultipartGenerator.registerPassThroughInterface("mekanism.common.IConfigurable");
|
||||
MultipartGenerator.registerPassThroughInterface("mekanism.common.ITileNetwork");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package mekanism.common.multipart;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -9,8 +10,12 @@ import mekanism.api.transmitters.TransmissionType;
|
|||
import mekanism.client.render.PartTransmitterIcons;
|
||||
import mekanism.client.render.RenderPartTransmitter;
|
||||
import mekanism.common.FluidNetwork;
|
||||
import mekanism.common.PacketHandler;
|
||||
import mekanism.common.PipeUtils;
|
||||
import mekanism.common.PacketHandler.Transmission;
|
||||
import mekanism.common.network.PacketTileEntity;
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
|
@ -145,11 +150,12 @@ public class PartMechanicalPipe extends PartTransmitter<FluidNetwork> implements
|
|||
|
||||
if(received != null && received.amount != 0)
|
||||
{
|
||||
container.drain(side, getTransmitterNetwork().emit(received, true, Object3D.get(tile()).getFromSide(side).getTileEntity(world())), true);
|
||||
container.drain(side.getOpposite(), getTransmitterNetwork().emit(received, true, Object3D.get(tile()).getFromSide(side).getTileEntity(world())), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
super.update();
|
||||
}
|
||||
}
|
||||
|
@ -177,4 +183,14 @@ public class PartMechanicalPipe extends PartTransmitter<FluidNetwork> implements
|
|||
{
|
||||
return getTransmitterNetwork().getFlow();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSneakRightClick(EntityPlayer player, int side)
|
||||
{
|
||||
isActive = !isActive;
|
||||
refreshTransmitterNetwork();
|
||||
sendDesc = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import mekanism.api.transmitters.TransmissionType;
|
|||
import mekanism.api.transmitters.TransmissionType.Size;
|
||||
import mekanism.api.transmitters.TransmitterNetworkRegistry;
|
||||
import mekanism.client.render.RenderPartTransmitter;
|
||||
import mekanism.common.IConfigurable;
|
||||
import mekanism.common.ITileNetwork;
|
||||
import mekanism.common.Mekanism;
|
||||
import mekanism.common.item.ItemConfigurator;
|
||||
|
@ -45,7 +46,7 @@ import com.google.common.io.ByteArrayDataInput;
|
|||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public abstract class PartTransmitter<N extends DynamicNetwork<?, N>> extends TMultiPart implements TSlottedPart, JNormalOcclusion, IHollowConnect, JIconHitEffects, ITransmitter<N>, ITileNetwork
|
||||
public abstract class PartTransmitter<N extends DynamicNetwork<?, N>> extends TMultiPart implements TSlottedPart, JNormalOcclusion, IHollowConnect, JIconHitEffects, ITransmitter<N>, ITileNetwork, IConfigurable
|
||||
{
|
||||
public int delayTicks;
|
||||
|
||||
|
@ -170,6 +171,7 @@ public abstract class PartTransmitter<N extends DynamicNetwork<?, N>> extends TM
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return connections;
|
||||
}
|
||||
|
||||
|
@ -236,7 +238,7 @@ public abstract class PartTransmitter<N extends DynamicNetwork<?, N>> extends TM
|
|||
currentTransmitterConnections = possibleTransmitters;
|
||||
currentAcceptorConnections = possibleAcceptors;
|
||||
|
||||
sendDesc = true;;
|
||||
sendDesc = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -569,4 +571,17 @@ public abstract class PartTransmitter<N extends DynamicNetwork<?, N>> extends TM
|
|||
{
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSneakRightClick(EntityPlayer player, int side)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onRightClick(EntityPlayer player, int side)
|
||||
{
|
||||
fixTransmitterNetwork();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue