diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/Datagen.java b/src/main/java/com/minelittlepony/unicopia/datagen/Datagen.java index 68e013d8..378a8d79 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/Datagen.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/Datagen.java @@ -1,10 +1,12 @@ package com.minelittlepony.unicopia.datagen; -import com.minelittlepony.unicopia.datagen.providers.UBlockLootTableProvider; import com.minelittlepony.unicopia.datagen.providers.UBlockTagProvider; import com.minelittlepony.unicopia.datagen.providers.UItemTagProvider; import com.minelittlepony.unicopia.datagen.providers.UModelProvider; import com.minelittlepony.unicopia.datagen.providers.URecipeProvider; +import com.minelittlepony.unicopia.datagen.providers.loot.UBlockAdditionsLootTableProvider; +import com.minelittlepony.unicopia.datagen.providers.loot.UBlockLootTableProvider; +import com.minelittlepony.unicopia.datagen.providers.loot.UChestAdditionsLootTableProvider; import com.minelittlepony.unicopia.server.world.UWorldGen; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; @@ -27,6 +29,8 @@ public class Datagen implements DataGeneratorEntrypoint { pack.addProvider(UModelProvider::new); pack.addProvider(URecipeProvider::new); pack.addProvider(UBlockLootTableProvider::new); + pack.addProvider(UBlockAdditionsLootTableProvider::new); + pack.addProvider(UChestAdditionsLootTableProvider::new); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java index f0993a97..2d82fdff 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java @@ -20,7 +20,7 @@ import net.minecraft.data.client.TextureKey; import net.minecraft.data.client.TextureMap; public class UModelProvider extends FabricModelProvider { - static final Map FRUITS = Map.of(UBlocks.GREEN_APPLE, UItems.GREEN_APPLE, + public static final Map FRUITS = Map.of(UBlocks.GREEN_APPLE, UItems.GREEN_APPLE, UBlocks.GOLDEN_APPLE, Items.GOLDEN_APPLE, UBlocks.MANGO, UItems.MANGO, UBlocks.SOUR_APPLE, UItems.SOUR_APPLE, diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockAdditionsLootTableProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockAdditionsLootTableProvider.java new file mode 100644 index 00000000..9788e234 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockAdditionsLootTableProvider.java @@ -0,0 +1,126 @@ +package com.minelittlepony.unicopia.datagen.providers.loot; + +import java.util.function.Function; + +import com.minelittlepony.unicopia.item.UItems; +import com.minelittlepony.unicopia.item.enchantment.UEnchantments; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.data.server.loottable.BlockLootTableGenerator; +import net.minecraft.enchantment.Enchantments; +import net.minecraft.loot.LootPool; +import net.minecraft.loot.LootTable; +import net.minecraft.loot.condition.LootCondition; +import net.minecraft.loot.condition.MatchToolLootCondition; +import net.minecraft.loot.condition.RandomChanceLootCondition; +import net.minecraft.loot.condition.TableBonusLootCondition; +import net.minecraft.loot.entry.ItemEntry; +import net.minecraft.loot.entry.LootPoolEntry; +import net.minecraft.loot.function.ApplyBonusLootFunction; +import net.minecraft.loot.function.SetCountLootFunction; +import net.minecraft.loot.provider.number.ConstantLootNumberProvider; +import net.minecraft.loot.provider.number.UniformLootNumberProvider; +import net.minecraft.predicate.NumberRange; +import net.minecraft.predicate.item.EnchantmentPredicate; +import net.minecraft.predicate.item.ItemPredicate; +import net.minecraft.util.Identifier; + +public class UBlockAdditionsLootTableProvider extends FabricBlockLootTableProvider { + public static final LootCondition.Builder WITH_GEM_FINDER = MatchToolLootCondition.builder(ItemPredicate.Builder.create().enchantment(new EnchantmentPredicate(UEnchantments.GEM_FINDER, NumberRange.IntRange.atLeast(1)))); + + public static final LootCondition.Builder WITHOUT_SILK_TOUCH_AND_GEM_FINDER = WITHOUT_SILK_TOUCH.and(WITH_GEM_FINDER); + public static final float[] GEMSTONES_FORTUNE_CHANCE = { 0.1F, 0.14285715F, 0.25F, 1F }; + + public UBlockAdditionsLootTableProvider(FabricDataOutput dataOutput) { + super(dataOutput); + } + + @Override + public String getName() { + return "Block Loot Table Additions"; + } + + @Override + public void generate() { + addVanillaDrop(Blocks.STONE, this::gemstoneDrops); + addVanillaDrop(Blocks.DIRT, block -> gemstoneAndWormDrops(block, 2, 0.05F, 0.052222223F, 0.055F, 0.066666665F, 0.1F)); + addVanillaDrop(Blocks.COARSE_DIRT, block -> gemstoneAndWormDrops(block, 2, 0.05F, 0.052222223F, 0.055F, 0.066666665F, 0.1F)); + addVanillaDrop(Blocks.GRASS_BLOCK, block -> gemstoneAndWormDrops(block, 2, 0.05F, 0.052222223F, 0.055F, 0.066666665F, 0.1F)); + addVanillaDrop(Blocks.GRASS, block -> wormDrops(block, 2, 0.05F, 0.052222223F, 0.055F, 0.066666665F, 0.1F)); + addVanillaDrop(Blocks.MYCELIUM, block -> wormDrops(block, 3, 0.06F, 0.062222223F, 0.065F, 0.077777776F, 0.2F)); + addVanillaDrop(Blocks.PODZOL, block -> wormDrops(block, 4, 0.06F, 0.062222223F, 0.065F, 0.077777776F, 0.2F)); + addVanillaDrop(Blocks.DIAMOND_ORE, this::crystalShardDrops); + addVanillaDrop(Blocks.DEEPSLATE_DIAMOND_ORE, this::crystalShardDrops); + } + + private void addVanillaDrop(Block block, Function lootTableFunction) { + lootTables.put(new Identifier("unicopiamc", block.getLootTableId().getPath()), lootTableFunction.apply(block)); + } + + public LootTable.Builder wormDrops(Block block, int max, float...chance) { + return LootTable.builder() + .pool(LootPool.builder() + .rolls(ConstantLootNumberProvider.create(1)) + .conditionally(WITHOUT_SILK_TOUCH) + .with(wheatwormDrops(block, max, chance)) + ); + } + + public LootTable.Builder gemstoneAndWormDrops(Block block, int max, float...chance) { + return LootTable.builder() + .pool(LootPool.builder() + .rolls(ConstantLootNumberProvider.create(1)) + .conditionally(WITHOUT_SILK_TOUCH) + .with(gemstoneDrops(block, 0.1F)) + .with(wheatwormDrops(block, max, chance)) + ); + } + + public LootTable.Builder gemstoneDrops(Block block) { + return LootTable.builder() + .pool(LootPool.builder() + .rolls(ConstantLootNumberProvider.create(1)) + .conditionally(WITHOUT_SILK_TOUCH) + .with(gemstoneDrops(block, 0.1F)) + ); + } + + public LootTable.Builder crystalShardDrops(Block block) { + return LootTable.builder() + .pool(LootPool.builder() + .rolls(ConstantLootNumberProvider.create(1)) + .conditionally(WITHOUT_SILK_TOUCH) + .with(applyExplosionDecay(block, ItemEntry.builder(UItems.CRYSTAL_SHARD) + .apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, 2))) + .apply(ApplyBonusLootFunction.oreDrops(Enchantments.FORTUNE)) + ) + .conditionally(RandomChanceLootCondition.builder(0.25F)) + ) + ); + } + + public LootPoolEntry.Builder gemstoneDrops(Block block, float chance) { + return applyExplosionDecay(block, ItemEntry.builder(UItems.GEMSTONE) + .apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, 2))) + ) + .conditionally(WITH_GEM_FINDER) + .conditionally(RandomChanceLootCondition.builder(0.1F)) + .conditionally(TableBonusLootCondition.builder(Enchantments.FORTUNE, GEMSTONES_FORTUNE_CHANCE)); + } + + public LootPoolEntry.Builder wheatwormDrops(Block block, int max, float...chance) { + return applyExplosionDecay(block, ItemEntry.builder(UItems.WHEAT_WORMS) + .apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, max))) + ) + .conditionally(TableBonusLootCondition.builder(Enchantments.FORTUNE, chance)); + } + + + public static LootTable.Builder dropsWithGemfinding(Block drop, LootPoolEntry.Builder child) { + return BlockLootTableGenerator.drops(drop, WITHOUT_SILK_TOUCH_AND_GEM_FINDER, child); + } + +} diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UBlockLootTableProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockLootTableProvider.java similarity index 97% rename from src/main/java/com/minelittlepony/unicopia/datagen/providers/UBlockLootTableProvider.java rename to src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockLootTableProvider.java index d099100a..34db9593 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UBlockLootTableProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockLootTableProvider.java @@ -1,7 +1,8 @@ -package com.minelittlepony.unicopia.datagen.providers; +package com.minelittlepony.unicopia.datagen.providers.loot; import java.util.List; import com.minelittlepony.unicopia.block.UBlocks; +import com.minelittlepony.unicopia.datagen.providers.UModelProvider; import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.server.world.Tree; import com.minelittlepony.unicopia.server.world.UTreeGen; @@ -30,7 +31,6 @@ public class UBlockLootTableProvider extends FabricBlockLootTableProvider { @Override public void generate() { - // simple drops List.of( UBlocks.CARVED_CLOUD, UBlocks.UNSTABLE_CLOUD, @@ -111,7 +111,7 @@ public class UBlockLootTableProvider extends FabricBlockLootTableProvider { addDrop(UBlocks.FROSTED_OBSIDIAN, Blocks.OBSIDIAN); } - public LootTable.Builder fruitLeavesDrops(Block leaves) { + private LootTable.Builder fruitLeavesDrops(Block leaves) { return LootTable.builder() .pool(LootPool.builder() .rolls(ConstantLootNumberProvider.create(1)) @@ -128,4 +128,5 @@ public class UBlockLootTableProvider extends FabricBlockLootTableProvider { ) ); } + } diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UChestAdditionsLootTableProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UChestAdditionsLootTableProvider.java new file mode 100644 index 00000000..0fc19ba0 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UChestAdditionsLootTableProvider.java @@ -0,0 +1,109 @@ +package com.minelittlepony.unicopia.datagen.providers.loot; + +import java.util.function.BiConsumer; + +import com.minelittlepony.unicopia.UTags; +import com.minelittlepony.unicopia.item.UItems; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.SimpleFabricLootTableProvider; +import net.minecraft.loot.LootTable.Builder; +import net.minecraft.loot.LootPool; +import net.minecraft.loot.LootTable; +import net.minecraft.loot.LootTables; +import net.minecraft.loot.context.LootContextTypes; +import net.minecraft.loot.entry.ItemEntry; +import net.minecraft.loot.entry.TagEntry; +import net.minecraft.loot.function.SetCountLootFunction; +import net.minecraft.loot.provider.number.UniformLootNumberProvider; +import net.minecraft.util.Identifier; + +public class UChestAdditionsLootTableProvider extends SimpleFabricLootTableProvider { + + public UChestAdditionsLootTableProvider(FabricDataOutput dataOutput) { + super(dataOutput, LootContextTypes.CHEST); + } + + + @Override + public void accept(BiConsumer exporter) { + acceptAdditions((id, builder) -> exporter.accept(new Identifier("unicopiamc", id.getPath()), builder)); + } + + public void acceptAdditions(BiConsumer exporter) { + exporter.accept(LootTables.ABANDONED_MINESHAFT_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(2, 4)) + .with(ItemEntry.builder(UItems.GRYPHON_FEATHER).weight(2).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, 4)))) + )); + exporter.accept(LootTables.WOODLAND_MANSION_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(2, 4)) + .with(ItemEntry.builder(UItems.GRYPHON_FEATHER).weight(10).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, 7)))) + .with(ItemEntry.builder(UItems.GOLDEN_WING).weight(1).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, 2)))) + .with(TagEntry.expandBuilder(UTags.FRESH_APPLES).weight(1).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(2, 5)))) + )); + exporter.accept(LootTables.VILLAGE_FLETCHER_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(2, 4)) + .with(ItemEntry.builder(UItems.GRYPHON_FEATHER).weight(10).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, 2)))) + .with(ItemEntry.builder(UItems.PEGASUS_FEATHER).weight(1).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1, 2)))) + )); + exporter.accept(LootTables.VILLAGE_PLAINS_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(3, 4)) + .with(TagEntry.expandBuilder(UTags.FRESH_APPLES).weight(1)) + .with(TagEntry.expandBuilder(UTags.APPLE_SEEDS).weight(1)) + )); + + exporter.accept(LootTables.ANCIENT_CITY_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(0, 1)) + .with(ItemEntry.builder(UItems.GROGARS_BELL).weight(1)) + )); + exporter.accept(LootTables.BURIED_TREASURE_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 4)) + .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) + .with(TagEntry.expandBuilder(UTags.item("food_types/shells")).weight(3)) + )); + exporter.accept(LootTables.SHIPWRECK_SUPPLY_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 6)) + .with(TagEntry.expandBuilder(UTags.item("food_types/shells")).weight(3)) + )); + exporter.accept(LootTables.SHIPWRECK_TREASURE_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 4)) + .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) + .with(TagEntry.expandBuilder(UTags.item("food_types/shells")).weight(3)) + )); + exporter.accept(LootTables.UNDERWATER_RUIN_BIG_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 2)) + .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) + .with(ItemEntry.builder(UItems.SHELLY).weight(4)) + .with(TagEntry.expandBuilder(UTags.item("food_types/shells")).weight(8)) + )); + exporter.accept(LootTables.UNDERWATER_RUIN_SMALL_CHEST, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 4)) + .with(TagEntry.expandBuilder(UTags.item("food_types/shells")).weight(1)) + )); + + exporter.accept(LootTables.DESERT_WELL_ARCHAEOLOGY, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 4)) + .with(ItemEntry.builder(UItems.WEIRD_ROCK).weight(2)) + .with(ItemEntry.builder(UItems.ROCK).weight(1)) + .with(ItemEntry.builder(UItems.TOM).weight(1)) + .with(ItemEntry.builder(UItems.ROCK_STEW).weight(1)) + .with(ItemEntry.builder(UItems.PEBBLES).weight(1)) + .with(ItemEntry.builder(UItems.SHELLY).weight(1)) + .with(TagEntry.expandBuilder(UTags.item("food_types/shells")).weight(1)) + .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) + )); + exporter.accept(LootTables.TRAIL_RUINS_COMMON_ARCHAEOLOGY, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 4)) + .with(ItemEntry.builder(UItems.MEADOWBROOKS_STAFF).weight(2)) + .with(ItemEntry.builder(UItems.BOTCHED_GEM).weight(3)) + .with(ItemEntry.builder(UItems.PEGASUS_FEATHER).weight(1)) + )); + exporter.accept(LootTables.TRAIL_RUINS_RARE_ARCHAEOLOGY, LootTable.builder().pool(LootPool.builder() + .rolls(UniformLootNumberProvider.create(1, 4)) + .with(ItemEntry.builder(UItems.BROKEN_SUNGLASSES).weight(2)) + .with(ItemEntry.builder(UItems.EMPTY_JAR).weight(2)) + .with(ItemEntry.builder(UItems.MUSIC_DISC_CRUSADE).weight(1)) + )); + } + +} diff --git a/src/main/resources/data/unicopiamc/loot_tables/archaeology/desert_well.json b/src/main/resources/data/unicopiamc/loot_tables/archaeology/desert_well.json deleted file mode 100644 index c6c149e1..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/archaeology/desert_well.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "type": "minecraft:archaeology", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "unicopia:weird_rock", - "weight": 2 - }, - { - "type": "minecraft:item", - "name": "unicopia:rock", - "weight": 1 - }, - { - "type": "minecraft:item", - "name": "unicopia:tom", - "weight": 1 - }, - { - "type": "minecraft:item", - "name": "unicopia:rock_stew", - "weight": 1 - }, - { - "type": "minecraft:item", - "name": "unicopia:pebbles", - "weight": 1 - }, - { - "type": "minecraft:item", - "name": "unicopia:shelly", - "weight": 1 - }, - { - "type": "minecraft:tag", - "name": "unicopia:food_types/shells", - "expand": true, - "weight": 2 - }, - { - "type": "minecraft:tag", - "name": "unicopia:food_types/pearl_necklace", - "expand": true, - "weight": 1 - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "minecraft:archaeology/desert_well" -} diff --git a/src/main/resources/data/unicopiamc/loot_tables/archaeology/trail_ruins_common.json b/src/main/resources/data/unicopiamc/loot_tables/archaeology/trail_ruins_common.json deleted file mode 100644 index 0aac2574..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/archaeology/trail_ruins_common.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "type": "minecraft:archaeology", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "unicopia:meadowbrooks_staff", - "weight": 2 - }, - { - "type": "minecraft:item", - "name": "unicopia:botched_gem", - "weight": 3 - }, - { - "type": "minecraft:item", - "name": "unicopia:pegasus_feather", - "weight": 1 - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "minecraft:archaeology/desert_well" -} diff --git a/src/main/resources/data/unicopiamc/loot_tables/archaeology/trail_ruins_rare.json b/src/main/resources/data/unicopiamc/loot_tables/archaeology/trail_ruins_rare.json deleted file mode 100644 index 83b35921..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/archaeology/trail_ruins_rare.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "type": "minecraft:archaeology", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "unicopia:broken_sunglasses", - "weight": 2 - }, - { - "type": "minecraft:item", - "name": "unicopia:empty_jar", - "weight": 2 - }, - { - "type": "minecraft:item", - "name": "unicopia:music_disc_crusade", - "weight": 1 - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "minecraft:archaeology/desert_well" -} diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/course_dirt.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/course_dirt.json deleted file mode 100644 index 59a324ee..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/course_dirt.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "unicopia:gem_finder", - "levels": { - "min": 1 - } - } - ] - } - }, - { - "condition": "minecraft:table_bonus", - "enchantment": "unicopia:gem_finder", - "chances": [ 0.060555554 ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:gemstone" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.05, 0.052222223, 0.055, 0.066666665, 0.1 - ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:wheat_worms" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/deepslate_diamond_ore.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/deepslate_diamond_ore.json deleted file mode 100644 index d41e3586..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/deepslate_diamond_ore.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:random_chance", - "chance": 0.25 - } - ], - "functions": [ - { - "function": "minecraft:apply_bonus", - "enchantment": "minecraft:fortune", - "formula": "minecraft:ore_drops" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:crystal_shard" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/diamond_ore.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/diamond_ore.json deleted file mode 100644 index d41e3586..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/diamond_ore.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:random_chance", - "chance": 0.25 - } - ], - "functions": [ - { - "function": "minecraft:apply_bonus", - "enchantment": "minecraft:fortune", - "formula": "minecraft:ore_drops" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:crystal_shard" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/dirt.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/dirt.json deleted file mode 100644 index bc5666d4..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/dirt.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "unicopia:gem_finder", - "levels": { - "min": 1 - } - } - ] - } - }, - { - "condition": "minecraft:table_bonus", - "enchantment": "unicopia:gem_finder", - "chances": [ 0.055555554 ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:gemstone" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.05, 0.052222223, 0.055, 0.066666665, 0.1 - ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:wheat_worms" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/grass.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/grass.json deleted file mode 100644 index fe240928..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/grass.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.05, 0.052222223, 0.055, 0.066666665, 0.1 - ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:oat_seeds" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/grass_block.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/grass_block.json deleted file mode 100644 index bc5666d4..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/grass_block.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "unicopia:gem_finder", - "levels": { - "min": 1 - } - } - ] - } - }, - { - "condition": "minecraft:table_bonus", - "enchantment": "unicopia:gem_finder", - "chances": [ 0.055555554 ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:gemstone" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.05, 0.052222223, 0.055, 0.066666665, 0.1 - ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:wheat_worms" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/mycelium.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/mycelium.json deleted file mode 100644 index d1e9ce9c..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/mycelium.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.05, 0.052222223, 0.055, 0.066666665, 0.1 - ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:wheat_worms" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/podzol.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/podzol.json deleted file mode 100644 index 072c3e61..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/podzol.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.05, 0.052222223, 0.055, 0.066666665, 0.1 - ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:wheat_worms" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/blocks/stone.json b/src/main/resources/data/unicopiamc/loot_tables/blocks/stone.json deleted file mode 100644 index e0bd3810..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/blocks/stone.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "bonus_rolls": 0, - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "unicopia:gem_finder", - "levels": { - "min": 1 - } - } - ] - } - }, - { - "condition": "minecraft:table_bonus", - "enchantment": "unicopia:gem_finder", - "chances": [ 0.1 ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "unicopia:gemstone" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/abandoned_mineshaft.json b/src/main/resources/data/unicopiamc/loot_tables/chests/abandoned_mineshaft.json deleted file mode 100644 index 2929b936..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/abandoned_mineshaft.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 2.0, - "max": 4.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "weight": 2, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - } - } - ], - "name": "unicopia:gryphon_feather" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/ancient_city.json b/src/main/resources/data/unicopiamc/loot_tables/chests/ancient_city.json deleted file mode 100644 index 4f78427a..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/ancient_city.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 0.0, - "max": 1.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "weight": 1, - "name": "unicopia:grogars_bell" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/buried_treasure.json b/src/main/resources/data/unicopiamc/loot_tables/chests/buried_treasure.json deleted file mode 100644 index d94e9dc6..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/buried_treasure.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "weight": 1, - "name": "unicopia:pearl_necklace" - }, - { - "type": "minecraft:tag", - "weight": 3, - "expand": true, - "name": "unicopia:food_types/shells" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/shipwreck_supply.json b/src/main/resources/data/unicopiamc/loot_tables/chests/shipwreck_supply.json deleted file mode 100644 index 4181ec0e..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/shipwreck_supply.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 1.0, - "max": 6.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:tag", - "weight": 3, - "expand": true, - "name": "unicopia:food_types/shells" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/shipwreck_treasure.json b/src/main/resources/data/unicopiamc/loot_tables/chests/shipwreck_treasure.json deleted file mode 100644 index d94e9dc6..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/shipwreck_treasure.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "weight": 1, - "name": "unicopia:pearl_necklace" - }, - { - "type": "minecraft:tag", - "weight": 3, - "expand": true, - "name": "unicopia:food_types/shells" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/underwater_ruin_big.json b/src/main/resources/data/unicopiamc/loot_tables/chests/underwater_ruin_big.json deleted file mode 100644 index a4eea670..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/underwater_ruin_big.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "weight": 1, - "name": "unicopia:pearl_necklace" - }, - { - "type": "minecraft:item", - "weight": 4, - "name": "unicopia:shelly" - }, - { - "type": "minecraft:tag", - "weight": 8, - "expand": true, - "name": "unicopia:food_types/shells" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/underwater_ruin_small.json b/src/main/resources/data/unicopiamc/loot_tables/chests/underwater_ruin_small.json deleted file mode 100644 index 31d47b83..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/underwater_ruin_small.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:tag", - "weight": 1, - "expand": true, - "name": "unicopia:food_types/shells" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/village/village_fletcher.json b/src/main/resources/data/unicopiamc/loot_tables/chests/village/village_fletcher.json deleted file mode 100644 index 108e971b..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/village/village_fletcher.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 2.0, - "max": 4.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - } - ], - "name": "unicopia:gryphon_feather" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/village/village_plains_house.json b/src/main/resources/data/unicopiamc/loot_tables/chests/village/village_plains_house.json deleted file mode 100644 index f8d7b0b5..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/village/village_plains_house.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:tag", - "name": "unicopia:fresh_apples", - "expand": true, - "weight": 1 - }, - { - "type": "minecraft:tag", - "name": "unicopia:apple_seeds", - "expand": true - } - ], - "rolls": { - "type": "minecraft:uniform", - "max": 8.0, - "min": 3.0 - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/woodland_mansion.json b/src/main/resources/data/unicopiamc/loot_tables/chests/woodland_mansion.json deleted file mode 100644 index a7b185fe..00000000 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/woodland_mansion.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 2.0, - "max": 4.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 7.0, - "type": "minecraft:uniform" - } - } - ], - "name": "unicopia:gryphon_feather" - }, - { - "type": "minecraft:item", - "weight": 1, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - } - ], - "name": "unicopia:golden_wing" - }, - { - "type": "minecraft:tag", - "weight": 1, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 2.0, - "max": 5.0, - "type": "minecraft:uniform" - } - } - ], - "expand": true, - "name": "unicopia:fresh_apples" - } - ] - } - ] -} \ No newline at end of file