Fixed Layer Dependency Issue.
This commit is contained in:
+1
-1
Submodule api updated: d9b2b14423...6184638276
+6
-13
@@ -1,24 +1,19 @@
|
|||||||
package appeng.core;
|
package appeng.core;
|
||||||
|
|
||||||
import ic2.api.energy.tile.IEnergySink;
|
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
import net.minecraft.inventory.ISidedInventory;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.WeightedRandomChestContent;
|
import net.minecraft.util.WeightedRandomChestContent;
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
import net.minecraftforge.common.ChestGenHooks;
|
import net.minecraftforge.common.ChestGenHooks;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.fluids.IFluidHandler;
|
|
||||||
import appeng.api.AEApi;
|
import appeng.api.AEApi;
|
||||||
import appeng.api.config.Upgrades;
|
import appeng.api.config.Upgrades;
|
||||||
import appeng.api.definitions.Blocks;
|
import appeng.api.definitions.Blocks;
|
||||||
import appeng.api.definitions.Items;
|
import appeng.api.definitions.Items;
|
||||||
import appeng.api.definitions.Materials;
|
import appeng.api.definitions.Materials;
|
||||||
import appeng.api.definitions.Parts;
|
import appeng.api.definitions.Parts;
|
||||||
import appeng.api.implementations.tiles.ITileStorageMonitorable;
|
|
||||||
import appeng.api.networking.energy.IEnergyGrid;
|
import appeng.api.networking.energy.IEnergyGrid;
|
||||||
import appeng.api.networking.pathing.IPathingGrid;
|
import appeng.api.networking.pathing.IPathingGrid;
|
||||||
import appeng.api.networking.security.ISecurityGrid;
|
import appeng.api.networking.security.ISecurityGrid;
|
||||||
@@ -118,8 +113,6 @@ import appeng.me.cache.SpatialPylonCache;
|
|||||||
import appeng.me.cache.TickManagerCache;
|
import appeng.me.cache.TickManagerCache;
|
||||||
import appeng.me.storage.AEExternalHandler;
|
import appeng.me.storage.AEExternalHandler;
|
||||||
import appeng.recipes.ores.OreDictionaryHandler;
|
import appeng.recipes.ores.OreDictionaryHandler;
|
||||||
import buildcraft.api.power.IPowerEmitter;
|
|
||||||
import buildcraft.api.power.IPowerReceptor;
|
|
||||||
|
|
||||||
import com.google.common.collect.ArrayListMultimap;
|
import com.google.common.collect.ArrayListMultimap;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
@@ -396,12 +389,12 @@ public class Registration
|
|||||||
|
|
||||||
public void Init(FMLInitializationEvent event)
|
public void Init(FMLInitializationEvent event)
|
||||||
{
|
{
|
||||||
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIEnergySink", IEnergySink.class );
|
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIEnergySink", "ic2.api.energy.tile.IEnergySink" );
|
||||||
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerISidedInventory", ISidedInventory.class );
|
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerISidedInventory", "net.minecraft.inventory.ISidedInventory" );
|
||||||
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIPowerEmitter", IPowerEmitter.class );
|
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIPowerEmitter", "buildcraft.api.power.IPowerEmitter" );
|
||||||
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIPowerReceptor", IPowerReceptor.class );
|
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIPowerReceptor", "buildcraft.api.power.IPowerReceptor" );
|
||||||
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIFluidHandler", IFluidHandler.class );
|
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIFluidHandler", "net.minecraftforge.fluids.IFluidHandler" );
|
||||||
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerITileStorageMonitorable", ITileStorageMonitorable.class );
|
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerITileStorageMonitorable", "appeng.api.implementations.tiles.ITileStorageMonitorable" );
|
||||||
|
|
||||||
TickRegistry.registerTickHandler( TickHandler.instance, Side.SERVER );
|
TickRegistry.registerTickHandler( TickHandler.instance, Side.SERVER );
|
||||||
TickRegistry.registerTickHandler( TickHandler.instance, Side.CLIENT );
|
TickRegistry.registerTickHandler( TickHandler.instance, Side.CLIENT );
|
||||||
|
|||||||
+20
-13
@@ -65,10 +65,8 @@ public class ApiPart implements IPartHelper
|
|||||||
ClassLoader loader = getClass().getClassLoader();// ClassLoader.getSystemClassLoader();
|
ClassLoader loader = getClass().getClassLoader();// ClassLoader.getSystemClassLoader();
|
||||||
Class root = ClassLoader.class;
|
Class root = ClassLoader.class;
|
||||||
Class cls = loader.getClass();
|
Class cls = loader.getClass();
|
||||||
java.lang.reflect.Method defineClassMethod = root.getDeclaredMethod( "defineClass",
|
java.lang.reflect.Method defineClassMethod = root.getDeclaredMethod( "defineClass", new Class[] { String.class, byte[].class, int.class, int.class } );
|
||||||
new Class[] { String.class, byte[].class, int.class, int.class } );
|
java.lang.reflect.Method runTransformersMethod = cls.getDeclaredMethod( "runTransformers", new Class[] { String.class, String.class, byte[].class } );
|
||||||
java.lang.reflect.Method runTransformersMethod = cls
|
|
||||||
.getDeclaredMethod( "runTransformers", new Class[] { String.class, String.class, byte[].class } );
|
|
||||||
|
|
||||||
runTransformersMethod.setAccessible( true );
|
runTransformersMethod.setAccessible( true );
|
||||||
defineClassMethod.setAccessible( true );
|
defineClassMethod.setAccessible( true );
|
||||||
@@ -121,9 +119,11 @@ public class ApiPart implements IPartHelper
|
|||||||
public Class getCombinedInstance(String base)// , CableBusContainer cbc)
|
public Class getCombinedInstance(String base)// , CableBusContainer cbc)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* List<String> desc = new LinkedList(); for (ForgeDirection side : ForgeDirection.values()) { IBusPart part =
|
* List<String> desc = new LinkedList(); for (ForgeDirection side :
|
||||||
* cbc.getPart( side ); if ( part != null ) { for (Class c : interfaces2Layer.keySet()) { if ( c.isInstance(
|
* ForgeDirection.values()) { IBusPart part = cbc.getPart( side ); if (
|
||||||
* part ) ) desc.add( interfaces2Layer.get( c ).getName() ); } } }
|
* part != null ) { for (Class c : interfaces2Layer.keySet()) { if (
|
||||||
|
* c.isInstance( part ) ) desc.add( interfaces2Layer.get( c ).getName()
|
||||||
|
* ); } } }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( desc.size() == 0 )
|
if ( desc.size() == 0 )
|
||||||
@@ -328,15 +328,22 @@ public class ApiPart implements IPartHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean registerNewLayer(String layer, Class<?> layerInterface)
|
public boolean registerNewLayer(String layer, String layerInterface)
|
||||||
{
|
{
|
||||||
if ( interfaces2Layer.get( layerInterface ) == null )
|
try
|
||||||
|
{
|
||||||
|
if ( interfaces2Layer.get( layerInterface ) == null )
|
||||||
|
{
|
||||||
|
interfaces2Layer.put( Class.forName( layerInterface ), layer );
|
||||||
|
desc.add( layerInterface );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
AELog.info( "Layer " + layer + " not registered, " + layerInterface + " aready has a layer." );
|
||||||
|
}
|
||||||
|
catch (Throwable t)
|
||||||
{
|
{
|
||||||
desc.add( layerInterface.getName() );
|
|
||||||
interfaces2Layer.put( layerInterface, layer );
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
AELog.info( "Layer " + layer + " not registered, " + layerInterface.getName() + " aready has a layer." );
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import buildcraft.BuildCraftEnergy;
|
|||||||
import buildcraft.BuildCraftTransport;
|
import buildcraft.BuildCraftTransport;
|
||||||
import buildcraft.api.tools.IToolWrench;
|
import buildcraft.api.tools.IToolWrench;
|
||||||
import buildcraft.api.transport.FacadeManager;
|
import buildcraft.api.transport.FacadeManager;
|
||||||
import buildcraft.api.transport.IPipeConnection;
|
|
||||||
import buildcraft.api.transport.IPipeTile;
|
import buildcraft.api.transport.IPipeTile;
|
||||||
import buildcraft.api.transport.IPipeTile.PipeType;
|
import buildcraft.api.transport.IPipeTile.PipeType;
|
||||||
import buildcraft.transport.ItemFacade;
|
import buildcraft.transport.ItemFacade;
|
||||||
@@ -176,7 +175,7 @@ public class BC implements IIntegrationModule, IBC
|
|||||||
@Override
|
@Override
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIPipeConnection", IPipeConnection.class );
|
AEApi.instance().partHelper().registerNewLayer( "appeng.api.parts.layers.LayerIPipeConnection", "buildcraft.api.transport.IPipeConnection" );
|
||||||
AEApi.instance().registries().externalStorage().addExternalStorageInterface( new BCPipeHandler() );
|
AEApi.instance().registries().externalStorage().addExternalStorageInterface( new BCPipeHandler() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user