gpt4 book ai didi

java - block 纹理和 block 名称未加载 Minecraft Forge

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:44 25 4
gpt4 key购买 nike

我正在为我的世界制作一个模组,但我无法加载纹理:enter image description here

名称也无法正确显示(tile.Yarrite Ore.Name 而不是 Yarrite Ore): enter image description here

这是我用来创建 block 的代码(YarriteOre.java):

package com.NoNameYetMod.common;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;

public class YarriteOre extends Block{
public YarriteOre(int id,Material mat) {
super(mat);
this.setCreativeTab(CreativeTabs.tabBlock);
}

@Override
public void registerBlockIcons(IIconRegister p_149651_1_){
this.blockIcon = p_149651_1_.registerIcon("NoNameYetMod:Yarrite Ore");
}
}

这是我在游戏中注册 block 的 mod.java 文件:

package com.NoNameYetMod.common;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Metadata;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = "NoNameYetMod", name = "The \"No Name\" Yet Mod", version = "1.0.0 (Warning: Alpha!)")

public class NoNameYetMod{

@Metadata
public static ModMetadata meta;
//Yarrite
public static Block YarriteOre;
int YarriteOreID = 1001;

@EventHandler
public void init(FMLPreInitializationEvent event){
//Yarrit
YarriteOre = new YarriteOre(YarriteOreID, Material.rock).setHardness(1.5F).setBlockName("Yarrite Ore");

}

我尝试将图标重命名为 Yarrite OreYarriteYarritOre 但它们都不起作用!有人知道我做错了什么吗?

编辑:我也尝试过 .Png 和 .JPeg 文件,但没有一个有效...

编辑:我的项目位于 src/main/resources/assets/NoNameYetMod/Textures/blocks 文件夹中。

最佳答案

要修复名称,您只需在\main\resources\assets\MOD_ID\lang 中创建一个名为 en_US.lang 的文件即可。该文件是一个基本的文本文件,记事本可以编辑它,你应该输入你看到的疯狂名称,它的技术名称,然后你想要它在游戏中的名称。这是一个例子:

tile.Yarrite Ore.Name = Yarrite Ore

对项目执行相同的操作,只需使用 item.X 而不是tile.X。

您使用的是 1.7 还是 1.8 的 forge,1.8 中纹理加载的方式发生了很大变化?对于 1.7,您需要做的就是在 super(mat); 行之后添加此内容;

this.setBlockTextureName("MODID" + ":" + "yarriteOre");

将 yarriteOre 替换为图像名称。无需在行尾添加 .png,Minecraft 在查找图像时会这样做。对于基本 block 纹理,您不需要 registerBlockIcons() 方法。

这里是一些很棒的 Minecraft 模组教程 1.3-1.8 的链接。我以前用过它们,它们很有帮助。

Link

关于java - block 纹理和 block 名称未加载 Minecraft Forge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28770905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com