First iteration of making integrations typesafe

This commit is contained in:
yueh
2015-08-06 16:01:56 +02:00
committed by thatsIch
parent cdcba63c2d
commit 0d25b76b77
45 changed files with 446 additions and 170 deletions
@@ -45,6 +45,7 @@ import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.PacketClick;
import appeng.integration.IntegrationType;
import appeng.items.AEBaseItem;
import appeng.items.contents.NetworkToolViewer;
import appeng.transformer.annotations.Integration.Interface;
@@ -53,8 +54,8 @@ import appeng.util.Platform;
import com.google.common.base.Optional;
// TODO BC Integration
//@Interface( iface = "buildcraft.api.tools.IToolWrench", iname = "BuildCraftCore" )
public class ToolNetworkTool extends AEBaseItem implements IGuiItem, IAEWrench
//@Interface( iface = "buildcraft.api.tools.IToolWrench", iname = IntegrationType.BuildCraftCore )
public class ToolNetworkTool extends AEBaseItem implements IGuiItem, IAEWrench /*, IToolWrench */
{
public ToolNetworkTool()
@@ -19,7 +19,23 @@
package appeng.items.tools.powered.powersink;
//@InterfaceList( value = { @Interface( iface = "ic2.api.item.ISpecialElectricItem", iname = "IC2" ), @Interface( iface = "ic2.api.item.IElectricItemManager", iname = "IC2" ) } )
//import com.google.common.base.Optional;
//
//import net.minecraft.entity.EntityLivingBase;
//import net.minecraft.item.Item;
//import net.minecraft.item.ItemStack;
//
//import ic2.api.item.IElectricItemManager;
//import ic2.api.item.ISpecialElectricItem;
//
//import appeng.api.config.PowerUnits;
//import appeng.integration.IntegrationType;
//import appeng.transformer.annotations.Integration.Interface;
//import appeng.transformer.annotations.Integration.InterfaceList;
//import appeng.transformer.annotations.Integration.Method;
//
//
//@InterfaceList( value = { @Interface( iface = "ic2.api.item.ISpecialElectricItem", iname = IntegrationType.IC2 ), @Interface( iface = "ic2.api.item.IElectricItemManager", iname = IntegrationType.IC2 ) } )
//public abstract class IC2 extends AERootPoweredItem implements IElectricItemManager, ISpecialElectricItem
//{
// public IC2( double powerCapacity, Optional<String> subName )
@@ -120,7 +136,7 @@ package appeng.items.tools.powered.powersink;
// }
//
// @Override
// @Method( iname = "IC2" )
// @Method( iname = IntegrationType.IC2 )
// public IElectricItemManager getManager( ItemStack itemStack )
// {
// return this;
@@ -19,7 +19,18 @@
package appeng.items.tools.powered.powersink;
//@Interface( iface = "cofh.api.energy.IEnergyContainerItem", iname = "RFItem" )
//import com.google.common.base.Optional;
//
//import net.minecraft.item.ItemStack;
//
//import cofh.api.energy.IEnergyContainerItem;
//
//import appeng.api.config.PowerUnits;
//import appeng.integration.IntegrationType;
//import appeng.transformer.annotations.Integration.Interface;
//
//
//@Interface( iface = "cofh.api.energy.IEnergyContainerItem", iname = IntegrationType.RFItem )
//public abstract class RedstoneFlux extends IC2 implements IEnergyContainerItem
//{
// public RedstoneFlux( double powerCapacity, Optional<String> subName )
@@ -30,14 +30,15 @@ import net.minecraft.world.World;
import appeng.api.implementations.items.IAEWrench;
import appeng.api.util.DimensionalCoord;
import appeng.core.features.AEFeature;
import appeng.integration.IntegrationType;
import appeng.items.AEBaseItem;
import appeng.util.Platform;
import com.google.common.base.Optional;
// TODO BC Integration
//@Interface( iface = "buildcraft.api.tools.IToolWrench", iname = "BuildCraftCore" )
public class ToolQuartzWrench extends AEBaseItem implements IAEWrench
//@Interface( iface = "buildcraft.api.tools.IToolWrench", iname = IntegrationType.BuildCraftCore )
public class ToolQuartzWrench extends AEBaseItem implements IAEWrench /*, IToolWrench */
{
public ToolQuartzWrench( AEFeature type )