Example usage for net.minecraftforge.client.event ModelBakeEvent getModelRegistry

List of usage examples for net.minecraftforge.client.event ModelBakeEvent getModelRegistry

Introduction

In this page you can find the example usage for net.minecraftforge.client.event ModelBakeEvent getModelRegistry.

Prototype

public Map<ResourceLocation, IBakedModel> getModelRegistry() 

Source Link

Usage

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));
}