more work on network
resolved a few power issues though i'm running into mekanism energy cubes self powering. As well energy cube, different one, is request power from the network but is never getting supplied any.
This commit is contained in:
parent
88778499fb
commit
d08bb5c48e
3 changed files with 34 additions and 43 deletions
|
@ -8,8 +8,6 @@ import net.minecraft.block.Block;
|
|||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.Configuration;
|
||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||
|
||||
import org.modstats.ModstatInfo;
|
||||
import org.modstats.Modstats;
|
||||
|
@ -20,7 +18,6 @@ import universalelectricity.prefab.multiblock.TileEntityMulti;
|
|||
import universalelectricity.prefab.network.PacketManager;
|
||||
import assemblyline.common.armbot.BlockArmbot;
|
||||
import assemblyline.common.armbot.TileEntityArmbot;
|
||||
import assemblyline.common.armbot.command.GrabDictionary;
|
||||
import assemblyline.common.imprinter.BlockImprinter;
|
||||
import assemblyline.common.imprinter.ItemImprinter;
|
||||
import assemblyline.common.imprinter.TileEntityImprinter;
|
||||
|
@ -59,8 +56,6 @@ import cpw.mods.fml.common.network.NetworkMod;
|
|||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import dark.core.DarkMain;
|
||||
import dark.core.PowerSystems;
|
||||
|
||||
@ModstatInfo(prefix = "asmline")
|
||||
@Mod(modid = AssemblyLine.CHANNEL, name = AssemblyLine.MOD_NAME, version = AssemblyLine.VERSION, dependencies = "after:BasicComponents; after:IC2", useMetadata = true)
|
||||
|
|
|
@ -39,7 +39,7 @@ public class NetworkAssembly extends NetworkPowerTiles
|
|||
public void addPower(double d)
|
||||
{
|
||||
double before = this.wattStored;
|
||||
this.wattStored = Math.max(this.wattStored + d, this.getMaxBattery());
|
||||
this.wattStored = Math.min(this.wattStored + d, this.getMaxBattery());
|
||||
System.out.println("Power| +++" + ElectricityDisplay.getDisplaySimple(d, ElectricUnit.WATT, 2) + " A: " + ElectricityDisplay.getDisplaySimple(this.wattStored, ElectricUnit.WATT, 2));
|
||||
|
||||
}
|
||||
|
@ -52,7 +52,14 @@ public class NetworkAssembly extends NetworkPowerTiles
|
|||
{
|
||||
pack = new ElectricityPack(0, 120);
|
||||
}
|
||||
double watt = pack.getWatts();
|
||||
|
||||
return ElectricityPack.getFromWatts(pack.getWatts() + this.getMemberRequest(), pack.voltage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMemberRequest()
|
||||
{
|
||||
double watt = 0;
|
||||
for (INetworkPart part : this.getNetworkMemebers())
|
||||
{
|
||||
//TODO do check for ignored tiles/ents
|
||||
|
@ -61,7 +68,7 @@ public class NetworkAssembly extends NetworkPowerTiles
|
|||
watt += ((TileEntityAssembly) part).getWattLoad();
|
||||
}
|
||||
}
|
||||
return ElectricityPack.getFromWatts(watt, pack.voltage);
|
||||
return watt;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -27,6 +27,7 @@ import buildcraft.api.power.PowerProvider;
|
|||
import com.google.common.io.ByteArrayDataInput;
|
||||
|
||||
import dark.core.api.INetworkPart;
|
||||
import dark.core.tile.network.NetworkPowerTiles;
|
||||
import dark.core.tile.network.NetworkTileEntities;
|
||||
import dark.library.machine.TileEntityRunnableMachine;
|
||||
|
||||
|
@ -38,6 +39,7 @@ public abstract class TileEntityAssembly extends TileEntityRunnableMachine imple
|
|||
{
|
||||
/** Is the tile currently powered allowing it to run */
|
||||
public boolean running = false;
|
||||
private boolean prevRun = false;
|
||||
/** Network used to link assembly machines together */
|
||||
private NetworkAssembly assemblyNetwork;
|
||||
/** Tiles that are connected to this */
|
||||
|
@ -47,12 +49,6 @@ public abstract class TileEntityAssembly extends TileEntityRunnableMachine imple
|
|||
/** Random rate by which this tile updates its connections */
|
||||
private int updateTick = 1;
|
||||
|
||||
public TileEntityAssembly()
|
||||
{
|
||||
this.powerProvider = new AssemblyPowerProvider(this);
|
||||
powerProvider.configure(0, 0, 100, 0, 200);
|
||||
}
|
||||
|
||||
public static enum AssemblyTilePacket
|
||||
{
|
||||
POWER(),
|
||||
|
@ -75,7 +71,7 @@ public abstract class TileEntityAssembly extends TileEntityRunnableMachine imple
|
|||
{
|
||||
if (!this.worldObj.isRemote)
|
||||
{
|
||||
boolean prevRun = this.running;
|
||||
this.prevRun = this.running;
|
||||
super.updateEntity();
|
||||
if (ticks % updateTick == 0)
|
||||
{
|
||||
|
@ -135,6 +131,26 @@ public abstract class TileEntityAssembly extends TileEntityRunnableMachine imple
|
|||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getBattery(ForgeDirection side)
|
||||
{
|
||||
if (this.getTileNetwork() instanceof NetworkAssembly)
|
||||
{
|
||||
return ((NetworkAssembly) this.getTileNetwork()).getMaxBattery();
|
||||
}
|
||||
return super.getBattery(side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCurrentBattery(ForgeDirection side)
|
||||
{
|
||||
if (this.getTileNetwork() instanceof NetworkAssembly)
|
||||
{
|
||||
return ((NetworkAssembly) this.getTileNetwork()).getCurrentBattery();
|
||||
}
|
||||
return super.getCurrentBattery(side);
|
||||
}
|
||||
|
||||
/** Amount of energy the network needs at any given time */
|
||||
@Override
|
||||
public double getRequest(ForgeDirection side)
|
||||
|
@ -142,8 +158,7 @@ public abstract class TileEntityAssembly extends TileEntityRunnableMachine imple
|
|||
if (this.getTileNetwork() instanceof NetworkAssembly)
|
||||
{
|
||||
NetworkAssembly net = ((NetworkAssembly) this.getTileNetwork());
|
||||
double room = net.getMaxBattery() - net.getCurrentBattery();
|
||||
return Math.min(100, Math.max(0, room));
|
||||
return Math.min(100 + net.getMemberRequest(), Math.max(0, net.getRequest(new Vector3(this).modifyPositionFromSide(side).getTileEntity(this.worldObj), this).getWatts()));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -303,30 +318,4 @@ public abstract class TileEntityAssembly extends TileEntityRunnableMachine imple
|
|||
return 1000;
|
||||
}
|
||||
|
||||
class AssemblyPowerProvider extends PowerProvider
|
||||
{
|
||||
public TileEntityAssembly tileEntity;
|
||||
|
||||
public AssemblyPowerProvider(TileEntityAssembly tile)
|
||||
{
|
||||
tileEntity = tile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveEnergy(float quantity, ForgeDirection from)
|
||||
{
|
||||
powerSources[from.ordinal()] = 2;
|
||||
|
||||
if (tileEntity.getTileNetwork() instanceof NetworkAssembly)
|
||||
{
|
||||
((NetworkAssembly) tileEntity.getTileNetwork()).addPower(UniversalElectricity.BC3_RATIO * quantity);
|
||||
System.out.println("BuildCraft Power Reciver>>>PlugPower>>>"+quantity);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.energyStored += quantity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue