2

MOD を作り始めましたが、アイテムとして登録されていません。入力/give Fidojj222 fcm:fuel_canisterすると、アイテムが存在しないと表示される以外は、アイテムが表示されます。IDE として Eclipse を使用しています。jar にコンパイルすると、次の警告が表示されるのではないかと疑っています。

JAR export finished with warnings. See details for additional information.
Can not export external class folder at 'C:\Users\J.J\.gradle\caches\minecraft\net\minecraftforge\forge\1.8-11.14.3.1450\start'.

それが問題である場合、どうすれば修正できますか?そうでない場合、私のコードは次のとおりです。

CarsMod.java:

package com.fidojj222.carsmod;

import com.fidojj222.carsmod.init.CarsItems;
import com.fidojj222.carsmod.proxy.CommonProxy;

import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version =     Reference.VERSION)
public class CarsMod {

    @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide =             Reference.SERVER_PROXY_CLASS)
    public static CommonProxy proxy;

    public void PreInit(FMLPreInitializationEvent event){
        CarsItems.init();
        CarsItems.register();
    }

    public void Init(FMLInitializationEvent event){
        proxy.registerRenders();
    }

    public void PostInit(FMLPostInitializationEvent event){

    }
}

参照.java:

package com.fidojj222.carsmod;

public class Reference {
    public static final String MOD_ID = "fcm";
    public static final String MOD_NAME = "Fidojj222\'s Cars Mod";
    public static final String VERSION = "1.0";
    public static final String CLIENT_PROXY_CLASS = "com.fidojj222.carsmod.proxy.ClientProxy";
    public static final String SERVER_PROXY_CLASS = "com.fidojj222.carsmod.proxy.CommonProxy";
}

CarsItems.java:

package com.fidojj222.carsmod.init;

import com.fidojj222.carsmod.Reference;

import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class CarsItems {
    public static Item fuel_canister;

    public static void init(){
        fuel_canister = new Item().setUnlocalizedName("fuel_canister");
    }

    public static void register(){
        GameRegistry.registerItem(fuel_canister, fuel_canister.getUnlocalizedName().substring(5));
    }

    public static void registerRenders(){
        registerRender(fuel_canister);
    }

    public static void registerRender(Item item){
            Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
    }
}

CommonProxy.java:

package com.fidojj222.carsmod.proxy;

public class CommonProxy {
    public void registerRenders(){

    }
}

ClientProxy.java:

package com.fidojj222.carsmod.proxy;

import com.fidojj222.carsmod.init.CarsItems;

public class ClientProxy extends CommonProxy {
    @Override
    public void registerRenders(){
        CarsItems.registerRenders();
    }
}
4

1 に答える 1

2

見せないってどういうこと?アイテムがクリエイティブ検索メニューでまったく見つからない、またはテクスチャのない (紫/黒の市松模様) ブロックですか?

テクスチャが適用されていない場合は、次の 2 つのことを確認する必要があります。

  1. このテクスチャが配置されていることを確認してくださいsrc/main/resources/assets/fcm/textures/items/fuel_canister.png 16x16 ピクセルである必要があります。
  2. src/main/resources/assets/fcm/models/item/fuel_canister.jsonfuel_canister.jsonにファイルを作成します。このファイルは、ゲーム内で画像をレンダリングする方法を定義します。

そのファイルの内容は

{
  "parent": "builtin/generated",
  "textures":{
      "layer0":"fcm:items/fuel_canister"
  },
  "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]
      }
  }
}
于 2015-12-20T06:03:18.703 に答える