Added rendering back, fixed lag issues with cables
This commit is contained in:
parent
acb06afd1f
commit
d53a2aeef1
13 changed files with 35 additions and 38 deletions
|
@ -90,4 +90,5 @@ public class ModPartUtils {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -104,11 +104,11 @@ public class FMPModPart extends TMultiPart implements TSlottedPart,
|
|||
return cubes;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// @SideOnly(Side.CLIENT)
|
||||
// public void renderDynamic(Vector3 pos, float frame, int pass) {
|
||||
// iModPart.renderDynamic(new Vecs3d(pos.x, pos.y, pos.z), frame);
|
||||
// }
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void renderDynamic(Vector3 pos, float frame, int pass) {
|
||||
iModPart.renderDynamic(new Vecs3d(pos.x, pos.y, pos.z), frame);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
|
@ -178,14 +178,14 @@ public class FMPModPart extends TMultiPart implements TSlottedPart,
|
|||
super.onRemoved();
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public boolean renderStatic(Vector3 pos, int pass) {
|
||||
// boolean render;
|
||||
// RenderHelper.instance.setRenderCoords(getWorld(), (int) pos.x, (int) pos.y, (int) pos.z);
|
||||
// render = iModPart.renderStatic(new Vecs3d((int) pos.x, (int) pos.y, (int) pos.z), RenderHelper.instance, pass);
|
||||
// RenderHelper.instance.reset();
|
||||
// return render;
|
||||
// }
|
||||
@Override
|
||||
public boolean renderStatic(Vector3 pos, int pass) {
|
||||
boolean render;
|
||||
RenderHelper.instance.setRenderCoords(getWorld(), (int) pos.x, (int) pos.y, (int) pos.z);
|
||||
render = iModPart.renderStatic(new Vecs3d((int) pos.x, (int) pos.y, (int) pos.z), RenderHelper.instance, pass);
|
||||
RenderHelper.instance.reset();
|
||||
return render;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<ItemStack> getDrops() {
|
||||
|
@ -199,4 +199,13 @@ public class FMPModPart extends TMultiPart implements TSlottedPart,
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onPartChanged(TMultiPart part) {
|
||||
super.onPartChanged(part);
|
||||
if (iModPart.world == null || iModPart.location == null) {
|
||||
iModPart.setWorld(world());
|
||||
iModPart.setLocation(new Location(x(), y(), z()));
|
||||
}
|
||||
iModPart.nearByChange();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ public class CablePart extends ModPart implements IEnergyConductor, INetworkTile
|
|||
private boolean[] connections = new boolean[6];
|
||||
public boolean addedToEnergyNet = false;
|
||||
public ItemStack stack;
|
||||
private boolean hasCheckedSinceStartup;
|
||||
|
||||
public int type = 0;//TODO save this to nbt and not use the constructor.
|
||||
|
||||
|
@ -93,12 +94,6 @@ public class CablePart extends ModPart implements IEnergyConductor, INetworkTile
|
|||
|
||||
@Override
|
||||
public void addCollisionBoxesToList(List<Vecs3dCube> boxes, Entity entity) {
|
||||
if (world != null || location != null) {
|
||||
checkConnectedSides();
|
||||
} else {
|
||||
connectedSides = new HashMap<ForgeDirection, TileEntity>();
|
||||
}
|
||||
|
||||
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
if (connectedSides.containsKey(dir))
|
||||
boxes.add(boundingBoxes[Functions.getIntDirFromDirection(dir)]);
|
||||
|
@ -109,7 +104,6 @@ public class CablePart extends ModPart implements IEnergyConductor, INetworkTile
|
|||
@Override
|
||||
public List<Vecs3dCube> getSelectionBoxes() {
|
||||
List<Vecs3dCube> vec3dCubeList = new ArrayList<Vecs3dCube>();
|
||||
checkConnectedSides();
|
||||
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
if (connectedSides.containsKey(dir))
|
||||
vec3dCubeList.add(boundingBoxes[Functions
|
||||
|
@ -167,6 +161,13 @@ public class CablePart extends ModPart implements IEnergyConductor, INetworkTile
|
|||
this.addedToEnergyNet = true;
|
||||
nearByChange();
|
||||
}
|
||||
if(worldObj != null){
|
||||
if(worldObj.getTotalWorldTime() % 40 == 0 || hasCheckedSinceStartup == false){
|
||||
checkConnectedSides();
|
||||
hasCheckedSinceStartup = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -182,7 +183,7 @@ public class CablePart extends ModPart implements IEnergyConductor, INetworkTile
|
|||
this.addedToEnergyNet = true;
|
||||
nearByChange();
|
||||
}
|
||||
|
||||
checkConnectedSides();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -225,6 +226,9 @@ public class CablePart extends ModPart implements IEnergyConductor, INetworkTile
|
|||
connectedSides.put(dir, te);
|
||||
}
|
||||
}
|
||||
if(te != null){
|
||||
te.getWorldObj().markBlockForUpdate(te.xCoord, te.yCoord, te.zCoord);
|
||||
}
|
||||
}
|
||||
checkConnections(world, getX(), getY(), getZ());
|
||||
getWorld().markBlockForUpdate(getX(), getY(), getZ());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue