From aa05d906f91b8950190be102a762f571b6bdcd8a Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 10 Aug 2016 00:45:33 +0100 Subject: [PATCH] Revert "Wires now transfer energy from all mods and manages it as EU. (#686)" This reverts commit 6f54e3801fe8601de31043e42a09ce599f3b6df5. # Conflicts: # src/main/java/techreborn/tiles/storage/TileEnergyStorage.java --- .../java/techreborn/client/hud/ChargeHud.java | 10 +- .../techreborn/itemblocks/ItemBlockAesu.java | 3 +- .../techreborn/items/tools/ItemDebugTool.java | 2 +- .../parts/powerCables/CableMultipart.java | 108 +----------------- .../power/{EnergyUtils.java => PowerNet.java} | 60 +++------- .../TileEntityFusionController.java | 4 +- .../tiles/generator/TileDieselGenerator.java | 5 +- .../generator/TileDragonEggSiphoner.java | 4 +- .../tiles/generator/TileGasTurbine.java | 5 +- .../tiles/generator/TileGenerator.java | 4 +- .../tiles/generator/TileHeatGenerator.java | 4 +- .../tiles/generator/TileLightningRod.java | 4 +- .../generator/TileSemifluidGenerator.java | 5 +- .../tiles/generator/TileSolarPanel.java | 6 +- .../tiles/generator/TileThermalGenerator.java | 5 +- .../tiles/generator/TileWaterMill.java | 4 +- .../tiles/generator/TileWindMill.java | 4 +- .../java/techreborn/tiles/idsu/TileIDSU.java | 4 +- .../java/techreborn/tiles/lesu/TileLesu.java | 4 +- .../techreborn/tiles/storage/TileBatBox.java | 11 +- .../tiles/storage/TileEnergyStorage.java | 77 ++++++------- .../techreborn/tiles/storage/TileMFE.java | 6 +- .../techreborn/tiles/storage/TileMFSU.java | 7 +- 23 files changed, 113 insertions(+), 233 deletions(-) rename src/main/java/techreborn/power/{EnergyUtils.java => PowerNet.java} (78%) diff --git a/src/main/java/techreborn/client/hud/ChargeHud.java b/src/main/java/techreborn/client/hud/ChargeHud.java index 70a4d7c23..879647071 100644 --- a/src/main/java/techreborn/client/hud/ChargeHud.java +++ b/src/main/java/techreborn/client/hud/ChargeHud.java @@ -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); diff --git a/src/main/java/techreborn/itemblocks/ItemBlockAesu.java b/src/main/java/techreborn/itemblocks/ItemBlockAesu.java index fdd2f74ef..63f6c6e0a 100644 --- a/src/main/java/techreborn/itemblocks/ItemBlockAesu.java +++ b/src/main/java/techreborn/itemblocks/ItemBlockAesu.java @@ -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"))); } } diff --git a/src/main/java/techreborn/items/tools/ItemDebugTool.java b/src/main/java/techreborn/items/tools/ItemDebugTool.java index 8450c4bcd..ffa8d841b 100644 --- a/src/main/java/techreborn/items/tools/ItemDebugTool.java +++ b/src/main/java/techreborn/items/tools/ItemDebugTool.java @@ -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; } diff --git a/src/main/java/techreborn/parts/powerCables/CableMultipart.java b/src/main/java/techreborn/parts/powerCables/CableMultipart.java index 4cb973b5d..ceeb6c6bc 100644 --- a/src/main/java/techreborn/parts/powerCables/CableMultipart.java +++ b/src/main/java/techreborn/parts/powerCables/CableMultipart.java @@ -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; - } - } - - } } } diff --git a/src/main/java/techreborn/power/EnergyUtils.java b/src/main/java/techreborn/power/PowerNet.java similarity index 78% rename from src/main/java/techreborn/power/EnergyUtils.java rename to src/main/java/techreborn/power/PowerNet.java index 24df9a8d4..19ee7a75b 100644 --- a/src/main/java/techreborn/power/EnergyUtils.java +++ b/src/main/java/techreborn/power/PowerNet.java @@ -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 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 excludes, BlockPos blockPos, boolean simulate, final double maxEnergy) { + public static double dispatchEnergyPacketRecursively(World world, ArrayList excludes, BlockPos blockPos, boolean simulate, final double maxEnergy) { double energyLeft = maxEnergy; Collection 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; } diff --git a/src/main/java/techreborn/tiles/fusionReactor/TileEntityFusionController.java b/src/main/java/techreborn/tiles/fusionReactor/TileEntityFusionController.java index 02e7e2643..0749cd8f7 100644 --- a/src/main/java/techreborn/tiles/fusionReactor/TileEntityFusionController.java +++ b/src/main/java/techreborn/tiles/fusionReactor/TileEntityFusionController.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileDieselGenerator.java b/src/main/java/techreborn/tiles/generator/TileDieselGenerator.java index 09dfb08ff..f7cae0886 100644 --- a/src/main/java/techreborn/tiles/generator/TileDieselGenerator.java +++ b/src/main/java/techreborn/tiles/generator/TileDieselGenerator.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileDragonEggSiphoner.java b/src/main/java/techreborn/tiles/generator/TileDragonEggSiphoner.java index 042ea8ade..d85f8ee15 100644 --- a/src/main/java/techreborn/tiles/generator/TileDragonEggSiphoner.java +++ b/src/main/java/techreborn/tiles/generator/TileDragonEggSiphoner.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileGasTurbine.java b/src/main/java/techreborn/tiles/generator/TileGasTurbine.java index 0ffbc0304..7e8b46576 100644 --- a/src/main/java/techreborn/tiles/generator/TileGasTurbine.java +++ b/src/main/java/techreborn/tiles/generator/TileGasTurbine.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileGenerator.java b/src/main/java/techreborn/tiles/generator/TileGenerator.java index a3b7ccfb8..469a0fd6d 100644 --- a/src/main/java/techreborn/tiles/generator/TileGenerator.java +++ b/src/main/java/techreborn/tiles/generator/TileGenerator.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileHeatGenerator.java b/src/main/java/techreborn/tiles/generator/TileHeatGenerator.java index 8a2f87e79..a67589221 100644 --- a/src/main/java/techreborn/tiles/generator/TileHeatGenerator.java +++ b/src/main/java/techreborn/tiles/generator/TileHeatGenerator.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileLightningRod.java b/src/main/java/techreborn/tiles/generator/TileLightningRod.java index 97b06c2a4..cf4e891ec 100644 --- a/src/main/java/techreborn/tiles/generator/TileLightningRod.java +++ b/src/main/java/techreborn/tiles/generator/TileLightningRod.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileSemifluidGenerator.java b/src/main/java/techreborn/tiles/generator/TileSemifluidGenerator.java index c43f6e28e..3fc9ed9f3 100644 --- a/src/main/java/techreborn/tiles/generator/TileSemifluidGenerator.java +++ b/src/main/java/techreborn/tiles/generator/TileSemifluidGenerator.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileSolarPanel.java b/src/main/java/techreborn/tiles/generator/TileSolarPanel.java index ee9ac0021..c36f771b3 100644 --- a/src/main/java/techreborn/tiles/generator/TileSolarPanel.java +++ b/src/main/java/techreborn/tiles/generator/TileSolarPanel.java @@ -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)) ; } } diff --git a/src/main/java/techreborn/tiles/generator/TileThermalGenerator.java b/src/main/java/techreborn/tiles/generator/TileThermalGenerator.java index a48d1f32e..9f78645d9 100644 --- a/src/main/java/techreborn/tiles/generator/TileThermalGenerator.java +++ b/src/main/java/techreborn/tiles/generator/TileThermalGenerator.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileWaterMill.java b/src/main/java/techreborn/tiles/generator/TileWaterMill.java index 4aaf690ef..e05fcde4f 100644 --- a/src/main/java/techreborn/tiles/generator/TileWaterMill.java +++ b/src/main/java/techreborn/tiles/generator/TileWaterMill.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/generator/TileWindMill.java b/src/main/java/techreborn/tiles/generator/TileWindMill.java index 9bbe5aaf3..d7d10f150 100644 --- a/src/main/java/techreborn/tiles/generator/TileWindMill.java +++ b/src/main/java/techreborn/tiles/generator/TileWindMill.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/idsu/TileIDSU.java b/src/main/java/techreborn/tiles/idsu/TileIDSU.java index a173523a3..8f5d06520 100644 --- a/src/main/java/techreborn/tiles/idsu/TileIDSU.java +++ b/src/main/java/techreborn/tiles/idsu/TileIDSU.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/lesu/TileLesu.java b/src/main/java/techreborn/tiles/lesu/TileLesu.java index 0db34f9a2..6f6ed88e5 100644 --- a/src/main/java/techreborn/tiles/lesu/TileLesu.java +++ b/src/main/java/techreborn/tiles/lesu/TileLesu.java @@ -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)); } } diff --git a/src/main/java/techreborn/tiles/storage/TileBatBox.java b/src/main/java/techreborn/tiles/storage/TileBatBox.java index fc8416e71..f7dc2bdcd 100644 --- a/src/main/java/techreborn/tiles/storage/TileBatBox.java +++ b/src/main/java/techreborn/tiles/storage/TileBatBox.java @@ -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 info, boolean isRealTile) + { + info.add("Batbox"); + } } diff --git a/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java b/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java index 1f5a00c11..2c31031dc 100644 --- a/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java +++ b/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java @@ -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 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) } \ No newline at end of file diff --git a/src/main/java/techreborn/tiles/storage/TileMFE.java b/src/main/java/techreborn/tiles/storage/TileMFE.java index 115d9d2ec..4f89d950c 100644 --- a/src/main/java/techreborn/tiles/storage/TileMFE.java +++ b/src/main/java/techreborn/tiles/storage/TileMFE.java @@ -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); } diff --git a/src/main/java/techreborn/tiles/storage/TileMFSU.java b/src/main/java/techreborn/tiles/storage/TileMFSU.java index 81a99c6f0..4bfe9d10c 100644 --- a/src/main/java/techreborn/tiles/storage/TileMFSU.java +++ b/src/main/java/techreborn/tiles/storage/TileMFSU.java @@ -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); } - } \ No newline at end of file