6

Java 構文を独学で習得し、Minecraft をプラットフォームとして使用して飛び込もうとしています。ただし、テクスチャが読み込まれていないため、問題が発生しています。さらに言えば、私のローカリゼーションでもありません。これが私のブロックのコードです

package net.richbaird.testtutorial.blocks;

import cpw.mods.fml.common.registry.GameRegistry;
//import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.richbaird.testtutorial.lib.constants;

public class OrangeBlock extends Block {
    private String blockName = "orangeBlock";
    public OrangeBlock() {
        super(Material.rock);
        this.setBlockName(constants.MODID + "_" + blockName);
        this.setCreativeTab(CreativeTabs.tabBlock);
        GameRegistry.registerBlock(this,blockName);
        this.setBlockTextureName(constants.MODID + ":" + blockName);
        //LanguageRegistry.addName(this,"tutorial block");

    }

}

ここに私の定数クラスがあります

package net.richbaird.testtutorial.lib;
public class constants {
  public static final String MODID = "testtutorial";
  public static final String MODNAME = "Test Tutorial";
  public static final String VERSION = "1.0";
}

テクスチャをに保存しています

~/IdeaProjects/testmod/src/main/resources/assets/testtutorial/textures/blocks/orangeBlock.png

ログによると、テクスチャが見つかりません。これが私が受け取っているメッセージです

[08:08:14] [Client thread/ERROR]: 
Using missing texture, unable to load 
testtutorial:textures/blocks/orangeBlock.png
java.io.FileNotFoundException: testtutorial:textures/blocks/orangeBlock.png

クライアントが読み込まれ、アイテムが表示されますが、デフォルトの黒と紫のテクスチャが表示されます。私は何を間違えましたか?.lang ファイルも読み取られないため、命名規則に関係している可能性があると考えています。ブロックにわかりやすい名前を付ける唯一の方法は、現在は廃止されているLanguageRegistry.addName()メソッドを使用することです。

4

2 に答える 2

21

興味のある方は、intellij 14 のようなバグです。この行を forge に付属の build.gradle の一番下に追加します

sourceSets {
    main { output.resourcesDir = output.classesDir }
}

そして走っているgradle setupDecompWorkspace idea --refresh-dependencies

問題を修正しました。

于 2014-12-23T16:42:50.120 に答える