java类net.minecraft.client.renderer.block.statemap.StateMapperBase的实例源码

ClientProxy.java 文件源码 项目:BetterWithAddons 阅读 26 收藏 0 点赞 0 评论 0
public void registerModels()
{
    ItemModels.register();
    //BlockModels.register();

    ModelLoader.setCustomStateMapper(ModBlocks.thorns,new StateMap.Builder().ignore(BlockThorns.FACING).build());
    ModelLoader.setCustomStateMapper(ModBlocks.brine, new BrineStateMapper());
    ModelLoader.setCustomStateMapper(ModBlocks.aqueductWater, new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return aqueductWaterLocation;
        }
    });

    RenderingRegistry.registerEntityRenderingHandler(EntityGreatarrow.class, RenderGreatarrow.GREATARROW_RENDER);
    RenderingRegistry.registerEntityRenderingHandler(EntityYa.class, RenderYa.YA_RENDER);
    RenderingRegistry.registerEntityRenderingHandler(EntitySpirit.class, manager -> new RenderSpirit(manager));
    RenderingRegistry.registerEntityRenderingHandler(EntityAncestryBottle.class, manager -> new RenderSnowball<>(manager,ModItems.ancestryBottle,Minecraft.getMinecraft().getRenderItem()));
    RenderingRegistry.registerEntityRenderingHandler(EntityArtifactFrame.class, RenderArtifactFrame.ARTIFACEFRAME_RENDER);
    ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAlchDragon.class, new RenderAlchDragon());
}
BlockPipe.java 文件源码 项目:CrystalMod 阅读 25 收藏 0 点赞 0 评论 0
@Override
@SideOnly(Side.CLIENT)
public void initModel() {
    StateMapperBase ignoreState = new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState iBlockState) {
            return ModelPipeBaked.BAKED_MODEL;
        }
    };
    ModelLoader.setCustomStateMapper(this, ignoreState);
    ModelResourceLocation itemModelResourceLocation = new ModelResourceLocation(getRegistryName(), "inventory");
    //for(PipeType type : PipeType.values())
    // Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(this), type.getMeta(), itemModelResourceLocation);
    for(PipeType type : PipeType.values())
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), type.getMeta(), itemModelResourceLocation);
    ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPipe.class, new TileEntityPipeRenderer());
}
BlockRendering.java 文件源码 项目:Aether-Legacy 阅读 26 收藏 0 点赞 0 评论 0
public static void registerBlockWithStateMapper(Block block)
{
    Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getModelManager().getBlockModelShapes().registerBlockWithStateMapper(block, new StateMapperBase() 
    {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state)
        {
            return new ModelResourceLocation(state.getBlock().getRegistryName(), "normal");
        }

    });

    Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), new ItemMeshDefinition() 
    {
        @Override
        public ModelResourceLocation getModelLocation(ItemStack stack) 
        {
            return new ModelResourceLocation(stack.getItem().getRegistryName(), "inventory");
        }
    });
}
ClientProxy.java 文件源码 项目:Qbar 阅读 23 收藏 0 点赞 0 评论 0
public static final void registerFluidsClient()
{
    final ModelResourceLocation fluidSteamLocation = new ModelResourceLocation(QBarConstants.MODID + ":" +
            "blockfluidsteam",
            "steam");
    ModelLoader.setCustomStateMapper(QBarFluids.blockFluidSteam, new StateMapperBase()
    {
        @Override
        protected ModelResourceLocation getModelResourceLocation(final IBlockState state)
        {
            return fluidSteamLocation;
        }
    });

    ModelBakery.registerItemVariants(Item.getItemFromBlock(QBarFluids.blockFluidSteam), fluidSteamLocation);
    ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(QBarFluids.blockFluidSteam),
            stack -> fluidSteamLocation);
}
LiquidXPFluid.java 文件源码 项目:Mekfarm 阅读 35 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public void registerRenderer() {
    IFluidBlock block = BlocksRegistry.liquidXpBlock;
    Item item = Item.getItemFromBlock((Block)block);
    assert (item == Items.AIR);

    ModelBakery.registerItemVariants(item);

    ModelResourceLocation modelResourceLocation = new ModelResourceLocation(MekfarmMod.MODID + ":fluids", this.getName());

    ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
        @Override
        public ModelResourceLocation getModelLocation(ItemStack stack) {
            return modelResourceLocation;
        }
    });

    ModelLoader.setCustomStateMapper((Block) block, new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return modelResourceLocation;
        }
    });
}
SewageFluid.java 文件源码 项目:Mekfarm 阅读 21 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public void registerRenderer() {
    IFluidBlock block = BlocksRegistry.sewageBlock;
    Item item = Item.getItemFromBlock((Block)block);
    assert (item == Items.AIR);

    ModelBakery.registerItemVariants(item);

    ModelResourceLocation modelResourceLocation = new ModelResourceLocation(MekfarmMod.MODID + ":fluids", this.getName());

    ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
        @Override
        public ModelResourceLocation getModelLocation(ItemStack stack) {
            return modelResourceLocation;
        }
    });

    ModelLoader.setCustomStateMapper((Block) block, new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return modelResourceLocation;
        }
    });
}
ClientProxy.java 文件源码 项目:Malgra 阅读 25 收藏 0 点赞 0 评论 0
public void registerFluidModel(Block  block) {
    Item item = Item.getItemFromBlock(block);

    ModelBakery.registerItemVariants(item);

    final ModelResourceLocation loc = new ModelResourceLocation(Reference.MODID + ":fluid", "liquidmalgra");

    ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
        @Override
        public ModelResourceLocation getModelLocation(ItemStack stack) {
            return loc;
        }
    });

    ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return loc;
        }
    });
}
ClientProxy.java 文件源码 项目:BaseGems 阅读 21 收藏 0 点赞 0 评论 0
@Override
public void preInit(FMLPreInitializationEvent event) {
    super.preInit(event);
    for (final String name : Fluids.getFluidBlockRegistry().keySet()) {
        final Block block = Fluids.getFluidBlockByName(name);
        final Item item = Item.getItemFromBlock(block);
        if (!item.getRegistryName().getResourceDomain().equals(BaseGems.MODID))
            continue;
        final ModelResourceLocation fluidModelLocation = new ModelResourceLocation(item.getRegistryName().getResourceDomain() + ":" + name, "fluid");
        ModelBakery.registerItemVariants(item);
        ModelLoader.setCustomMeshDefinition(item, stack -> fluidModelLocation);
        ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
            @Override
            protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
                return fluidModelLocation;
            }
        });
    }
}
BlockRendererRegistry.java 文件源码 项目:InfinityLib 阅读 18 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public void registerCustomBlockRenderer(ICustomRenderedBlock customRenderedBlock) {
    if (customRenderedBlock == null || !(customRenderedBlock instanceof BlockBase)) {
        return;
    }
    //set custom state mapper
    StateMapperBase stateMapper = new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return customRenderedBlock.getBlockModelResourceLocation();
        }
    };
    ModelLoader.setCustomStateMapper((BlockBase) customRenderedBlock, stateMapper);
    //register renderers
    if (customRenderedBlock instanceof ICustomRenderedBlockWithTile) {
        registerTileRenderer((ICustomRenderedBlockWithTile) customRenderedBlock);
    } else {
        registerBlockRenderer(customRenderedBlock);
    }
}
MFluid.java 文件源码 项目:Minestrappolation-4 阅读 23 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public static void buildRenderFor(Block block, String name)
{
    final ModelResourceLocation fluidLocation = new ModelResourceLocation(MReference.MODID + ":" + name, "fluid");
    Item fluid = Item.getItemFromBlock(block);
    ModelBakery.addVariantName(fluid);
    ModelLoader.setCustomMeshDefinition(fluid, new ItemMeshDefinition()
    {
        @Override
        public ModelResourceLocation getModelLocation(ItemStack stack)
        {
            return fluidLocation;
        }
    });
    ModelLoader.setCustomStateMapper(block, new StateMapperBase()
    {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state)
        {
            return fluidLocation;
        }
    });
}
Fluids.java 文件源码 项目:BaseMetals 阅读 22 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public static void bakeModels(String modID){
    for(Fluid fluid : fluidBlocks.keySet()){
        BlockFluidBase block = fluidBlocks.get(fluid);
        Item item = Item.getItemFromBlock(block);
        final ModelResourceLocation fluidModelLocation = new ModelResourceLocation(
                modID.toLowerCase() + ":" + fluidBlockNames.get(block), "fluid");
           ModelBakery.registerItemVariants(item);
        ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition()
        {
            public ModelResourceLocation getModelLocation(ItemStack stack)
            {
                return fluidModelLocation;
            }
        });
        ModelLoader.setCustomStateMapper(block, new StateMapperBase()
        {
            protected ModelResourceLocation getModelResourceLocation(IBlockState state)
            {
                return fluidModelLocation;
            }
        });
    }
}
AbyssalCraftClientEventHooks.java 文件源码 项目:AbyssalCraft 阅读 23 收藏 0 点赞 0 评论 0
private void registerFluidModel(Block fluidBlock, String name) {
    Item item = Item.getItemFromBlock(fluidBlock);

    ModelBakery.registerItemVariants(item);

    final ModelResourceLocation modelResourceLocation = new ModelResourceLocation("abyssalcraft:fluid", name);

    ModelLoader.setCustomMeshDefinition(item, stack -> modelResourceLocation);

    ModelLoader.setCustomStateMapper(fluidBlock, new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState p_178132_1_) {
            return modelResourceLocation;
        }
    });
}
ClientProxy.java 文件源码 项目:harshencastle 阅读 28 收藏 0 点赞 0 评论 0
@Override
public void registerFluidBlockRendering(Block block, String name) 
{       
    final ModelResourceLocation fluidLocation = new ModelResourceLocation(HarshenCastle.MODID.toLowerCase() + ":fluids", name);

    ModelLoader.setCustomStateMapper(block, new StateMapperBase()
    {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state)
        {

            return fluidLocation;
        }
    });
}
ModFluids.java 文件源码 项目:BetterThanWeagles 阅读 21 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public static void initModels()
{
    Item item = Item.getItemFromBlock(ModBlocks.liquid_butter);

    ModelBakery.registerItemVariants(item);
    ModelResourceLocation location = new ModelResourceLocation("btweagles:fluid", "liquid_butter");
    ModelLoader.setCustomMeshDefinition(item, stack -> location);
    ModelLoader.setCustomStateMapper(ModBlocks.liquid_butter, new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return location;
        }
    });
}
BlocksRegistry.java 文件源码 项目:CharcoalPit 阅读 22 收藏 0 点赞 0 评论 0
@SubscribeEvent
public static void registerModels(ModelRegistryEvent event){
    StateMapperBase mapper=new StateMapperBase() {

        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return new ModelResourceLocation(new ResourceLocation(Constants.MODID, "creosote"), "creosote");
        }
    };
    if(FluidsRegistry.BlockCreosote!=null)
        ModelLoader.setCustomStateMapper(FluidsRegistry.BlockCreosote, mapper);
}
BlockMagibench.java 文件源码 项目:PurificatiMagicae 阅读 32 收藏 0 点赞 0 评论 0
@Override
@SideOnly(Side.CLIENT)
public void setupModels()
{
    StateMapperBase st = new StateMapperBase()
    {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state)
        {
            MagibenchRegistry.Tier t = PurMag.INSTANCE.getMagibenchRegistry().getTier(state.getValue(TIER));
            return new ModelResourceLocation(t.getSmartModel(), "normal");
        }
    };
    ModelLoader.setCustomStateMapper(this, st);
}
EnumLoader.java 文件源码 项目:FoodCraft-Reloaded 阅读 22 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
protected void registerFluidRender(BlockFluidBase blockFluid, String blockStateName) {
    final String location = FoodCraftReloaded.MODID + ":" + blockStateName;
    final Item itemFluid = Item.getItemFromBlock(blockFluid);
    ModelLoader.setCustomMeshDefinition(itemFluid, stack -> new ModelResourceLocation(location, "fluid"));
    ModelLoader.setCustomStateMapper(blockFluid, new StateMapperBase() {
        @Nonnull
        @Override
        protected ModelResourceLocation getModelResourceLocation(@Nonnull IBlockState state) {
            return new ModelResourceLocation(location, "fluid");
        }
    });
}
ClientProxy.java 文件源码 项目:Gravestone-mod-Extended 阅读 21 收藏 0 点赞 0 评论 0
@Override
public void registerFluidRenderers(ModelResourceLocation modelResourceLocation) {
    ModelLoader.setCustomStateMapper(GSBlock.TOXIC_WATER, new StateMapperBase() {
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return modelResourceLocation;
        }
    });
}
MMDLibRegistry.java 文件源码 项目:MMDLib-old 阅读 22 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public static void registerStateMapper(Block block) {
    if (!(block instanceof IBlockStateMap)) return;
    ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
        @Override
        @Nonnull
        protected ModelResourceLocation getModelResourceLocation(@Nonnull IBlockState state) {
            return new ModelResourceLocation(((IBlockStateMap) block).getResourceLocation(state), ((IBlockStateMap) block).getVarient(state));
        }
    });
}
LCFluids.java 文件源码 项目:LightningCraft 阅读 25 收藏 0 点赞 0 评论 0
/** Make sure to set up the rendering info */
@SideOnly(Side.CLIENT)
public static void registerRendering() {
    for(Fluid fluid : fluidBlocks.keySet()) {
        BlockFluidBase block = fluidBlocks.get(fluid);
        final ModelResourceLocation fluidModelLocation = new ModelResourceLocation(
                RefStrings.MODID + ":" + fluidBlockNames.get(block), "fluid");
        ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
            @Override
            protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
                return fluidModelLocation;
            }
        });
    }
}
BlockFreshWater.java 文件源码 项目:AquaMunda 阅读 21 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public void initModel() {
    ModelResourceLocation fluidLocation = new ModelResourceLocation(getRegistryName(), "fluid");

    StateMapperBase customState = new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState iBlockState) {
            return fluidLocation;
        }
    };
    ModelLoader.setCustomStateMapper(this, customState);
    ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "inventory"));
}
TankBlock.java 文件源码 项目:AquaMunda 阅读 24 收藏 0 点赞 0 评论 0
@Override
@SideOnly(Side.CLIENT)
public void initModel() {
    StateMapperBase ignoreState = new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState iBlockState) {
            return TankBakedModel.BAKED_TANK;
        }
    };
    ModelLoader.setCustomStateMapper(this, ignoreState);
    ClientRegistry.bindTileEntitySpecialRenderer(TankTE.class, new TankTESR());
}
BlockGlowOre.java 文件源码 项目:Nuclear-Foundation 阅读 21 收藏 0 点赞 0 评论 0
public void initModel(){
    final ModelResourceLocation mrl = new ModelResourceLocation(Constants.MODID+":GlowOre_" + Type);
       StateMapperBase ignoreState = new StateMapperBase() {
           @Override
           protected ModelResourceLocation getModelResourceLocation(IBlockState iBlockState) {
               return mrl;
           }
       };
       ModelLoader.setCustomStateMapper(this, ignoreState);
       ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(Constants.MODID+Type,"inventory"));
}
GearSwapperBlock.java 文件源码 项目:GearSwapper1.8 阅读 25 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
public void registerModel(Block block) {
    nameToMimicingBlock.put(MIMIC_PREFIX + blockName, block);

    ModelLoader.setCustomStateMapper(this, new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return new ModelResourceLocation(MIMIC_PREFIX + blockName);
        }
    });
}
BlockFluidMilk.java 文件源码 项目:Cyclic 阅读 20 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
@Override
public void initModel() {
  Block block = FluidsRegistry.block_milk;
  Item item = Item.getItemFromBlock(block);
  ModelBakery.registerItemVariants(item);
  final ModelResourceLocation modelResourceLocation = new ModelResourceLocation(Const.MODID + ":fluid", stack.getFluid().getName());
  ModelLoader.setCustomModelResourceLocation(item, 0, modelResourceLocation);
  ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
    @Override
    protected ModelResourceLocation getModelResourceLocation(IBlockState bs) {
      return modelResourceLocation;
    }
  });
}
BlockFluidPoison.java 文件源码 项目:Cyclic 阅读 25 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
@Override
public void initModel() {
  Block block = FluidsRegistry.block_poison;
  Item item = Item.getItemFromBlock(block);
  ModelBakery.registerItemVariants(item);
  final ModelResourceLocation modelResourceLocation = new ModelResourceLocation(Const.MODID + ":fluid", stack.getFluid().getName());
  ModelLoader.setCustomModelResourceLocation(item, 0, modelResourceLocation);
  ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
    @Override
    protected ModelResourceLocation getModelResourceLocation(IBlockState bs) {
      return modelResourceLocation;
    }
  });
}
BlockFluidExp.java 文件源码 项目:Cyclic 阅读 25 收藏 0 点赞 0 评论 0
@SideOnly(Side.CLIENT)
@Override
public void initModel() {
  Block block = FluidsRegistry.block_exp;
  Item item = Item.getItemFromBlock(block);
  ModelBakery.registerItemVariants(item);
  final ModelResourceLocation modelResourceLocation = new ModelResourceLocation(Const.MODID + ":fluid", stack.getFluid().getName());
  ModelLoader.setCustomModelResourceLocation(item, 0, modelResourceLocation);
  ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
    @Override
    protected ModelResourceLocation getModelResourceLocation(IBlockState bs) {
      return modelResourceLocation;
    }
  });
}
ClientProxy.java 文件源码 项目:Runes-of-Wizardry 阅读 20 收藏 0 点赞 0 评论 0
@Override
public void registerDustStateMapper(ADustStorageBlock dustBlock){
    RunesOfWizardry.log().info("Creating StateMapper for "+dustBlock.getName());
    StateMapperBase mapper = new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState iBlockState) {
            ModelResourceLocation loc =new ModelResourceLocation(References.texture_path+"dust_storage");
            //System.err.println(loc.toString());
            return loc;
        }
    };
    ModelLoader.setCustomStateMapper(dustBlock.getInstance(), mapper);
}
Blocks.java 文件源码 项目:PowerAdvantageAPI 阅读 20 收藏 0 点赞 0 评论 0
/**
 * Adds fluid block models to the game and applies them to the fluid blocks
 */
