diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0b324ef..64555a2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,10 +17,10 @@ jobs: uses: actions/checkout@v2 - name: validate gradle wrapper uses: gradle/wrapper-validation-action@v1 - - name: setup jdk 17 + - name: setup jdk 21 uses: actions/setup-java@v1 with: - java-version: 17 + java-version: 21 - name: make gradle wrapper executable run: chmod +x ./gradlew - name: build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91c5ea6..4fecf87 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,10 +12,10 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v2 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v2 with: - java-version: '17' + java-version: '21' distribution: 'temurin' - name: Grant execute permission to gradlew run: chmod +x gradlew diff --git a/build.gradle b/build.gradle index f8c7a6b..f082a8c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ plugins { - id 'fabric-loom' version '1.5-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' id 'maven-publish' } -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 +sourceCompatibility = JavaVersion.VERSION_21 +targetCompatibility = JavaVersion.VERSION_21 archivesBaseName = project.archives_base_name version = project.mod_version + "+" + project.minecraft_version @@ -63,7 +63,7 @@ processResources { tasks.withType(JavaCompile).configureEach { it.options.encoding = "UTF-8" - it.options.release.set(17) + it.options.release.set(21) } jar { diff --git a/gradle.properties b/gradle.properties index fe91fde..a8bb874 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,14 +1,14 @@ # Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G # Fabric Properties -minecraft_version=24w13a -loader_version=0.15.7 +minecraft_version=1.20.5-rc1 +loader_version=0.15.10 # Mod Properties mod_version=4.1.2 maven_group=me.drex archives_base_name=villagerconfig # Dependencies -fabric_version=0.96.12+1.20.5 +fabric_version=0.97.3+1.20.5 mod_menu_version=8.0.0 cloth_config_version=12.0.109 fiber_version=0.23.0-2 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1af9e09..b82aa23 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/me/drex/villagerconfig/commands/GenerateCommand.java b/src/main/java/me/drex/villagerconfig/commands/GenerateCommand.java index e8dda8e..838a0e8 100644 --- a/src/main/java/me/drex/villagerconfig/commands/GenerateCommand.java +++ b/src/main/java/me/drex/villagerconfig/commands/GenerateCommand.java @@ -30,7 +30,7 @@ public static LiteralArgumentBuilder builder() { private static int execute(CommandSourceStack src, boolean experimental) { DataGenerator dataGenerator = new DataGenerator(GENERATED, SharedConstants.getCurrentVersion(), true); DataGenerator.PackGenerator tradesPack = dataGenerator.getVanillaPack(true); - tradesPack.addProvider(packOutput -> new TradeProvider(packOutput, src.getServer().registryAccess(), experimental)); + tradesPack.addProvider(packOutput -> new TradeProvider(packOutput, src.getServer(), experimental)); try { dataGenerator.run(); src.sendSuccess(() -> Component.literal("Successfully generated trade " + (experimental ? "(experimental) " : "") + "data to " + GENERATED).withStyle(ChatFormatting.GREEN), false); diff --git a/src/main/java/me/drex/villagerconfig/util/TradeProvider.java b/src/main/java/me/drex/villagerconfig/util/TradeProvider.java index e601a5a..67bcabe 100644 --- a/src/main/java/me/drex/villagerconfig/util/TradeProvider.java +++ b/src/main/java/me/drex/villagerconfig/util/TradeProvider.java @@ -17,7 +17,6 @@ import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.advancements.critereon.NbtPredicate; import net.minecraft.core.Holder; -import net.minecraft.core.HolderLookup; import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.CachedOutput; @@ -26,6 +25,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.MinecraftServer; import net.minecraft.world.entity.npc.VillagerProfession; import net.minecraft.world.entity.npc.VillagerTrades; import net.minecraft.world.entity.npc.VillagerType; @@ -33,7 +33,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.alchemy.Potion; -import net.minecraft.world.item.alchemy.PotionBrewing; import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.item.component.SuspiciousStewEffects; import net.minecraft.world.item.enchantment.Enchantment; @@ -62,7 +61,7 @@ public class TradeProvider implements DataProvider { private final PackOutput.PathProvider pathResolver; - private final HolderLookup.Provider provider; + private final MinecraftServer server; private final boolean experimental; public static final ResourceLocation WANDERING_TRADER_ID = new ResourceLocation("wanderingtrader"); private static final IntUnaryOperator WANDERING_TRADER_COUNT = i -> switch (i) { @@ -79,9 +78,9 @@ public class TradeProvider implements DataProvider { } }; - public TradeProvider(PackOutput output, HolderLookup.Provider provider, boolean experimental) { + public TradeProvider(PackOutput output, MinecraftServer server, boolean experimental) { this.pathResolver = output.createPathProvider(PackOutput.Target.DATA_PACK, "trades"); - this.provider = provider; + this.server = server; this.experimental = experimental; } @@ -121,7 +120,7 @@ public TradeProvider(PackOutput output, HolderLookup.Provider provider, boolean tiers[level - 1] = new TradeTier((VillagerDataAccessor.getNextLevelXpThresholds()[level - 1]), List.of(tradeGroup)); }); TradeTable tradeTable = new TradeTable(List.of(tiers)); - return DataProvider.saveStable(writer, provider, TradeTable.CODEC, tradeTable, path); + return DataProvider.saveStable(writer, server.registryAccess(), TradeTable.CODEC, tradeTable, path); }).toArray(CompletableFuture[]::new)); } @@ -184,7 +183,7 @@ private BehaviorTrade.Builder[] convert(VillagerTrades.ItemListing original) { } else if (original instanceof VillagerTrades.TippedArrowForItemsAndEmeralds factory) { List> potions = BuiltInRegistries.POTION .holders() - .filter(reference -> !reference.value().getEffects().isEmpty() && PotionBrewing.isBrewablePotion(reference)) + .filter(reference -> !(reference.value()).getEffects().isEmpty() && server.potionBrewing().isBrewablePotion(reference)) .collect(Collectors.toList()); LootPoolEntryContainer.Builder[] entries = new LootPoolEntryContainer.Builder[potions.size()]; for (int i = 0; i < potions.size(); i++) { diff --git a/src/main/java/me/drex/villagerconfig/util/loot/function/EnchantRandomlyLootFunction.java b/src/main/java/me/drex/villagerconfig/util/loot/function/EnchantRandomlyLootFunction.java index ab26de9..22be4a4 100644 --- a/src/main/java/me/drex/villagerconfig/util/loot/function/EnchantRandomlyLootFunction.java +++ b/src/main/java/me/drex/villagerconfig/util/loot/function/EnchantRandomlyLootFunction.java @@ -79,6 +79,7 @@ public class EnchantRandomlyLootFunction extends LootItemConditionalFunction { HolderSet excluded = exclude.orElse(HolderSet.direct()); List> list = BuiltInRegistries.ENCHANTMENT .holders() + .filter(reference -> reference.value().isEnabled(context.getLevel().enabledFeatures())) .filter(reference -> reference.value().isDiscoverable()) .filter(reference -> isBook || reference.value().canEnchant(stack)) .filter(reference -> !excluded.contains(reference)) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 70d1085..d4649bd 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -43,8 +43,7 @@ "fabric-api-base": "*", "fabric-command-api-v2": "*", "fabric-lifecycle-events-v1": "*", - "minecraft": ">=1.20.2", - "java": ">=17", + "minecraft": ">1.20.4", "fiber": ">=0.23.0-" } }