@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); 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_3d_default", "inventory"), new LexiconModel(new ModelResourceLocation("botania:lexicon_default", "inventory"))); evt.getModelRegistry().putObject(new ModelResourceLocation("botania:lexicon_3d_elven", "inventory"), new LexiconModel(new ModelResourceLocation("botania:lexicon_elven", "inventory"))); // 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)); }
public void onBakeModels(ModelBakeEvent event) { //register custom models IRegistry<ModelResourceLocation, IBakedModel> registry = event.getModelRegistry(); for (final BlockModelEntry entry : customBlockModels) { registry.putObject(entry.blockModelLocation, entry.model); if (entry.itemModelLocation != null) { registry.putObject(entry.itemModelLocation, entry.model); } } for (final ModelEntry entry : customModels) { registry.putObject(entry.modelLocation, entry.model); } }
private static String debugOutput(IRegistry<ModelResourceLocation, IBakedModel> modelRegistry, ResourceLocation defaultMrl, IBakedModel missingModel) { String prefix = defaultMrl.getResourceDomain() + ":" + defaultMrl.getResourcePath(); if (modelRegistry instanceof RegistrySimple) { RegistrySimple<?, ?> rg = (RegistrySimple<?, ?>) modelRegistry; StringBuilder sb = new StringBuilder(); for (Object key : rg.getKeys()) { if (key != null && modelRegistry.getObject((ModelResourceLocation) key) != missingModel && key.toString().startsWith(prefix)) { sb.append(key + "; "); } } if (sb.length() > 0) { sb.setLength(sb.length() - 2); } else { sb.append("(none)"); } return "Loaded states for " + prefix + " are: " + sb.toString(); } else { return "Loaded states could not be determined because modelRegistry is not a RegistrySimple."; } }
@SubscribeEvent public void onModelsBake(ModelBakeEvent event) { GTLog.logger.info("Injected fluid pipe render model"); event.getModelRegistry().putObject(MODEL_LOCATION, this); }
@SubscribeEvent @Override public void onModelBakeEvent(ModelBakeEvent event){ // Don't throw away the original model, but use if for displaying an unbound facade item. IBakedModel oldModel = event.getModelRegistry().getObject(eConfig.dynamicItemVariantLocation); FacadeModel.emptyModel = oldModel; super.onModelBakeEvent(event); }
@SubscribeEvent() public void bakeModels(@Nonnull ModelBakeEvent event) { for (Entry<ModelResourceLocation, Registry> entry : registries.entrySet()) { final ModelResourceLocation resource = entry.getKey(); if (resource != null) { IBakedModel model = event.getModelRegistry().getObject(resource); final Registry registry = entry.getValue(); if (registry != null && model != null) { event.getModelRegistry().putObject(resource, registry.wrap(model)); } } } }
@SubscribeEvent public void onModelBake(ModelBakeEvent e) { for (ModelResourceLocation resource : e.getModelRegistry().getKeys()) { ResourceLocation key = new ResourceLocation(resource.getNamespace(), resource.getPath()); if (bakedModelOverrides.containsKey(key)) { e.getModelRegistry().putObject(resource, bakedModelOverrides.get(key).apply(e.getModelRegistry().getObject(resource))); } } }
@SubscribeEvent public void onModelsBake(ModelBakeEvent event) { GTLog.logger.info("Injected cable render model"); event.getModelRegistry().putObject(MODEL_LOCATION, this); }
IModel model; try { model = modelProvider.getObject(inventoryVariantLocation); } catch (Throwable t) { try (IResource ignored = Minecraft.getMinecraft().getResourceManager().getResource(inventoryVariantLocation)) { model = modelProvider.getObject(location); IModel model = modelProvider.getObject(location); return model.bake(model.getDefaultState(), DefaultVertexFormats.BLOCK, ModelLoader.defaultTextureGetter()); } catch (Throwable t) {
public static void onBakeModels(ModelBakeEvent event) { IRegistry<ModelResourceLocation, IBakedModel> registry = event.getModelRegistry(); ResourceLocation location = new ResourceLocation(Constants.MOD_ID, "certustank"); emptyTank = registry.getObject(new ModelResourceLocation(location, "above=false,below=false,empty=true")); emptyTankAbove = registry.getObject(new ModelResourceLocation(location, "above=true,below=false,empty=true")); emptyTankBelow = registry.getObject(new ModelResourceLocation(location, "above=false,below=true,empty=true")); emptyTankMiddle = registry.getObject(new ModelResourceLocation(location, "above=true,below=true,empty=true")); ModelCertusTank model = new ModelCertusTank(); registry.putObject(new ModelResourceLocation(location, "above=false,below=false,empty=false"), model); registry.putObject(new ModelResourceLocation(location, "above=true,below=false,empty=false"), model); registry.putObject(new ModelResourceLocation(location, "above=false,below=true,empty=false"), model); registry.putObject(new ModelResourceLocation(location, "above=true,below=true,empty=false"), model); registry.putObject(new ModelResourceLocation(location, "inventory"), model); ModelTankFluid.blockModels.invalidateAll(); ModelTankFluid.itemModels.invalidateAll(); }
@SubscribeEvent @SideOnly(Side.CLIENT) public void onBakedEvent(ModelBakeEvent e) { //Find all ExtraTrees saplings List<ModelResourceLocation> models = e.getModelRegistry().getKeys().stream() .filter(mrl -> mrl.getResourceDomain().startsWith(Constants.EXTRA_TREES_MOD_ID)) .filter(mrl -> mrl.getResourcePath().startsWith("germlings")).collect(Collectors.toList()); //Replace model Map<String, ETTreeDefinition> map = Arrays.stream(ETTreeDefinition.values()).collect(Collectors.toMap(o -> o.name().toLowerCase(), o -> o)); models.forEach(model -> { String species = model.getVariant().split("=")[1]; ETTreeDefinition treeSpecies = map.get(species); int primaryColor = treeSpecies.getLeafColor().getRGB(); int secondaryColor = treeSpecies.getWoodColor().getRGB(); IBakedModel bakedModel = e.getModelRegistry().getObject(model); if (bakedModel == null) { return; } e.getModelRegistry().putObject(model, new DoublePassBakedModel(bakedModel, primaryColor, secondaryColor)); }); } }
@SubscribeEvent public void onModelsBake(ModelBakeEvent event) { GTLog.logger.info("Injected MetaTileEntity render model"); event.getModelRegistry().putObject(MODEL_LOCATION, this); }
defaultModel = modelRegistry.getObject(new ModelResourceLocation("builtin/missing", "missing"));
@SubscribeEvent public void onBaking(ModelBakeEvent event) { IRegistry<ModelResourceLocation, IBakedModel> registry = event.getModelRegistry(); for (EnumFacing facing: EnumFacing.HORIZONTALS) { try { ModelResourceLocation emptyLocation = getModelLocation(OYSTER, facing, Oyster.EMPTY); ModelResourceLocation sandLocation = getModelLocation(OYSTER, facing, Oyster.SAND); ModelResourceLocation pearlLocation = getModelLocation(OYSTER, facing, Oyster.PEARL); IBakedModel empty = registry.getObject(emptyLocation); IBakedModel sand = registry.getObject(sandLocation); IBakedModel pearl = registry.getObject(pearlLocation); registry.putObject(emptyLocation, new BakedOyster.Empty(empty)); registry.putObject(sandLocation, new BakedOyster.Sand(empty, sand)); registry.putObject(pearlLocation, new BakedOyster.Pearl(empty, pearl)); } catch (Exception e) { } } }
@SubscribeEvent public static void onModelBaked(ModelBakeEvent event) { for(ModelResourceLocation mrl : event.getModelRegistry().getKeys()) { if(mrl.getVariant().equals("inventory")) { ResourceLocation location = new ResourceLocation(mrl.getResourceDomain(), mrl.getResourcePath()); if(location.equals(ItemHandler.DART_GUN.getRegistryName())) { event.getModelRegistry().putObject(mrl, new GuiItemModelWrapper(event.getModelRegistry().getObject(mrl), DART_GUN_GUI)); } } } } private static IBakedModel getModel(ResourceLocation resourceLocation, TextureMap map) {
private void registerItemBlockLink(ResourceLocation item, Block block, IRegistry<ModelResourceLocation, IBakedModel> registry) { registry.putObject(new ModelResourceLocation(item, "inventory"), bakeModelFor(block)); }
throw new RuntimeException("Model for state " + state + " failed to load from " + mrl + ". "); IBakedModel model = event.getModelRegistry().getObject(mrl); if (model == null) { Log.warn("Model for state " + state + " failed to load from " + mrl + ".");
@SubscribeEvent public void onModelBakeEvent(ModelBakeEvent event) { // Find the existing mapping for CamouflageBakedModel - it will have been added automatically because // we registered a custom BlockStateMapper for it (using ModelLoader.setCustomStateMapper) // Replace the mapping with our CamouflageBakedModel. Object object = event.getModelRegistry().getObject(CamouflageBakedModel.variantTag); if (object instanceof IBakedModel) { IBakedModel existingModel = (IBakedModel)object; CamouflageBakedModel customModel = new CamouflageBakedModel(existingModel); event.getModelRegistry().putObject(CamouflageBakedModel.variantTag, customModel); } } }
public static void registerCustomModels(ModelBakeEvent event) { IRegistry<ModelResourceLocation, IBakedModel> registry = event.getModelRegistry(); for (final BlockModelEntry entry : customBlockModels) { registry.putObject(entry.blockModelLocation, entry.model); if (entry.itemModelLocation != null) { registry.putObject(entry.itemModelLocation, entry.model); } } IModelState defaultBlockState = ModelUtil.loadModelState(new ResourceLocation("minecraft:models/block/block")); IModelState defaultFenceState = ModelUtil.loadModelState(new ResourceLocation("minecraft:models/block/fence_inventory")); ModelManager.defaultFenceState = mergeStates(defaultBlockState, defaultFenceState); }