@SideOnly(Side.CLIENT)
public static void bakeModels(){
    String modID = PowerAdvantage.MODID;
    for(Map.Entry<String,Block> e : allBlocks.entrySet()){
        Block b = e.getValue();
        String name = e.getKey();
        if(b instanceof BlockFluidBase){
            BlockFluidBase block = (BlockFluidBase)b;
            Fluid fluid = block.getFluid();
            Item item = Item.getItemFromBlock(block);
            final ModelResourceLocation fluidModelLocation = new ModelResourceLocation(
                    modID.toLowerCase() + ":" + name, "fluid");
            ModelBakery.registerItemVariants(item);
            ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition()
            {
                public ModelResourceLocation getModelLocation(ItemStack stack)
                {
                    return fluidModelLocation;
                }
            });
            ModelLoader.setCustomStateMapper(block, new StateMapperBase()
            {
                protected ModelResourceLocation getModelResourceLocation(IBlockState state)
                {
                    return fluidModelLocation;
                }
            });
        }
    }
}
BlockDungeonStone.java 文件源码 项目:ZeldaSwordSkills 阅读 18 收藏 0 点赞 0 评论 0
/**
 * Always returns the same base texture, since ISmartModel will handle the actual render state
 */
@Override
@SideOnly(Side.CLIENT)
public IStateMapper getCustomStateMap() {
    return new StateMapperBase() {
        @Override
        protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
            return ModelDungeonBlock.resource;
        }
    };
}


问题


面经


文章

微信
公众号

扫码关注公众号