Added rendering back, fixed lag issues with cables

This commit is contained in:
modmuss50 2015-06-28 19:02:31 +01:00
parent acb06afd1f
commit d53a2aeef1
13 changed files with 35 additions and 38 deletions

View file

@ -22,7 +22,6 @@ import techreborn.packets.PacketHandler;
import techreborn.proxies.CommonProxy;
import techreborn.tiles.idsu.IDSUManager;
import techreborn.util.LogHelper;
import techreborn.world.DungeonLoot;
import techreborn.world.TROreGen;
import cpw.mods.fml.client.event.ConfigChangedEvent;
import cpw.mods.fml.common.FMLCommonHandler;

View file

@ -14,7 +14,6 @@ import net.minecraft.world.World;
import techreborn.Core;
import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.tiles.TileQuantumChest;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View file

@ -2,11 +2,8 @@ package techreborn.blocks.generator;
import ic2.api.item.IC2Items;
import java.util.Map;
import java.util.Random;
import net.minecraftforge.fluids.*;
import net.minecraft.util.ChatComponentText;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;

View file

@ -2,11 +2,8 @@ package techreborn.blocks.generator;
import ic2.api.item.IC2Items;
import java.util.Map;
import java.util.Random;
import net.minecraftforge.fluids.*;
import net.minecraft.util.ChatComponentText;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;

View file

@ -1,16 +1,13 @@
package techreborn.blocks.machine;
import ic2.api.item.IC2Items;
import ic2.core.Ic2Items;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;

View file

@ -11,12 +11,10 @@ import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import techreborn.Core;
import techreborn.blocks.BlockMachineBase;
import techreborn.client.GuiHandler;
import techreborn.tiles.TileBlastFurnace;
import techreborn.tiles.TileMachineCasing;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View file

@ -15,7 +15,6 @@ import net.minecraft.world.World;
import techreborn.Core;
import techreborn.blocks.BlockMachineBase;
import techreborn.client.GuiHandler;
import techreborn.tiles.TileCentrifuge;
import techreborn.tiles.TileGrinder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View file

@ -15,7 +15,6 @@ import net.minecraft.world.World;
import techreborn.Core;
import techreborn.blocks.BlockMachineBase;
import techreborn.client.GuiHandler;
import techreborn.tiles.TileIndustrialElectrolyzer;
import techreborn.tiles.TileIndustrialSawmill;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View file

@ -11,7 +11,6 @@ import net.minecraft.world.World;
import techreborn.Core;
import techreborn.blocks.BlockMachineBase;
import techreborn.client.GuiHandler;
import techreborn.packets.PacketHandler;
import techreborn.tiles.TileAesu;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View file

@ -15,7 +15,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import techreborn.client.GuiHandler;
import techreborn.packets.PacketHandler;
import techreborn.tiles.TileAesu;
import techreborn.tiles.idsu.IDSUManager;
import techreborn.tiles.idsu.TileIDSU;

View file

@ -90,4 +90,5 @@ public class ModPartUtils {
}
return null;
}
}

View file

@ -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();
}
}

View file

@ -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());