java类net.minecraft.client.renderer.block.model.ModelBakery的实例源码

ItemWirelessPanel.java 文件源码 项目:CrystalMod 阅读 22 收藏 0 点赞 0 评论 0
@Override
@SideOnly(Side.CLIENT)
   public void initModel() {
    final ModelResourceLocation loc = new ModelResourceLocation("crystalmod:item_wirelesspanel", "active=false");
    ModelBakery.registerItemVariants(this, loc);
    final ModelResourceLocation active = new ModelResourceLocation("crystalmod:item_wirelesspanel", "active=true");
    ModelBakery.registerItemVariants(this, active);
       ModelLoader.setCustomMeshDefinition(this, new ItemMeshDefinition() {
           @Override
           public ModelResourceLocation getModelLocation(ItemStack stack) {
            return isValid(stack) ? active : loc;
           }
       });
   }
ItemTeletoryPortalLinker.java 文件源码 项目:TeleToro 阅读 27 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public static void registerRendersForLinker2() {
    ModelBakery.registerItemVariants(INSTANCE);

    ModelLoader.setCustomMeshDefinition(INSTANCE, MeshDefinitionFix.create(stack -> {
        if (isActive(stack)) {
            return modelOn;
        } else {
            return model;
        }
    }));

    ModelLoader.registerItemVariants(INSTANCE, new ModelResourceLocation[] { model, modelOn });

}
ModRenderers.java 文件源码 项目:UsefulNullifiers 阅读 21 收藏 0 点赞 0 评论 0
public static void registerItemRenderer(Item item, int meta,
        ResourceLocation name)
{
    ModelBakery.registerItemVariants(item, name);
    ModelLoader.setCustomModelResourceLocation(item, meta,
            new ModelResourceLocation(name, "inventory"));
}
ClientProxy.java 文件源码 项目:HomeSweetHome 阅读 25 收藏 0 点赞 0 评论 0
@Override
public void registerItemVariantModel(Item item, String name, int metadata) 
{
    if (item != null) 
    { 
        ModelBakery.registerItemVariants(item, new ResourceLocation("homesweethome:" + name));
        ModelLoader.setCustomModelResourceLocation(item, metadata, new ModelResourceLocation(HomeSweetHome.MOD_ID + ":" + name, "inventory"));
    }
}
OreRegistry.java 文件源码 项目:ExNihiloAdscensio 阅读 27 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public static void initModels() {
    final ItemMeshDefinition ORES = new ItemMeshDefinition() {
        @Override
        public ModelResourceLocation getModelLocation(ItemStack stack) {
            switch (stack.getItemDamage()) {
            case 0:
                return new ModelResourceLocation("exnihiloadscensio:itemOre", "type=piece");
            case 1:
                return new ModelResourceLocation("exnihiloadscensio:itemOre", "type=hunk");
            case 2:
                return new ModelResourceLocation("exnihiloadscensio:itemOre", "type=dust");
            case 3:
                return new ModelResourceLocation("exnihiloadscensio:itemOre", "type=ingot");
            default:
                return new ModelResourceLocation(stack.getItem().getRegistryName(), "inventory");
            }
        }
    };
    for (ItemOre ore : itemOreRegistry) {
        ModelLoader.setCustomMeshDefinition(ore, ORES);
        ModelBakery.registerItemVariants(ore, new ModelResourceLocation("exnihiloadscensio:itemOre", "type=piece"),
                new ModelResourceLocation("exnihiloadscensio:itemOre", "type=hunk"),
                new ModelResourceLocation("exnihiloadscensio:itemOre", "type=dust"),
                new ModelResourceLocation("exnihiloadscensio:itemOre", "type=ingot"));
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(ore, ORES);
    }
}
ClientUtil.java 文件源码 项目:MMDLib-old 阅读 25 收藏 0 点赞 0 评论 0
public static void registerVariants (Item item, String modid, String... locations) {
    final ResourceLocation[] variantArray = new ResourceLocation[locations.length];
    for (int i = 0; i < locations.length; i++)
        variantArray[i] = new ResourceLocation(modid, item.getUnlocalizedName() + "_" + locations[i]);
    ModelBakery.registerItemVariants(item, variantArray);
    for (final String location : locations)
        registerModel(item, new ResourceLocation(modid, item.getUnlocalizedName() + "_" + location));
}
ClientUtil.java 文件源码 项目:MMDLib-old 阅读 23 收藏 0 点赞 0 评论 0
public static void registerVariants (Block block, String modid, String... locations) {
    final ResourceLocation[] variantArray = new ResourceLocation[locations.length];
    for (int i = 0; i < locations.length; i++)
        variantArray[i] = new ResourceLocation(modid, block.getUnlocalizedName() + "_" + locations[i]);
    ModelBakery.registerItemVariants(Item.getItemFromBlock(block), variantArray);
    for (final String location : locations)
        registerModel(block, new ResourceLocation(modid, block.getUnlocalizedName() + "_" + location));
}
RegisterRenderHelper.java 文件源码 项目:NordMod 阅读 16 收藏 0 点赞 0 评论 0
/**
     * Регистрация модели для предмета по ресурсу
     * @param item предмет
     * @param fullModelLocation ресурс
     */
    @Override
    public void registerItemModel(Item item, final ModelResourceLocation fullModelLocation) {
        ModelBakery.registerItemVariants(item, fullModelLocation); // Ensure the custom model is loaded and prevent the default model from being loaded
//        registerItemModel(item, MeshDefinitionFix.create(stack -> fullModelLocation));
        registerItemModel(item,new ItemMesh(fullModelLocation));
    }
ClientProxy.java 文件源码 项目:NordMod 阅读 22 收藏 0 点赞 0 评论 0
@Override
public void registerItemRender(Item item, int sub, String name, String modid) {
    ModelResourceLocation itemModelResourceLocation =
            new ModelResourceLocation(modid + ":" + name, "inventory");
    Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, sub, itemModelResourceLocation);
    ModelBakery.registerItemVariants(item, itemModelResourceLocation);
}
ClientProxy.java 文件源码 项目:NordMod 阅读 16 收藏 0 点赞 0 评论 0
@Override
public void registerBlockRender(Block block, int sub, String model, String modid) {
    ModelResourceLocation itemModelResourceLocation =
            new ModelResourceLocation(modid + ":" + model, "inventory");
    ModelBakery.registerItemVariants(Item.getItemFromBlock(block), itemModelResourceLocation);
    Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), sub, itemModelResourceLocation);
}


问题


面经


文章

微信
公众号

扫码关注公众号