From 730ba6e636d952e9730e3b9bbc035c894dfff25b Mon Sep 17 00:00:00 2001 From: Maximusbarcz Date: Wed, 28 Dec 2022 17:22:23 +0100 Subject: Added all the advancements! (other than extra) --- build.gradle | 9 +- gradle.properties | 6 +- .../minecraft/advancements/ygasi/defence1.json | 41 ++++ .../minecraft/advancements/ygasi/defence2.json | 41 ++++ .../minecraft/advancements/ygasi/defence3.json | 41 ++++ .../data/minecraft/advancements/ygasi/druidry.json | 4 +- .../minecraft/advancements/ygasi/element1.json | 40 ++++ .../minecraft/advancements/ygasi/element2.json | 40 ++++ .../minecraft/advancements/ygasi/element3.json | 40 ++++ .../data/minecraft/advancements/ygasi/extra.json | 40 ++++ .../data/minecraft/advancements/ygasi/fight1.json | 40 ++++ .../data/minecraft/advancements/ygasi/fight2.json | 40 ++++ .../data/minecraft/advancements/ygasi/fight3.json | 40 ++++ .../data/minecraft/advancements/ygasi/force1.json | 40 ++++ .../data/minecraft/advancements/ygasi/force2.json | 40 ++++ .../data/minecraft/advancements/ygasi/force3.json | 40 ++++ .../minecraft/advancements/ygasi/mercenary.json | 6 +- .../data/minecraft/advancements/ygasi/nature1.json | 40 ++++ .../data/minecraft/advancements/ygasi/nature2.json | 40 ++++ .../data/minecraft/advancements/ygasi/nature3.json | 40 ++++ .../minecraft/advancements/ygasi/necromancy1.json | 40 ++++ .../minecraft/advancements/ygasi/necromancy2.json | 40 ++++ .../minecraft/advancements/ygasi/necromancy3.json | 40 ++++ .../data/minecraft/advancements/ygasi/ninja1.json | 40 ++++ .../data/minecraft/advancements/ygasi/ninja2.json | 40 ++++ .../data/minecraft/advancements/ygasi/ninja3.json | 40 ++++ .../minecraft/advancements/ygasi/offence1.json | 41 ++++ .../minecraft/advancements/ygasi/offence2.json | 41 ++++ .../minecraft/advancements/ygasi/offence3.json | 41 ++++ .../minecraft/advancements/ygasi/protean1.json | 40 ++++ .../minecraft/advancements/ygasi/protean2.json | 40 ++++ .../minecraft/advancements/ygasi/protean3.json | 40 ++++ .../data/minecraft/advancements/ygasi/root.json | 4 +- .../minecraft/advancements/ygasi/wizardry.json | 4 +- src/main/java/dev/mayaqq/ygasi/Ygasi.java | 9 +- src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java | 88 ++++++--- src/main/java/dev/mayaqq/ygasi/gui/DruidryGui.java | 4 +- src/main/java/dev/mayaqq/ygasi/gui/ExtraGui.java | 36 ++++ .../java/dev/mayaqq/ygasi/gui/MercenaryGui.java | 12 +- .../java/dev/mayaqq/ygasi/gui/WizardryGui.java | 4 +- .../dataGen/advancements/AdvancementProvider.java | 1 - .../dataGen/advancements/Advancements.java | 207 +++++++++++++++------ .../mayaqq/ygasi/util/GetAdvancementProgress.java | 10 - .../ygasi/util/GrantAdvancementCriterion.java | 29 --- .../java/dev/mayaqq/ygasi/util/YgasiUtils.java | 33 ++++ src/main/resources/data/ygasi/lang/en_us.json | 4 +- src/main/resources/fabric.mod.json | 4 +- 47 files changed, 1445 insertions(+), 155 deletions(-) create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/defence1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/defence2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/defence3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/element1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/element2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/element3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/extra.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/fight1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/fight2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/fight3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/force1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/force2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/force3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/nature1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/nature2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/nature3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/necromancy1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/necromancy2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/necromancy3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/ninja1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/ninja2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/ninja3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/offence1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/offence2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/offence3.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/protean1.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/protean2.json create mode 100644 src/main/generated/data/minecraft/advancements/ygasi/protean3.json create mode 100644 src/main/java/dev/mayaqq/ygasi/gui/ExtraGui.java delete mode 100644 src/main/java/dev/mayaqq/ygasi/util/GetAdvancementProgress.java delete mode 100644 src/main/java/dev/mayaqq/ygasi/util/GrantAdvancementCriterion.java create mode 100644 src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java diff --git a/build.gradle b/build.gradle index 3336315..1148de2 100644 --- a/build.gradle +++ b/build.gradle @@ -11,12 +11,6 @@ version = project.mod_version group = project.maven_group repositories { - // Add repositories to retrieve artifacts from in here. - // You should only use this when depending on other mods because - // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. - // See https://docs.gradle.org/current/userguide/declaring_repositories.html - // for more information about repositories. - maven { url "https://maven.terraformersmc.com" } maven { url 'https://maven.nucleoid.xyz' } maven { url = "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1" } exclusiveContent { @@ -48,8 +42,7 @@ dependencies { modImplementation "maven.modrinth:Revelationary:1.1.0" modRuntimeOnly("me.djtheredstoner:DevAuth-fabric:1.1.0") - - modApi("com.terraformersmc:modmenu:${"4.+"}")} +} processResources { inputs.property "version", project.version diff --git a/gradle.properties b/gradle.properties index 5fd0a03..81ca478 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,15 +5,15 @@ org.gradle.jvmargs=-Xmx2G # check these on https://fabricmc.net/develop minecraft_version=1.19.2 yarn_mappings=1.19.2+build.8 - loader_version=0.14.9 + loader_version=0.14.11 # Mod Properties mod_version = 0.0.1 maven_group = dev.mayaqq archives_base_name = youve-got-a-skill-issue - modid=ygasi + modid = ygasi # Dependencies - fabric_version=0.60.0+1.19.2 + fabric_version = 0.67.0+1.19.2 diff --git a/src/main/generated/data/minecraft/advancements/ygasi/defence1.json b/src/main/generated/data/minecraft/advancements/ygasi/defence1.json new file mode 100644 index 0000000..bdfcdc0 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/defence1.json @@ -0,0 +1,41 @@ +{ + "parent": "minecraft:ygasi/mercenary", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/mercenary" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_defence1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.defence1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:iron_chestplate", + "nbt": "{Damage:0}" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.defence1.title" + } + }, + "requirements": [ + [ + "unlocked_defence1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/defence2.json b/src/main/generated/data/minecraft/advancements/ygasi/defence2.json new file mode 100644 index 0000000..d6e66a0 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/defence2.json @@ -0,0 +1,41 @@ +{ + "parent": "minecraft:ygasi/defence1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/defence1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_defence2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.defence2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:iron_chestplate", + "nbt": "{Damage:0}" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.defence2.title" + } + }, + "requirements": [ + [ + "unlocked_defence2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/defence3.json b/src/main/generated/data/minecraft/advancements/ygasi/defence3.json new file mode 100644 index 0000000..5567889 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/defence3.json @@ -0,0 +1,41 @@ +{ + "parent": "minecraft:ygasi/defence2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/defence2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_defence3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.defence3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:iron_chestplate", + "nbt": "{Damage:0}" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.defence3.title" + } + }, + "requirements": [ + [ + "unlocked_defence3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/druidry.json b/src/main/generated/data/minecraft/advancements/ygasi/druidry.json index 884cfed..fa73a5e 100644 --- a/src/main/generated/data/minecraft/advancements/ygasi/druidry.json +++ b/src/main/generated/data/minecraft/advancements/ygasi/druidry.json @@ -14,7 +14,7 @@ "display": { "announce_to_chat": false, "description": { - "text": "Unlock the druidry branch!" + "translate": "advancements.ygasi.druidry.description" }, "frame": "goal", "hidden": false, @@ -23,7 +23,7 @@ }, "show_toast": false, "title": { - "text": "Druidry" + "translate": "advancements.ygasi.druidry.title" } }, "requirements": [ diff --git a/src/main/generated/data/minecraft/advancements/ygasi/element1.json b/src/main/generated/data/minecraft/advancements/ygasi/element1.json new file mode 100644 index 0000000..199af31 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/element1.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/wizardry", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/wizardry" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_element1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.element1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:fire_charge" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.element1.title" + } + }, + "requirements": [ + [ + "unlocked_element1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/element2.json b/src/main/generated/data/minecraft/advancements/ygasi/element2.json new file mode 100644 index 0000000..54e758f --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/element2.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/element1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/element1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_element2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.element2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:fire_charge" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.element2.title" + } + }, + "requirements": [ + [ + "unlocked_element2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/element3.json b/src/main/generated/data/minecraft/advancements/ygasi/element3.json new file mode 100644 index 0000000..8bd713f --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/element3.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/element2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/element2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_element3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.element3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:fire_charge" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.element3.title" + } + }, + "requirements": [ + [ + "unlocked_element3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/extra.json b/src/main/generated/data/minecraft/advancements/ygasi/extra.json new file mode 100644 index 0000000..c4ae6f2 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/extra.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/root", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/root" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_extra": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.extra.description" + }, + "frame": "goal", + "hidden": false, + "icon": { + "item": "minecraft:emerald" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.extra.title" + } + }, + "requirements": [ + [ + "unlocked_extra" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/fight1.json b/src/main/generated/data/minecraft/advancements/ygasi/fight1.json new file mode 100644 index 0000000..08879a8 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/fight1.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/wizardry", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/wizardry" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_fight1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.fight1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:blaze_powder" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.fight1.title" + } + }, + "requirements": [ + [ + "unlocked_fight1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/fight2.json b/src/main/generated/data/minecraft/advancements/ygasi/fight2.json new file mode 100644 index 0000000..ad7f6d8 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/fight2.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/fight1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/fight1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_fight2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.fight2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:blaze_powder" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.fight2.title" + } + }, + "requirements": [ + [ + "unlocked_fight2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/fight3.json b/src/main/generated/data/minecraft/advancements/ygasi/fight3.json new file mode 100644 index 0000000..e8360a1 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/fight3.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/fight2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/fight2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_fight3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.fight3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:blaze_powder" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.fight3.title" + } + }, + "requirements": [ + [ + "unlocked_fight3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/force1.json b/src/main/generated/data/minecraft/advancements/ygasi/force1.json new file mode 100644 index 0000000..5e88eff --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/force1.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/wizardry", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/wizardry" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_force1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.force1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:ender_pearl" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.force1.title" + } + }, + "requirements": [ + [ + "unlocked_force1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/force2.json b/src/main/generated/data/minecraft/advancements/ygasi/force2.json new file mode 100644 index 0000000..e8bb729 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/force2.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/force1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/force1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_force2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.force2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:ender_pearl" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.force2.title" + } + }, + "requirements": [ + [ + "unlocked_force2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/force3.json b/src/main/generated/data/minecraft/advancements/ygasi/force3.json new file mode 100644 index 0000000..f95f569 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/force3.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/force2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/force2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_force3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.wizardry.force3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:ender_pearl" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.wizardry.force3.title" + } + }, + "requirements": [ + [ + "unlocked_force3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/mercenary.json b/src/main/generated/data/minecraft/advancements/ygasi/mercenary.json index fcf77bc..85339ae 100644 --- a/src/main/generated/data/minecraft/advancements/ygasi/mercenary.json +++ b/src/main/generated/data/minecraft/advancements/ygasi/mercenary.json @@ -14,17 +14,17 @@ "display": { "announce_to_chat": false, "description": { - "text": "Unlock the mercenary branch!" + "translate": "advancements.ygasi.mercenary.description" }, "frame": "goal", "hidden": false, "icon": { - "item": "minecraft:iron_sword", + "item": "minecraft:diamond_sword", "nbt": "{Damage:0}" }, "show_toast": false, "title": { - "text": "Mercenary" + "translate": "advancements.ygasi.mercenary.title" } }, "requirements": [ diff --git a/src/main/generated/data/minecraft/advancements/ygasi/nature1.json b/src/main/generated/data/minecraft/advancements/ygasi/nature1.json new file mode 100644 index 0000000..46f1aa7 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/nature1.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/druidry", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/druidry" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_nature1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.nature1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:grass_block" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.nature1.title" + } + }, + "requirements": [ + [ + "unlocked_nature1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/nature2.json b/src/main/generated/data/minecraft/advancements/ygasi/nature2.json new file mode 100644 index 0000000..f70c0a3 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/nature2.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/nature1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/nature1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_nature2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.nature2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:grass_block" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.nature2.title" + } + }, + "requirements": [ + [ + "unlocked_nature2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/nature3.json b/src/main/generated/data/minecraft/advancements/ygasi/nature3.json new file mode 100644 index 0000000..f198e1e --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/nature3.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/nature2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/nature2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_nature3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.nature3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:grass_block" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.nature3.title" + } + }, + "requirements": [ + [ + "unlocked_nature3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/necromancy1.json b/src/main/generated/data/minecraft/advancements/ygasi/necromancy1.json new file mode 100644 index 0000000..d8afc8f --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/necromancy1.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/druidry", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/druidry" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_necromancy1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.necromancy1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:bone" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.necromancy1.title" + } + }, + "requirements": [ + [ + "unlocked_necromancy1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/necromancy2.json b/src/main/generated/data/minecraft/advancements/ygasi/necromancy2.json new file mode 100644 index 0000000..7840604 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/necromancy2.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/necromancy1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/necromancy1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_necromancy2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.necromancy2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:bone" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.necromancy2.title" + } + }, + "requirements": [ + [ + "unlocked_necromancy2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/necromancy3.json b/src/main/generated/data/minecraft/advancements/ygasi/necromancy3.json new file mode 100644 index 0000000..39295bf --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/necromancy3.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/necromancy2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/necromancy2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_necromancy3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.necromancy3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:bone" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.necromancy3.title" + } + }, + "requirements": [ + [ + "unlocked_necromancy3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/ninja1.json b/src/main/generated/data/minecraft/advancements/ygasi/ninja1.json new file mode 100644 index 0000000..eaf63a0 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/ninja1.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/mercenary", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/mercenary" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_ninja1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.ninja1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:bamboo" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.ninja1.title" + } + }, + "requirements": [ + [ + "unlocked_ninja1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/ninja2.json b/src/main/generated/data/minecraft/advancements/ygasi/ninja2.json new file mode 100644 index 0000000..a3d229b --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/ninja2.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/ninja1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/ninja1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_ninja2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.ninja2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:bamboo" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.ninja2.title" + } + }, + "requirements": [ + [ + "unlocked_ninja2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/ninja3.json b/src/main/generated/data/minecraft/advancements/ygasi/ninja3.json new file mode 100644 index 0000000..f3435ce --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/ninja3.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/ninja2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/ninja2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_ninja3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.ninja3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:bamboo" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.ninja3.title" + } + }, + "requirements": [ + [ + "unlocked_ninja3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/offence1.json b/src/main/generated/data/minecraft/advancements/ygasi/offence1.json new file mode 100644 index 0000000..ede1593 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/offence1.json @@ -0,0 +1,41 @@ +{ + "parent": "minecraft:ygasi/mercenary", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/mercenary" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_offence1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.offence1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:iron_sword", + "nbt": "{Damage:0}" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.offence1.title" + } + }, + "requirements": [ + [ + "unlocked_offence1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/offence2.json b/src/main/generated/data/minecraft/advancements/ygasi/offence2.json new file mode 100644 index 0000000..7d3a72e --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/offence2.json @@ -0,0 +1,41 @@ +{ + "parent": "minecraft:ygasi/offence1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/offence1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_offence2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.offence2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:iron_sword", + "nbt": "{Damage:0}" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.offence2.title" + } + }, + "requirements": [ + [ + "unlocked_offence2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/offence3.json b/src/main/generated/data/minecraft/advancements/ygasi/offence3.json new file mode 100644 index 0000000..b70eeae --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/offence3.json @@ -0,0 +1,41 @@ +{ + "parent": "minecraft:ygasi/offence2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/offence2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_offence3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.mercenary.offence3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:iron_sword", + "nbt": "{Damage:0}" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.mercenary.offence3.title" + } + }, + "requirements": [ + [ + "unlocked_offence3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/protean1.json b/src/main/generated/data/minecraft/advancements/ygasi/protean1.json new file mode 100644 index 0000000..0ff6471 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/protean1.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/druidry", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/druidry" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_protean1": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.protean1.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:slime_ball" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.protean1.title" + } + }, + "requirements": [ + [ + "unlocked_protean1" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/protean2.json b/src/main/generated/data/minecraft/advancements/ygasi/protean2.json new file mode 100644 index 0000000..eb99cac --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/protean2.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/protean1", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/protean1" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_protean2": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.protean2.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:slime_ball" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.protean2.title" + } + }, + "requirements": [ + [ + "unlocked_protean2" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/protean3.json b/src/main/generated/data/minecraft/advancements/ygasi/protean3.json new file mode 100644 index 0000000..a4b7054 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/ygasi/protean3.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:ygasi/protean2", + "criteria": { + "gotten_previous": { + "conditions": { + "advancement_identifier": "minecraft:ygasi/protean2" + }, + "trigger": "revelationary:advancement_gotten" + }, + "unlocked_protean3": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "announce_to_chat": false, + "description": { + "translate": "advancements.ygasi.druidry.protean3.description" + }, + "frame": "task", + "hidden": true, + "icon": { + "item": "minecraft:slime_ball" + }, + "show_toast": false, + "title": { + "translate": "advancements.ygasi.druidry.protean3.title" + } + }, + "requirements": [ + [ + "unlocked_protean3" + ], + [ + "gotten_previous" + ] + ], + "rewards": { + "experience": 1 + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/ygasi/root.json b/src/main/generated/data/minecraft/advancements/ygasi/root.json index 5606565..8527500 100644 --- a/src/main/generated/data/minecraft/advancements/ygasi/root.json +++ b/src/main/generated/data/minecraft/advancements/ygasi/root.json @@ -8,7 +8,7 @@ "announce_to_chat": false, "background": "minecraft:textures/block/sculk_catalyst_top.png", "description": { - "text": "The journey begins here!" + "translate": "advancements.ygasi.root.description" }, "frame": "challenge", "hidden": false, @@ -17,7 +17,7 @@ }, "show_toast": true, "title": { - "text": "You've got a skill issue!" + "translate": "advancements.ygasi.root.title" } }, "requirements": [ diff --git a/src/main/generated/data/minecraft/advancements/ygasi/wizardry.json b/src/main/generated/data/minecraft/advancements/ygasi/wizardry.json index d52332b..e28c0e2 100644 --- a/src/main/generated/data/minecraft/advancements/ygasi/wizardry.json +++ b/src/main/generated/data/minecraft/advancements/ygasi/wizardry.json @@ -14,7 +14,7 @@ "display": { "announce_to_chat": false, "description": { - "text": "Unlock the wizardry branch!" + "translate": "advancements.ygasi.wizardry.description" }, "frame": "goal", "hidden": false, @@ -23,7 +23,7 @@ }, "show_toast": false, "title": { - "text": "Wizardry" + "translate": "advancements.ygasi.wizardry.title" } }, "requirements": [ diff --git a/src/main/java/dev/mayaqq/ygasi/Ygasi.java b/src/main/java/dev/mayaqq/ygasi/Ygasi.java index 4d13d53..5c598ee 100644 --- a/src/main/java/dev/mayaqq/ygasi/Ygasi.java +++ b/src/main/java/dev/mayaqq/ygasi/Ygasi.java @@ -4,8 +4,9 @@ import dev.mayaqq.ygasi.items.SkillBookItem; import dev.mayaqq.ygasi.registry.CommandRegistry; import dev.mayaqq.ygasi.registry.ConfigRegistry; import dev.mayaqq.ygasi.registry.StatRegistry; -import dev.mayaqq.ygasi.util.GrantAdvancementCriterion; +import dev.mayaqq.ygasi.util.YgasiUtils; import eu.pb4.polymer.api.item.PolymerItemGroup; +import eu.pb4.polymer.api.item.PolymerItemUtils; import eu.pb4.polymer.api.resourcepack.PolymerModelData; import eu.pb4.polymer.api.resourcepack.PolymerRPUtils; import net.fabricmc.api.ModInitializer; @@ -41,10 +42,10 @@ public class Ygasi implements ModInitializer { if (ConfigRegistry.CONFIG.enableSkillBook) { ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> { - if (!handler.player.getScoreboardTags().contains("ygasi:skill_book_unlocked")) { - handler.player.addScoreboardTag("ygasi:skill_book_unlocked"); + if (!handler.player.getScoreboardTags().contains("skill_book_unlocked")) { + handler.player.addScoreboardTag("skill_book_unlocked"); handler.player.getInventory().offerOrDrop(new ItemStack(SKILL_BOOK)); - GrantAdvancementCriterion.grantAdvancementCriterion(handler.player, new Identifier("ygasi", "skill_book"), "opened_skill_menu"); + YgasiUtils.grantAdvancementCriterion(handler.player, new Identifier("ygasi", "recipes/minecraft_ygasi/skill_book"), "opened_skill_menu"); } }); } diff --git a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java index ca02eec..a9ccb71 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java @@ -1,7 +1,6 @@ package dev.mayaqq.ygasi.gui; -import dev.mayaqq.ygasi.util.GetAdvancementProgress; -import dev.mayaqq.ygasi.util.GrantAdvancementCriterion; +import dev.mayaqq.ygasi.util.YgasiUtils; import eu.pb4.sgui.api.elements.*; import net.minecraft.item.ItemStack; @@ -50,9 +49,9 @@ public class BranchGui { } //branch items - if (!GetAdvancementProgress.get(player, "mercenary")) { + if (!YgasiUtils.getAdvancementProgress(player, "mercenary")) { gui.setSlot(11, new GuiElementBuilder() - .setItem(Items.IRON_SWORD) + .setItem(Items.DIAMOND_SWORD) .setCustomModelData(1) .hideFlag(ItemStack.TooltipSection.MODIFIERS) .addLoreLine(Text.literal("Cost: " + ConfigRegistry.CONFIG.branchCost).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_GRAY))) @@ -62,7 +61,7 @@ public class BranchGui { ); } else { gui.setSlot(11, new GuiElementBuilder() - .setItem(Items.IRON_SWORD) + .setItem(Items.DIAMOND_SWORD) .hideFlag(ItemStack.TooltipSection.MODIFIERS) .glow() .setName(Text.literal("Mercenary") @@ -71,7 +70,7 @@ public class BranchGui { ); } - if (!GetAdvancementProgress.get(player, "wizardry")) { + if (!YgasiUtils.getAdvancementProgress(player, "wizardry")) { gui.setSlot(13, new GuiElementBuilder() .setItem(Items.BLAZE_ROD) .addLoreLine(Text.literal("Cost: " + ConfigRegistry.CONFIG.branchCost).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_GRAY))) @@ -89,7 +88,7 @@ public class BranchGui { ); } - if (!GetAdvancementProgress.get(player, "druidry")) { + if (!YgasiUtils.getAdvancementProgress(player, "druidry")) { gui.setSlot(15, new GuiElementBuilder() .setItem(Items.OAK_SAPLING) .addLoreLine(Text.literal("Cost: " + ConfigRegistry.CONFIG.branchCost).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_GRAY))) @@ -106,7 +105,33 @@ public class BranchGui { .setCallback((index, clickType, actionType) -> DruidryGui.gui(player)) ); } - GrantAdvancementCriterion.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/root"), "opened_skill_menu"); + + if (!YgasiUtils.getAdvancementProgress(player, "extra")) { + gui.setSlot(26, new GuiElementBuilder() + .setItem(Items.BOOK) + .addLoreLine(Text.literal("Cost: " + ConfigRegistry.CONFIG.branchCost / 2).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_GRAY))) + .setName(Text.literal("Extra") + .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.BLUE))) + .setCallback((index, clickType, actionType) -> save(player, "extra", "§9Extra Skills")) + ); + } else { + gui.setSlot(26, new GuiElementBuilder() + .setItem(Items.BOOK) + .glow() + .setName(Text.literal("Extra Skills") + .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.BLUE))) + .setCallback((index, clickType, actionType) -> ExtraGui.gui(player)) + ); + } + + //info item + gui.setSlot(18, new GuiElementBuilder() + .setItem(Items.PAPER) + .setName(Text.literal("Info").formatted(Formatting.GOLD).formatted(Formatting.BOLD)) + .setCallback((index, clickType, actionType) -> infoMessage(player)) + ); + + YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/root"), "opened_skill_menu"); gui.open(); } catch (Exception e) { @@ -114,24 +139,39 @@ public class BranchGui { } } public static void save(ServerPlayerEntity player, String branch, String branchName) { - if (player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) >= ConfigRegistry.CONFIG.branchCost) { - player.getStatHandler().setStat(player, Stats.CUSTOM.getOrCreateStat(SKILL_POINTS), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) - ConfigRegistry.CONFIG.branchCost); - player.sendMessage(Text.of("You have selected the §a" + branchName + " §fbranch!"), false); - player.closeHandledScreen(); - if (branch.equals("mercenary")) { - GrantAdvancementCriterion.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/mercenary"), "unlocked_mercenary"); - MercenaryGui.gui(player); - } else if (branch.equals("wizardry")) { - GrantAdvancementCriterion.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/wizardry"), "unlocked_wizardry"); - WizardryGui.gui(player); - } else if (branch.equals("druidry")) { - GrantAdvancementCriterion.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/druidry"), "unlocked_druidry"); - DruidryGui.gui(player); + if (branch.equals("extra")) { + if (player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) >= ConfigRegistry.CONFIG.branchCost / 2) { + player.getStatHandler().setStat(player, Stats.CUSTOM.getOrCreateStat(SKILL_POINTS), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) - ConfigRegistry.CONFIG.branchCost / 2); + YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/extra"), "unlocked_extra"); + player.sendMessage(Text.of("§aYou have unlocked the " + branchName + " branch!"), false); + ExtraGui.gui(player); + } else { + player.sendMessage(Text.of("§cYou do not have enough skill points to unlock this branch!"), false); } - } else { - player.sendMessage(Text.translatable("gui.ygasi.no.skill").setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.RED)), false); - player.closeHandledScreen(); + if (player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) >= ConfigRegistry.CONFIG.branchCost) { + player.getStatHandler().setStat(player, Stats.CUSTOM.getOrCreateStat(SKILL_POINTS), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) - ConfigRegistry.CONFIG.branchCost); + player.sendMessage(Text.of("You have selected the §a" + branchName + " §fbranch!"), false); + player.closeHandledScreen(); + if (branch.equals("mercenary")) { + YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/mercenary"), "unlocked_mercenary"); + MercenaryGui.gui(player); + } else if (branch.equals("wizardry")) { + YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/wizardry"), "unlocked_wizardry"); + WizardryGui.gui(player); + } else if (branch.equals("druidry")) { + YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/druidry"), "unlocked_druidry"); + DruidryGui.gui(player); + } + + } else { + player.sendMessage(Text.translatable("gui.ygasi.no.skill").setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.RED)), false); + player.closeHandledScreen(); + } } } + public static void infoMessage(ServerPlayerEntity player) { + player.closeHandledScreen(); + player.sendMessage(Text.translatable("gui.ygasi.info.main"), false); + } } \ No newline at end of file diff --git a/src/main/java/dev/mayaqq/ygasi/gui/DruidryGui.java b/src/main/java/dev/mayaqq/ygasi/gui/DruidryGui.java index d2be67e..dc5e5e7 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/DruidryGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/DruidryGui.java @@ -1,6 +1,6 @@ package dev.mayaqq.ygasi.gui; -import dev.mayaqq.ygasi.util.GetAdvancementProgress; +import dev.mayaqq.ygasi.util.YgasiUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -13,7 +13,7 @@ import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS; public class DruidryGui { public static void gui(ServerPlayerEntity player) { try { - if (!GetAdvancementProgress.get(player, "druidry")) { + if (!YgasiUtils.getAdvancementProgress(player, "druidry")) { player.sendMessage(Text.of("§cYou have not unlocked this branch yet!"), false); BranchGui.gui(player); } else { diff --git a/src/main/java/dev/mayaqq/ygasi/gui/ExtraGui.java b/src/main/java/dev/mayaqq/ygasi/gui/ExtraGui.java new file mode 100644 index 0000000..98ca697 --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/gui/ExtraGui.java @@ -0,0 +1,36 @@ +package dev.mayaqq.ygasi.gui; + +import dev.mayaqq.ygasi.util.YgasiUtils; +import eu.pb4.sgui.api.elements.GuiElementBuilder; +import net.minecraft.item.Items; +import net.minecraft.screen.ScreenHandlerType; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.stat.Stats; +import net.minecraft.text.Text; + +import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS; + +public class ExtraGui { + public static void gui(ServerPlayerEntity player) { + try { + if (!YgasiUtils.getAdvancementProgress(player, "extra")) { + player.sendMessage(Text.of("§cYou have not unlocked this branch yet!"), false); + BranchGui.gui(player); + } else { + SkillGui gui = new SkillGui(ScreenHandlerType.GENERIC_9X3, player, false) {}; + + gui.setTitle(Text.of( "§9§lExtra " + "§3Skill Points: " + player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)))); + + for (int x = 0; x <= 26; x++) { + gui.setSlot(x, new GuiElementBuilder() + .setItem(Items.GRAY_STAINED_GLASS_PANE) + .setName(Text.of(" ")) + ); + } + gui.open(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java b/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java index ea75c43..79cc08d 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java @@ -1,6 +1,6 @@ package dev.mayaqq.ygasi.gui; -import dev.mayaqq.ygasi.util.GetAdvancementProgress; +import dev.mayaqq.ygasi.util.YgasiUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -13,14 +13,14 @@ import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS; public class MercenaryGui { public static void gui(ServerPlayerEntity player) { try { - if (!GetAdvancementProgress.get(player, "mercenary")) { + if (!YgasiUtils.getAdvancementProgress(player, "mercenary")) { player.sendMessage(Text.of("§cYou have not unlocked this branch yet!"), false); BranchGui.gui(player); } else { SkillGui gui = new SkillGui(ScreenHandlerType.GENERIC_9X6, player, false) {}; gui.setTitle(Text.of( "§c§lMercenary " + "§3Skill Points: " + player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)))); - + //background items for (int x = 0; x <= 53; x++) { gui.setSlot(x, new GuiElementBuilder() .setItem(Items.GRAY_STAINED_GLASS_PANE) @@ -28,6 +28,12 @@ public class MercenaryGui { ); } + //skill items + gui.setSlot(49, new GuiElementBuilder() + .setItem(Items.DIAMOND_BLOCK) + .setName(Text.of("§c§lMercenary Unlocked!")) + .addLoreLine(Text.of("§3Skill Points: " + player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)))) + ); gui.open(); } diff --git a/src/main/java/dev/mayaqq/ygasi/gui/WizardryGui.java b/src/main/java/dev/mayaqq/ygasi/gui/WizardryGui.java index f5ae47f..d049e5a 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/WizardryGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/WizardryGui.java @@ -1,6 +1,6 @@ package dev.mayaqq.ygasi.gui; -import dev.mayaqq.ygasi.util.GetAdvancementProgress; +import dev.mayaqq.ygasi.util.YgasiUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -13,7 +13,7 @@ import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS; public class WizardryGui { public static void gui(ServerPlayerEntity player) { try { - if (!GetAdvancementProgress.get(player, "wizardry")) { + if (!YgasiUtils.getAdvancementProgress(player, "wizardry")) { player.sendMessage(Text.of("§cYou have not unlocked this branch yet!"), false); BranchGui.gui(player); } else { diff --git a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/AdvancementProvider.java b/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/AdvancementProvider.java index 6a91296..5748316 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/AdvancementProvider.java +++ b/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/AdvancementProvider.java @@ -1,6 +1,5 @@ package dev.mayaqq.ygasi.registry.dataGen.advancements; -import dev.mayaqq.ygasi.registry.dataGen.advancements.Advancements; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider; import net.minecraft.advancement.Advancement; diff --git a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/Advancements.java b/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/Advancements.java index 6cd5665..130a885 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/Advancements.java +++ b/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/Advancements.java @@ -16,66 +16,159 @@ public class Advancements implements Consumer> { @Override public void accept(Consumer consumer) { - Advancement rootAdvancement = Advancement.Builder.create() - .display( - Items.DIAMOND, // The display icon - Text.literal("You've got a skill issue!"), // The title - Text.literal("The journey begins here!"), // 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 - ) - // The first string used in criterion is the name referenced by other advancements when they want to have 'requirements' - .criterion("opened_skill_menu", new ImpossibleCriterion.Conditions()) - .rewards(AdvancementRewards.Builder.experience(1)) - .build(consumer, "ygasi" + "/root"); + //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.IRON_SWORD, - Text.literal("Mercenary"), - Text.literal("Unlock the mercenary branch!"), - 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"); + .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.literal("Wizardry"), - Text.literal("Unlock the wizardry branch!"), - 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"); + .display(Items.BLAZE_ROD, Text.translatable("advancements.ygasi.wizardry.title"), Text.translatable("advancements.yg