diff --git a/.github/workflows/cicd-workflow.yml b/.github/workflows/cicd-workflow.yml index 01da2b8..cef131e 100644 --- a/.github/workflows/cicd-workflow.yml +++ b/.github/workflows/cicd-workflow.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: push: branches: [ "*" ] - tags: ["1.18*"] + tags: ["1.19*"] pull_request: branches: [ "*" ] diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e1b986..c924553 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Forge Recommended Versioning](https://mcforge.readthedocs.io/en/latest/conventions/versioning/). +## [1.19-1.3.0.0] - 2022-06-22 +### Changed +- Update mod to Forge 1.19-41.0.45 + ## [1.18.2-1.2.1.2] - 2022-05-31 ### Added - Chinese (zh_cn) language support #3 (thanks to rentommy) diff --git a/gradle.properties b/gradle.properties index 025c8f7..a74ee75 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,11 +4,11 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false mod_id=woodenshears -mod_version=1.2.1.2 -minecraft_version=1.18.2 -forge_version=40.1.12 +mod_version=1.3.0.0 +minecraft_version=1.19 +forge_version=41.0.45 #Curseforge curseforge_id=443192 curseforge_release=release -curseforge_versions=1.18.2 +curseforge_versions=1.19 diff --git a/src/main/java/cech12/woodenshears/WoodenShearsMod.java b/src/main/java/cech12/woodenshears/WoodenShearsMod.java index fc04d73..30f1e65 100644 --- a/src/main/java/cech12/woodenshears/WoodenShearsMod.java +++ b/src/main/java/cech12/woodenshears/WoodenShearsMod.java @@ -5,12 +5,12 @@ import net.minecraft.core.dispenser.ShearsDispenseItemBehavior; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.DispenserBlock; -import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; +import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.fml.loading.FMLConfig; import net.minecraftforge.fml.loading.FMLPaths; @@ -39,7 +39,7 @@ public WoodenShearsMod() { } @SubscribeEvent - public static void registerItems(RegistryEvent.Register event) { + public static void registerDispenseBehavior(FMLCommonSetupEvent event) { DispenserBlock.registerBehavior(WOODEN_SHEARS.get(), new ShearsDispenseItemBehavior()); } diff --git a/src/main/java/cech12/woodenshears/config/ServerConfig.java b/src/main/java/cech12/woodenshears/config/ServerConfig.java index 1474ea6..a0f5585 100644 --- a/src/main/java/cech12/woodenshears/config/ServerConfig.java +++ b/src/main/java/cech12/woodenshears/config/ServerConfig.java @@ -10,6 +10,8 @@ public class ServerConfig { public static ForgeConfigSpec SERVER_CONFIG; + public static final int DEFAULT_DURABILITY = 50; + public static final ForgeConfigSpec.IntValue DURABILITY; static { @@ -19,7 +21,7 @@ public class ServerConfig { DURABILITY = builder .comment("Defines the maximum durability of Wooden Shears. (50 - default value, 0 - deactivates the durability)") - .defineInRange("durability", 50, 0, 10000); + .defineInRange("durability", DEFAULT_DURABILITY, 0, 10000); builder.pop(); diff --git a/src/main/java/cech12/woodenshears/item/WoodenShearsItem.java b/src/main/java/cech12/woodenshears/item/WoodenShearsItem.java index c5db466..d85f0ac 100644 --- a/src/main/java/cech12/woodenshears/item/WoodenShearsItem.java +++ b/src/main/java/cech12/woodenshears/item/WoodenShearsItem.java @@ -14,12 +14,20 @@ public WoodenShearsItem() { @Override public boolean isDamageable(ItemStack stack) { - return ServerConfig.DURABILITY.get() > 0; + try { + return ServerConfig.DURABILITY.get() > 0; + } catch (IllegalStateException ex) { + return true; + } } @Override public int getMaxDamage(ItemStack stack) { - return ServerConfig.DURABILITY.get(); + try { + return ServerConfig.DURABILITY.get(); + } catch (IllegalStateException ex) { + return ServerConfig.DEFAULT_DURABILITY; + } } } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index a4da400..f20a816 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[40,)" +loaderVersion="[41,)" issueTrackerURL="https://github.com/cech12/WoodenShears/issues" license="The MIT License (MIT)" [[mods]] @@ -15,12 +15,12 @@ license="The MIT License (MIT)" [[dependencies.woodenshears]] modId="forge" mandatory=true - versionRange="[40.1.12,)" + versionRange="[41.0.45,)" ordering="NONE" side="BOTH" [[dependencies.woodenshears]] modId="minecraft" mandatory=true - versionRange="[1.18.2,)" + versionRange="[1.19,)" ordering="NONE" side="BOTH" \ No newline at end of file diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index a29c60c..2155725 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,8 +1,8 @@ { "pack": { "description": "Wooden Shears resources", - "pack_format": 9, - "forge:resource_pack_format": 8, - "forge:data_pack_format": 9 + "pack_format": 10, + "forge:resource_pack_format": 9, + "forge:data_pack_format": 10 } } diff --git a/src/test/java/cech12/woodenshears/EntityTests.java b/src/test/java/cech12/woodenshears/EntityTests.java index 4706563..f7d8486 100644 --- a/src/test/java/cech12/woodenshears/EntityTests.java +++ b/src/test/java/cech12/woodenshears/EntityTests.java @@ -12,6 +12,7 @@ import net.minecraft.world.level.block.Rotation; import net.minecraftforge.common.IForgeShearable; import net.minecraftforge.gametest.GameTestHolder; +import net.minecraftforge.registries.ForgeRegistries; import java.util.ArrayList; import java.util.List; @@ -31,7 +32,7 @@ public static List generateMilkingTests() { boolean[] creativeStates = { false, true }; for (EntityType entityType : SHEARABLE_ENTITIES) { for (boolean isCreative : creativeStates) { - String entityName = Objects.requireNonNull(entityType.getRegistryName()).getPath(); + String entityName = Objects.requireNonNull(ForgeRegistries.ENTITIES.getKey(entityType)).getPath(); String testName = "test" + ((isCreative) ? "creative" : "survival") + "shearing" + entityName; testFunctions.add(new TestFunction( "defaultBatch", diff --git a/src/test/java/cech12/woodenshears/util/ModTestHelper.java b/src/test/java/cech12/woodenshears/util/ModTestHelper.java index 862002b..302efb2 100644 --- a/src/test/java/cech12/woodenshears/util/ModTestHelper.java +++ b/src/test/java/cech12/woodenshears/util/ModTestHelper.java @@ -18,7 +18,7 @@ public class ModTestHelper { public static ServerPlayer makeMockCreativePlayer(GameTestHelper helper) { - return new ServerPlayer(helper.getLevel().getServer(), helper.getLevel(), new GameProfile(UUID.randomUUID(), "test-mock-creative-player")) { + return new ServerPlayer(helper.getLevel().getServer(), helper.getLevel(), new GameProfile(UUID.randomUUID(), "test-mock-creative-player"), null) { public boolean isSpectator() { return false; } @@ -38,7 +38,7 @@ public Abilities getAbilities() { } public static ServerPlayer makeMockSurvivalPlayer(GameTestHelper helper) { - return new ServerPlayer(helper.getLevel().getServer(), helper.getLevel(), new GameProfile(UUID.randomUUID(), "test-mock-survival-player")) { + return new ServerPlayer(helper.getLevel().getServer(), helper.getLevel(), new GameProfile(UUID.randomUUID(), "test-mock-survival-player"), null) { public boolean isSpectator() { return false; }