From 7b32fa0b07e509c402a4d5ab24ffc9381a5988ad Mon Sep 17 00:00:00 2001 From: Micle Date: Sun, 8 Jun 2025 19:38:31 +0100 Subject: [PATCH 1/4] Created mod loot table provider. --- .../data/server/ModLootTableProvider.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/java/dev/micle/firefly_bush_backport/data/server/ModLootTableProvider.java diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/server/ModLootTableProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/server/ModLootTableProvider.java new file mode 100644 index 0000000..4d30a38 --- /dev/null +++ b/src/main/java/dev/micle/firefly_bush_backport/data/server/ModLootTableProvider.java @@ -0,0 +1,17 @@ +package dev.micle.firefly_bush_backport.data.server; + +import dev.micle.firefly_bush_backport.data.loot.ModBlockLootTableProvider; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; + +import java.util.List; +import java.util.Set; + +public class ModLootTableProvider extends LootTableProvider { + public ModLootTableProvider(DataGenerator generator) { + super(generator.getPackOutput(), Set.of(), List.of( + new LootTableProvider.SubProviderEntry(ModBlockLootTableProvider::new, LootContextParamSets.BLOCK) + )); + } +} From 4100a406268f98b2bb14a39ef794a8a8c1f5b069 Mon Sep 17 00:00:00 2001 From: Micle Date: Sun, 8 Jun 2025 19:38:49 +0100 Subject: [PATCH 2/4] Created block loot table provider. Added firefly bush loot table. --- .../data/loot/ModBlockLootTableProvider.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java new file mode 100644 index 0000000..9365028 --- /dev/null +++ b/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java @@ -0,0 +1,26 @@ +package dev.micle.firefly_bush_backport.data.loot; + +import dev.micle.firefly_bush_backport.block.ModBlocks; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.level.block.Block; +import net.minecraftforge.registries.RegistryObject; +import org.jetbrains.annotations.NotNull; + +import java.util.Set; + +public class ModBlockLootTableProvider extends BlockLootSubProvider { + public ModBlockLootTableProvider() { + super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + } + + @Override + protected void generate() { + this.dropSelf(ModBlocks.FIREFLY_BUSH.get()); + } + + @Override + protected @NotNull Iterable getKnownBlocks() { + return ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get)::iterator; + } +} From 1be07ee587eb9b7ec988b7821e6001d349f334a7 Mon Sep 17 00:00:00 2001 From: Micle Date: Sun, 8 Jun 2025 19:39:05 +0100 Subject: [PATCH 3/4] Registered loot table provider. --- .../dev/micle/firefly_bush_backport/data/DataGenerators.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java b/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java index e31fdc1..054df3e 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java +++ b/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java @@ -4,6 +4,7 @@ import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.data.client.ModBlockStateProvider; import dev.micle.firefly_bush_backport.data.client.ModItemModelProvider; import dev.micle.firefly_bush_backport.data.client.ModSoundDefinitionsProvider; +import dev.micle.firefly_bush_backport.data.server.ModLootTableProvider; import dev.micle.firefly_bush_backport.data.server.ModWorldGenProvider; import net.minecraft.core.HolderLookup; import net.minecraft.data.DataGenerator; @@ -25,6 +26,8 @@ public class DataGenerators { generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper)); generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper)); generator.addProvider(event.includeClient(), new ModSoundDefinitionsProvider(generator, existingFileHelper)); + + generator.addProvider(event.includeServer(), new ModLootTableProvider(generator)); generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider)); } } From abcdfa56cb8e5411cae0f9bfd12bb47d21fc1985 Mon Sep 17 00:00:00 2001 From: Micle Date: Sun, 8 Jun 2025 19:39:15 +0100 Subject: [PATCH 4/4] Generated loot table for bush. --- .../loot_tables/blocks/firefly_bush.json | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/generated/resources/data/firefly_bush_backport/loot_tables/blocks/firefly_bush.json diff --git a/src/generated/resources/data/firefly_bush_backport/loot_tables/blocks/firefly_bush.json b/src/generated/resources/data/firefly_bush_backport/loot_tables/blocks/firefly_bush.json new file mode 100644 index 0000000..1a3e099 --- /dev/null +++ b/src/generated/resources/data/firefly_bush_backport/loot_tables/blocks/firefly_bush.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "firefly_bush_backport:firefly_bush" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "firefly_bush_backport:blocks/firefly_bush" +} \ No newline at end of file