查询得到1.13.2可以public BlockRenderLayer getRenderLayer()
用该函数控制,但是新的版本中这个函数消失了。
查询得到1.13.2可以public BlockRenderLayer getRenderLayer()
用该函数控制,但是新的版本中这个函数消失了。
在你model的json文件中,输入下列代码:
{
"parent": "block/block",
"textures": {
"wool": "你mod的名字:block/物品的注册名字"
}
}
缺点是在物品栏里面也是显示透明的,但是这个是最简单的方法了,那些比较好的方法我正在测试。
这个wool控制的是什么?就是透明度?
markdown 有贴代码的语法的,你可以学一下。我已经帮你改好了。
原来是“parent”:“block/carpet”,但是把carpet改为block就显示透明了。
另外还有一步,在你的方块的class文件中加入下面的代码(不知道是不是必须的):
protected static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D);
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
return SHAPE;
}
{
"parent": "block/cube_all",
"textures": {
"wool": "rocket_mod:wall_block",
"all": "rocket_mod:block/wall_block",
"up": "rocket_mod:block/wall_block_up",
"down": "rocket_mod:block/wall_block_down",
"particle": "#all"
},
"elements": [
{ "from": [ 0, 0, 0 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#down", "tintindex": 1, "cullface": "down" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#up", "tintindex": 2, "cullface": "up" },
"north": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 3, "cullface": "north" },
"south": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 4, "cullface": "south" },
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 5, "cullface": "west" },
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#all", "tintindex": 6, "cullface": "east" }
}
}
]
}
这个是我的模型文件,这个方法暂时没有用
如果单纯地想透明的话,直接按照我的来就得了,不用添加其他的代码。
我想同时添加染色效果,会不会是染色的代码覆盖了?现在透明的地方全部显示黑色
@OnlyIn(Dist.CLIENT)
public class CustomBlockColor implements IBlockColor {
@Override
public int getColor(BlockState state, @Nullable ILightReader light, @Nullable BlockPos pos, int tintIndex) {
if(state.getBlock() instanceof ColorBlock) {
return ((ColorBlock)(state.getBlock())).getColorValue();
} else {
return 0x000000;
}
}
}
我正在尝试把model/block里面的代码再复制到model/item的文件里面,然后model/block里面只留{},不知道有没有效果。
我期望的效果可能类似玻璃,这个是渲染错误
你可以用 Photoshop 将你图片中想要透明的部分用橡皮擦清除就可以了,Windows自带的画图功能无法制造透明图片的效果。
你们有没有修改方块的渲染方式。
这里有篇关于Render的文章。
我用的是photoshop
看一下有关玻璃的Java代码,还有models/block里面的写法,看看需要加入或改动什么。
RenderTypeLookup.setRenderLayer(block, type);
该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。