47 lines
1.6 KiB
Java
47 lines
1.6 KiB
Java
package malte0811.industrialWires.blocks;
|
|
|
|
import blusunrize.immersiveengineering.api.energy.wires.IImmersiveConnectable;
|
|
import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler.Connection;
|
|
import blusunrize.immersiveengineering.api.energy.wires.WireType;
|
|
import malte0811.industrialWires.wires.IC2Wiretype;
|
|
import net.minecraft.util.EnumFacing;
|
|
import net.minecraft.util.math.Vec3d;
|
|
|
|
public class TileEntityIC2ConnectorHV extends TileEntityIC2ConnectorTin {
|
|
|
|
public TileEntityIC2ConnectorHV(boolean rel) {
|
|
super(rel);
|
|
}
|
|
|
|
public TileEntityIC2ConnectorHV() {}
|
|
|
|
{
|
|
tier = 4;
|
|
maxStored = IC2Wiretype.IC2_TYPES[3].getTransferRate()/8;
|
|
}
|
|
@Override
|
|
public boolean canConnect(WireType t) {
|
|
return t==IC2Wiretype.IC2_TYPES[3];
|
|
}
|
|
|
|
@Override
|
|
public Vec3d getRaytraceOffset(IImmersiveConnectable link) {
|
|
EnumFacing side = f.getOpposite();
|
|
if (relay) {
|
|
return new Vec3d(.5+side.getFrontOffsetX()*.4375, .5+side.getFrontOffsetY()*.4375, .5+side.getFrontOffsetZ()*.4375);
|
|
} else {
|
|
return new Vec3d(.5+side.getFrontOffsetX()*.3125, .5+side.getFrontOffsetY()*.3125, .5+side.getFrontOffsetZ()*.3125);
|
|
}
|
|
}
|
|
@Override
|
|
public Vec3d getConnectionOffset(Connection con) {
|
|
EnumFacing side = f.getOpposite();
|
|
double conRadius = con.cableType.getRenderDiameter()/2;
|
|
if (relay) {
|
|
return new Vec3d(.5+side.getFrontOffsetX()*(.375-conRadius), .5+side.getFrontOffsetY()*(.375-conRadius), .5+side.getFrontOffsetZ()*(.375-conRadius));
|
|
} else {
|
|
return new Vec3d(.5+side.getFrontOffsetX()*(.25-conRadius), .5+side.getFrontOffsetY()*(.25-conRadius), .5+side.getFrontOffsetZ()*(.25-conRadius));
|
|
}
|
|
}
|
|
}
|