Switched from FML Optional to AE Optional, lets me specify more interesting requirements for integration, and lets the config alter the resulting integration setup.

This commit is contained in:
AlgorithmX2
2014-04-06 01:55:24 -05:00
parent 97c06db6ef
commit 5248eeeace
32 changed files with 526 additions and 271 deletions
+2 -2
View File
@@ -23,11 +23,11 @@ import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.PacketClick;
import appeng.items.AEBaseItem;
import appeng.items.contents.NetworkToolViewer;
import appeng.transformer.annotations.integration.Interface;
import appeng.util.Platform;
import buildcraft.api.tools.IToolWrench;
import cpw.mods.fml.common.Optional.Interface;
@Interface(iface = "buildcraft.api.tools.IToolWrench", modid = "BuildCraftAPI|core")
@Interface(iface = "buildcraft.api.tools.IToolWrench", iname = "BC")
public class ToolNetworkTool extends AEBaseItem implements IGuiItem, IAEWrench, IToolWrench
{
@@ -1,6 +1,6 @@
package appeng.items.tools.powered.powersink;
public class AEBasePoweredItem extends ThermalExpansion
public class AEBasePoweredItem extends RedstoneFlux
{
public AEBasePoweredItem(Class c, String subname) {
+2 -2
View File
@@ -4,9 +4,9 @@ import ic2.api.item.IElectricItemManager;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import appeng.api.config.PowerUnits;
import cpw.mods.fml.common.Optional.Interface;
import appeng.transformer.annotations.integration.Interface;
@Interface(iface = "ic2.api.item.IElectricItemManager", modid = "IC2")
@Interface(iface = "ic2.api.item.IElectricItemManager", iname = "IC2")
public class IC2 extends AERootPoweredItem implements IElectricItemManager
{
@@ -1,40 +1,40 @@
package appeng.items.tools.powered.powersink;
import net.minecraft.item.ItemStack;
import appeng.api.config.PowerUnits;
import cofh.api.energy.IEnergyContainerItem;
import cpw.mods.fml.common.Optional.Interface;
@Interface(iface = "cofh.api.energy.IEnergyContainerItem", modid = "ThermalExpansion")
public class ThermalExpansion extends IC2 implements IEnergyContainerItem
{
public ThermalExpansion(Class c, String subname) {
super( c, subname );
}
@Override
public int receiveEnergy(ItemStack is, int maxReceive, boolean simulate)
{
return maxReceive - (int) injectExternalPower( PowerUnits.RF, is, maxReceive, simulate );
}
@Override
public int extractEnergy(ItemStack container, int maxExtract, boolean simulate)
{
return 0;
}
@Override
public int getEnergyStored(ItemStack is)
{
return (int) PowerUnits.AE.convertTo( PowerUnits.RF, getAECurrentPower( is ) );
}
@Override
public int getMaxEnergyStored(ItemStack is)
{
return (int) PowerUnits.AE.convertTo( PowerUnits.RF, getAEMaxPower( is ) );
}
}
package appeng.items.tools.powered.powersink;
import net.minecraft.item.ItemStack;
import appeng.api.config.PowerUnits;
import appeng.transformer.annotations.integration.Interface;
import cofh.api.energy.IEnergyContainerItem;
@Interface(iface = "cofh.api.energy.IEnergyContainerItem", iname = "RF")
public class RedstoneFlux extends IC2 implements IEnergyContainerItem
{
public RedstoneFlux(Class c, String subname) {
super( c, subname );
}
@Override
public int receiveEnergy(ItemStack is, int maxReceive, boolean simulate)
{
return maxReceive - (int) injectExternalPower( PowerUnits.RF, is, maxReceive, simulate );
}
@Override
public int extractEnergy(ItemStack container, int maxExtract, boolean simulate)
{
return 0;
}
@Override
public int getEnergyStored(ItemStack is)
{
return (int) PowerUnits.AE.convertTo( PowerUnits.RF, getAECurrentPower( is ) );
}
@Override
public int getMaxEnergyStored(ItemStack is)
{
return (int) PowerUnits.AE.convertTo( PowerUnits.RF, getAEMaxPower( is ) );
}
}
+2 -2
View File
@@ -10,11 +10,11 @@ import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.implementations.items.IAEWrench;
import appeng.core.features.AEFeature;
import appeng.items.AEBaseItem;
import appeng.transformer.annotations.integration.Interface;
import appeng.util.Platform;
import buildcraft.api.tools.IToolWrench;
import cpw.mods.fml.common.Optional.Interface;
@Interface(iface = "buildcraft.api.tools.IToolWrench", modid = "BuildCraftAPI|core")
@Interface(iface = "buildcraft.api.tools.IToolWrench", iname = "BC")
public class ToolQuartzWrench extends AEBaseItem implements IAEWrench, IToolWrench
{