Revert "Wires now transfer energy from all mods and manages it as EU. (#686)"

This reverts commit 6f54e3801f.

# Conflicts:
#	src/main/java/techreborn/tiles/storage/TileEnergyStorage.java
This commit is contained in:
modmuss50 2016-08-10 00:45:33 +01:00
parent cdae866b2d
commit aa05d906f9
23 changed files with 113 additions and 233 deletions

View file

@ -80,8 +80,8 @@ public class ChargeHud
{
color = Color.DARK_RED;
}
mc.fontRendererObj.drawString(color + PowerSystem.getLocalizedPower(CurrentCharge) + "/"
+ PowerSystem.getLocalizedPower(MaxCharge), 20, y, 0);
mc.fontRendererObj.drawString(color + PowerSystem.getLocaliszedPower(CurrentCharge) + "/"
+ PowerSystem.getLocaliszedPower(MaxCharge), 20, y, 0);
y += 20;
}
@ -108,8 +108,8 @@ public class ChargeHud
{
color = Color.DARK_RED;
}
mc.fontRendererObj.drawString(color + PowerSystem.getLocalizedPower(CurrentCharge) + "/"
+ PowerSystem.getLocalizedPower(MaxCharge), 20, y, 0);
mc.fontRendererObj.drawString(color + PowerSystem.getLocaliszedPower(CurrentCharge) + "/"
+ PowerSystem.getLocaliszedPower(MaxCharge), 20, y, 0);
y += 20;
}
}
@ -133,7 +133,7 @@ public class ChargeHud
{
color = Color.DARK_RED;
}
mc.fontRendererObj.drawString(color + PowerSystem.getLocalizedPower(CurrentCharge) + "/" + PowerSystem.getLocalizedPower(MaxCharge), 20, y, 0);
mc.fontRendererObj.drawString(color + PowerSystem.getLocaliszedPower(CurrentCharge) + "/" + PowerSystem.getLocaliszedPower(MaxCharge), 20, y, 0);
}
}
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

View file

@ -35,7 +35,8 @@ public class ItemBlockAesu extends ItemBlock
if (stack != null && stack.hasTagCompound())
{
if (stack.getTagCompound().getCompoundTag("tileEntity") != null)
list.add(PowerSystem.getLocalizedPower(stack.getTagCompound().getCompoundTag("tileEntity").getInteger("energy")));
list.add(PowerSystem
.getLocaliszedPower(stack.getTagCompound().getCompoundTag("tileEntity").getInteger("energy")));
}
}

View file

@ -51,7 +51,7 @@ public class ItemDebugTool extends ItemTextureBase implements ITexturedItem
{
playerIn.addChatComponentMessage(
new TextComponentString(TextFormatting.GREEN + "Power" + TextFormatting.BLUE
+ PowerSystem.getLocalizedPower(((IEnergyInterfaceTile) tile).getEnergy())));
+ PowerSystem.getLocaliszedPower(((IEnergyInterfaceTile) tile).getEnergy())));
}
return EnumActionResult.SUCCESS;
}

View file

