Updated caps to be manually disabled via config
Moved the cap injection to a method, allows them to be configurable. This is not possible for Forge Energy as it is injected before even the configuration are lodaed, thus violating their own capability contract to use the method injection to explicitly make it configurable. Updated the ratio key for forge energy to "ForgeEnergy" without a space
This commit is contained in:
@@ -26,8 +26,11 @@ import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.common.capabilities.CapabilityInject;
|
||||
import net.minecraftforge.common.capabilities.CapabilityManager;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
|
||||
import appeng.api.storage.IStorageMonitorableAccessor;
|
||||
import appeng.integration.IntegrationRegistry;
|
||||
import appeng.integration.IntegrationType;
|
||||
|
||||
|
||||
/**
|
||||
@@ -40,15 +43,14 @@ public final class Capabilities
|
||||
{
|
||||
}
|
||||
|
||||
@CapabilityInject( IStorageMonitorableAccessor.class )
|
||||
public static Capability<IStorageMonitorableAccessor> STORAGE_MONITORABLE_ACCESSOR;
|
||||
|
||||
@CapabilityInject( ITeslaConsumer.class )
|
||||
public static Capability<ITeslaConsumer> TESLA_CONSUMER;
|
||||
|
||||
@CapabilityInject( ITeslaHolder.class )
|
||||
public static Capability<ITeslaHolder> TESLA_HOLDER;
|
||||
|
||||
public static Capability<IEnergyStorage> FORGE_ENERGY;
|
||||
|
||||
/**
|
||||
* Register AE2 provided capabilities.
|
||||
*/
|
||||
@@ -57,6 +59,36 @@ public final class Capabilities
|
||||
CapabilityManager.INSTANCE.register( IStorageMonitorableAccessor.class, createNullStorage(), NullMENetworkAccessor::new );
|
||||
}
|
||||
|
||||
@CapabilityInject( IStorageMonitorableAccessor.class )
|
||||
private static void capIStorageMonitorableAccessorRegistered( Capability<IStorageMonitorableAccessor> cap )
|
||||
{
|
||||
STORAGE_MONITORABLE_ACCESSOR = cap;
|
||||
}
|
||||
|
||||
@CapabilityInject( ITeslaConsumer.class )
|
||||
private static void capITeslaConsumerRegistered( Capability<ITeslaConsumer> cap )
|
||||
{
|
||||
if( IntegrationRegistry.INSTANCE.isEnabled( IntegrationType.TESLA ) )
|
||||
{
|
||||
TESLA_CONSUMER = cap;
|
||||
}
|
||||
}
|
||||
|
||||
@CapabilityInject( ITeslaHolder.class )
|
||||
private static void capITeslaHolderRegistered( Capability<ITeslaHolder> cap )
|
||||
{
|
||||
if( IntegrationRegistry.INSTANCE.isEnabled( IntegrationType.TESLA ) )
|
||||
{
|
||||
TESLA_HOLDER = cap;
|
||||
}
|
||||
}
|
||||
|
||||
@CapabilityInject( IEnergyStorage.class )
|
||||
private static void capIEnergyStorageRegistered( Capability<IEnergyStorage> cap )
|
||||
{
|
||||
FORGE_ENERGY = cap;
|
||||
}
|
||||
|
||||
// Create a storage implementation that does not do anything
|
||||
private static <T> Capability.IStorage<T> createNullStorage()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user