From e164310a0e12ffb34bd3802da8181125caafda23 Mon Sep 17 00:00:00 2001 From: Weatheraintbad Date: Sun, 14 Dec 2025 21:16:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D1.19.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 15 ++++-------- gradle.properties | 13 ++++------ .../java/luckyfishingrod/LuckyFishingRod.java | 24 ++++++++++++------- .../LuckyFishingRodClient.java | 12 ++++++---- src/main/java/luckyfishingrod/ModItems.java | 10 ++++---- .../client/DynamicModelVariantProvider.java | 16 ------------- src/main/resources/fabric.mod.json | 2 +- 7 files changed, 37 insertions(+), 55 deletions(-) delete mode 100644 src/main/java/luckyfishingrod/client/DynamicModelVariantProvider.java diff --git a/build.gradle b/build.gradle index d843b44..504c312 100644 --- a/build.gradle +++ b/build.gradle @@ -21,17 +21,10 @@ repositories { } dependencies { - // 基础依赖 - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - // Fabric API - 只声明一次 - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - // 可选:如果需要开发工具 - // modRuntimeOnly "com.terraformersmc:modmenu:7.0.1" - // modRuntimeOnly "maven.modrinth:lazydfu:0.1.3" + minecraft "com.mojang:minecraft:1.19.3" + mappings "net.fabricmc:yarn:1.19.3+build.5" + modImplementation "net.fabricmc:fabric-loader:0.16.14" + modImplementation "net.fabricmc.fabric-api:fabric-api:0.76.1+1.19.3" } processResources { diff --git a/gradle.properties b/gradle.properties index 356b90e..7da75be 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,14 +1,11 @@ # ???? org.gradle.jvmargs=-Xmx2G org.gradle.parallel=true - -# ????????Fabric Loom???? org.gradle.configuration-cache=false -# Fabric ?? -# ?? https://fabricmc.net/develop ?????? -minecraft_version=1.20.1 -yarn_mappings=1.20.1+build.10 +# ???? +minecraft_version=1.19.3 +yarn_mappings=1.19.3+build.5 loader_version=0.16.14 # Mod ?? @@ -16,5 +13,5 @@ mod_version=1.0.0 maven_group=luckyfishingrod archives_base_name=lucky-fishing-rod -# ???? -fabric_version=0.92.6+1.20.1 \ No newline at end of file +# 1.19.3 ??? Fabric API +fabric_version=0.76.1+1.19.3 \ No newline at end of file diff --git a/src/main/java/luckyfishingrod/LuckyFishingRod.java b/src/main/java/luckyfishingrod/LuckyFishingRod.java index 3d37354..cb5498c 100644 --- a/src/main/java/luckyfishingrod/LuckyFishingRod.java +++ b/src/main/java/luckyfishingrod/LuckyFishingRod.java @@ -1,7 +1,11 @@ package luckyfishingrod; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.item.Item; +import net.minecraft.item.ItemGroups; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,25 +14,27 @@ public class LuckyFishingRod implements ModInitializer { public static final String MOD_ID = "luckyfishingrod"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); - // 声明物品变量 - public static Item LUCKY_FISHING_ROD; + // 直接在这里初始化,省得后面再赋值 + public static final Item LUCKY_FISHING_ROD = new LuckyFishingRodItem( + new FabricItemSettings() + .maxDamage(64) // 1.19.3 只能用 FabricItemSettings + ); @Override public void onInitialize() { - // 注册物品和实体 - ModItems.register(); + // 1. 注册物品 + Registry.register(Registries.ITEM, id("lucky_fishing_rod"), LUCKY_FISHING_ROD); + + // 2. 注册实体 ModEntities.register(); - // 初始化网络 + // 3. 网络包 luckyfishingrod.network.NetworkMessages.register(); - // 将物品引用赋值给主类的静态变量 - LUCKY_FISHING_ROD = ModItems.LUCKY_FISHING_ROD; - LOGGER.info("Lucky Fishing Rod mod initialized!"); } - // 创建标识符 + // 快捷生成 Identifier public static Identifier id(String path) { return new Identifier(MOD_ID, path); } diff --git a/src/main/java/luckyfishingrod/LuckyFishingRodClient.java b/src/main/java/luckyfishingrod/LuckyFishingRodClient.java index 2e408b3..0b57100 100644 --- a/src/main/java/luckyfishingrod/LuckyFishingRodClient.java +++ b/src/main/java/luckyfishingrod/LuckyFishingRodClient.java @@ -13,14 +13,15 @@ public class LuckyFishingRodClient implements ClientModInitializer { @Override public void onInitializeClient() { - // 1. 网络与模型 + // 网络包 CastStateReceiver.register(); AutoClearCast.register(); + // 模型属性(1.19.3 开始只有 3 个参数,seed 被移除) ModelPredicateProviderRegistry.register( LuckyFishingRod.LUCKY_FISHING_ROD, new Identifier("casting"), - (itemStack, clientWorld, livingEntity, seed) -> { + (itemStack, clientWorld, livingEntity, seed) -> { // 补上第四个参数 if (livingEntity instanceof PlayerEntity player && PlayerCastState.isCasting(player)) { return 1.0F; } @@ -28,9 +29,10 @@ public void onInitializeClient() { } ); - // 2. 把幸运钓竿插到“工具”栏,在原版钓鱼竿后面 - ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(entries -> - entries.addAfter(Items.FISHING_ROD, LuckyFishingRod.LUCKY_FISHING_ROD)); + // 物品组插入(1.19.3 签名) + ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS) + .register(entries -> entries.addAfter(Items.FISHING_ROD, + LuckyFishingRod.LUCKY_FISHING_ROD)); LuckyFishingRod.LOGGER.info("Lucky Fishing Rod client initialized!"); } diff --git a/src/main/java/luckyfishingrod/ModItems.java b/src/main/java/luckyfishingrod/ModItems.java index a6c3a8b..5db1a2f 100644 --- a/src/main/java/luckyfishingrod/ModItems.java +++ b/src/main/java/luckyfishingrod/ModItems.java @@ -1,5 +1,6 @@ package luckyfishingrod; +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; // ← 新增 import net.minecraft.item.Item; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; @@ -10,14 +11,13 @@ public class ModItems { public static Item LUCKY_FISHING_ROD; public static void register() { - // 创建幸运钓鱼竿物品 + // 1.19.3 必须用 FabricItemSettings 才能调 maxDamage LUCKY_FISHING_ROD = new LuckyFishingRodItem( - new Item.Settings() - .maxDamage(256) - .rarity(Rarity.UNCOMMON) + new FabricItemSettings() + .maxDamage(256) // 耐久值 + .rarity(Rarity.UNCOMMON) // 稀有度 ); - // 注册物品 Registry.register(Registries.ITEM, LuckyFishingRod.id("lucky_fishing_rod"), LUCKY_FISHING_ROD); diff --git a/src/main/java/luckyfishingrod/client/DynamicModelVariantProvider.java b/src/main/java/luckyfishingrod/client/DynamicModelVariantProvider.java deleted file mode 100644 index d929e08..0000000 --- a/src/main/java/luckyfishingrod/client/DynamicModelVariantProvider.java +++ /dev/null @@ -1,16 +0,0 @@ -package luckyfishingrod.client; - -import net.fabricmc.fabric.api.client.model.loading.v1.ModelLoadingPlugin; -import net.fabricmc.fabric.api.client.model.loading.v1.ModelResolver; -import net.minecraft.client.render.model.UnbakedModel; -import net.minecraft.util.Identifier; -import org.jetbrains.annotations.Nullable; - -public class DynamicModelVariantProvider implements ModelResolver { - - @Override - @Nullable - public UnbakedModel resolveModel(Context context) { - return null; - } -} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 34c6261..1026ceb 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -17,7 +17,7 @@ ], "depends": { "fabricloader": ">=0.16.14", - "minecraft": ">=1.20.1 <=1.20.4", + "minecraft": "1.19.3", "fabric-api": "*" } } \ No newline at end of file