我正在尝试添加一个纹理到一个我有的项目,但它没有载入我的Minecraft。下面是我的基本mod类:package com.gandiber.thegalaxymod;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderItem;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.common.util.EnumHelper;
@Mod(modid = TheGalaxyMod.MODID, version = TheGalaxyMod.VERSION)
public class TheGalaxyMod {
public static final String MODID = "gandiber_thegalaxymod";
public static final String VERSION = "1.0";
public static ItemSword GalaxiumSword;
public static ToolMaterial galaxium = EnumHelper.addToolMaterial("galaxium", 3, 4000, 15F, 38.0F, 22);
@SidedProxy(serverSide = "com.gandiber.thegalaxymod.CommonProxy", clientSide = "com.gandiber.thegalaxymod.ClientProxy")
public static CommonProxy proxy;
@EventHandler
public void init(FMLInitializationEvent event) {
//Weapons
GameRegistry.register(GalaxiumSword = new ItemGalaxySword(galaxium, "diamondswordcompressed"));
// some example code
GameRegistry.addRecipe(new ItemStack(Items.DIAMOND),
"XXX",
"XXX",
"XXX",
'X', Items.GOLD_INGOT);
}
}
我得通用代理类:
package com.gandiber.thegalaxymod;
import net.minecraft.item.Item;
public class CommonProxy {
public void registerItemRenderer(Item item, int meta, String id) {
}
}
我的客户端代理类:
package com.gandiber.thegalaxymod;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
public class ClientProxy extends CommonProxy {
@Override
public void registerItemRenderer(Item item, int meta, String id) {
ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(TheGalaxyMod.MODID + ":" + id, "inventory"));
}
}
下面是实际剑的物品类:
package com.gandiber.thegalaxymod;
import net.minecraft.item.Item;
import net.minecraft.item.ItemSword;
import net.minecraftforge.fml.common.registry.GameRegistry;
import thegalaxymod.tutorial.item.ItemModelProvider;
public class ItemGalaxySword extends ItemSword implements ItemModelProvider {
private String name;
public ItemGalaxySword(ToolMaterial material, String name ) {
super(material);
setUnlocalizedName(name);
setRegistryName(name);
}
@Override
public void registerItemModel(Item item) {
TheGalaxyMod.proxy.registerItemRenderer(this, 0, name);
}
}
下面是项的json模型文件:
{
"parent": "item/generated",
"textures": {
"layer0": "gandiber_thegalaxymod:items/diamondswordcompressed"
},
"display":{
"thirdperson":{
"rotation":[-90, 0, 0],
"translation":[0, 1, -3],
"scale":[0.55,0.55,0.55]
},
"firstperson":{
"rotation":[0,-135,25],
"translation":[0,4,2],
"scale":[1.7,1.7,1.7]
}
}
}
下面是rendering class,它基本上什么也不做:
package thegalaxymod.tutorial.item;
import net.minecraft.item.Item;
public interface ItemModelProvider {
void registerItemModel(Item item);
}
我的文件夹结构:
Json文件:C:\users\myusername\documents\mods\auto-bow\src\main\resources\assets\gandiber_thegalaxymod\model\item\diamondswordcompressed.Json
PNG文件:C:\users\myusername\documents\mods\auto-bow\src\main\resources\assets\gandiber_thegalaxymod\textures\items\diamondswordcompressed.json
我尝试过的事情:
另外,如果这对这里的任何人都有帮助的话,我的fml-client-latest.log文件是:(Pastebin)
在ItemGalaxySword
类中,从不设置实例变量Name
。您应该将this.name=name
添加到构造函数中。
嘿,我不能让我的纹理出现,我不知道怎么了。辅导没有帮助。这是我的代码: spriteX=0,spriteY=0,spriteW=400,spriteL=400,x=0,y=0 这是我得到的输出:输出窗口 正如你所见,黑色三角形显示得很好,但没有纹理
我正在编码我的第一个《我的世界》mod,我可以让我的项目加载纹理。我对编码《我的世界》mod很不熟悉,我有点困惑。以下是基本项目的代码: 这是实际项目的代码:
我正在尝试自学java语法,并将minecraft作为一个平台进行深入研究。但是我遇到了一个问题,因为没有加载我的纹理。就这点而言,我的本地化也是如此。这是我的代码块 这是我的课程 我的纹理保存在 根据日志,它无法找到我的纹理。这是我得到的信息 客户端加载并显示“我的项目”,但带有默认的黑色和紫色纹理。我做错了什么?我想这可能与我的命名约定有关,因为。lang文件也不会被读取,我给我的块起一个友好
我一直试图让纹理在opengl 3.1下工作,在ubuntu 13.04上运行的intelHD图形2000/3000显卡上。我遇到的问题是纹理要么不加载,我试图纹理的基本三角形变成黑色,要么纹理中的一些颜色会加载,但不会加载整个图像。我使用原始图像文件作为源或使用libjpeg加载jpeg得到相同的结果。 我的着色器如下所示: 创建纹理glGenTexture(1, 还有渲染功能 几何和纹理坐标
加载纹理贴图集 可以使用Pixi的loader来加载纹理贴图集。如果是用Texture Packer生成的JSON,loader会自动读取数据,并对每一个帧创建纹理。下面就是怎么用loader来加载treasureHunter.json。当它成功加载,setup方法将会执行。 loader .add("images/treasureHunter.json") .load(setup); 现
下面是我用来创建块(yarriteore.java)的代码: 下面是mod.java文件,我在其中注册了游戏中的块: 我尝试将图标重命名为、和,但它们都不起作用!有人知道我做错了什么吗? 编辑:我也试过.png和.jpeg文件,但它们都不工作... 编辑:我有在src/main/resources/assets/nonameyetmod/textures/blocks文件夹中的项目。