方块纹理和方块名称未加载 minecraft forge
Block textures and block names not loading minecraft forge
我正在为我的世界制作 mod,但我无法加载纹理:
名称也没有正确显示(tile.Yarrite Ore.Name 而不是 Yarrite Ore):
这是我用来创建块的代码(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");
}
}
这是我在游戏中注册方块的 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 Ore
、Yarrite
和 YarritOre
,但其中 none 有效!有人知道我做错了什么吗?
编辑:我也试过 .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 在查找图像时会这样做。对于基本块纹理,您不需要 registerBlockIcons() 方法。
这里有一些很棒的 Minecraft 模组教程 link,1.3-1.8。我以前用过它们,帮了大忙。
我正在为我的世界制作 mod,但我无法加载纹理:
名称也没有正确显示(tile.Yarrite Ore.Name 而不是 Yarrite Ore):
这是我用来创建块的代码(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");
}
}
这是我在游戏中注册方块的 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 Ore
、Yarrite
和 YarritOre
,但其中 none 有效!有人知道我做错了什么吗?
编辑:我也试过 .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 在查找图像时会这样做。对于基本块纹理,您不需要 registerBlockIcons() 方法。
这里有一些很棒的 Minecraft 模组教程 link,1.3-1.8。我以前用过它们,帮了大忙。