List of usage examples for net.minecraftforge.client.event ModelBakeEvent getModelRegistry
public Map<ResourceLocation, IBakedModel> getModelRegistry()
From source file:appeng.bootstrap.components.ModelOverrideComponent.java
License:Open Source License
@SubscribeEvent public void onModelBakeEvent(final ModelBakeEvent event) { IRegistry<ModelResourceLocation, IBakedModel> modelRegistry = event.getModelRegistry(); Set<ModelResourceLocation> keys = Sets.newHashSet(modelRegistry.getKeys()); IBakedModel missingModel = modelRegistry.getObject(MODEL_MISSING); for (ModelResourceLocation location : keys) { if (!location.getResourceDomain().equals(AppEng.MOD_ID)) { continue; }//from w w w. j a v a 2 s.c o m IBakedModel orgModel = modelRegistry.getObject(location); // Don't customize the missing model. This causes Forge to swallow exceptions if (orgModel == missingModel) { continue; } BiFunction<ModelResourceLocation, IBakedModel, IBakedModel> customizer = this.customizer .get(location.getResourcePath()); if (customizer != null) { IBakedModel newModel = customizer.apply(location, orgModel); if (newModel != orgModel) { modelRegistry.putObject(location, newModel); } } } }
From source file:blusunrize.immersiveengineering.client.ImmersiveModelRegistry.java
@SubscribeEvent public void onModelBakeEvent(ModelBakeEvent event) { for (Map.Entry<ModelResourceLocation, ItemModelReplacement> entry : itemModelReplacements.entrySet()) { IBakedModel object = event.getModelRegistry().getObject(entry.getKey()); if (object != null) { try { event.getModelRegistry().putObject(entry.getKey(), entry.getValue().createBakedModel(object)); } catch (Exception e) { e.printStackTrace();//from www.ja v a2 s .com } } } ModelResourceLocation mLoc = new ModelResourceLocation( new ResourceLocation("immersiveengineering", IEContent.itemCoresample.itemName), "inventory"); event.getModelRegistry().putObject(mLoc, new ModelCoresample()); IConveyorBelt belt = ConveyorHandler .getConveyor(new ResourceLocation(ImmersiveEngineering.MODID, "conveyor"), null); ModelConveyor modelConveyor = new ModelConveyor(belt); mLoc = new ModelResourceLocation(new ResourceLocation("immersiveengineering", "conveyor"), "normal"); event.getModelRegistry().putObject(mLoc, modelConveyor); mLoc = new ModelResourceLocation(new ResourceLocation("immersiveengineering", "conveyor"), "inventory"); event.getModelRegistry().putObject(mLoc, modelConveyor); mLoc = new ModelResourceLocation(new ResourceLocation(ImmersiveEngineering.MODID, "connector"), "inventory,type=feedthrough"); event.getModelRegistry().putObject(mLoc, new FeedthroughModel()); }
From source file:com.buuz135.industrial.proxy.client.event.IFClientEvents.java
License:Open Source License
@SubscribeEvent public void modelBake(ModelBakeEvent event) { boolean isApril = Calendar.getInstance().get(Calendar.MONTH) == Calendar.APRIL && Calendar.getInstance().get(Calendar.DAY_OF_MONTH) == 1; for (ModelResourceLocation resourceLocation : event.getModelRegistry().getKeys()) { if (resourceLocation.getNamespace().equals(Reference.MOD_ID)) { if (resourceLocation.getPath().contains("conveyor") && !resourceLocation.getPath().contains("upgrade")) event.getModelRegistry().putObject(resourceLocation, new ConveyorBlockModel(event.getModelRegistry().getObject(resourceLocation))); if (isApril && CustomConfiguration.enableMultiblockEdition) { try { IModel model = ModelLoaderRegistry.getModel(resourceLocation); model.getDependencies().forEach(dep -> { try { ModelLoaderRegistry.getModel(dep).asVanillaModel().ifPresent(modelBlock -> { if (modelBlock.parent != null) { if (modelBlock.parent.name.equals( new ResourceLocation(Reference.MOD_ID, "models/block/base_block") .toString())) { try { ModelLoaderRegistry .getModel(new ResourceLocation(Reference.MOD_ID, "block/base_block_multiblock")) .asVanillaModel().ifPresent( modelBlockParent -> modelBlock.parent = modelBlockParent); } catch (Exception e) { e.printStackTrace(); } }/* w w w . j av a 2 s . co m*/ if (modelBlock.parent.name.equals(new ResourceLocation(Reference.MOD_ID, "models/block/base_block_multiblock").toString())) event.getModelRegistry().putObject(resourceLocation, model.bake(model.getDefaultState(), DefaultVertexFormats.BLOCK, ModelLoader.defaultTextureGetter())); } }); } catch (Exception e) { e.printStackTrace(); } }); } catch (Exception e) { e.printStackTrace(); } } } } for (ConveyorUpgradeFactory conveyorUpgradeFactory : GameRegistry.findRegistry(ConveyorUpgradeFactory.class) .getValuesCollection()) { for (EnumFacing upgradeFacing : conveyorUpgradeFactory.getValidFacings()) { for (EnumFacing conveyorFacing : BlockConveyor.FACING.getAllowedValues()) { try { ModelLoaderRegistry .getModel(conveyorUpgradeFactory.getModel(upgradeFacing, conveyorFacing)); } catch (Exception e) { e.printStackTrace(); } } } } }
From source file:com.teambrmodding.assistedprogression.client.ClientProxy.java
License:Creative Commons License
@SubscribeEvent public static void modelBake(ModelBakeEvent event) { IBakedModel baseModel = event.getModelRegistry().get(ModelPipette.LOCATION); event.getModelRegistry().put(ModelPipette.LOCATION, new ModelPipette.PipetteDynamicModel(event.getModelLoader(), baseModel)); }
From source file:com.teambrmodding.neotech.client.models.ModelFactory.java
License:Creative Commons License
@SubscribeEvent(priority = EventPriority.LOWEST) public void bakeModels(ModelBakeEvent event) { // Tanks// ww w . j a v a 2 s. c o m // Basic Tank Model ModelResourceLocation basicTank = new ModelResourceLocation( new ResourceLocation(Reference.MOD_ID, "basictank"), "inventory"); event.getModelRegistry().putObject(basicTank, new ModelItemFluidStorage(event.getModelRegistry().getObject(basicTank))); ModelResourceLocation advancedTank = new ModelResourceLocation( new ResourceLocation(Reference.MOD_ID, "advancedtank"), "inventory"); event.getModelRegistry().putObject(advancedTank, new ModelItemFluidStorage(event.getModelRegistry().getObject(advancedTank))); ModelResourceLocation eliteTank = new ModelResourceLocation( new ResourceLocation(Reference.MOD_ID, "elitetank"), "inventory"); event.getModelRegistry().putObject(eliteTank, new ModelItemFluidStorage(event.getModelRegistry().getObject(eliteTank))); }
From source file:malte0811.industrialWires.client.ClientEventHandler.java
License:Open Source License
@SubscribeEvent public void bakeModel(ModelBakeEvent event) { event.getModelRegistry().putObject( new ModelResourceLocation(IndustrialWires.MODID + ":control_panel", "inventory,type=top"), new PanelModel()); }
From source file:pl.asie.foamfix.client.FoamFixModelDeduplicate.java
License:Open Source License
@SubscribeEvent public void onModelBake(ModelBakeEvent event) { // TODO: analyze impact + obj. references // TODO: figure out why it breaks Botania (#1, refer to vazkii/botania/client/model/FloatingFlowerModel.java) //FoamUtils.wipeModelLoaderRegistryCache(); if (FoamFixShared.config.clDeduplicate) { ProgressManager.ProgressBar bakeBar = ProgressManager.push("FoamFix: deduplicating", event.getModelRegistry().getKeys().size()); if (ProxyClient.deduplicator == null) { ProxyClient.deduplicator = new Deduplicator(); }//www . jav a2s. com FoamFix.logger.info("Deduplicating models..."); ProxyClient.deduplicator.maxRecursion = 6; for (ModelResourceLocation loc : event.getModelRegistry().getKeys()) { IBakedModel model = event.getModelRegistry().getObject(loc); String modelName = loc.toString(); bakeBar.step(String.format("[%s]", modelName)); try { ProxyClient.deduplicator.deduplicateObject(model, 0); } catch (Exception e) { } } ProgressManager.pop(bakeBar); FoamFix.logger.info("Deduplicated " + ProxyClient.deduplicator.successfuls + " objects."); } ProxyClient.deduplicator = null; // release deduplicator to save memory FoamFix.updateRamSaved(); }
From source file:vazkii.botania.client.core.handler.MiscellaneousIcons.java
License:Open Source License
@SubscribeEvent public void onModelBake(ModelBakeEvent evt) { // Floating flowers FloatingFlowerModel model = new FloatingFlowerModel(); evt.getModelRegistry().putObject(new ModelResourceLocation("botania:miniIsland", "normal"), model); evt.getModelRegistry().putObject(new ModelResourceLocation("botania:miniIsland", "inventory"), model); evt.getModelRegistry().putObject(new ModelResourceLocation("botania:floatingSpecialFlower", "normal"), model);// ww w . jav a 2s . c o m evt.getModelRegistry().putObject(new ModelResourceLocation("botania:floatingSpecialFlower", "inventory"), model); // Platforms evt.getModelRegistry().putObject(new ModelResourceLocation("botania:platform", "normal"), new PlatformModel()); // Lexicon evt.getModelRegistry().putObject(new ModelResourceLocation("botania:lexicon", "inventory"), new LexiconModel()); // Mana Blaster ModelResourceLocation key = new ModelResourceLocation("botania:manaGun", "inventory"); IBakedModel originalModel = evt.getModelRegistry().getObject(key); evt.getModelRegistry().putObject(key, new GunModel(originalModel)); key = new ModelResourceLocation("botania:manaGunClip", "inventory"); originalModel = evt.getModelRegistry().getObject(key); evt.getModelRegistry().putObject(key, new GunModel(originalModel)); }