diff --git a/gradle.properties b/gradle.properties index f3832bff7..9063500e7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,7 @@ artifact_basename=appliedenergistics2 minecraft_release=1.16 minecraft_version=1.16.1 mcp_mappings=20200723-1.16.1 -forge_version=32.0.93 +forge_version=32.0.108 ######################################################### # Provided APIs # diff --git a/src/main/java/appeng/core/AppEng.java b/src/main/java/appeng/core/AppEng.java index 40ec3d89e..27b2d9927 100644 --- a/src/main/java/appeng/core/AppEng.java +++ b/src/main/java/appeng/core/AppEng.java @@ -19,7 +19,6 @@ package appeng.core; import java.util.concurrent.TimeUnit; -import java.util.function.Supplier; import javax.annotation.Nonnull; @@ -40,8 +39,6 @@ import net.minecraft.world.gen.feature.Feature; import net.minecraft.world.gen.feature.structure.Structure; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.model.ModelLoaderRegistry; -import net.minecraftforge.client.model.geometry.IModelGeometry; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.DistExecutor; @@ -56,28 +53,10 @@ import net.minecraftforge.fml.event.server.FMLServerStoppedEvent; import net.minecraftforge.fml.event.server.FMLServerStoppingEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import appeng.block.paint.PaintSplotchesModel; -import appeng.block.qnb.QnbFormedModel; -import appeng.bootstrap.components.IClientSetupComponent; import appeng.bootstrap.components.IInitComponent; import appeng.bootstrap.components.IPostInitComponent; import appeng.capabilities.Capabilities; import appeng.client.ClientHelper; -import appeng.client.render.DummyFluidItemModel; -import appeng.client.render.FacadeItemModel; -import appeng.client.render.SimpleModelLoader; -import appeng.client.render.cablebus.CableBusModelLoader; -import appeng.client.render.cablebus.P2PTunnelFrequencyModel; -import appeng.client.render.crafting.CraftingCubeModelLoader; -import appeng.client.render.crafting.EncodedPatternModelLoader; -import appeng.client.render.model.BiometricCardModel; -import appeng.client.render.model.ColorApplicatorModel; -import appeng.client.render.model.DriveModel; -import appeng.client.render.model.GlassModel; -import appeng.client.render.model.MemoryCardModel; -import appeng.client.render.model.SkyCompassModel; -import appeng.client.render.spatial.SpatialPylonModel; -import appeng.core.features.registries.PartModels; import appeng.core.stats.AdvancementTriggers; import appeng.core.sync.network.NetworkHandler; import appeng.core.worlddata.WorldData; @@ -89,7 +68,6 @@ import appeng.entity.TinyTNTPrimedRenderer; import appeng.hooks.TickHandler; import appeng.integration.Integrations; import appeng.parts.PartPlacement; -import appeng.parts.automation.PlaneModelLoader; import appeng.server.ServerHelper; @Mod(AppEng.MOD_ID) @@ -180,38 +158,6 @@ public final class AppEng { RenderingRegistry.registerEntityRenderingHandler(ChargedQuartzEntity.TYPE, m -> new ItemRenderer(m, Minecraft.getInstance().getItemRenderer())); - // TODO: Do not use the internal API - final ApiDefinitions definitions = Api.INSTANCE.definitions(); - definitions.getRegistry().getBootstrapComponents(IClientSetupComponent.class) - .forEachRemaining(IClientSetupComponent::setup); - - addBuiltInModel("glass", GlassModel::new); - addBuiltInModel("sky_compass", SkyCompassModel::new); - addBuiltInModel("dummy_fluid_item", DummyFluidItemModel::new); - addBuiltInModel("memory_card", MemoryCardModel::new); - addBuiltInModel("biometric_card", BiometricCardModel::new); - addBuiltInModel("drive", DriveModel::new); - addBuiltInModel("color_applicator", ColorApplicatorModel::new); - addBuiltInModel("spatial_pylon", SpatialPylonModel::new); - addBuiltInModel("paint_splotches", PaintSplotchesModel::new); - addBuiltInModel("quantum_bridge_formed", QnbFormedModel::new); - addBuiltInModel("p2p_tunnel_frequency", P2PTunnelFrequencyModel::new); - addBuiltInModel("facade", FacadeItemModel::new); - ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "encoded_pattern"), - EncodedPatternModelLoader.INSTANCE); - ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "part_plane"), - PlaneModelLoader.INSTANCE); - ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "crafting_cube"), - CraftingCubeModelLoader.INSTANCE); - ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "cable_bus"), - new CableBusModelLoader((PartModels) Api.INSTANCE.registries().partModels())); - - } - - @OnlyIn(Dist.CLIENT) - private static > void addBuiltInModel(String id, Supplier modelFactory) { - ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, id), - new SimpleModelLoader<>(modelFactory)); } @Nonnull diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index ffcc9d015..cdced766c 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -18,6 +18,8 @@ package appeng.core; +import java.util.function.Supplier; + import net.minecraft.advancements.CriteriaTriggers; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -50,7 +52,8 @@ import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.event.ParticleFactoryRegisterEvent; import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.client.model.ModelLoader; -import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.client.model.ModelLoaderRegistry; +import net.minecraftforge.client.model.geometry.IModelGeometry; import net.minecraftforge.common.extensions.IForgeContainerType; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.IEventBus; @@ -79,7 +82,10 @@ import appeng.api.networking.security.ISecurityGrid; import appeng.api.networking.spatial.ISpatialCache; import appeng.api.networking.storage.IStorageGrid; import appeng.api.networking.ticking.ITickManager; +import appeng.block.paint.PaintSplotchesModel; +import appeng.block.qnb.QnbFormedModel; import appeng.bootstrap.components.IBlockRegistrationComponent; +import appeng.bootstrap.components.IClientSetupComponent; import appeng.bootstrap.components.IEntityRegistrationComponent; import appeng.bootstrap.components.IItemColorRegistrationComponent; import appeng.bootstrap.components.IItemRegistrationComponent; @@ -118,6 +124,13 @@ import appeng.client.gui.implementations.UpgradeableScreen; import appeng.client.gui.implementations.VibrationChamberScreen; import appeng.client.gui.implementations.WirelessScreen; import appeng.client.gui.implementations.WirelessTermScreen; +import appeng.client.render.DummyFluidItemModel; +import appeng.client.render.FacadeItemModel; +import appeng.client.render.SimpleModelLoader; +import appeng.client.render.cablebus.CableBusModelLoader; +import appeng.client.render.cablebus.P2PTunnelFrequencyModel; +import appeng.client.render.crafting.CraftingCubeModelLoader; +import appeng.client.render.crafting.EncodedPatternModelLoader; import appeng.client.render.effects.ChargedOreFX; import appeng.client.render.effects.CraftingFx; import appeng.client.render.effects.EnergyFx; @@ -126,6 +139,13 @@ import appeng.client.render.effects.LightningFX; import appeng.client.render.effects.MatterCannonFX; import appeng.client.render.effects.ParticleTypes; import appeng.client.render.effects.VibrantFX; +import appeng.client.render.model.BiometricCardModel; +import appeng.client.render.model.ColorApplicatorModel; +import appeng.client.render.model.DriveModel; +import appeng.client.render.model.GlassModel; +import appeng.client.render.model.MemoryCardModel; +import appeng.client.render.model.SkyCompassModel; +import appeng.client.render.spatial.SpatialPylonModel; import appeng.client.render.tesr.InscriberTESR; import appeng.client.render.tesr.SkyChestTESR; import appeng.container.AEBaseContainer; @@ -194,11 +214,10 @@ import appeng.me.cache.SecurityCache; import appeng.me.cache.SpatialPylonCache; import appeng.me.cache.TickManagerCache; import appeng.mixins.StructureAccessor; +import appeng.parts.automation.PlaneModelLoader; import appeng.recipes.game.DisassembleRecipe; import appeng.recipes.game.FacadeRecipe; -import appeng.recipes.handlers.GrinderRecipe; import appeng.recipes.handlers.GrinderRecipeSerializer; -import appeng.recipes.handlers.InscriberRecipe; import appeng.recipes.handlers.InscriberRecipeSerializer; import appeng.server.AECommand; import appeng.spatial.StorageCellBiome; @@ -239,6 +258,39 @@ final class Registration { @OnlyIn(Dist.CLIENT) public void modelRegistryEvent(ModelRegistryEvent event) { registerSpecialModels(); + + // TODO: Do not use the internal API + final ApiDefinitions definitions = Api.INSTANCE.definitions(); + definitions.getRegistry().getBootstrapComponents(IClientSetupComponent.class) + .forEachRemaining(IClientSetupComponent::setup); + + addBuiltInModel("glass", GlassModel::new); + addBuiltInModel("sky_compass", SkyCompassModel::new); + addBuiltInModel("dummy_fluid_item", DummyFluidItemModel::new); + addBuiltInModel("memory_card", MemoryCardModel::new); + addBuiltInModel("biometric_card", BiometricCardModel::new); + addBuiltInModel("drive", DriveModel::new); + addBuiltInModel("color_applicator", ColorApplicatorModel::new); + addBuiltInModel("spatial_pylon", SpatialPylonModel::new); + addBuiltInModel("paint_splotches", PaintSplotchesModel::new); + addBuiltInModel("quantum_bridge_formed", QnbFormedModel::new); + addBuiltInModel("p2p_tunnel_frequency", P2PTunnelFrequencyModel::new); + addBuiltInModel("facade", FacadeItemModel::new); + ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "encoded_pattern"), + EncodedPatternModelLoader.INSTANCE); + ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "part_plane"), + PlaneModelLoader.INSTANCE); + ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "crafting_cube"), + CraftingCubeModelLoader.INSTANCE); + ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "cable_bus"), + new CableBusModelLoader((PartModels) Api.INSTANCE.registries().partModels())); + + } + + @OnlyIn(Dist.CLIENT) + private static > void addBuiltInModel(String id, Supplier modelFactory) { + ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, id), + new SimpleModelLoader<>(modelFactory)); } /** @@ -726,7 +778,7 @@ final class Registration { modEventBus.addListener(this::registerParticleFactories); modEventBus.addListener(this::registerTextures); - MinecraftForge.EVENT_BUS.addListener(this::modelRegistryEvent); + modEventBus.addListener(this::modelRegistryEvent); modEventBus.addListener(this::registerItemColors); modEventBus.addListener(this::handleModelBake); } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 26f317367..39cd05e59 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -16,7 +16,7 @@ description="A Mod about Matter, Energy and using them to conquer the world.." [[dependencies.appliedenergistics2]] modId="forge" mandatory=true - versionRange="[32.0.75,33.0.0)" + versionRange="[32.0.108,33.0.0)" ordering="NONE" side="BOTH"