diff --git a/gradle.properties b/gradle.properties index bdfeecc0f..cacde6e31 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,4 +22,5 @@ waila_version=1.7.0-B3_1.9.4 jei_version=4.7.1.69 tesla_version=1.0.61 ic2_version=2.8.7-ex112 +rf_version=2.0.0.1 top_version=1.12-1.4.8-2 diff --git a/gradle/scripts/dependencies.gradle b/gradle/scripts/dependencies.gradle index 7a15c22d9..469e39b83 100644 --- a/gradle/scripts/dependencies.gradle +++ b/gradle/scripts/dependencies.gradle @@ -39,6 +39,11 @@ repositories { url = "http://maven.ic2.player.to" } + maven { + name = "CoFH Maven" + url = "http://maven.covers1624.net" + } + maven { // TheOneProbe name 'tterrag maven' url "http://maven.tterrag.com/" @@ -58,16 +63,18 @@ dependencies { // installable runtime dependencies //mods "mcp.mobius.waila:Waila:${waila_version}" //mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev" - mods "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}" + mods "mcjty.theoneprobe:TheOneProbe-${minecraft_version}:${top_version}" // mods "com.github.mcjty:compatlayer:${compatlayer_version}" // compile against provided APIs compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api" //compileOnly "mcp.mobius.waila:Waila:${waila_version}" - compileOnly "net.darkhax.tesla:Tesla-1.12:${tesla_version}" + compileOnly "net.darkhax.tesla:Tesla-${minecraft_version}:${tesla_version}" //compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api" compileOnly "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}:api" + deobfCompile "cofh:RedstoneFlux:${minecraft_version}-${rf_version}:universal" + // at runtime, use the full JEI jar runtime "mezz.jei:jei_${minecraft_version}:${jei_version}" diff --git a/src/main/java/appeng/items/tools/powered/powersink/RedstoneFlux.java b/src/main/java/appeng/items/tools/powered/powersink/RedstoneFlux.java index 1c9a365e3..b22e2d01d 100644 --- a/src/main/java/appeng/items/tools/powered/powersink/RedstoneFlux.java +++ b/src/main/java/appeng/items/tools/powered/powersink/RedstoneFlux.java @@ -21,14 +21,14 @@ package appeng.items.tools.powered.powersink; import net.minecraft.item.ItemStack; -import cofh.api.energy.IEnergyContainerItem; +import cofh.redstoneflux.api.IEnergyContainerItem; import appeng.api.config.PowerUnits; import appeng.coremod.annotations.Integration.Interface; import appeng.integration.IntegrationType; -@Interface( iface = "cofh.api.energy.IEnergyContainerItem", iname = IntegrationType.RFItem ) +@Interface( iface = "cofh.redstoneflux.api.IEnergyContainerItem", iname = IntegrationType.RFItem ) public abstract class RedstoneFlux extends AERootPoweredItem implements IEnergyContainerItem { public RedstoneFlux( final double powerCapacity ) diff --git a/src/main/java/appeng/tile/powersink/RedstoneFlux.java b/src/main/java/appeng/tile/powersink/RedstoneFlux.java index e3a43aedb..52155a624 100644 --- a/src/main/java/appeng/tile/powersink/RedstoneFlux.java +++ b/src/main/java/appeng/tile/powersink/RedstoneFlux.java @@ -21,14 +21,14 @@ package appeng.tile.powersink; import net.minecraft.util.EnumFacing; -import cofh.api.energy.IEnergyReceiver; +import cofh.redstoneflux.api.IEnergyReceiver; import appeng.api.config.PowerUnits; import appeng.coremod.annotations.Integration.Interface; import appeng.integration.IntegrationType; -@Interface( iname = IntegrationType.RF, iface = "cofh.api.energy.IEnergyReceiver" ) +@Interface( iname = IntegrationType.RF, iface = "cofh.redstoneflux.api.IEnergyReceiver" ) public abstract class RedstoneFlux extends AERootPoweredTile implements IEnergyReceiver { @Override diff --git a/src/thirdparty/java/cofh/api/CoFHAPIProps.java b/src/thirdparty/java/cofh/api/CoFHAPIProps.java deleted file mode 100644 index eb2e05ade..000000000 --- a/src/thirdparty/java/cofh/api/CoFHAPIProps.java +++ /dev/null @@ -1,11 +0,0 @@ -package cofh.api; - -public class CoFHAPIProps { - - private CoFHAPIProps() { - - } - - public static final String VERSION = "1.8.9R1.2.0B1"; - -} diff --git a/src/thirdparty/java/cofh/api/energy/EnergyStorage.java b/src/thirdparty/java/cofh/api/energy/EnergyStorage.java deleted file mode 100644 index dd7dd3e02..000000000 --- a/src/thirdparty/java/cofh/api/energy/EnergyStorage.java +++ /dev/null @@ -1,162 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.nbt.NBTTagCompound; - -/** - * Reference implementation of {@link IEnergyStorage}. Use/extend this or implement your own. - * - * @author King Lemming - * - */ -public class EnergyStorage implements IEnergyStorage { - - protected int energy; - protected int capacity; - protected int maxReceive; - protected int maxExtract; - - public EnergyStorage(int capacity) { - - this(capacity, capacity, capacity); - } - - public EnergyStorage(int capacity, int maxTransfer) { - - this(capacity, maxTransfer, maxTransfer); - } - - public EnergyStorage(int capacity, int maxReceive, int maxExtract) { - - this.capacity = capacity; - this.maxReceive = maxReceive; - this.maxExtract = maxExtract; - } - - public EnergyStorage readFromNBT(NBTTagCompound nbt) { - - this.energy = nbt.getInteger("Energy"); - - if (energy > capacity) { - energy = capacity; - } - return this; - } - - public NBTTagCompound writeToNBT(NBTTagCompound nbt) { - - if (energy < 0) { - energy = 0; - } - nbt.setInteger("Energy", energy); - return nbt; - } - - public EnergyStorage setCapacity(int capacity) { - - this.capacity = capacity; - - if (energy > capacity) { - energy = capacity; - } - return this; - } - - public EnergyStorage setMaxTransfer(int maxTransfer) { - - setMaxReceive(maxTransfer); - setMaxExtract(maxTransfer); - return this; - } - - public EnergyStorage setMaxReceive(int maxReceive) { - - this.maxReceive = maxReceive; - return this; - } - - public EnergyStorage setMaxExtract(int maxExtract) { - - this.maxExtract = maxExtract; - return this; - } - - public int getMaxReceive() { - - return maxReceive; - } - - public int getMaxExtract() { - - return maxExtract; - } - - /** - * This function is included to allow for server to client sync. Do not call this externally to the containing Tile Entity, as not all IEnergyHandlers - * are guaranteed to have it. - * - * @param energy - */ - public void setEnergyStored(int energy) { - - this.energy = energy; - - if (this.energy > capacity) { - this.energy = capacity; - } else if (this.energy < 0) { - this.energy = 0; - } - } - - /** - * This function is included to allow the containing tile to directly and efficiently modify the energy contained in the EnergyStorage. Do not rely on this - * externally, as not all IEnergyHandlers are guaranteed to have it. - * - * @param energy - */ - public void modifyEnergyStored(int energy) { - - this.energy += energy; - - if (this.energy > capacity) { - this.energy = capacity; - } else if (this.energy < 0) { - this.energy = 0; - } - } - - /* IEnergyStorage */ - @Override - public int receiveEnergy(int maxReceive, boolean simulate) { - - int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive)); - - if (!simulate) { - energy += energyReceived; - } - return energyReceived; - } - - @Override - public int extractEnergy(int maxExtract, boolean simulate) { - - int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); - - if (!simulate) { - energy -= energyExtracted; - } - return energyExtracted; - } - - @Override - public int getEnergyStored() { - - return energy; - } - - @Override - public int getMaxEnergyStored() { - - return capacity; - } - -} diff --git a/src/thirdparty/java/cofh/api/energy/IEnergyConnection.java b/src/thirdparty/java/cofh/api/energy/IEnergyConnection.java deleted file mode 100644 index 29ef0a1ce..000000000 --- a/src/thirdparty/java/cofh/api/energy/IEnergyConnection.java +++ /dev/null @@ -1,22 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - - -/** - * Implement this interface on TileEntities which should connect to energy transportation blocks. This is intended for blocks which generate energy but do not - * accept it; otherwise just use IEnergyHandler. - *

- * Note that {@link IEnergyHandler} is an extension of this. - * - * @author King Lemming - * - */ -public interface IEnergyConnection { - - /** - * Returns TRUE if the TileEntity can connect on a given side. - */ - boolean canConnectEnergy(EnumFacing from); - -} diff --git a/src/thirdparty/java/cofh/api/energy/IEnergyContainerItem.java b/src/thirdparty/java/cofh/api/energy/IEnergyContainerItem.java deleted file mode 100644 index 3ef725765..000000000 --- a/src/thirdparty/java/cofh/api/energy/IEnergyContainerItem.java +++ /dev/null @@ -1,52 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.item.ItemStack; - -/** - * Implement this interface on Item classes that support external manipulation of their internal energy storages. - *

- * A reference implementation is provided {@link ItemEnergyContainer}. - * - * @author King Lemming - * - */ -public interface IEnergyContainerItem { - - /** - * Adds energy to a container item. Returns the quantity of energy that was accepted. This should always return 0 if the item cannot be externally charged. - * - * @param container - * ItemStack to be charged. - * @param maxReceive - * Maximum amount of energy to be sent into the item. - * @param simulate - * If TRUE, the charge will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) received by the item. - */ - int receiveEnergy(ItemStack container, int maxReceive, boolean simulate); - - /** - * Removes energy from a container item. Returns the quantity of energy that was removed. This should always return 0 if the item cannot be externally - * discharged. - * - * @param container - * ItemStack to be discharged. - * @param maxExtract - * Maximum amount of energy to be extracted from the item. - * @param simulate - * If TRUE, the discharge will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) extracted from the item. - */ - int extractEnergy(ItemStack container, int maxExtract, boolean simulate); - - /** - * Get the amount of energy currently stored in the container item. - */ - int getEnergyStored(ItemStack container); - - /** - * Get the max amount of energy that can be stored in the container item. - */ - int getMaxEnergyStored(ItemStack container); - -} diff --git a/src/thirdparty/java/cofh/api/energy/IEnergyHandler.java b/src/thirdparty/java/cofh/api/energy/IEnergyHandler.java deleted file mode 100644 index 16b236e7a..000000000 --- a/src/thirdparty/java/cofh/api/energy/IEnergyHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - -/** - * Implement this interface on Tile Entities which should handle energy, generally storing it in one or more internal {@link IEnergyStorage} objects. - *

- * A reference implementation is provided {@link TileEnergyHandler}. - *

- * Note that {@link IEnergyReceiver} and {@link IEnergyProvider} are extensions of this. - * - * @author King Lemming - * - */ -public interface IEnergyHandler extends IEnergyConnection { - - /** - * Returns the amount of energy currently stored. - */ - int getEnergyStored(EnumFacing from); - - /** - * Returns the maximum amount of energy that can be stored. - */ - int getMaxEnergyStored(EnumFacing from); - -} diff --git a/src/thirdparty/java/cofh/api/energy/IEnergyProvider.java b/src/thirdparty/java/cofh/api/energy/IEnergyProvider.java deleted file mode 100644 index ef0e09d06..000000000 --- a/src/thirdparty/java/cofh/api/energy/IEnergyProvider.java +++ /dev/null @@ -1,29 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - - -/** - * Implement this interface on Tile Entities which should provide energy, generally storing it in one or more internal {@link IEnergyStorage} objects. - *

- * A reference implementation is provided {@link TileEnergyHandler}. - * - * @author King Lemming - * - */ -public interface IEnergyProvider extends IEnergyHandler { - - /** - * Remove energy from an IEnergyProvider, internal distribution is left entirely to the IEnergyProvider. - * - * @param from - * Orientation the energy is extracted from. - * @param maxExtract - * Maximum amount of energy to extract. - * @param simulate - * If TRUE, the extraction will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) extracted. - */ - int extractEnergy(EnumFacing from, int maxExtract, boolean simulate); - -} diff --git a/src/thirdparty/java/cofh/api/energy/IEnergyReceiver.java b/src/thirdparty/java/cofh/api/energy/IEnergyReceiver.java deleted file mode 100644 index 989e9baa5..000000000 --- a/src/thirdparty/java/cofh/api/energy/IEnergyReceiver.java +++ /dev/null @@ -1,29 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - - -/** - * Implement this interface on Tile Entities which should receive energy, generally storing it in one or more internal {@link IEnergyStorage} objects. - *

- * A reference implementation is provided {@link TileEnergyHandler}. - * - * @author King Lemming - * - */ -public interface IEnergyReceiver extends IEnergyHandler { - - /** - * Add energy to an IEnergyReceiver, internal distribution is left entirely to the IEnergyReceiver. - * - * @param from - * Orientation the energy is received from. - * @param maxReceive - * Maximum amount of energy to receive. - * @param simulate - * If TRUE, the charge will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) received. - */ - int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate); - -} diff --git a/src/thirdparty/java/cofh/api/energy/IEnergyStorage.java b/src/thirdparty/java/cofh/api/energy/IEnergyStorage.java deleted file mode 100644 index 414b26566..000000000 --- a/src/thirdparty/java/cofh/api/energy/IEnergyStorage.java +++ /dev/null @@ -1,46 +0,0 @@ -package cofh.api.energy; - -/** - * An energy storage is the unit of interaction with Energy inventories.
- * This is not to be implemented on TileEntities. This is for internal use only. - *

- * A reference implementation can be found at {@link EnergyStorage}. - * - * @author King Lemming - * - */ -public interface IEnergyStorage { - - /** - * Adds energy to the storage. Returns quantity of energy that was accepted. - * - * @param maxReceive - * Maximum amount of energy to be inserted. - * @param simulate - * If TRUE, the insertion will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) accepted by the storage. - */ - int receiveEnergy(int maxReceive, boolean simulate); - - /** - * Removes energy from the storage. Returns quantity of energy that was removed. - * - * @param maxExtract - * Maximum amount of energy to be extracted. - * @param simulate - * If TRUE, the extraction will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) extracted from the storage. - */ - int extractEnergy(int maxExtract, boolean simulate); - - /** - * Returns the amount of energy currently stored. - */ - int getEnergyStored(); - - /** - * Returns the maximum amount of energy that can be stored. - */ - int getMaxEnergyStored(); - -} diff --git a/src/thirdparty/java/cofh/api/energy/ItemEnergyContainer.java b/src/thirdparty/java/cofh/api/energy/ItemEnergyContainer.java deleted file mode 100644 index 0fb36dab6..000000000 --- a/src/thirdparty/java/cofh/api/energy/ItemEnergyContainer.java +++ /dev/null @@ -1,113 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -/** - * Reference implementation of {@link IEnergyContainerItem}. Use/extend this or implement your own. - * - * @author King Lemming - * - */ -public class ItemEnergyContainer extends Item implements IEnergyContainerItem { - - protected int capacity; - protected int maxReceive; - protected int maxExtract; - - public ItemEnergyContainer() { - - } - - public ItemEnergyContainer(int capacity) { - - this(capacity, capacity, capacity); - } - - public ItemEnergyContainer(int capacity, int maxTransfer) { - - this(capacity, maxTransfer, maxTransfer); - } - - public ItemEnergyContainer(int capacity, int maxReceive, int maxExtract) { - - this.capacity = capacity; - this.maxReceive = maxReceive; - this.maxExtract = maxExtract; - } - - public ItemEnergyContainer setCapacity(int capacity) { - - this.capacity = capacity; - return this; - } - - public ItemEnergyContainer setMaxTransfer(int maxTransfer) { - - setMaxReceive(maxTransfer); - setMaxExtract(maxTransfer); - return this; - } - - public ItemEnergyContainer setMaxReceive(int maxReceive) { - - this.maxReceive = maxReceive; - return this; - } - - public ItemEnergyContainer setMaxExtract(int maxExtract) { - - this.maxExtract = maxExtract; - return this; - } - - /* IEnergyContainerItem */ - @Override - public int receiveEnergy(ItemStack container, int maxReceive, boolean simulate) { - - if (!container.hasTagCompound()) { - container.setTagCompound(new NBTTagCompound()); - } - int energy = container.getTagCompound().getInteger("Energy"); - int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive)); - - if (!simulate) { - energy += energyReceived; - container.getTagCompound().setInteger("Energy", energy); - } - return energyReceived; - } - - @Override - public int extractEnergy(ItemStack container, int maxExtract, boolean simulate) { - - if (container.getTagCompound() == null || !container.getTagCompound().hasKey("Energy")) { - return 0; - } - int energy = container.getTagCompound().getInteger("Energy"); - int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); - - if (!simulate) { - energy -= energyExtracted; - container.getTagCompound().setInteger("Energy", energy); - } - return energyExtracted; - } - - @Override - public int getEnergyStored(ItemStack container) { - - if (container.getTagCompound() == null || !container.getTagCompound().hasKey("Energy")) { - return 0; - } - return container.getTagCompound().getInteger("Energy"); - } - - @Override - public int getMaxEnergyStored(ItemStack container) { - - return capacity; - } - -} diff --git a/src/thirdparty/java/cofh/api/energy/TileEnergyHandler.java b/src/thirdparty/java/cofh/api/energy/TileEnergyHandler.java deleted file mode 100644 index 3cceab215..000000000 --- a/src/thirdparty/java/cofh/api/energy/TileEnergyHandler.java +++ /dev/null @@ -1,68 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; - -/** - * Reference implementation of {@link IEnergyReceiver} and {@link IEnergyProvider}. Use/extend this or implement your own. - * - * This class is really meant to summarize how each interface is properly used. - * - * @author King Lemming - * - */ -public class TileEnergyHandler extends TileEntity implements IEnergyReceiver, IEnergyProvider { - - protected EnergyStorage storage = new EnergyStorage(32000); - - @Override - public void readFromNBT(NBTTagCompound nbt) { - - super.readFromNBT(nbt); - storage.readFromNBT(nbt); - } - - @Override - public NBTTagCompound writeToNBT(NBTTagCompound nbt) { - - super.writeToNBT(nbt); - storage.writeToNBT(nbt); - return nbt; - } - - /* IEnergyConnection */ - @Override - public boolean canConnectEnergy(EnumFacing from) { - - return true; - } - - /* IEnergyReceiver */ - @Override - public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) { - - return storage.receiveEnergy(maxReceive, simulate); - } - - /* IEnergyProvider */ - @Override - public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) { - - return storage.extractEnergy(maxExtract, simulate); - } - - /* IEnergyHandler */ - @Override - public int getEnergyStored(EnumFacing from) { - - return storage.getEnergyStored(); - } - - @Override - public int getMaxEnergyStored(EnumFacing from) { - - return storage.getMaxEnergyStored(); - } - -} diff --git a/src/thirdparty/java/cofh/api/energy/package-info.java b/src/thirdparty/java/cofh/api/energy/package-info.java deleted file mode 100644 index da8566735..000000000 --- a/src/thirdparty/java/cofh/api/energy/package-info.java +++ /dev/null @@ -1,10 +0,0 @@ -/** - * (C) 2014-2016 Team CoFH / CoFH / Cult of the Full Hub - * http://www.teamcofh.com - */ -@API(apiVersion = CoFHAPIProps.VERSION, owner = "CoFHAPI", provides = "CoFHAPI|energy") -package cofh.api.energy; - -import net.minecraftforge.fml.common.API; -import cofh.api.CoFHAPIProps; - diff --git a/src/thirdparty/java/cofh/api/package-info.java b/src/thirdparty/java/cofh/api/package-info.java deleted file mode 100644 index e2847daad..000000000 --- a/src/thirdparty/java/cofh/api/package-info.java +++ /dev/null @@ -1,9 +0,0 @@ -/** - * (C) 2014-2016 Team CoFH / CoFH / Cult of the Full Hub - * http://www.teamcofh.com - */ -@API(apiVersion = CoFHAPIProps.VERSION, owner = "CoFHLib", provides = "CoFHAPI") -package cofh.api; - -import net.minecraftforge.fml.common.API; -