はじめに
今回は、今までMinecraftのModで作成したアイテムやブロックにツールチップを設定してみたいと思います。
前提
ドロップ作成の前提として、以下記事を参考にModの開発環境が構築されていること。
【参照】
【開発環境構築】VSCodeでMinecraft(Java版)のMOD作成環境を構築する – SEもりのLog (selifemorizo.com)
【Java + Mod開発】オリジナルのアイテムを追加してみる – SEもりのLog (selifemorizo.com)
【Java + Mod開発】オリジナルのブロックをMinecraftで追加してみる – SEもりのLog (selifemorizo.com)
アイテムにツールチップを追加
こちらの記事で作成したアイテムにツールチップを追加していきます。
【Java + Mod開発】Minecraftでオリジナルのアイテムに機能を追加する方法 – SEもりのLog Mod
フォルダ構成
赤字のフォルダ・ファイルが今回必要な追加・修正対象になります。
└─src
├─generated
│ └─resources
│ └─.cache
├─main
│ ├─java
│ │ └─com
│ │ └─mori
│ │ └─morimod
│ │ │ Config.java
│ │ │ MoriMod.java
│ │ │
│ │ ├─blocks
│ │ │ │ MoriModBlock.java
│ │ │ │
│ │ │ └─customize
│ │ │ HiraganaBlock.java
│ │ │
│ │ └─items
│ │ │ MoriModCreativeModeTabs.java
│ │ │ MoriModFood.java
│ │ │ MoriModItem.java
│ │ │
│ │ └─customize
│ │ IronSearcherItem.java
│ │ JudgeItem.java
│ │
│ └─resources
│ │ pack.mcmeta
│ │
│ ├─assets
│ │ └─morimod
│ │ ├─blockstates
│ │ │ a_block.json
│ │ │ moriblock.json
│ │ │ mo_block.json
│ │ │ ri_block.json
│ │ │
│ │ ├─lang
│ │ │ en_us.json
│ │ │ ja_jp.json
│ │ │
│ │ ├─models
│ │ │ ├─block
│ │ │ │ a_block.json
│ │ │ │ moriblock.json
│ │ │ │ mo_block.json
│ │ │ │ ri_block.json
│ │ │ │
│ │ │ └─item
│ │ │ a_block.json
│ │ │ humbarger.json
│ │ │ iron_searcher.json
│ │ │ judge_rod.json
│ │ │ moriblock.json
│ │ │ moriitem.json
│ │ │ moriitem2.json
│ │ │ mo_block.json
│ │ │ ri_block.json
│ │ │
│ │ └─textures
│ │ ├─block
│ │ │ a_block.png
│ │ │ moriblock.png
│ │ │ mo_block.png
│ │ │ ri_block.png
│ │ │
│ │ └─item
│ │ humbarger.png
│ │ iron_searcher.png
│ │ judge_rod.png
│ │ moriitem.png
│ │ moriitem2.png
│ │
│ ├─data
│ │ ├─minecraft
│ │ │ └─tags
│ │ │ └─blocks
│ │ │ │ needs_diamond_tool.json
│ │ │ │ needs_iron_tool.json
│ │ │ │ needs_stone_tool.json
│ │ │ │
│ │ │ └─mineable
│ │ │ axe.json
│ │ │ hoe.json
│ │ │ pickaxe.json
│ │ │ shovel.json
│ │ │
│ │ └─morimod
│ │ ├─loot_tables
│ │ │ └─blocks
│ │ │ moriblock.json
│ │ │ mo_block.json
│ │ │ ri_block.json
│ │ │
│ │ └─recipes
│ │ humbarger.json
│ │ moriblock.json
│ │ moriitem_from_block.json
│ │
│ └─META-INF
│ mods.toml
ソース編集
JudgeItem.java
「appendHoverText」メソッドをオーバーライドして追加します。
@Override
public void appendHoverText(ItemStack p_41421_, Level p_41422_, List<Component> p_41423_, TooltipFlag p_41424_) {
if (Screen.hasShiftDown()) {
p_41423_.add(Component.translatable("tooltip.shift.Morimod.item.morimod.judge_rod"));
} else {
p_41423_.add(Component.translatable("tooltip.Morimod.item.morimod.judge_rod"));
}
// TODO Auto-generated method stub
super.appendHoverText(p_41421_, p_41422_, p_41423_, p_41424_);
}
ja_jp.json
IDとして使用した「tooltip.shift.Morimod.item.morimod.judge_rod」と「tooltip.Morimod.item.morimod.judge_rod」に対して表示したい文章を追加します。
{
~~~~~~略~~~~
"tooltip.shift.Morimod.item.morimod.judge_rod": "シフト時に出すツールチップ説明",
"tooltip.Morimod.item.morimod.judge_rod": "通常時のツールチップ"
}
ブロックにツールチップを追加
こちらの記事で作成したブロックにツールチップを追加していきます。
【Java + Mod開発】Minecraftでオリジナルのブロックに機能を追加する – SEもりのLog Mod
フォルダ構成
上記に記載。
HiraganaBlock.java
「appendHoverText」メソッドをオーバーライドして追加します。
@Override
public void appendHoverText(ItemStack p_49816_, BlockGetter p_49817_, List<Component> p_49818_,
TooltipFlag p_49819_) {
if (Screen.hasShiftDown()) {
p_49818_.add(Component.translatable("tooltip.shift.Morimod.block.morimod.a_block"));
} else {
p_49818_.add(Component.translatable("tooltip.Morimod.block.morimod.a_block"));
}
// TODO Auto-generated method stub
super.appendHoverText(p_49816_, p_49817_, p_49818_, p_49819_);
}
ja_jp.json
IDとして使用した「tooltip.shift.Morimod.item.morimod.judge_rod」と「tooltip.Morimod.item.morimod.judge_rod」に対して表示したい文章を追加します。
{
~~~~~~略~~~~
"tooltip.shift.Morimod.block.morimod.a_block": "シフト時に出すツールチップ説明",
"tooltip.Morimod.block.morimod.a_block": "通常時のツールチップ"
}
実行確認
実際の挙動を確認してみます。
公式サイト
最後に
以上、ログになります。
これからも継続していきましょう!!
コメント