mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
78 lines
2.4 KiB
Java
78 lines
2.4 KiB
Java
package com.hbm.tileentity.network;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import com.hbm.blocks.BlockDummyable;
|
|
|
|
import api.hbm.energy.IEnergyConductor;
|
|
import net.minecraft.util.Vec3;
|
|
|
|
public class TileEntitySubstation extends TileEntityPylonBase {
|
|
|
|
@Override
|
|
public ConnectionType getConnectionType() {
|
|
return ConnectionType.QUAD;
|
|
}
|
|
|
|
@Override
|
|
public Vec3[] getMountPos() {
|
|
|
|
double topOff = 5.25;
|
|
Vec3 vec = Vec3.createVectorHelper(1, 0, 0);
|
|
|
|
switch(getBlockMetadata() - BlockDummyable.offset) {
|
|
case 2: vec.rotateAroundY((float) Math.PI * 0.0F); break;
|
|
case 4: vec.rotateAroundY((float) Math.PI * 0.5F); break;
|
|
case 3: vec.rotateAroundY((float) Math.PI * 0.0F); break;
|
|
case 5: vec.rotateAroundY((float) Math.PI * 0.5F); break;
|
|
}
|
|
|
|
return new Vec3[] {
|
|
Vec3.createVectorHelper(0.5 + vec.xCoord * 0.5, topOff, 0.5 + vec.zCoord * 0.5),
|
|
Vec3.createVectorHelper(0.5 + vec.xCoord * 1.5, topOff, 0.5 + vec.zCoord * 1.5),
|
|
Vec3.createVectorHelper(0.5 - vec.xCoord * 0.5, topOff, 0.5 - vec.zCoord * 0.5),
|
|
Vec3.createVectorHelper(0.5 - vec.xCoord * 1.5, topOff, 0.5 - vec.zCoord * 1.5),
|
|
};
|
|
}
|
|
|
|
@Override
|
|
public Vec3 getConnectionPoint() {
|
|
return Vec3.createVectorHelper(xCoord + 0.5, yCoord + 5.25, zCoord + 0.5);
|
|
}
|
|
|
|
@Override
|
|
public double getMaxWireLength() {
|
|
return 20;
|
|
}
|
|
|
|
@Override
|
|
public List<int[]> getConnectionPoints() {
|
|
List<int[]> pos = new ArrayList(connected);
|
|
pos.add(new int[] {xCoord + 2, yCoord, zCoord - 1});
|
|
pos.add(new int[] {xCoord + 2, yCoord, zCoord + 1});
|
|
pos.add(new int[] {xCoord - 2, yCoord, zCoord - 1});
|
|
pos.add(new int[] {xCoord - 2, yCoord, zCoord + 1});
|
|
pos.add(new int[] {xCoord - 1, yCoord, zCoord + 2});
|
|
pos.add(new int[] {xCoord + 1, yCoord, zCoord + 2});
|
|
pos.add(new int[] {xCoord - 1, yCoord, zCoord - 2});
|
|
pos.add(new int[] {xCoord + 1, yCoord, zCoord - 2});
|
|
return pos;
|
|
}
|
|
|
|
@Override
|
|
public boolean hasProxies() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public List<Integer> getProxies() {
|
|
List<Integer> proxies = new ArrayList();
|
|
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord + 1, yCoord, zCoord + 1));
|
|
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord + 1, yCoord, zCoord - 1));
|
|
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord - 1, yCoord, zCoord + 1));
|
|
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord - 1, yCoord, zCoord - 1));
|
|
return proxies;
|
|
}
|
|
}
|