https://github.com/DaRealTurtyWurty/1.19TutorialMod

  • サンプル
  • gradle の設定が最小限しかないのが良い

Gradle / Groovy

  • スペース区切りはつまり、メソッドの呼び出し。本来は hoge(xx)と書くところを hoge xx と書くことができる
  • コロン区切りはつまり、名前付き引数の指定。スペース区切りでメソッド呼び出しした後に記載することが多いのでは?
  • 波かっこはクロージャ つまり、任意のコードを記述できる
eclipse {
 project{
  name = "hoge"
 }
}

name=hoge を指揮とした project を呼び出す ecripse を呼び出す?

クロージャ内部では、delegate されたオブジェクトを暗黙的に参照できる。 eclipse では、デフォルトで project が delegate されてるとか?

※つまり、build.gradle で pluginで forge を追加することで、minecraft クラスが使えて、そこに build /run などの 事前 delegate されたクラスが使えるっぽい?

src/main

https://docs.minecraftforge.net/en/latest/concepts/registries/

DeferredRegister : おそらく、 Forge のレジストリに、自作リソースを登録するための仲介クラスっぽい?

RegistryObject は登録済みのオブジェクトの情報っぽい?登録後に何か変更したいならこのポインタを参照する?

requiresCorrectToolForDrops : ブロック回収に特定ツールが必要である属性を設定する

FlowerBlock (Blockの亜種っぽい)

randomTicks https://nekoyue.github.io/ForgeJavaDocs-NG/javadoc/1.18.2/net/minecraft/world/level/block/state/BlockBehaviour.Properties.html#randomTicks()

https://nekoyue.github.io/ForgeJavaDocs-NG/javadoc/1.19/ https://minecraft.fandom.com/wiki/Tick

public BlockBehaviour.Properties randomTicks() ブロックティック : 植物の成長とか、時間を使う系で使う

タグ関係

TagKey というクラスに create したタグを入れる

Item

フード public static final FoodProperties EXAMPLE_FOOD = new FoodProperties.Builder()  で生成したものをアタッチできる

 new Item(props().food(Foods.EXAMPLE_FOOD))

ForgeTierクラスとは? Tier とは? https://minecraft.fandom.com/ja/wiki/%E9%9A%8E%E7%B4%9A

  • 採掘レベル
  • アイテム耐久度
  • 採掘速度の乗数
  • ダメージ倍率 [fn 1]
  • 良いエンチャントが出てくる確率 多分他にもある
        public static final Tier EXAMPLE = new ForgeTier(
                2,
                800,
                1.5f,
                3,
                350,
                BlockInit.Tags.NEEDS_EXAMPLE_TOOL,
                () -> Ingredient.of(ItemInit.EXAMPLE_ITEM.get()));
    }

Chat

https://github.com/DaRealTurtyWurty/1.19TutorialMod/blob/main/src/main/java/dev/turtywurty/tutorialmod/util/ClientAccess.java

import net.minecraft.network.chat.Component;

多分チャット追加っぽい?

components.add(Component.literal("Press " + PURPLE + "SHIFT " + WHITE + "for more information!"));

これで直接メッセージ送るっぽい

player.sendSystemMessage(Component.literal("Beans"));

KunLabのやつで有名かつ自分が視聴してるやつを参考に見ていく

ざっとみ古い方が構成が簡単で見やすそう

https://github.com/TeamKun/VoteMod/blob/master/src/main/java/net/teamfruit/votemod/VoteMod.java

  • 意外と実装少ない
  • アセット少ないと少ないっぽい?

中身

  • VoteMod 自体はコンストラクタを持たない
  • 投票内容をリストで持つので、おそらくインスタンスは1つだけ?

あー、基本は動作しなくて、サーバー側にコマンドを登録しておき、コマンド実行によって起動する感じっぽい

  • サーバー側 : vs で投票開始
  • クライアント側 : v で投票