From 5bcb1830298caad87a63f44c4e7f1553074cf4c8 Mon Sep 17 00:00:00 2001 From: Maximusbarcz Date: Wed, 11 Jan 2023 19:50:29 +0100 Subject: Made everything work on 1.19.3, wasnt that bad after all! --- src/main/java/dev/mayaqq/ygasi/Ygasi.java | 2 + .../dev/mayaqq/ygasi/dataGen/DataGenRegistry.java | 9 +- .../dataGen/advancements/AdvancementProvider.java | 17 -- .../ygasi/dataGen/advancements/Advancements.java | 174 --------------------- .../advancements/YgasiAdvancementProvider.java | 17 ++ .../dataGen/advancements/YgasiAdvancements.java | 174 +++++++++++++++++++++ .../mayaqq/ygasi/dataGen/recipes/YgasiRecipes.java | 28 ---- .../dataGen/recipes/YgasiRecipesProvider.java | 29 ++++ .../mayaqq/ygasi/events/PlayerConnectEvent.java | 2 + src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java | 6 +- src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java | 22 ++- .../java/dev/mayaqq/ygasi/items/SkillBookItem.java | 11 +- .../dev/mayaqq/ygasi/registry/ItemRegistry.java | 27 ++-- .../dev/mayaqq/ygasi/registry/StatRegistry.java | 2 +- src/main/resources/fabric.mod.json | 2 +- 15 files changed, 263 insertions(+), 259 deletions(-) delete mode 100644 src/main/java/dev/mayaqq/ygasi/dataGen/advancements/AdvancementProvider.java delete mode 100644 src/main/java/dev/mayaqq/ygasi/dataGen/advancements/Advancements.java create mode 100644 src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancementProvider.java create mode 100644 src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancements.java delete mode 100644 src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipes.java create mode 100644 src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipesProvider.java (limited to 'src') diff --git a/src/main/java/dev/mayaqq/ygasi/Ygasi.java b/src/main/java/dev/mayaqq/ygasi/Ygasi.java index a6a07c6..608472a 100644 --- a/src/main/java/dev/mayaqq/ygasi/Ygasi.java +++ b/src/main/java/dev/mayaqq/ygasi/Ygasi.java @@ -3,11 +3,13 @@ package dev.mayaqq.ygasi; import dev.mayaqq.ygasi.registry.*; import dev.mayaqq.ygasi.secrete.Frog; import net.fabricmc.api.ModInitializer; +import net.minecraft.util.Identifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Ygasi implements ModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger("ygasi"); + public static Identifier click = new Identifier("ui.button.click"); @Override public void onInitialize() { diff --git a/src/main/java/dev/mayaqq/ygasi/dataGen/DataGenRegistry.java b/src/main/java/dev/mayaqq/ygasi/dataGen/DataGenRegistry.java index 1e78016..7efe8e6 100644 --- a/src/main/java/dev/mayaqq/ygasi/dataGen/DataGenRegistry.java +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/DataGenRegistry.java @@ -1,14 +1,15 @@ package dev.mayaqq.ygasi.dataGen; -import dev.mayaqq.ygasi.dataGen.advancements.AdvancementProvider; -import dev.mayaqq.ygasi.dataGen.recipes.YgasiRecipes; +import dev.mayaqq.ygasi.dataGen.advancements.YgasiAdvancementProvider; +import dev.mayaqq.ygasi.dataGen.recipes.YgasiRecipesProvider; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; public class DataGenRegistry implements DataGeneratorEntrypoint { @Override public void onInitializeDataGenerator(FabricDataGenerator dataGenerator) { - dataGenerator.addProvider(AdvancementProvider::new); - dataGenerator.addProvider(YgasiRecipes::new); + FabricDataGenerator.Pack pack = dataGenerator.createPack(); + pack.addProvider(YgasiAdvancementProvider::new); + pack.addProvider(YgasiRecipesProvider::new); } } diff --git a/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/AdvancementProvider.java b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/AdvancementProvider.java deleted file mode 100644 index 1944d4b..0000000 --- a/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/AdvancementProvider.java +++ /dev/null @@ -1,17 +0,0 @@ -package dev.mayaqq.ygasi.dataGen.advancements; - -import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; -import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider; -import net.minecraft.advancement.Advancement; - -import java.util.function.Consumer; - -public class AdvancementProvider extends FabricAdvancementProvider { - public AdvancementProvider(FabricDataGenerator dataGenerator) { - super(dataGenerator); - } - @Override - public void generateAdvancement(Consumer consumer) { - new Advancements().accept(consumer); - } -} diff --git a/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/Advancements.java b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/Advancements.java deleted file mode 100644 index 8c0d5f5..0000000 --- a/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/Advancements.java +++ /dev/null @@ -1,174 +0,0 @@ -package dev.mayaqq.ygasi.dataGen.advancements; - -import de.dafuqs.revelationary.advancement_criteria.AdvancementGottenCriterion; -import net.minecraft.advancement.Advancement; -import net.minecraft.advancement.AdvancementFrame; -import net.minecraft.advancement.AdvancementRewards; -import net.minecraft.advancement.criterion.ImpossibleCriterion; -import net.minecraft.item.Items; -import net.minecraft.predicate.entity.EntityPredicate; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -import java.util.function.Consumer; - -public class Advancements implements Consumer> { - - @Override - public void accept(Consumer consumer) { - //main root advancement - Advancement rootAdvancement = Advancement.Builder.create().display(Items.DIAMOND, // The display icon - Text.translatable("advancements.ygasi.root.title"), // The title - Text.translatable("advancements.ygasi.root.description"), // The description - new Identifier("textures/block/sculk_catalyst_top.png"), // Background image used - AdvancementFrame.CHALLENGE, // Options: TASK, CHALLENGE, GOAL - true, // Show toast top right - false, // Announce to chat - false // Hidden in the advancement tab - ).criterion("opened_skill_menu", new ImpossibleCriterion.Conditions()).rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/root"); - - //branch advancements - Advancement mercenary = Advancement.Builder.create().parent(rootAdvancement) - .display(Items.DIAMOND_SWORD, Text.translatable("advancements.ygasi.mercenary.title"), Text.translatable("advancements.ygasi.mercenary.description"), null, AdvancementFrame.GOAL, false, false, false) - .criterion("unlocked_mercenary", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/mercenary"); - Advancement wizardry = Advancement.Builder.create().parent(rootAdvancement) - .display(Items.BLAZE_ROD, Text.translatable("advancements.ygasi.wizardry.title"), Text.translatable("advancements.ygasi.wizardry.description"), null, AdvancementFrame.GOAL, false, false, false) - .criterion("unlocked_wizardry", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/wizardry"); - Advancement druidry = Advancement.Builder.create().parent(rootAdvancement) - .display(Items.OAK_SAPLING, Text.translatable("advancements.ygasi.druidry.title"), Text.translatable("advancements.ygasi.druidry.description"), null, AdvancementFrame.GOAL, false, false, false) - .criterion("unlocked_druidry", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/druidry"); - Advancement extra = Advancement.Builder.create().parent(rootAdvancement) - .display(Items.EMERALD, Text.translatable("advancements.ygasi.extra.title"), Text.translatable("advancements.ygasi.extra.description"), null, AdvancementFrame.GOAL, false, false, false) - .criterion("unlocked_extra", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/extra"); - - //mercenary skills - - Advancement offence1 = Advancement.Builder.create().parent(mercenary) - .display(Items.IRON_SWORD, Text.translatable("advancements.ygasi.mercenary.offence1.title"), Text.translatable("advancements.ygasi.mercenary.offence1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_offence1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, mercenary.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/offence1"); - Advancement offence2 = Advancement.Builder.create().parent(offence1) - .display(Items.IRON_SWORD, Text.translatable("advancements.ygasi.mercenary.offence2.title"), Text.translatable("advancements.ygasi.mercenary.offence2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_offence2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, offence1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/offence2"); - Advancement offence3 = Advancement.Builder.create().parent(offence2) - .display(Items.IRON_SWORD, Text.translatable("advancements.ygasi.mercenary.offence3.title"), Text.translatable("advancements.ygasi.mercenary.offence3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_offence3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, offence2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/offence3"); - - Advancement ninja1 = Advancement.Builder.create().parent(mercenary) - .display(Items.BAMBOO, Text.translatable("advancements.ygasi.mercenary.ninja1.title"), Text.translatable("advancements.ygasi.mercenary.ninja1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_ninja1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, mercenary.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/ninja1"); - Advancement ninja2 = Advancement.Builder.create().parent(ninja1) - .display(Items.BAMBOO, Text.translatable("advancements.ygasi.mercenary.ninja2.title"), Text.translatable("advancements.ygasi.mercenary.ninja2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_ninja2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, ninja1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/ninja2"); - Advancement ninja3 = Advancement.Builder.create().parent(ninja2) - .display(Items.BAMBOO, Text.translatable("advancements.ygasi.mercenary.ninja3.title"), Text.translatable("advancements.ygasi.mercenary.ninja3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_ninja3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, ninja2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/ninja3"); - - Advancement defence1 = Advancement.Builder.create().parent(mercenary) - .display(Items.IRON_CHESTPLATE, Text.translatable("advancements.ygasi.mercenary.defence1.title"), Text.translatable("advancements.ygasi.mercenary.defence1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_defence1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, mercenary.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/defence1"); - Advancement defence2 = Advancement.Builder.create().parent(defence1) - .display(Items.IRON_CHESTPLATE, Text.translatable("advancements.ygasi.mercenary.defence2.title"), Text.translatable("advancements.ygasi.mercenary.defence2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_defence2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, defence1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/defence2"); - Advancement defence3 = Advancement.Builder.create().parent(defence2) - .display(Items.IRON_CHESTPLATE, Text.translatable("advancements.ygasi.mercenary.defence3.title"), Text.translatable("advancements.ygasi.mercenary.defence3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_defence3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, defence2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/defence3"); - - //wizardry skills - - Advancement fight1 = Advancement.Builder.create().parent(wizardry) - .display(Items.BLAZE_POWDER, Text.translatable("advancements.ygasi.wizardry.fight1.title"), Text.translatable("advancements.ygasi.wizardry.fight1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_fight1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, wizardry.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/fight1"); - Advancement fight2 = Advancement.Builder.create().parent(fight1) - .display(Items.BLAZE_POWDER, Text.translatable("advancements.ygasi.wizardry.fight2.title"), Text.translatable("advancements.ygasi.wizardry.fight2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_fight2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, fight1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/fight2"); - Advancement fight3 = Advancement.Builder.create().parent(fight2) - .display(Items.BLAZE_POWDER, Text.translatable("advancements.ygasi.wizardry.fight3.title"), Text.translatable("advancements.ygasi.wizardry.fight3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_fight3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, fight2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/fight3"); - - Advancement element1 = Advancement.Builder.create().parent(wizardry) - .display(Items.FIRE_CHARGE, Text.translatable("advancements.ygasi.wizardry.element1.title"), Text.translatable("advancements.ygasi.wizardry.element1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_element1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, wizardry.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/element1"); - Advancement element2 = Advancement.Builder.create().parent(element1) - .display(Items.FIRE_CHARGE, Text.translatable("advancements.ygasi.wizardry.element2.title"), Text.translatable("advancements.ygasi.wizardry.element2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_element2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, element1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/element2"); - Advancement element3 = Advancement.Builder.create().parent(element2) - .display(Items.FIRE_CHARGE, Text.translatable("advancements.ygasi.wizardry.element3.title"), Text.translatable("advancements.ygasi.wizardry.element3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_element3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, element2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/element3"); - - Advancement force1 = Advancement.Builder.create().parent(wizardry) - .display(Items.ENDER_PEARL, Text.translatable("advancements.ygasi.wizardry.force1.title"), Text.translatable("advancements.ygasi.wizardry.force1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_force1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, wizardry.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/force1"); - Advancement force2 = Advancement.Builder.create().parent(force1) - .display(Items.ENDER_PEARL, Text.translatable("advancements.ygasi.wizardry.force2.title"), Text.translatable("advancements.ygasi.wizardry.force2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_force2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, force1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/force2"); - Advancement force3 = Advancement.Builder.create().parent(force2) - .display(Items.ENDER_PEARL, Text.translatable("advancements.ygasi.wizardry.force3.title"), Text.translatable("advancements.ygasi.wizardry.force3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_force3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, force2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/force3"); - - //druidry skills - - Advancement necromancy1 = Advancement.Builder.create().parent(druidry) - .display(Items.BONE, Text.translatable("advancements.ygasi.druidry.necromancy1.title"), Text.translatable("advancements.ygasi.druidry.necromancy1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_necromancy1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, druidry.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/necromancy1"); - Advancement necromancy2 = Advancement.Builder.create().parent(necromancy1) - .display(Items.BONE, Text.translatable("advancements.ygasi.druidry.necromancy2.title"), Text.translatable("advancements.ygasi.druidry.necromancy2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_necromancy2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, necromancy1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/necromancy2"); - Advancement necromancy3 = Advancement.Builder.create().parent(necromancy2) - .display(Items.BONE, Text.translatable("advancements.ygasi.druidry.necromancy3.title"), Text.translatable("advancements.ygasi.druidry.necromancy3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_necromancy3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, necromancy2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/necromancy3"); - - Advancement nature1 = Advancement.Builder.create().parent(druidry) - .display(Items.GRASS_BLOCK, Text.translatable("advancements.ygasi.druidry.nature1.title"), Text.translatable("advancements.ygasi.druidry.nature1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_nature1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, druidry.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/nature1"); - Advancement nature2 = Advancement.Builder.create().parent(nature1) - .display(Items.GRASS_BLOCK, Text.translatable("advancements.ygasi.druidry.nature2.title"), Text.translatable("advancements.ygasi.druidry.nature2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_nature2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, nature1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/nature2"); - Advancement nature3 = Advancement.Builder.create().parent(nature2) - .display(Items.GRASS_BLOCK, Text.translatable("advancements.ygasi.druidry.nature3.title"), Text.translatable("advancements.ygasi.druidry.nature3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_nature3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, nature2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/nature3"); - - Advancement protean1 = Advancement.Builder.create().parent(druidry) - .display(Items.SLIME_BALL, Text.translatable("advancements.ygasi.druidry.protean1.title"), Text.translatable("advancements.ygasi.druidry.protean1.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_protean1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, druidry.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/protean1"); - Advancement protean2 = Advancement.Builder.create().parent(protean1) - .display(Items.SLIME_BALL, Text.translatable("advancements.ygasi.druidry.protean2.title"), Text.translatable("advancements.ygasi.druidry.protean2.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_protean2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, protean1.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/protean2"); - Advancement protean3 = Advancement.Builder.create().parent(protean2) - .display(Items.SLIME_BALL, Text.translatable("advancements.ygasi.druidry.protean3.title"), Text.translatable("advancements.ygasi.druidry.protean3.description"), null, AdvancementFrame.TASK, false, false, true) - .criterion("unlocked_protean3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, protean2.getId())) - .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/protean3"); - - //extra - - } -} \ No newline at end of file diff --git a/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancementProvider.java b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancementProvider.java new file mode 100644 index 0000000..77eea7d --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancementProvider.java @@ -0,0 +1,17 @@ +package dev.mayaqq.ygasi.dataGen.advancements; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider; +import net.minecraft.advancement.Advancement; + +import java.util.function.Consumer; + +public class YgasiAdvancementProvider extends FabricAdvancementProvider { + public YgasiAdvancementProvider(FabricDataOutput output) { + super(output); + } + @Override + public void generateAdvancement(Consumer consumer) { + new YgasiAdvancements().accept(consumer); + } +} diff --git a/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancements.java b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancements.java new file mode 100644 index 0000000..70fc642 --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/YgasiAdvancements.java @@ -0,0 +1,174 @@ +package dev.mayaqq.ygasi.dataGen.advancements; + +import de.dafuqs.revelationary.advancement_criteria.AdvancementGottenCriterion; +import net.minecraft.advancement.Advancement; +import net.minecraft.advancement.AdvancementFrame; +import net.minecraft.advancement.AdvancementRewards; +import net.minecraft.advancement.criterion.ImpossibleCriterion; +import net.minecraft.item.Items; +import net.minecraft.predicate.entity.EntityPredicate; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; + +import java.util.function.Consumer; + +public class YgasiAdvancements implements Consumer> { + + @Override + public void accept(Consumer consumer) { + //main root advancement + Advancement rootAdvancement = Advancement.Builder.create().display(Items.DIAMOND, // The display icon + Text.translatable("advancements.ygasi.root.title"), // The title + Text.translatable("advancements.ygasi.root.description"), // The description + new Identifier("textures/block/sculk_catalyst_top.png"), // Background image used + AdvancementFrame.CHALLENGE, // Options: TASK, CHALLENGE, GOAL + true, // Show toast top right + false, // Announce to chat + false // Hidden in the advancement tab + ).criterion("opened_skill_menu", new ImpossibleCriterion.Conditions()).rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/root"); + + //branch advancements + Advancement mercenary = Advancement.Builder.create().parent(rootAdvancement) + .display(Items.DIAMOND_SWORD, Text.translatable("advancements.ygasi.mercenary.title"), Text.translatable("advancements.ygasi.mercenary.description"), null, AdvancementFrame.GOAL, false, false, false) + .criterion("unlocked_mercenary", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/mercenary"); + Advancement wizardry = Advancement.Builder.create().parent(rootAdvancement) + .display(Items.BLAZE_ROD, Text.translatable("advancements.ygasi.wizardry.title"), Text.translatable("advancements.ygasi.wizardry.description"), null, AdvancementFrame.GOAL, false, false, false) + .criterion("unlocked_wizardry", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/wizardry"); + Advancement druidry = Advancement.Builder.create().parent(rootAdvancement) + .display(Items.OAK_SAPLING, Text.translatable("advancements.ygasi.druidry.title"), Text.translatable("advancements.ygasi.druidry.description"), null, AdvancementFrame.GOAL, false, false, false) + .criterion("unlocked_druidry", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/druidry"); + Advancement extra = Advancement.Builder.create().parent(rootAdvancement) + .display(Items.EMERALD, Text.translatable("advancements.ygasi.extra.title"), Text.translatable("advancements.ygasi.extra.description"), null, AdvancementFrame.GOAL, false, false, false) + .criterion("unlocked_extra", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, rootAdvancement.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/extra"); + + //mercenary skills + + Advancement offence1 = Advancement.Builder.create().parent(mercenary) + .display(Items.IRON_SWORD, Text.translatable("advancements.ygasi.mercenary.offence1.title"), Text.translatable("advancements.ygasi.mercenary.offence1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_offence1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, mercenary.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/offence1"); + Advancement offence2 = Advancement.Builder.create().parent(offence1) + .display(Items.IRON_SWORD, Text.translatable("advancements.ygasi.mercenary.offence2.title"), Text.translatable("advancements.ygasi.mercenary.offence2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_offence2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, offence1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/offence2"); + Advancement offence3 = Advancement.Builder.create().parent(offence2) + .display(Items.IRON_SWORD, Text.translatable("advancements.ygasi.mercenary.offence3.title"), Text.translatable("advancements.ygasi.mercenary.offence3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_offence3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, offence2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/offence3"); + + Advancement ninja1 = Advancement.Builder.create().parent(mercenary) + .display(Items.BAMBOO, Text.translatable("advancements.ygasi.mercenary.ninja1.title"), Text.translatable("advancements.ygasi.mercenary.ninja1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_ninja1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, mercenary.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/ninja1"); + Advancement ninja2 = Advancement.Builder.create().parent(ninja1) + .display(Items.BAMBOO, Text.translatable("advancements.ygasi.mercenary.ninja2.title"), Text.translatable("advancements.ygasi.mercenary.ninja2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_ninja2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, ninja1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/ninja2"); + Advancement ninja3 = Advancement.Builder.create().parent(ninja2) + .display(Items.BAMBOO, Text.translatable("advancements.ygasi.mercenary.ninja3.title"), Text.translatable("advancements.ygasi.mercenary.ninja3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_ninja3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, ninja2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/ninja3"); + + Advancement defence1 = Advancement.Builder.create().parent(mercenary) + .display(Items.IRON_CHESTPLATE, Text.translatable("advancements.ygasi.mercenary.defence1.title"), Text.translatable("advancements.ygasi.mercenary.defence1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_defence1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, mercenary.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/defence1"); + Advancement defence2 = Advancement.Builder.create().parent(defence1) + .display(Items.IRON_CHESTPLATE, Text.translatable("advancements.ygasi.mercenary.defence2.title"), Text.translatable("advancements.ygasi.mercenary.defence2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_defence2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, defence1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/defence2"); + Advancement defence3 = Advancement.Builder.create().parent(defence2) + .display(Items.IRON_CHESTPLATE, Text.translatable("advancements.ygasi.mercenary.defence3.title"), Text.translatable("advancements.ygasi.mercenary.defence3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_defence3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, defence2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/defence3"); + + //wizardry skills + + Advancement fight1 = Advancement.Builder.create().parent(wizardry) + .display(Items.BLAZE_POWDER, Text.translatable("advancements.ygasi.wizardry.fight1.title"), Text.translatable("advancements.ygasi.wizardry.fight1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_fight1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, wizardry.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/fight1"); + Advancement fight2 = Advancement.Builder.create().parent(fight1) + .display(Items.BLAZE_POWDER, Text.translatable("advancements.ygasi.wizardry.fight2.title"), Text.translatable("advancements.ygasi.wizardry.fight2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_fight2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, fight1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/fight2"); + Advancement fight3 = Advancement.Builder.create().parent(fight2) + .display(Items.BLAZE_POWDER, Text.translatable("advancements.ygasi.wizardry.fight3.title"), Text.translatable("advancements.ygasi.wizardry.fight3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_fight3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, fight2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/fight3"); + + Advancement element1 = Advancement.Builder.create().parent(wizardry) + .display(Items.FIRE_CHARGE, Text.translatable("advancements.ygasi.wizardry.element1.title"), Text.translatable("advancements.ygasi.wizardry.element1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_element1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, wizardry.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/element1"); + Advancement element2 = Advancement.Builder.create().parent(element1) + .display(Items.FIRE_CHARGE, Text.translatable("advancements.ygasi.wizardry.element2.title"), Text.translatable("advancements.ygasi.wizardry.element2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_element2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, element1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/element2"); + Advancement element3 = Advancement.Builder.create().parent(element2) + .display(Items.FIRE_CHARGE, Text.translatable("advancements.ygasi.wizardry.element3.title"), Text.translatable("advancements.ygasi.wizardry.element3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_element3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, element2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/element3"); + + Advancement force1 = Advancement.Builder.create().parent(wizardry) + .display(Items.ENDER_PEARL, Text.translatable("advancements.ygasi.wizardry.force1.title"), Text.translatable("advancements.ygasi.wizardry.force1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_force1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, wizardry.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/force1"); + Advancement force2 = Advancement.Builder.create().parent(force1) + .display(Items.ENDER_PEARL, Text.translatable("advancements.ygasi.wizardry.force2.title"), Text.translatable("advancements.ygasi.wizardry.force2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_force2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, force1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/force2"); + Advancement force3 = Advancement.Builder.create().parent(force2) + .display(Items.ENDER_PEARL, Text.translatable("advancements.ygasi.wizardry.force3.title"), Text.translatable("advancements.ygasi.wizardry.force3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_force3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, force2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/force3"); + + //druidry skills + + Advancement necromancy1 = Advancement.Builder.create().parent(druidry) + .display(Items.BONE, Text.translatable("advancements.ygasi.druidry.necromancy1.title"), Text.translatable("advancements.ygasi.druidry.necromancy1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_necromancy1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, druidry.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/necromancy1"); + Advancement necromancy2 = Advancement.Builder.create().parent(necromancy1) + .display(Items.BONE, Text.translatable("advancements.ygasi.druidry.necromancy2.title"), Text.translatable("advancements.ygasi.druidry.necromancy2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_necromancy2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, necromancy1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/necromancy2"); + Advancement necromancy3 = Advancement.Builder.create().parent(necromancy2) + .display(Items.BONE, Text.translatable("advancements.ygasi.druidry.necromancy3.title"), Text.translatable("advancements.ygasi.druidry.necromancy3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_necromancy3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, necromancy2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/necromancy3"); + + Advancement nature1 = Advancement.Builder.create().parent(druidry) + .display(Items.GRASS_BLOCK, Text.translatable("advancements.ygasi.druidry.nature1.title"), Text.translatable("advancements.ygasi.druidry.nature1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_nature1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, druidry.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/nature1"); + Advancement nature2 = Advancement.Builder.create().parent(nature1) + .display(Items.GRASS_BLOCK, Text.translatable("advancements.ygasi.druidry.nature2.title"), Text.translatable("advancements.ygasi.druidry.nature2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_nature2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, nature1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/nature2"); + Advancement nature3 = Advancement.Builder.create().parent(nature2) + .display(Items.GRASS_BLOCK, Text.translatable("advancements.ygasi.druidry.nature3.title"), Text.translatable("advancements.ygasi.druidry.nature3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_nature3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, nature2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/nature3"); + + Advancement protean1 = Advancement.Builder.create().parent(druidry) + .display(Items.SLIME_BALL, Text.translatable("advancements.ygasi.druidry.protean1.title"), Text.translatable("advancements.ygasi.druidry.protean1.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_protean1", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, druidry.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/protean1"); + Advancement protean2 = Advancement.Builder.create().parent(protean1) + .display(Items.SLIME_BALL, Text.translatable("advancements.ygasi.druidry.protean2.title"), Text.translatable("advancements.ygasi.druidry.protean2.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_protean2", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, protean1.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/protean2"); + Advancement protean3 = Advancement.Builder.create().parent(protean2) + .display(Items.SLIME_BALL, Text.translatable("advancements.ygasi.druidry.protean3.title"), Text.translatable("advancements.ygasi.druidry.protean3.description"), null, AdvancementFrame.TASK, false, false, true) + .criterion("unlocked_protean3", new ImpossibleCriterion.Conditions()).criterion("gotten_previous", new AdvancementGottenCriterion.Conditions(EntityPredicate.Extended.EMPTY, protean2.getId())) + .rewards(AdvancementRewards.Builder.experience(1)).build(consumer, "ygasi" + "/protean3"); + + //extra + + } +} \ No newline at end of file diff --git a/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipes.java b/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipes.java deleted file mode 100644 index 032cc2e..0000000 --- a/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipes.java +++ /dev/null @@ -1,28 +0,0 @@ -package dev.mayaqq.ygasi.dataGen.recipes; - -import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; -import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; -import net.minecraft.advancement.criterion.ImpossibleCriterion; -import net.minecraft.data.server.recipe.RecipeJsonProvider; -import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder; -import net.minecraft.item.Items; -import net.minecraft.tag.ItemTags; - -import java.util.function.Consumer; - -import static dev.mayaqq.ygasi.registry.ItemRegistry.SKILL_BOOK; - -public class YgasiRecipes extends FabricRecipeProvider { - public YgasiRecipes(FabricDataGenerator dataGenerator) { - super(dataGenerator); - } - - @Override - public void generateRecipes(Consumer exporter) { - ShapelessRecipeJsonBuilder.create(SKILL_BOOK) - .criterion("has_book", new ImpossibleCriterion.Conditions()) - .input(Items.BOOK) - .input(ItemTags.SAPLINGS) - .offerTo(exporter); - } -} \ No newline at end of file diff --git a/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipesProvider.java b/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipesProvider.java new file mode 100644 index 0000000..8f9e12d --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipesProvider.java @@ -0,0 +1,29 @@ +package dev.mayaqq.ygasi.dataGen.recipes; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.advancement.criterion.ImpossibleCriterion; +import net.minecraft.data.server.recipe.RecipeJsonProvider; +import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder; +import net.minecraft.item.Items; +import net.minecraft.recipe.book.RecipeCategory; +import net.minecraft.registry.tag.ItemTags; + +import java.util.function.Consumer; + +import static dev.mayaqq.ygasi.registry.ItemRegistry.SKILL_BOOK; + +public class YgasiRecipesProvider extends FabricRecipeProvider { + public YgasiRecipesProvider(FabricDataOutput output) { + super(output); + } + + @Override + public void generate(Consumer exporter) { + ShapelessRecipeJsonBuilder.create(RecipeCategory.MISC, SKILL_BOOK) + .criterion("has_book", new ImpossibleCriterion.Conditions()) + .input(Items.BOOK) + .input(ItemTags.SAPLINGS) + .offerTo(exporter); + } +} \ No newline at end of file diff --git a/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java b/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java index 7836ca6..34f5f46 100644 --- a/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java +++ b/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java @@ -2,10 +2,12 @@ package dev.mayaqq.ygasi.events; import dev.mayaqq.ygasi.registry.ConfigRegistry; import dev.mayaqq.ygasi.util.AdvUtils; +import eu.pb4.polymer.resourcepack.api.PolymerResourcePackUtils; import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; +import static dev.mayaqq.ygasi.Ygasi.LOGGER; import static dev.mayaqq.ygasi.registry.ItemRegistry.SKILL_BOOK; public class PlayerConnectEvent { diff --git a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java index d293f47..eca0226 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java @@ -146,9 +146,9 @@ public class BranchGui { } //this happens when you try to unlock a branch public static void save(ServerPlayerEntity player, String branch, String branchName) { - Boolean hasMercenary = AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/mercenary"); - Boolean hasWizadry = AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/wizardry"); - Boolean hasDrudiry = AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/druidry"); + boolean hasMercenary = AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/mercenary"); + boolean hasWizadry = AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/wizardry"); + boolean hasDrudiry = AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/druidry"); //special category for extra branch because it's half the price if (branch.equals("extra")) { if (player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) >= ConfigRegistry.CONFIG.branchCost / 2) { diff --git a/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java b/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java index c9f0383..74c1c5e 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java @@ -8,9 +8,11 @@ import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.sound.SoundCategory; -import net.minecraft.sound.SoundEvents; +import net.minecraft.sound.SoundEvent; import net.minecraft.text.Text; +import static dev.mayaqq.ygasi.Ygasi.click; + public class ConfigGui { public static void gui(ServerPlayerEntity player) { @@ -30,7 +32,6 @@ public class ConfigGui { .addLoreLine(Text.translatable("config.ygasi.current").append(Text.of(String.valueOf(ConfigRegistry.CONFIG.pointsRewarded)))) .setCallback((index, clickType, actionType) -> { textInput(player, "pointsRewarded"); - player.playSound(SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 1.0F, 1.0F); }) ); @@ -40,7 +41,6 @@ public class ConfigGui { .addLoreLine(Text.translatable("config.ygasi.current").append(Text.of(String.valueOf(ConfigRegistry.CONFIG.branchCost)))) .setCallback((index, clickType, actionType) -> { textInput(player, "branchCost"); - player.playSound(SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 1.0F, 1.0F); }) ); @@ -50,9 +50,9 @@ public class ConfigGui { .addLoreLine(Text.translatable("config.ygasi.current").append(Text.of(String.valueOf(ConfigRegistry.CONFIG.enableSkillBook)))) .setCallback((index, clickType, actionType) -> { ConfigRegistry.CONFIG.enableSkillBook = !ConfigRegistry.CONFIG.enableSkillBook; + player.playSound(SoundEvent.of(click), SoundCategory.PLAYERS, 1.0F, 1.0F); gui.close(); gui(player); - player.playSound(SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 1.0F, 1.0F); }) ); @@ -62,7 +62,6 @@ public class ConfigGui { .addLoreLine(Text.translatable("config.ygasi.current").append(Text.of(String.valueOf(ConfigRegistry.CONFIG.T1Cost)))) .setCallback((index, clickType, actionType) -> { textInput(player, "T1Cost"); - player.playSound(SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 1.0F, 1.0F); }) ); @@ -73,7 +72,6 @@ public class ConfigGui { .addLoreLine(Text.translatable("config.ygasi.current").append(Text.of(String.valueOf(ConfigRegistry.CONFIG.T2Cost)))) .setCallback((index, clickType, actionType) -> { textInput(player, "T2Cost"); - player.playSound(SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 1.0F, 1.0F); }) ); @@ -84,7 +82,6 @@ public class ConfigGui { .addLoreLine(Text.translatable("config.ygasi.current").append(Text.of(String.valueOf(ConfigRegistry.CONFIG.T3Cost)))) .setCallback((index, clickType, actionType) -> { textInput(player, "T3Cost"); - player.playSound(SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 1.0F, 1.0F); }) ); @@ -92,6 +89,7 @@ public class ConfigGui { } private static void textInput(ServerPlayerEntity player, String option) { + player.playSound(SoundEvent.of(click), SoundCategory.PLAYERS, 1.0F, 1.0F); try { SignGui gui = new SignGui(player) { @Override @@ -101,35 +99,35 @@ public class ConfigGui { try { ConfigRegistry.CONFIG.pointsRewarded = Integer.parseInt(this.getLine(0).getString()); } catch (NumberFormatException e) { - player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false); + player.sendMessage(Text.translatable("config.ygasi.invalid.number"), true); } } case "branchCost" -> { try { ConfigRegistry.CONFIG.branchCost = Integer.parseInt(this.getLine(0).getString()); } catch (NumberFormatException e) { - player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false); + player.sendMessage(Text.translatable("config.ygasi.invalid.number"), true); } } case "T1Cost" -> { try { ConfigRegistry.CONFIG.T1Cost = Integer.parseInt(this.getLine(0).getString()); } catch (NumberFormatException e) { - player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false); + player.sendMessage(Text.translatable("config.ygasi.invalid.number"), true); } } case "T2Cost" -> { try { ConfigRegistry.CONFIG.T2Cost = Integer.parseInt(this.getLine(0).getString()); } catch (NumberFormatException e) { - player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false); + player.sendMessage(Text.translatable("config.ygasi.invalid.number"), true); } } case "T3Cost" -> { try { ConfigRegistry.CONFIG.T3Cost = Integer.parseInt(this.getLine(0).getString()); } catch (NumberFormatException e) { - player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false); + player.sendMessage(Text.translatable("config.ygasi.invalid.number"), true); } } } diff --git a/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java b/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java index 9376277..51f0292 100644 --- a/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java +++ b/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java @@ -1,8 +1,8 @@ package dev.mayaqq.ygasi.items; import dev.mayaqq.ygasi.gui.BranchGui; -import eu.pb4.polymer.api.item.PolymerItemUtils; -import eu.pb4.polymer.api.item.SimplePolymerItem; +import eu.pb4.polymer.core.api.item.PolymerItemUtils; +import eu.pb4.polymer.core.api.item.SimplePolymerItem; import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; @@ -24,11 +24,6 @@ public class SkillBookItem extends SimplePolymerItem { super(settings, polymerItem); } - @Override - public ItemStack getPolymerItemStack(ItemStack itemStack, ServerPlayerEntity player) { - return PolymerItemUtils.createItemStack(itemStack, player); - } - @Override public TypedActionResult use(World world, PlayerEntity playerEntity, Hand hand) { ServerPlayerEntity player = (ServerPlayerEntity) playerEntity; @@ -38,7 +33,7 @@ public class SkillBookItem extends SimplePolymerItem { @Override public int getPolymerCustomModelData(ItemStack itemStack, @Nullable ServerPlayerEntity player) { - return 1; + return 2; } @Override diff --git a/src/main/java/dev/mayaqq/ygasi/registry/ItemRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/ItemRegistry.java index 61cb93d..06f3196 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/ItemRegistry.java +++ b/src/main/java/dev/mayaqq/ygasi/registry/ItemRegistry.java @@ -1,25 +1,30 @@ package dev.mayaqq.ygasi.registry; import dev.mayaqq.ygasi.items.SkillBookItem; -import eu.pb4.polymer.api.item.PolymerItemGroup; -import eu.pb4.polymer.api.resourcepack.PolymerModelData; -import eu.pb4.polymer.api.resourcepack.PolymerRPUtils; +import eu.pb4.polymer.core.api.item.PolymerItemGroupUtils; +import eu.pb4.polymer.resourcepack.api.PolymerModelData; +import eu.pb4.polymer.resourcepack.api.PolymerResourcePackUtils; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; import net.minecraft.text.Text; import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; public class ItemRegistry { - public static final PolymerItemGroup YGASI_GROUP = PolymerItemGroup.create(new Identifier("ygasi"), Text.translatable("creative.ygasi.group"), () -> new ItemStack(Items.BOOK)); - - public static final SkillBookItem SKILL_BOOK = new SkillBookItem(new Item.Settings().group(YGASI_GROUP).maxCount(1), Items.BOOK); + public static final SkillBookItem SKILL_BOOK = new SkillBookItem(new Item.Settings().maxCount(1), Items.BOOK); public static void register() { - PolymerRPUtils.addAssetSource("ygasi"); - - PolymerModelData skillBookModelData = PolymerRPUtils.requestModel(Items.BOOK, new Identifier("ygasi", "item/skill_book")); + PolymerItemGroupUtils.builder(new Identifier("ygasi", "ygasi")) + .displayName(Text.translatable("creative.ygasi.group")) + .icon(() -> new ItemStack(Items.BOOK)) + .entries((enabledFeatures, entries, operatorEnabled) -> { + entries.add(SKILL_BOOK); + }) + .build(); + PolymerResourcePackUtils.addModAssets("ygasi"); + PolymerModelData skillBookModelData = PolymerResourcePackUtils.requestModel(Items.BOOK, new Identifier("ygasi", "item/skill_book")); - Registry.register(Registry.ITEM, "ygasi:skill_book", SKILL_BOOK); + Registry.register(Registries.ITEM, new Identifier("ygasi", "skill_book"), SKILL_BOOK); } } diff --git a/src/main/java/dev/mayaqq/ygasi/registry/StatRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/StatRegistry.java index 039b0b6..5d095ba 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/StatRegistry.java +++ b/src/main/java/dev/mayaqq/ygasi/registry/StatRegistry.java @@ -1,6 +1,6 @@ package dev.mayaqq.ygasi.registry; -import eu.pb4.polymer.api.other.PolymerStat; +import eu.pb4.polymer.core.api.other.PolymerStat; import net.minecraft.stat.StatFormatter; import net.minecraft.util.Identifier; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 656a474..929040c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -19,7 +19,7 @@ "environment": "server", "entrypoints": { "fabric-datagen": [ - "dev.mayaqq.ygasi.registry.dataGen.DataGenRegistry" + "dev.mayaqq.ygasi.dataGen.DataGenRegistry" ], "main": [ "dev.mayaqq.ygasi.Ygasi" -- cgit