Example usage for net.minecraftforge.client.model ModelLoader defaultTextureGetter

List of usage examples for net.minecraftforge.client.model ModelLoader defaultTextureGetter

Introduction

In this page you can find the example usage for net.minecraftforge.client.model ModelLoader defaultTextureGetter.

Prototype

public static Function<Material, TextureAtlasSprite> defaultTextureGetter() 

Source Link

Document

Get the default texture getter the models will be baked with.

Usage

From source file:com.buuz135.industrial.proxy.client.ClientProxy.java

License:Open Source License

@Override
public void init() {
    super.init();
    try {/* w w w. j av  a2s.  c  o  m*/
        ears_model = OBJLoader.INSTANCE
                .loadModel(new ResourceLocation(Reference.MOD_ID, "models/block/catears.obj"));
        ears_baked = ears_model.bake(TRSRTransformation.identity(), DefaultVertexFormats.BLOCK,
                ModelLoader.defaultTextureGetter());
    } catch (Exception e) {
        e.printStackTrace();
    }
    RenderManager manager = Minecraft.getMinecraft().getRenderManager();
    Map<String, RenderPlayer> map = manager.getSkinMap();
    map.get("default").addLayer(new ContributorsCatEarsRender());
    map.get("slim").addLayer(new ContributorsCatEarsRender());

    manager.entityRenderMap.put(EntityPinkSlime.class, new RenderPinkSlime(manager));

    ((IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager())
            .registerReloadListener(resourceManager -> FluidUtils.colorCache.clear());
    ((IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager())
            .registerReloadListener(resourceManager -> IFManual.buildManual());

    if (ItemRegistry.artificalDye != null)
        Minecraft.getMinecraft().getItemColors().registerItemColorHandler((stack,
                tintIndex) -> ItemDye.DYE_COLORS[EnumDyeColor.byMetadata(stack.getMetadata()).getDyeDamage()],
                ItemRegistry.artificalDye);
    Minecraft.getMinecraft().getItemColors().registerItemColorHandler((stack, tintIndex) -> {
        if (tintIndex == 1) {
            return ItemDye.DYE_COLORS[EnumDyeColor.byMetadata(stack.getMetadata()).getDyeDamage()];
        }
        return 0xFFFFFF;
    }, BlockRegistry.blockConveyor.getItem());
    Minecraft.getMinecraft().getBlockColors().registerBlockColorHandler((state, worldIn, pos, tintIndex) -> {
        if (tintIndex == 0) {
            TileEntity entity = worldIn.getTileEntity(pos);
            if (entity instanceof TileEntityConveyor) {
                return ItemDye.DYE_COLORS[((TileEntityConveyor) entity).getColor()];
            }
        }
        return 0xFFFFFFF;
    }, BlockRegistry.blockConveyor);
    Minecraft.getMinecraft().getItemColors().registerItemColorHandler((stack, tintIndex) -> {
        if (tintIndex == 1 || tintIndex == 2 || tintIndex == 3) {
            EntityList.EntityEggInfo info = null;
            if (stack.hasTagCompound() && stack.getTagCompound().hasKey("entity", Constants.NBT.TAG_STRING)) {
                ResourceLocation id = new ResourceLocation(stack.getTagCompound().getString("entity"));
                info = EntityList.ENTITY_EGGS.get(id);
            }
            return info == null ? 0x636363
                    : tintIndex == 3
                            ? BlockRegistry.mobDuplicatorBlock.blacklistedEntities
                                    .contains(info.spawnedID.toString()) ? 0xDB201A : 0x636363
                            : tintIndex == 1 ? info.primaryColor : info.secondaryColor;
        }
        return 0xFFFFFF;
    }, ItemRegistry.mobImprisonmentToolItem);
    Minecraft.getMinecraft().getBlockColors().registerBlockColorHandler((state, worldIn, pos, tintIndex) -> {
        if (tintIndex == 0 && worldIn.getTileEntity(pos) instanceof BlackHoleTankTile) {
            BlackHoleTankTile tank = (BlackHoleTankTile) worldIn.getTileEntity(pos);
            if (tank != null && tank.getTank().getFluidAmount() > 0) {
                int color = FluidUtils.getFluidColor(tank.getTank().getFluid());
                if (color != -1)
                    return color;
            }
        }
        return 0xFFFFFF;
    }, BlockRegistry.blackHoleTankBlock);
    Minecraft.getMinecraft().getItemColors().registerItemColorHandler((stack, tintIndex) -> {
        if (tintIndex == 0 && stack.hasTagCompound() && stack.getTagCompound().hasKey("FluidName")
                && FluidRegistry.isFluidRegistered(stack.getTagCompound().getString("FluidName"))) {
            Fluid fluid = FluidRegistry.getFluid(stack.getTagCompound().getString("FluidName"));
            int color = FluidUtils.getFluidColor(fluid);
            if (color != -1)
                return color;
        }
        return 0xFFFFFF;
    }, BlockRegistry.blackHoleTankBlock);
    Minecraft.getMinecraft().getItemColors().registerItemColorHandler((stack, tintIndex) -> {
        if (tintIndex == 0) {
            return ItemInfinityDrill.DrillTier
                    .getTierBraquet(ItemRegistry.itemInfinityDrill.getPowerFromStack(stack)).getLeft()
                    .getTextureColor();
        }
        return 0xFFFFFF;
    }, ItemRegistry.itemInfinityDrill);
}

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();
                                        }
                                    }/*from  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.techshroom.ludicroushooks.proxy.ClientProxy.java

License:MIT License

@SubscribeEvent
public static void onMLBake(ModelBakeEvent event) {
    modelManager = event.getModelManager();
    for (ResourceLocation loc : MODELS) {
        try {/*from  w ww .  j av  a 2 s.  c  o m*/
            IBakedModel baked = null;
            if (loc instanceof ModelResourceLocation) {
                baked = modelManager.getModel((ModelResourceLocation) loc);
            }
            if (baked == null || baked == modelManager.getMissingModel()) {
                IModel model = ModelLoaderRegistry.getModel(loc);
                baked = model.bake(model.getDefaultState(), DefaultVertexFormats.ITEM,
                        ModelLoader.defaultTextureGetter());
            }
            BAKED_MODELS.put(loc, baked);
        } catch (Exception e) {
            LudicrousHooks.LOGGER.warn("Failed to load model for " + loc, e);
        }
    }
}

