From b7af1a264f432cf4ca78c30f1fa24622950babf1 Mon Sep 17 00:00:00 2001 From: Mathias Elgaard <49698905+MathiasElgaard@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:53:21 +0200 Subject: [PATCH] 1.20.1 (#5) * 1.20.1 * Removed commented code --- gradle.properties | 8 ++++---- .../generators/BlocksDataGenerator.java | 13 ++++++------- .../generators/MaterialsDataGenerator.java | 7 ++++--- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gradle.properties b/gradle.properties index f55132c..fa1eeee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,13 +2,13 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.19.4 -yarn_mappings=1.19.4+build.1 -loader_version=0.14.17 +minecraft_version=1.20.1 +yarn_mappings=1.20.1+build.10 +loader_version=0.14.22 # Mod Properties mod_version=1.0-SNAPSHOT maven_group=dev.u9g archives_base_name=minecraft-data-generator-server # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.76.0+1.19.4 +fabric_version=0.87.0+1.20.1 diff --git a/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java b/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java index c7ddb7e..4307fd6 100644 --- a/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java +++ b/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java @@ -10,7 +10,7 @@ import net.minecraft.block.BlockState; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; -import net.minecraft.loot.context.LootContext; +import net.minecraft.loot.context.LootContextParameterSet; import net.minecraft.loot.context.LootContextParameters; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKeys; @@ -48,12 +48,11 @@ public class BlocksDataGenerator implements IDataGenerator { if (minecraftServer != null) { //If we have local world context, we can actually evaluate loot tables and determine actual data ServerWorld serverWorld = minecraftServer.getOverworld(); - LootContext.Builder lootContext = new LootContext.Builder(serverWorld) - .parameter(LootContextParameters.BLOCK_STATE, blockState) - .parameter(LootContextParameters.ORIGIN, Vec3d.ZERO) - .parameter(LootContextParameters.TOOL, firstToolItem.getDefaultStack()) - .random(0L); - outDrops.addAll(blockState.getDroppedStacks(lootContext)); + LootContextParameterSet.Builder lootContextParameterSet = new LootContextParameterSet.Builder(serverWorld) + .add(LootContextParameters.BLOCK_STATE, blockState) + .add(LootContextParameters.ORIGIN, Vec3d.ZERO) + .add(LootContextParameters.TOOL, firstToolItem.getDefaultStack()); + outDrops.addAll(blockState.getDroppedStacks(lootContextParameterSet)); } else { //If we're lacking world context to correctly determine drops, assume that default drop is ItemBlock stack in quantity of 1 Item itemBlock = blockState.getBlock().asItem(); diff --git a/src/main/java/dev/u9g/minecraftdatagenerator/generators/MaterialsDataGenerator.java b/src/main/java/dev/u9g/minecraftdatagenerator/generators/MaterialsDataGenerator.java index 4280094..7f6bb98 100644 --- a/src/main/java/dev/u9g/minecraftdatagenerator/generators/MaterialsDataGenerator.java +++ b/src/main/java/dev/u9g/minecraftdatagenerator/generators/MaterialsDataGenerator.java @@ -10,7 +10,6 @@ import dev.u9g.minecraftdatagenerator.util.DGU; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.block.Material; import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.item.MiningToolItem; @@ -114,8 +113,10 @@ public class MaterialsDataGenerator implements IDataGenerator { resultList.add(new MaterialInfo("leaves", blockState -> blockState.isIn(BlockTags.LEAVES))); resultList.add(new MaterialInfo("wool", blockState -> blockState.isIn(BlockTags.WOOL))); - resultList.add(new MaterialInfo("gourd", blockState -> blockState.getMaterial() == Material.GOURD)); - resultList.add(new MaterialInfo("plant", blockState -> blockState.getMaterial() == Material.PLANT || blockState.getMaterial() == Material.REPLACEABLE_PLANT)); + // Block Materials were removed in 1.20 in favor of block tags + resultList.add(new MaterialInfo("gourd", blockState -> blockState.isOf(Blocks.MELON) || blockState.isOf(Blocks.PUMPKIN) || blockState.isOf(Blocks.JACK_O_LANTERN))); + // 'sword_efficient' tag is for all plants, and includes everything from the old PLANT and REPLACEABLE_PLANT materials (see https://minecraft.fandom.com/wiki/Tag#Blocks) + resultList.add(new MaterialInfo("plant", blockState -> blockState.isIn(BlockTags.SWORD_EFFICIENT))); HashSet uniqueMaterialNames = new HashSet<>();