ArcoWave_龙梦
本帖最后由 ArcoWave_龙梦 于 2020-2-19 20:30 编辑

使用了参考教程

按照教程写的流体渲染方法:
  1.     @SideOnly(Side.CLIENT)
  2.     public static void registerRenders(){
  3.         registerFluidRenders((BlockFluidBase) ModBlocks.FLUID_MERCURY,"fluid_mercury");
  4.     }

  5.     @SideOnly(Side.CLIENT)
  6.     public static void registerFluidRenders(BlockFluidBase blockFluid, String blockStateName){
  7.         final String location = Reference.MODID + ":" + blockStateName;
  8.         final Item itemFluid = Item.getItemFromBlock(blockFluid);
  9.         ModelLoader.setCustomMeshDefinition(itemFluid, new ItemMeshDefinition() {
  10.             @Override
  11.             public ModelResourceLocation getModelLocation(ItemStack stack) {
  12.                 return new ModelResourceLocation("fluid_mercury","fluid");
  13.             }
  14.         });
  15.         ModelLoader.setCustomStateMapper(blockFluid, new StateMapperBase() {
  16.             @Override
  17.             protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
  18.                 return new ModelResourceLocation(location,"fluid");
  19.             }
  20.         });
  21.     }
复制代码


运行游戏后,流体方块是正常的,可以正常流淌
但是物品栏里依然是紫黑块
我知道是因为没有在models/item下写这个物品的json文件
但是我翻了一些其他mod的源码,发现他们的imodels/item里并没有给流体物品写json
所以到底是怎么实现的?

1025915480
666666666666666666666

清晨w
自定义流体模型采用的是forge模型格式
他的所有的模型都是在blockstates的json中的
同时还需要像注册物品模型一样注册流体方块所对应的的物品的模型
另外,流体为什么会有物品形式,不应该用桶装吗?