@ -1,11 +1,5 @@
package techreborn.parts.powerCables;
import cofh.api.energy.IEnergyProvider;
import cofh.api.energy.IEnergyReceiver;
import ic2.api.energy.tile.*;
import ic2.api.tile.IEnergyStorage;
import net.darkhax.tesla.api.ITeslaProducer;
import net.darkhax.tesla.capability.TeslaCapabilities;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
@ -32,9 +26,7 @@ import net.minecraftforge.common.property.ExtendedBlockState;
import net.minecraftforge.common.property.IExtendedBlockState;
import net.minecraftforge.common.property.IUnlistedProperty;
import net.minecraftforge.common.property.Properties;
import net.minecraftforge.fml.common.Loader;
import reborncore.api.power.IEnergyInterfaceTile;
import reborncore.common.RebornCoreConfig;
import reborncore.common.misc.Functions;
import reborncore.common.misc.vecmath.Vecs3dCube;
import reborncore.common.util.WorldUtils;
@ -44,7 +36,6 @@ import reborncore.mcmultipart.multipart.*;
import reborncore.mcmultipart.raytrace.PartMOP;
import techreborn.parts.TechRebornParts;
import techreborn.parts.walia.IPartWaliaProvider;
import techreborn.power.EnergyUtils;
import techreborn.utils.damageSources.ElectrialShockSource;
import java.util.*;
@ -199,7 +190,6 @@ public class CableMultipart extends Multipart
nearByChange();
}
public boolean shouldConnectTo(EnumFacing dir) {
if (dir != null) {
if (internalShouldConnectTo(dir)) {
@ -209,25 +199,9 @@ public class CableMultipart extends Multipart
}
} else {
TileEntity tile = getNeighbourTile(dir);
if(tile != null) {
EnumFacing facing = dir.getOpposite();
if (tile instanceof IEnergyInterfaceTile &&
((IEnergyInterfaceTile) tile).canAcceptEnergy(facing)) {
return true;
} else if (tile instanceof IEnergyReceiver &&
((IEnergyReceiver) tile).canConnectEnergy(facing) &&
RebornCoreConfig.getRebornPower().rf()) {
return true;
} else if (Loader.isModLoaded("IC2") &&
RebornCoreConfig.getRebornPower().eu() &&
(tile instanceof IEnergySource ||
tile instanceof IEnergyEmitter ||
tile instanceof IEnergyAcceptor)) {
return true;
} else if (Loader.isModLoaded("Tesla") &&
tile.hasCapability(TeslaCapabilities.CAPABILITY_CONSUMER, facing)) {
return true;
}
if (tile instanceof IEnergyInterfaceTile) {
return true;
}
}
}
@ -284,82 +258,6 @@ public class CableMultipart extends Multipart
if (getWorld().getTotalWorldTime() % 80 == 0) {
checkConnectedSides();
}
for(EnumFacing connection : connectedSides.keySet()) {
BlockPos blockPos = connectedSides.get(connection);
TileEntity tileEntity = getWorld().getTileEntity(blockPos);
if(tileEntity == null) continue;
EnumFacing opposite = connection.getOpposite();
//TODO rewrite for new version
if(tileEntity instanceof IEnergyInterfaceTile) {
IEnergyInterfaceTile interfaceTile = (IEnergyInterfaceTile) tileEntity;
if(interfaceTile.canProvideEnergy(opposite)) {
double extractedEU = interfaceTile.useEnergy(getCableType().transferRate, true);
double dispatched = EnergyUtils.dispatchWiresEnergyPacket(getWorld(), getPos(), extractedEU, blockPos);
interfaceTile.useEnergy(dispatched);
continue;
}
}
if(Loader.isModLoaded("IC2") && RebornCoreConfig.getRebornPower().eu()) {
if (tileEntity instanceof IEnergySource) {
IEnergySource source = (IEnergySource) tileEntity;
if(source.emitsEnergyTo((emitter, from) -> true, opposite)) {
double extractedEU = source.getOfferedEnergy();
if (extractedEU > getCableType().transferRate)
extractedEU = getCableType().transferRate;
double dispatched = EnergyUtils.dispatchWiresEnergyPacket(getWorld(), getPos(), extractedEU, blockPos);
source.drawEnergy(dispatched);
continue;
}
} else if(tileEntity instanceof IEnergyStorage) {
IEnergyStorage storage = (IEnergyStorage) tileEntity;
double extractedEU = storage.getStored();
if(extractedEU > getCableType().transferRate)
extractedEU = getCableType().transferRate;
double dispatched = EnergyUtils.dispatchWiresEnergyPacket(getWorld(), getPos(), extractedEU, blockPos);
storage.setStored((int) (extractedEU - dispatched));
continue;
}
}
if(RebornCoreConfig.getRebornPower().rf()) {
if (tileEntity instanceof IEnergyProvider) {
IEnergyProvider provider = (IEnergyProvider) tileEntity;
if (provider.canConnectEnergy(opposite)) {
int extractedRF = provider.extractEnergy(opposite,
getCableType().transferRate * RebornCoreConfig.euPerRF, true);
double extractedEU = extractedRF / (RebornCoreConfig.euPerRF * 1f);
double dispatched = EnergyUtils.dispatchWiresEnergyPacket(getWorld(), getPos(), extractedEU, blockPos);
provider.extractEnergy(opposite, (int) (dispatched * RebornCoreConfig.euPerRF), false);
continue;
}
} else if(tileEntity instanceof cofh.api.energy.IEnergyStorage) {
cofh.api.energy.IEnergyStorage energyStorage = (cofh.api.energy.IEnergyStorage) tileEntity;
int extractedRF = energyStorage.extractEnergy(
getCableType().transferRate * RebornCoreConfig.euPerRF, true);
double extractedEU = extractedRF / (RebornCoreConfig.euPerRF * 1f);
if (extractedEU > getCableType().transferRate)
extractedEU = getCableType().transferRate;
double dispatched = EnergyUtils.dispatchWiresEnergyPacket(getWorld(), getPos(), extractedEU, blockPos);
energyStorage.extractEnergy((int) (dispatched * RebornCoreConfig.euPerRF), false);
continue;
}
}
if(Loader.isModLoaded("Tesla") && RebornCoreConfig.getRebornPower().tesla()) {
if(tileEntity.hasCapability(TeslaCapabilities.CAPABILITY_PRODUCER, opposite)) {
ITeslaProducer producer = tileEntity.getCapability(TeslaCapabilities.CAPABILITY_PRODUCER, opposite);
double extractedRF = producer.takePower(getCableType().transferRate * RebornCoreConfig.euPerRF, true);
double extractedEU = extractedRF / (RebornCoreConfig.euPerRF * 1F);
double dispatched = EnergyUtils.dispatchWiresEnergyPacket(getWorld(), getPos(), extractedEU, blockPos);
producer.takePower((long) (dispatched * RebornCoreConfig.euPerRF), false);
continue;
}
}
}
}
}

