diff --git a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java index fa6bc672e..ed3e94a68 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java +++ b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java @@ -136,6 +136,8 @@ public class OverdriveThatMatters { MinecraftForge.EVENT_BUS.register(MatterRegistry.class); MinecraftForge.EVENT_BUS.register(BlockEntityBlackHole.BlackHoleExplosionQueue.class); + FMLJavaModLoadingContext.get().getModEventBus().register(MatteryCapability.class); + FMLJavaModLoadingContext.get().getModEventBus().register(Registry.Items.class); FMLJavaModLoadingContext.get().getModEventBus().register(Registry.Blocks.class); FMLJavaModLoadingContext.get().getModEventBus().register(Registry.BlockEntities.class); @@ -162,12 +164,7 @@ public class OverdriveThatMatters { }; } - private static AbstractMatteryDrive drive; - private void setup(final FMLCommonSetupEvent event) { - // some preinit code - MatteryCapability.register(); - // LOGGER.info("Registered capabilities"); MatteryNetworking.register(); // LOGGER.info("Registered network"); diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/MatteryCapability.java b/src/main/java/ru/dbotthepony/mc/otm/capability/MatteryCapability.java index 5e5662891..95ea20320 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/MatteryCapability.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/MatteryCapability.java @@ -1,8 +1,6 @@ package ru.dbotthepony.mc.otm.capability; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.CapabilityInject; -import net.minecraftforge.common.capabilities.CapabilityManager; +import net.minecraftforge.common.capabilities.*; import net.minecraftforge.energy.IEnergyStorage; import ru.dbotthepony.mc.otm.capability.android.IAndroidCapability; import ru.dbotthepony.mc.otm.capability.drive.IMatteryDrive; @@ -16,39 +14,25 @@ import java.math.MathContext; import java.math.RoundingMode; public class MatteryCapability { - @CapabilityInject(IMatteryEnergyStorage.class) - public static Capability ENERGY = null; + public static final Capability ENERGY = CapabilityManager.get(new CapabilityToken<>() {}); + public static final Capability ANDROID = CapabilityManager.get(new CapabilityToken<>() {}); + public static final Capability MATTER = CapabilityManager.get(new CapabilityToken<>() {}); + public static final Capability MATTER_CELL = CapabilityManager.get(new CapabilityToken<>() {}); + public static final Capability PATTERN = CapabilityManager.get(new CapabilityToken<>() {}); + public static final Capability TASK = CapabilityManager.get(new CapabilityToken<>() {}); + public static final Capability DRIVE = CapabilityManager.get(new CapabilityToken<>() {}); + public static final Capability STORAGE_CELL = CapabilityManager.get(new CapabilityToken<>() {}); - @CapabilityInject(IAndroidCapability.class) - public static Capability ANDROID = null; - - @CapabilityInject(IMatterHandler.class) - public static Capability MATTER = null; - - @CapabilityInject(IMatterGridCell.class) - public static Capability MATTER_CELL = null; - - @CapabilityInject(IPatternStorage.class) - public static Capability PATTERN = null; - - @CapabilityInject(IMatterTaskProvider.class) - public static Capability TASK = null; - - @CapabilityInject(IMatteryDrive.class) - public static Capability DRIVE = null; - - @CapabilityInject(IStorageGridCell.class) - public static Capability STORAGE_CELL = null; - - public static void register() { - CapabilityManager.INSTANCE.register(IAndroidCapability.class); - CapabilityManager.INSTANCE.register(IMatteryEnergyStorage.class); - CapabilityManager.INSTANCE.register(IMatterHandler.class); - CapabilityManager.INSTANCE.register(IPatternStorage.class); - CapabilityManager.INSTANCE.register(IMatterGridCell.class); - CapabilityManager.INSTANCE.register(IMatterTaskProvider.class); - CapabilityManager.INSTANCE.register(IMatteryDrive.class); - CapabilityManager.INSTANCE.register(IStorageGridCell.class); + @SuppressWarnings("unused") + public static void register(final RegisterCapabilitiesEvent event) { + event.register(IMatteryEnergyStorage.class); + event.register(IAndroidCapability.class); + event.register(IMatterHandler.class); + event.register(IMatterGridCell.class); + event.register(IPatternStorage.class); + event.register(IMatterTaskProvider.class); + event.register(IMatteryDrive.class); + event.register(IStorageGridCell.class); } public static final MathContext ROUND_RULES = new MathContext(32, RoundingMode.HALF_DOWN);