BiFunction<ModelResourceLocation, IBakedModel, IBakedModel> customizer = this.customizer.get( location.getResourcePath() ); if( customizer != null )
@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 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) {
&& modelLoc.getResourcePath().equals(BlockBloodContainer.regName) ) { modelLocations.add(modelLoc); && modelLoc.getResourcePath().equals(BlockAltarInspiration.regName) && !modelLoc.getVariant().equals("inventory")) { modelLocations.add(modelLoc); && modelLoc.getResourcePath().equals(BlockWeaponTable.regName) && !modelLoc.getVariant().equals("inventory")) { modelLocations.add(modelLoc);
ModelResourceLocation itemMrl = new ModelResourceLocation(defaultMrl.getResourceDomain() + ":" + defaultMrl.getResourcePath() + "#inventory"); event.getModelRegistry().putObject(itemMrl, model); ModelResourceLocation itemMrl = new ModelResourceLocation(defaultMrl.getResourceDomain() + ":" + defaultMrl.getResourcePath() + "#inventory"); final IBakedModel model = event.getModelRegistry().getObject(itemMrl); if (model == null || model == missingModel) {
@SubscribeEvent public void onModelBaked(ModelBakeEvent modelBakeEvent){ setLoader(modelBakeEvent.getModelLoader()); for(Item shield : BattlegearConfig.shield) { if(shield!=null) { ModelResourceLocation mainLoc = DefaultMesh.INVENTORY.getModelLocation(new ItemStack(shield)); ResourceLocation itemLoc = new ResourceLocation(mainLoc.getResourceDomain(), "item/" + mainLoc.getResourcePath()); IModel originalModel = getModel(itemLoc); if(originalModel instanceof IRetexturableModel){ ModelBlock internalFrontModel = getInternalModel(originalModel); if (internalFrontModel != null) { ModelBlock front = makeItem(internalFrontModel); IBakedModel baked = wrap(join((IRetexturableModel) originalModel, front), itemLoc); if(baked != null) modelBakeEvent.getModelRegistry().putObject(mainLoc, baked); } } } } setLoader(null); }