

本人最近正在研发一个名叫Sweet Potato Mod(中文:烤地瓜Mod)的Fabric Mod。添加的作物出现了材质问题:井字格的每一个面都出现了白色的边框和黑色(本应该是透明的)像素。图2的最右侧作物是原版的马铃薯,却没有这个问题。

下面是一些细节:
- 材料采用了FabricMaterialBuilder,而不是原版的Material.PLANTS
- 模型中的parent对应的是minecraft:block/crop没错,blockstate参照原版胡萝卜完成。
- 材质也是参照原版胡萝卜的,并修改了一些像素
- 三种地瓜作物的blockstate文件内容完全相同
- 材质通过Photoshop CS6修图
请在mod的ClientModInitializer中添加:
复制代码
- BlockRenderLayerMap.INSTANCE.putBlock(<YOURBLOCK>, RenderLayer.getCutout());
squid233 发表于 2020-7-24 17:38
请在mod的ClientModInitializer中添加:
你指的是onInitialize函数吗
teddyxlandlee 发表于 2020-7-24 17:44
你指的是onInitialize函数吗
新建一个类实现ClientModInitializer
squid233 发表于 2020-7-24 17:46
新建一个类实现ClientModInitializer
啊~~我已经在主类的@Override public void onInitialize()方法中添加该代码,已成功解决该问题。非常感谢!
P.S. 顺便问一下这个ClientModInitializer怎么写,是否需要调用,可否给个格式?本人Fabric小白请见谅
teddyxlandlee 发表于 2020-7-24 17:53
啊~~我已经在主类的@Override public void onInitialize()方法中添加该代码,已成功解决该问题。非常感谢 ...
- import net.fabricmc.api.ClientModInitializer;
- import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
- import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
- import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
- import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
- import net.fabricmc.fabric.api.client.screenhandler.v1.ScreenRegistry;
- import net.fabricmc.fabric.impl.client.keybinding.KeyBindingRegistryImpl;
- import net.minecraft.client.render.RenderLayer;
- public final class ModClient implements ClientModInitializer {
- @Override
- public void onInitializeClient() {
- BlockRenderLayerMap.INSTANCE.putBlock(<YOURBLOCK>, RenderLayer.getCutout());
- }
- }
是直接放在跟主类同一个包下即可?
ClientModInitializer是直接放在跟主类同一个包下即可?还是你说的就是主类?