From source file:vazkii.botania.client.model.FloatingFlowerModel.java

License:Open Source License

private CompositeBakedModel getModel(IFloatingFlower.IslandType islandType, String identifier) {
    ModelManager modelManager = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getModelManager();

    if (CACHE.contains(islandType, identifier)) {
        return CACHE.get(islandType, identifier);
    } else {/*from w w  w .j  a  va  2 s  .  c  o m*/
        IBakedModel islandModel;
        try {
            islandModel = ModelLoaderRegistry
                    .getModel(BotaniaAPIClient.getRegisteredIslandTypeModels().get(islandType))
                    .bake(TRSRTransformation.identity(), DefaultVertexFormats.ITEM,
                            ModelLoader.defaultTextureGetter());
        } catch (Exception e) {
            islandModel = modelManager.getMissingModel();
        }

        IBakedModel flowerModel;

        if (identifier.startsWith(MUNDANE_PREFIX)) {
            int meta = Integer.parseInt(
                    identifier.substring(identifier.indexOf(MUNDANE_PREFIX) + MUNDANE_PREFIX.length()));
            flowerModel = Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
                    .getItemModel(new ItemStack(ModBlocks.shinyFlower, 1, meta));
        } else {
            ItemStack stack = ItemBlockSpecialFlower.ofType(identifier);
            IBakedModel specialFlowerModel = Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
                    .getItemModel(stack);
            flowerModel = specialFlowerModel.getOverrides().handleItemState(specialFlowerModel, stack, null,
                    null);
        }

        // Enhance!
        CompositeBakedModel model = new CompositeBakedModel(flowerModel, islandModel);
        Botania.LOGGER.debug("Cached floating flower model for islandtype {} and flowertype {}", islandType,
                identifier);
        CACHE.put(islandType, identifier, model);
        return model;
    }
}