質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Q&A

0回答

1801閲覧

[Java・マイクラMod開発]自作アイテムを追加はできたがアイテム名とテクスチャが反映されない。

Sakuraga

総合スコア0

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

0グッド

0クリップ

投稿2021/02/26 07:41

編集2021/02/26 07:50

やっていること

MineCraftのMod作成(主に新アイテムの追加)
[Minecraft JE 1.12.2(-1.13.x)] MOD作成のすすめ(チュートリアル) Part01 : アイテムを追加するまでを参考にしました。

発生している問題

追加したtest_itemと定義しているアイテムに名前とテクスチャを適応させたいのですが、resourceというファイルに入れているアイテム名やテクスチャが一切反映されません。
実際にrunしてみるとアイテム名はitem.test_item.nameとなり、テクスチャがない場合に出る例の黒と紫のブロック状の表示になっていました。

該当のソースコードとディレクトリ構造

※実際のコードが入っているファイル以外は省略しています。必要なものがあればお手数ですがお教えください。 MoreSwordMod/src/main   ├ java/moresword/tutorial │ ├ MoreSwordMod.java │ └ MoreSwordItems.java └ resources/assets/tsukineko_moresword ├ lang │ ├ en_us.lang │ └ ja_jp.lang ├ models/item │ └ test_item.json └ textures/items └ test_items.png ※ 現在はテクスチャとして使用していません。

MoreSwordMod

1package com.moresword.tutorial; 2import net.minecraftforge.fml.common.Mod; 3import net.minecraftforge.fml.common.event.FMLInitializationEvent; 4import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; 5import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; 6@Mod(modid=MoreSwordMod.MOD_ID, name=MoreSwordMod.MOD_NAME, version=MoreSwordMod.VERSION) 7public class MoreSwordMod { 8 public static final String MOD_ID = "tsukineko_moresword"; 9 public static final String MOD_NAME = "MoreSwordMod"; 10 public static final String VERSION = "1.0"; 11 //アイテム・ブロック・ディメンション登録用 12 @Mod.EventHandler 13 public void preInit(FMLPreInitializationEvent event){ 14 MoreSwordItems.init(); 15 MoreSwordItems.register(); 16 } 17 //レシピ・バイオーム・エンティティー登録用 18 @Mod.EventHandler 19 public void init(FMLInitializationEvent event){ 20 } 21 //既存レシピの変更や他Modとの連携性登録用 22 @Mod.EventHandler 23 public void postInit(FMLPostInitializationEvent event){ 24 } 25}

MoreSwordItems

1package com.moresword.tutorial; 2import net.minecraft.client.Minecraft; 3import net.minecraft.client.renderer.block.model.ModelResourceLocation; 4import net.minecraft.creativetab.CreativeTabs; 5import net.minecraft.item.Item; 6import net.minecraftforge.fml.common.registry.ForgeRegistries; 7public class MoreSwordItems { 8 public static Item test_item; 9 public static void init(){ 10 test_item = new Item() 11 .setRegistryName(MoreSwordMod.MOD_ID, "test_item") 12 .setUnlocalizedName("test_item") 13 .setCreativeTab(CreativeTabs.MATERIALS) 14 .setMaxStackSize(64); 15 } 16 public static void register(){ 17 ForgeRegistries.ITEMS.register(test_item); 18 } 19 public static void registerRenders(){ 20 registerRender(test_item, 0); 21 } 22 private static void registerRender(Item item, int meta){ 23 Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register( 24 item, meta, new ModelResourceLocation(item.getRegistryName(), "Inventory") 25 ); 26 } 27}

コードについて

基本的には上で取り上げた動画のコードのアイテム名など固有の部分以外丸パクリで、中身自体はほとんど理解していません。

試したこと

調べた結果、Intellij IDEAを使っていると、resourcesが読み込まれない?みたいな問題があるという風に書いてありました。
具体的な原因は、IntellijだとModelResourceLocation(MoreSwordItems.java末尾四行目)で、mainのclassがある同じディレクトリ内しかresourocesを探さない?かららしいです(?)
そこでbuild.gradl末尾に下記コードを突っ込むと読み込むようになるらしいのでやってみました。

copy { delete { delete "$buildDir/classes/java/main" } into "$buildDir/classes/java/main" from sourceSets.main.resources }

理論上はModelResourceLocationがresouroesを探してくれる場所に、毎回resourocesをコピーして作ってくれることで、見つけれるようにするらしいです。
効果はありませんでした。

補足情報(FW/ツールのバージョンなど)

OS: Win10
Editor: Intellij IDEA Community Edition 2020
MineCraftVer: 1.12.2
質問者のスキルレベル: Javaほぼ無知・Pythonがメイン言語

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問