Mekanism-tilera-Edition/common/mekanism/client/EnergyClientUpdate.java
Ben Spiers 49fc056c8c My approach to Universal Cables rendering power. They render with
transparency proportional to the base 10 log of power, to compensate
for the wide range of power that can be transmitted, and minimise client
update packets.
2013-08-04 01:58:56 +01:00

41 lines
918 B
Java

package mekanism.client;
import java.util.ArrayList;
import java.util.List;
import mekanism.api.Object3D;
import mekanism.common.EnergyNetwork.NetworkFinder;
import mekanism.common.IUniversalCable;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class EnergyClientUpdate
{
public NetworkFinder finder;
public World worldObj;
public double energyScale;
public EnergyClientUpdate(TileEntity head, double power)
{
worldObj = head.worldObj;
energyScale = power;
finder = new NetworkFinder(head.worldObj, Object3D.get(head));
System.out.println(power);
}
public void clientUpdate()
{
List<Object3D> found = finder.exploreNetwork();
for(Object3D object : found)
{
TileEntity tileEntity = object.getTileEntity(worldObj);
if(tileEntity instanceof IUniversalCable)
{
((IUniversalCable)tileEntity).setEnergyScale(energyScale);
}
}
}
}