View file

@ -24,43 +24,18 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.function.BiFunction;
public class EnergyUtils {
public class PowerNet {
/**
* Dispatches energy to available neighbours
* @param world world
* @param source source position
* @param tile controller
* @param amount amount of energy
* @return amount of energy dispatched
*/
public static double dispatchEnergyToNeighbours(World world, BlockPos source, IEnergyInterfaceTile tile, double amount) {
double energyLeft = amount;
for(EnumFacing facing : EnumFacing.VALUES) {
if(tile.canProvideEnergy(facing)) {
PowerNetReceiver receiver = getReceiver(world, facing.getOpposite(), source.offset(facing));
if(receiver != null) energyLeft -= receiver.receiveEnergy(energyLeft, false);
if(energyLeft == 0) return energyLeft;
}
}
return amount - energyLeft;
}
/**
* Same as {@link #dispatchWiresEnergyPacketRecursively(World, ArrayList, BlockPos, boolean, double)}
* Same as {@link #dispatchEnergyPacketRecursively(World, ArrayList, BlockPos, boolean, double)}
* But not simulated and excluding source block
* @param world the world to dispatch in
* @param energyAmount energy units to dispatch
* @return dispatched energy units
* @deprecated for internal use only
*
* WARNING: For internal use in wires only
*/
public static double dispatchWiresEnergyPacket(World world, BlockPos source, double energyAmount, BlockPos... excludes) {
ArrayList<BlockPos> exclude = new ArrayList<>(excludes.length + 1);
exclude.addAll(Arrays.asList(excludes));
exclude.add(source);
return dispatchWiresEnergyPacketRecursively(world, exclude, source, false, energyAmount);
public static double dispatchEnergyPacket(World world, BlockPos source, double energyAmount) {
return dispatchEnergyPacketRecursively(world, Lists.newArrayList(source), source, false, energyAmount);
}
/**
@ -71,11 +46,8 @@ public class EnergyUtils {
* @param maxEnergy energy units to dispatch
* @param simulate true if dispatch is only simulated
* @return dispatched energy units
* @deprecated for internal use only
*
* WARNING: For internal use in wires only
*/
public static double dispatchWiresEnergyPacketRecursively(World world, ArrayList<BlockPos> excludes, BlockPos blockPos, boolean simulate, final double maxEnergy) {
public static double dispatchEnergyPacketRecursively(World world, ArrayList<BlockPos> excludes, BlockPos blockPos, boolean simulate, final double maxEnergy) {
double energyLeft = maxEnergy;
Collection<EnumFacing> connections = Lists.newArrayList(EnumFacing.VALUES);
@ -103,7 +75,7 @@ public class EnergyUtils {
EnumCableType cableType = cable.getCableType();
double transferRate = cableType.transferRate;
double maxPacket = transferRate > maxEnergy ? maxEnergy : transferRate;
energyLeft -= dispatchWiresEnergyPacketRecursively(world, excludes, offsetPos, simulate, maxPacket);
energyLeft -= dispatchEnergyPacketRecursively(world, excludes, offsetPos, simulate, maxPacket);
if(energyLeft == 0) {
if(selfCable != null)
selfCable.lastEnergyPacket = maxEnergy * 1.3F;
@ -156,20 +128,22 @@ public class EnergyUtils {
public static PowerNetReceiver getReceiver(World world, EnumFacing side, BlockPos pos) {
TileEntity tileEntity = world.getTileEntity(pos);
if (Loader.isModLoaded("IC2") && RebornCoreConfig.getRebornPower().eu()) {
if(Loader.isModLoaded("IC2") && RebornCoreConfig.getRebornPower().eu()) {
PowerNetReceiver ic2receiver = getIC2Receiver(tileEntity, side);
if (ic2receiver != null) return ic2receiver;
if(ic2receiver != null) return ic2receiver;
}
if (Loader.isModLoaded("Tesla") && RebornCoreConfig.getRebornPower().tesla()) {
if(Loader.isModLoaded("Tesla") && RebornCoreConfig.getRebornPower().tesla()) {
PowerNetReceiver teslaReceiver = getTeslaReceiver(tileEntity, side);
if (teslaReceiver != null) return teslaReceiver;
if(teslaReceiver != null) return teslaReceiver;
}
if (RebornCoreConfig.getRebornPower().rf()) {
if(RebornCoreConfig.getRebornPower().rf()) {
PowerNetReceiver rfReceiver = getRFReceiver(tileEntity, side);
if (rfReceiver != null) return rfReceiver;
if(rfReceiver != null) return rfReceiver;
}
if(RebornCoreConfig.getRebornPower().internal()) {
PowerNetReceiver internalReceiver = getInternalReceiver(tileEntity, side);
if(internalReceiver != null) return internalReceiver;
}
PowerNetReceiver internalReceiver = getInternalReceiver(tileEntity, side);
if (internalReceiver != null) return internalReceiver;
return null;
}

View file

@ -13,7 +13,7 @@ import reborncore.common.util.ItemUtils;
import techreborn.api.reactor.FusionReactorRecipe;
import techreborn.api.reactor.FusionReactorRecipeHelper;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileEntityFusionController extends TilePowerAcceptor implements IInventoryProvider
{
@ -276,7 +276,7 @@ public class TileEntityFusionController extends TilePowerAcceptor implements IIn
if (!worldObj.isRemote && getEnergy() > 0 && hasStartedCrafting) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -5,6 +5,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fluids.*;
@ -17,7 +18,7 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileDieselGenerator extends TilePowerAcceptor implements IWrenchable, IFluidHandler, IInventoryProvider
{
@ -156,7 +157,7 @@ public class TileDieselGenerator extends TilePowerAcceptor implements IWrenchabl
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -12,7 +12,7 @@ import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileDragonEggSiphoner extends TilePowerAcceptor implements IWrenchable,IInventoryProvider
{
@ -38,7 +38,7 @@ public class TileDragonEggSiphoner extends TilePowerAcceptor implements IWrencha
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -5,6 +5,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fluids.*;
@ -16,7 +17,7 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
import java.util.HashMap;
import java.util.Map;
@ -175,7 +176,7 @@ public class TileGasTurbine extends TilePowerAcceptor implements IWrenchable, IF
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -12,7 +12,7 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileGenerator extends TilePowerAcceptor implements IWrenchable,IInventoryProvider
{
@ -71,7 +71,7 @@ public class TileGenerator extends TilePowerAcceptor implements IWrenchable,IInv
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -10,7 +10,7 @@ import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileHeatGenerator extends TilePowerAcceptor implements IWrenchable
{
@ -48,7 +48,7 @@ public class TileHeatGenerator extends TilePowerAcceptor implements IWrenchable
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -10,7 +10,7 @@ import reborncore.api.power.EnumPowerTier;
import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.config.ConfigTechReborn;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileLightningRod extends TilePowerAcceptor {
@ -53,7 +53,7 @@ public class TileLightningRod extends TilePowerAcceptor {
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -5,6 +5,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fluids.*;
@ -16,7 +17,7 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
import java.util.HashMap;
import java.util.Map;
@ -179,7 +180,7 @@ public class TileSemifluidGenerator extends TilePowerAcceptor implements IWrench
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -5,7 +5,7 @@ import net.minecraft.util.ITickable;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.blocks.generator.BlockSolarPanel;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
import java.util.List;
@ -44,7 +44,7 @@ public class TileSolarPanel extends TilePowerAcceptor implements ITickable
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}
@ -56,7 +56,7 @@ public class TileSolarPanel extends TilePowerAcceptor implements ITickable
{
// FIXME: 25/02/2016
// info.add(TextFormatting.LIGHT_PURPLE + "Power gen/tick " +
// TextFormatting.GREEN + PowerSystem.getLocalizedPower(
// TextFormatting.GREEN + PowerSystem.getLocaliszedPower(
// powerToAdd)) ;
}
}

View file

@ -6,6 +6,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
@ -19,7 +20,7 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileThermalGenerator extends TilePowerAcceptor implements IWrenchable, IFluidHandler,IInventoryProvider
{
@ -175,7 +176,7 @@ public class TileThermalGenerator extends TilePowerAcceptor implements IWrenchab
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -4,7 +4,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.util.EnumFacing;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
/**
* Created by modmuss50 on 25/02/2016.
@ -31,7 +31,7 @@ public class TileWaterMill extends TilePowerAcceptor
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -3,7 +3,7 @@ package techreborn.tiles.generator;
import net.minecraft.util.EnumFacing;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
/**
* Created by modmuss50 on 25/02/2016.
@ -28,7 +28,7 @@ public class TileWindMill extends TilePowerAcceptor
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -10,7 +10,7 @@ import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
public class TileIDSU extends TilePowerAcceptor implements IWrenchable
{
@ -145,7 +145,7 @@ public class TileIDSU extends TilePowerAcceptor implements IWrenchable
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -6,7 +6,7 @@ import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory;
import techreborn.config.ConfigTechReborn;
import techreborn.power.EnergyUtils;
import techreborn.power.PowerNet;
import java.util.ArrayList;
@ -77,7 +77,7 @@ public class TileLesu extends TilePowerAcceptor
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}

View file

@ -9,10 +9,15 @@ import java.util.List;
/**
* Created by modmuss50 on 14/03/2016.
*/
public class TileBatBox extends TileEnergyStorage {
public class TileBatBox extends TileEnergyStorage implements IListInfoProvider
{
public TileBatBox() {
public TileBatBox()
{
super("BatBox", 2, ModBlocks.batBox, EnumPowerTier.LOW, 32, 32, 40000);
}
@Override public void addInfo(List<String> info, boolean isRealTile)
{
info.add("Batbox");
}
}

View file

@ -1,6 +1,5 @@
package techreborn.tiles.storage;
import reborncore.api.IListInfoProvider;
import reborncore.common.IWrenchable;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
@ -14,14 +13,13 @@ import reborncore.common.powerSystem.PoweredItem;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory;
import techreborn.blocks.storage.BlockEnergyStorage;
import techreborn.power.EnergyUtils;
import java.util.List;
import techreborn.power.PowerNet;
/**
* Created by Rushmead
*/
public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable, ITickable, IInventoryProvider, IListInfoProvider {
public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable, ITickable, IInventoryProvider
{
public Inventory inventory;
public String name;
@ -30,8 +28,8 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable,
public int maxInput;
public int maxOutput;
public int maxStorage;
public TileEnergyStorage(String name, int invSize, Block wrenchDrop, EnumPowerTier tier, int maxInput, int maxOuput, int maxStorage) {
public TileEnergyStorage(String name, int invSize, Block wrenchDrop, EnumPowerTier tier, int maxInput, int maxOuput, int maxStorage)
{
super(1);
inventory = new Inventory(invSize, "Tile" + name, 64, this);
this.wrenchDrop = wrenchDrop;
@ -42,29 +40,22 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable,
this.maxStorage = maxStorage;
}
@Override
public void addInfo(List<String> info, boolean isRealTile) {
info.add(name);
super.addInfo(info, isRealTile);
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
@Override public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return true;
}
@Override
public EnumFacing getFacing() {
@Override public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
@Override public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
return entityPlayer.isSneaking();
}
@Override
public void updateEntity() {
@Override public void updateEntity() {
if (inventory.getStackInSlot(0) != null) {
ItemStack stack = inventory.getStackInSlot(0);
if (!(stack.getItem() instanceof IEnergyItemInfo)) {
@ -94,7 +85,7 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable,
if (!worldObj.isRemote && getEnergy() > 0) {
double maxOutput = getEnergy() > getMaxOutput() ? getMaxOutput() : getEnergy();
useEnergy(EnergyUtils.dispatchEnergyToNeighbours(worldObj, getPos(), this, maxOutput));
useEnergy(PowerNet.dispatchEnergyPacket(worldObj, getPos(), maxOutput));
}
}
@ -104,53 +95,54 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable,
worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockEnergyStorage.FACING, enumFacing));
}
@Override
public float getWrenchDropRate() {
@Override public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
@Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(wrenchDrop);
}
@Override
public double getMaxPower() {
@Override public double getMaxPower()
{
return maxStorage;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
@Override public boolean canAcceptEnergy(EnumFacing direction)
{
return getFacingEnum() != direction;
}
@Override
public EnumFacing getFacingEnum() {
@Override public EnumFacing getFacingEnum()
{
Block block = worldObj.getBlockState(pos).getBlock();
if (block instanceof BlockEnergyStorage) {
if (block instanceof BlockEnergyStorage)
{
return ((BlockEnergyStorage) block).getFacing(worldObj.getBlockState(pos));
}
return null;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
@Override public boolean canProvideEnergy(EnumFacing direction)
{
return getFacing() == direction;
}
@Override
public double getMaxOutput() {
@Override public double getMaxOutput()
{
return maxOutput;
}
@Override
public double getMaxInput() {
@Override public double getMaxInput()
{
return maxInput;
}
@Override
public EnumPowerTier getTier() {
@Override public EnumPowerTier getTier()
{
return tier;
}
@ -158,6 +150,7 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable,
public Inventory getInventory() {
return inventory;
}
<<<<<<< HEAD
@Override
public int[] getSlotsForFace(EnumFacing side) {
@ -174,4 +167,6 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IWrenchable,
return true;
}
=======
>>>>>>> parent of 6f54e38... Wires now transfer energy from all mods and manages it as EU. (#686)
}

View file

@ -6,9 +6,11 @@ import techreborn.init.ModBlocks;
/**
* Created by modmuss50 on 14/03/2016.
*/
public class TileMFE extends TileEnergyStorage {
public class TileMFE extends TileEnergyStorage
{
public TileMFE() {
public TileMFE()
{
super("MFE", 2, ModBlocks.mfe, EnumPowerTier.MEDIUM, 512, 512, 4000000);
}

View file

@ -6,10 +6,11 @@ import techreborn.init.ModBlocks;
/**
* Created by modmuss50 on 14/03/2016.
*/
public class TileMFSU extends TileEnergyStorage {
public class TileMFSU extends TileEnergyStorage
{
public TileMFSU() {
public TileMFSU()
{
super("MFSU", 2, ModBlocks.mfsu, EnumPowerTier.HIGH, 2048, 2048, 40000000);
}
}