From 7ae041595afe19b5b573837f1776cdead257c7cf Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Wed, 9 Sep 2020 22:36:07 +0100 Subject: [PATCH] =?UTF-8?q?Gone=20fishin'=20=F0=9F=90=9F=F0=9F=90=A0?= =?UTF-8?q?=F0=9F=90=A1=20Add=20spell=20books=20and=20ruined=20spell=20boo?= =?UTF-8?q?ks=20to=20treasure=20and=20junk=20fishing=20loot=20respectively?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wizardry/registry/WizardryLoot.java | 11 ++++++++++ .../gameplay/fishing/junk_additions.json | 15 +++++++++++++ .../gameplay/fishing/treasure_additions.json | 21 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/junk_additions.json create mode 100644 src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/treasure_additions.json diff --git a/src/main/java/electroblob/wizardry/registry/WizardryLoot.java b/src/main/java/electroblob/wizardry/registry/WizardryLoot.java index 1aae630e..1ee28ab7 100644 --- a/src/main/java/electroblob/wizardry/registry/WizardryLoot.java +++ b/src/main/java/electroblob/wizardry/registry/WizardryLoot.java @@ -67,6 +67,8 @@ public final class WizardryLoot { LootTableList.register(new ResourceLocation(Wizardry.MODID, "subsets/epic_artefacts")); LootTableList.register(new ResourceLocation(Wizardry.MODID, "entities/evil_wizard")); LootTableList.register(new ResourceLocation(Wizardry.MODID, "entities/mob_additions")); + LootTableList.register(new ResourceLocation(Wizardry.MODID, "gameplay/fishing/junk_additions")); + LootTableList.register(new ResourceLocation(Wizardry.MODID, "gameplay/fishing/treasure_additions")); } @@ -100,6 +102,15 @@ public final class WizardryLoot { event.getTable().addPool(getAdditive(Wizardry.MODID + ":entities/mob_additions", Wizardry.MODID + "_additional_mob_drops")); } } + // Fishing loot + // This works slightly differently in that it modifies the existing pools rather than adding new ones + // This is because you are supposed to only catch one item at a time! + if(event.getName().toString().matches("minecraft:gameplay/fishing/junk")){ + // The first (and in this case, only) vanilla loot pool is named "main" + event.getTable().getPool("main").addEntry(getAdditiveEntry(Wizardry.MODID + ":gameplay/fishing/junk_additions", 2)); + }else if(event.getName().toString().matches("minecraft:gameplay/fishing/treasure")){ + event.getTable().getPool("main").addEntry(getAdditiveEntry(Wizardry.MODID + ":gameplay/fishing/treasure_additions", 1)); + } } private static LootPool getAdditive(String entryName, String poolName){ diff --git a/src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/junk_additions.json b/src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/junk_additions.json new file mode 100644 index 00000000..540d3f77 --- /dev/null +++ b/src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/junk_additions.json @@ -0,0 +1,15 @@ +{ + "pools": [ + { + "name": "wizardry", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "ebwizardry:ruined_spell_book", + "weight": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/treasure_additions.json b/src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/treasure_additions.json new file mode 100644 index 00000000..90aee44c --- /dev/null +++ b/src/main/resources/assets/ebwizardry/loot_tables/gameplay/fishing/treasure_additions.json @@ -0,0 +1,21 @@ +{ + "pools": [ + { + "name": "wizardry", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "ebwizardry:spell_book", + "weight": 1, + "functions": [ + { + "function": "ebwizardry:random_spell", + "undiscovered_bias": 0.3 + } + ] + } + ] + } + ] +} \ No newline at end of file