From 3f2e74299b88c7e286412ff05879abddd2b35af4 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Fri, 20 Dec 2013 16:29:13 +0800 Subject: [PATCH] Started implementing UE 3.0 --- src/resonantinduction/ResonantInduction.java | 6 +-- .../contractor/TileEntityEMContractor.java | 2 +- .../furnace/TileEntityAdvancedFurnace.java | 52 ++++++++----------- .../multimeter/TileEntityMultimeter.java | 4 +- src/resonantinduction/wire/BlockWire.java | 2 +- 5 files changed, 29 insertions(+), 37 deletions(-) diff --git a/src/resonantinduction/ResonantInduction.java b/src/resonantinduction/ResonantInduction.java index 0567ff65..39130dda 100644 --- a/src/resonantinduction/ResonantInduction.java +++ b/src/resonantinduction/ResonantInduction.java @@ -44,11 +44,11 @@ import resonantinduction.wire.TileEntityWire; import universalelectricity.compatibility.Compatibility; import universalelectricity.core.item.IItemElectric; import universalelectricity.core.vector.Vector3; -import universalelectricity.prefab.TranslationHelper; import basiccomponents.api.BasicRegistry; import calclavia.lib.UniversalRecipe; import calclavia.lib.network.PacketHandler; import calclavia.lib.network.PacketTile; +import calclavia.lib.prefab.TranslationHelper; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; @@ -117,7 +117,7 @@ public class ResonantInduction * Settings */ public static final Configuration CONFIGURATION = new Configuration(new File(Loader.instance().getConfigDir(), NAME + ".cfg")); - public static float FURNACE_WATTAGE = 10; + public static int FURNACE_WATTAGE = 10000; public static boolean SOUND_FXS = true; public static boolean LO_FI_INSULATION = false; public static boolean SHINY_SILVER = true; @@ -176,7 +176,7 @@ public class ResonantInduction CONFIGURATION.load(); // Config - FURNACE_WATTAGE = (float) CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Furnace Wattage Per Tick", FURNACE_WATTAGE).getDouble(FURNACE_WATTAGE); + FURNACE_WATTAGE = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Furnace Wattage Per Tick", FURNACE_WATTAGE).getInt(FURNACE_WATTAGE); SOUND_FXS = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Tesla Sound FXs", SOUND_FXS).getBoolean(SOUND_FXS); LO_FI_INSULATION = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Use lo-fi insulation texture", LO_FI_INSULATION).getBoolean(LO_FI_INSULATION); SHINY_SILVER = CONFIGURATION.get(Configuration.CATEGORY_GENERAL, "Shiny silver wires", SHINY_SILVER).getBoolean(SHINY_SILVER); diff --git a/src/resonantinduction/contractor/TileEntityEMContractor.java b/src/resonantinduction/contractor/TileEntityEMContractor.java index 8f608b80..3445fb19 100644 --- a/src/resonantinduction/contractor/TileEntityEMContractor.java +++ b/src/resonantinduction/contractor/TileEntityEMContractor.java @@ -24,10 +24,10 @@ import net.minecraftforge.fluids.IFluidBlock; import resonantinduction.ResonantInduction; import resonantinduction.tesla.TileEntityTesla; import universalelectricity.core.vector.Vector3; -import universalelectricity.prefab.tile.TileEntityAdvanced; import calclavia.lib.InventoryHelper; import calclavia.lib.network.IPacketReceiver; import calclavia.lib.network.IPacketSender; +import calclavia.lib.prefab.tile.TileEntityAdvanced; import com.google.common.io.ByteArrayDataInput; diff --git a/src/resonantinduction/furnace/TileEntityAdvancedFurnace.java b/src/resonantinduction/furnace/TileEntityAdvancedFurnace.java index 519f30e5..8589f067 100644 --- a/src/resonantinduction/furnace/TileEntityAdvancedFurnace.java +++ b/src/resonantinduction/furnace/TileEntityAdvancedFurnace.java @@ -1,13 +1,15 @@ package resonantinduction.furnace; -import resonantinduction.ResonantInduction; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.common.ForgeDirection; +import resonantinduction.ResonantInduction; +import universalelectricity.api.IEnergyInterface; +import universalelectricity.api.IVoltage; +import universalelectricity.api.UniversalClass; import universalelectricity.core.block.IConductor; -import universalelectricity.core.block.IElectrical; import universalelectricity.core.electricity.ElectricityHelper; import universalelectricity.core.electricity.ElectricityPack; import universalelectricity.core.grid.IElectricityNetwork; @@ -20,12 +22,13 @@ import universalelectricity.core.vector.VectorHelper; * @author Calclavia * */ -public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IElectrical +@UniversalClass +public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IEnergyInterface, IVoltage { private static final float WATTAGE = 5; private boolean doProduce = false; private boolean init = true; - private float energyBuffer = 0; + private int energyBuffer = 0; @Override public void updateEntity() @@ -94,7 +97,8 @@ public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IEle if (doBlockStateUpdate != this.furnaceBurnTime > 0) { - //BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + // BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, + // this.worldObj, this.xCoord, this.yCoord, this.zCoord); this.refreshConductors(); } } @@ -144,7 +148,7 @@ public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IEle { if (!this.worldObj.isRemote && outputDirection != null && outputDirection != ForgeDirection.UNKNOWN) { - float provide = this.getProvide(outputDirection); + float provide = this.onReceiveEnergy(null, Integer.MAX_VALUE, false); if (provide > 0) { @@ -157,9 +161,9 @@ public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IEle if (powerRequest.getWatts() > 0) { - ElectricityPack sendPack = ElectricityPack.getFromWatts(provide, this.getVoltage()); + ElectricityPack sendPack = ElectricityPack.getFromWatts(provide, this.getVoltage(null)); float rejectedPower = outputNetwork.produce(sendPack, this); - this.provideElectricity(outputDirection.getOpposite(), ElectricityPack.getFromWatts(sendPack.getWatts() - rejectedPower, this.getVoltage()), true); + this.onExtractEnergy(outputDirection.getOpposite(), (int) (sendPack.getWatts() - rejectedPower), true); } return true; @@ -197,28 +201,16 @@ public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IEle } @Override - public float receiveElectricity(ForgeDirection from, ElectricityPack receive, boolean doReceive) - { - if (doReceive) - { - this.energyBuffer += receive.getWatts(); - return 0; - } - - return receive.getWatts(); - } - - @Override - public ElectricityPack provideElectricity(ForgeDirection from, ElectricityPack request, boolean doProvide) - { - return ElectricityPack.getFromWatts(ResonantInduction.FURNACE_WATTAGE / 20, this.getVoltage()); - } - - @Override - public float getRequest(ForgeDirection direction) + public int onReceiveEnergy(ForgeDirection from, int receive, boolean doReceive) { if (this.canSmelt() && this.getStackInSlot(1) == null && this.furnaceBurnTime == 0) { + if (doReceive) + { + this.energyBuffer += receive; + return receive; + } + return ResonantInduction.FURNACE_WATTAGE / 20; } @@ -226,7 +218,7 @@ public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IEle } @Override - public float getProvide(ForgeDirection direction) + public int onExtractEnergy(ForgeDirection from, int request, boolean doProvide) { if (this.furnaceBurnTime > 0) { @@ -237,9 +229,9 @@ public class TileEntityAdvancedFurnace extends TileEntityFurnace implements IEle } @Override - public float getVoltage() + public int getVoltage(ForgeDirection direction) { - return 0.12f; + return 100; } } diff --git a/src/resonantinduction/multimeter/TileEntityMultimeter.java b/src/resonantinduction/multimeter/TileEntityMultimeter.java index 9085d494..601baeec 100644 --- a/src/resonantinduction/multimeter/TileEntityMultimeter.java +++ b/src/resonantinduction/multimeter/TileEntityMultimeter.java @@ -19,12 +19,12 @@ import universalelectricity.core.block.IConductor; import universalelectricity.core.block.IConnector; import universalelectricity.core.block.IElectricalStorage; import universalelectricity.core.grid.IElectricityNetwork; -import universalelectricity.prefab.tile.TileEntityAdvanced; -import universalelectricity.prefab.tile.TileEntityElectrical; import buildcraft.api.power.IPowerReceptor; import calclavia.lib.IRotatable; import calclavia.lib.network.IPacketReceiver; import calclavia.lib.network.IPacketSender; +import calclavia.lib.prefab.tile.TileEntityAdvanced; +import calclavia.lib.prefab.tile.TileEntityElectrical; import cofh.api.energy.TileEnergyHandler; import com.google.common.io.ByteArrayDataInput; diff --git a/src/resonantinduction/wire/BlockWire.java b/src/resonantinduction/wire/BlockWire.java index 539eabf9..fefb9fc0 100644 --- a/src/resonantinduction/wire/BlockWire.java +++ b/src/resonantinduction/wire/BlockWire.java @@ -2,6 +2,7 @@ package resonantinduction.wire; import java.util.List; +import calclavia.lib.prefab.block.BlockConductor; import net.minecraft.block.Block; import net.minecraft.block.BlockColored; import net.minecraft.block.material.Material; @@ -13,7 +14,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import resonantinduction.ResonantInduction; import resonantinduction.TabRI; -import universalelectricity.prefab.block.BlockConductor; /** * A copper wire block that can change its collision bounds based on the connection.