aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java89
-rw-r--r--src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java146
-rw-r--r--src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java2
-rw-r--r--src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java4
-rw-r--r--src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java9
-rw-r--r--src/main/java/dev/mayaqq/ygasi/registry/ConfigRegistry.java23
-rw-r--r--src/main/resources/data/ygasi/lang/en_us.json25
7 files changed, 230 insertions, 68 deletions
diff --git a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java
index 9dcfd39..71be174 100644
--- a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java
+++ b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java
@@ -8,12 +8,10 @@ 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.Style;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS;
-import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS_TOTAL;
import dev.mayaqq.ygasi.registry.ConfigRegistry;
import net.minecraft.util.Identifier;
@@ -25,7 +23,7 @@ public class BranchGui {
try {
SkillGui gui = new SkillGui(ScreenHandlerType.GENERIC_9X3, player, false) {};
- gui.setTitle(Text.of("§3Skill Points: " + skillPoints));
+ gui.setTitle(Text.translatable("gui.ygasi.branch.title", skillPoints));
//background items
for (int x = 0; x <= 26; x++) {
@@ -55,18 +53,16 @@ public class BranchGui {
.setItem(Items.DIAMOND_SWORD)
.setCustomModelData(1)
.hideFlag(ItemStack.TooltipSection.MODIFIERS)
- .addLoreLine(Text.literal("Cost: " + ConfigRegistry.CONFIG.branchCost).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_GRAY)))
- .setName(Text.literal("Mercenary")
- .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.RED)))
- .setCallback((index, clickType, actionType) -> save(player, "mercenary", "§cMercenary"))
+ .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost))
+ .setName(Text.translatable("gui.ygasi.branch.mercenary.title").formatted(Formatting.BOLD))
+ .setCallback((index, clickType, actionType) -> save(player, "mercenary", "gui.ygasi.branch.mercenary.title"))
);
} else {
gui.setSlot(11, new GuiElementBuilder()
.setItem(Items.DIAMOND_SWORD)
.hideFlag(ItemStack.TooltipSection.MODIFIERS)
.glow()
- .setName(Text.literal("Mercenary")
- .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.RED)))
+ .setName(Text.translatable("gui.ygasi.branch.mercenary.title").formatted(Formatting.BOLD))
.setCallback((index, clickType, actionType) -> MercenaryGui.gui(player))
);
}
@@ -74,17 +70,15 @@ public class BranchGui {
if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/wizardry")) {
gui.setSlot(13, new GuiElementBuilder()
.setItem(Items.BLAZE_ROD)
- .addLoreLine(Text.literal("Cost: " + ConfigRegistry.CONFIG.branchCost).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_GRAY)))
- .setName(Text.literal("Wizardry")
- .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.DARK_PURPLE)))
- .setCallback((index, clickType, actionType) -> save(player, "wizardry", "§5Wizardry"))
+ .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost))
+ .setName(Text.translatable("gui.ygasi.branch.wizardry.title").formatted(Formatting.BOLD))
+ .setCallback((index, clickType, actionType) -> save(player, "wizardry", "gui.ygasi.branch.wizardry.title"))
);
} else {
gui.setSlot(13, new GuiElementBuilder()
.setItem(Items.BLAZE_ROD)
.glow()
- .setName(Text.literal("Wizardry")
- .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.DARK_PURPLE)))
+ .setName(Text.translatable("gui.ygasi.branch.wizardry.title").formatted(Formatting.BOLD))
.setCallback((index, clickType, actionType) -> WizardryGui.gui(player))
);
}
@@ -92,17 +86,15 @@ public class BranchGui {
if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/druidry")) {
gui.setSlot(15, new GuiElementBuilder()
.setItem(Items.OAK_SAPLING)
- .addLoreLine(Text.literal("Cost: " + ConfigRegistry.CONFIG.branchCost).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_GRAY)))
- .setName(Text.literal("Druidry")
- .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.GREEN)))
- .setCallback((index, clickType, actionType) -> save(player, "druidry", "§aDruidry"))
+ .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost))
+ .setName(Text.translatable("gui.ygasi.branch.druidry.title").formatted(Formatting.BOLD))
+ .setCallback((index, clickType, actionType) -> save(player, "druidry", "gui.ygasi.branch.druidry.title"))
);
} else {
gui.setSlot(15, new GuiElementBuilder()
.setItem(Items.OAK_SAPLING)
.glow()
- .setName(Text.literal("Druidry")
- .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.GREEN)))
+ .setName(Text.translatable("gui.ygasi.branch.druidry.title").formatted(Formatting.BOLD))
.setCallback((index, clickType, actionType) -> DruidryGui.gui(player))
);
}
@@ -110,17 +102,15 @@ public class BranchGui {
if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/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"))
+ .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost / 2))
+ .setName(Text.translatable("gui.ygasi.branch.extra.title").formatted(Formatting.BOLD))
+ .setCallback((index, clickType, actionType) -> save(player, "extra", "gui.ygasi.branch.extra.title"))
);
} else {
gui.setSlot(26, new GuiElementBuilder()
.setItem(Items.BOOK)
.glow()
- .setName(Text.literal("Extra Skills")
- .setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.BLUE)))
+ .setName(Text.translatable("gui.ygasi.branch.extra.title").formatted(Formatting.BOLD))
.setCallback((index, clickType, actionType) -> ExtraGui.gui(player))
);
}
@@ -128,13 +118,18 @@ public class BranchGui {
//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))
+ .setName(Text.translatable("gui.ygasi.branch.info.title"))
+ .setCallback((index, clickType, actionType) -> {
+ player.closeHandledScreen();
+ player.sendMessage(Text.translatable("gui.ygasi.branch.info.main"), false);
+ })
);
//reset item
gui.setSlot(8, new GuiElementBuilder()
.setItem(Items.BARRIER)
- .setName(Text.literal("Reset").formatted(Formatting.RED).formatted(Formatting.BOLD))
+ .setName(Text.translatable("gui.ygasi.branch.reset.title"))
+ .addLoreLine(Text.translatable("gui.ygasi.branch.reset.lore"))
+ .addLoreLine(Text.translatable("gui.ygasi.branch.reset.lore2"))
.setCallback((index, clickType, actionType) -> ResetGui.gui(player))
);
@@ -150,35 +145,35 @@ public class BranchGui {
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);
+ player.sendMessage(Text.translatable("gui.ygasi.branch.unlock", Text.translatable(branchName)), false);
ExtraGui.gui(player);
} else {
- player.sendMessage(Text.of("§cYou do not have enough skill points to unlock this branch!"), false);
+ player.sendMessage(Text.translatable("gui.ygasi.branch.no.skill"), false);
}
} else {
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.sendMessage(Text.translatable("gui.ygasi.branch.unlock", Text.translatable(branchName)), 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);
+ switch (branch) {
+ case "mercenary" -> {
+ YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/mercenary"), "unlocked_mercenary");
+ MercenaryGui.gui(player);
+ }
+ case "wizardry" -> {
+ YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/wizardry"), "unlocked_wizardry");
+ WizardryGui.gui(player);
+ }
+ case "druidry" -> {
+ YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/druidry"), "unlocked_druidry");
+ DruidryGui.gui(player);
+ }
}
} else {
- player.sendMessage(Text.translatable("gui.ygasi.branch.no.skill").setStyle(Style.EMPTY.withBold(true).withFormatting(Formatting.RED)), false);
+ player.sendMessage(Text.translatable("gui.ygasi.branch.no.skill"), false);
player.closeHandledScreen();
}
}
}
- public static void infoMessage(ServerPlayerEntity player) {
- player.closeHandledScreen();
- player.sendMessage(Text.translatable("gui.ygasi.branch.info.main"), false);
- }
} \ No newline at end of file
diff --git a/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java b/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java
new file mode 100644
index 0000000..f847227
--- /dev/null
+++ b/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java
@@ -0,0 +1,146 @@
+package dev.mayaqq.ygasi.gui;
+
+import dev.mayaqq.ygasi.registry.ConfigRegistry;
+import eu.pb4.sgui.api.elements.GuiElementBuilder;
+import eu.pb4.sgui.api.gui.SignGui;
+import eu.pb4.sgui.api.gui.SimpleGui;
+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.text.Text;
+
+public class ConfigGui {
+
+ public static void gui(ServerPlayerEntity player) {
+ SimpleGui gui = new SimpleGui(ScreenHandlerType.GENERIC_9X6, player, false) {
+ @Override
+ public void onClose() {
+ ConfigRegistry.save();
+ super.onClose();
+ }
+ };
+
+ gui.setTitle(Text.translatable("config.ygasi.title"));
+
+ gui.setSlot(0, new GuiElementBuilder()
+ .setItem(Items.ENDER_EYE)
+ .setName(Text.translatable("config.ygasi.pointsRewarded.title"))
+ .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);
+ })
+ );
+
+ gui.setSlot(1, new GuiElementBuilder()
+ .setItem(Items.OAK_SAPLING)
+ .setName(Text.translatable("config.ygasi.branchCost.title"))
+ .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);
+ })
+ );
+
+ gui.setSlot(2, new GuiElementBuilder()
+ .setItem(Items.BOOK)
+ .setName(Text.translatable("config.ygasi.enableSkillBook.title"))
+ .addLoreLine(Text.translatable("config.ygasi.current").append(Text.of(String.valueOf(ConfigRegistry.CONFIG.enableSkillBook))))
+ .setCallback((index, clickType, actionType) -> {
+ ConfigRegistry.CONFIG.enableSkillBook = !ConfigRegistry.CONFIG.enableSkillBook;
+ gui.close();
+ gui(player);
+ player.playSound(SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 1.0F, 1.0F);
+ })
+ );
+
+ gui.setSlot(3, new GuiElementBuilder()
+ .setItem(Items.STICK)
+ .setName(Text.translatable("config.ygasi.T1Cost.title"))
+ .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);
+ })
+ );
+
+ gui.setSlot(4, new GuiElementBuilder()
+ .setItem(Items.STICK)
+ .setCount(2)
+ .setName(Text.translatable("config.ygasi.T2Cost.title"))
+ .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);
+ })
+ );
+
+ gui.setSlot(5, new GuiElementBuilder()
+ .setItem(Items.STICK)
+ .setCount(3)
+ .setName(Text.translatable("config.ygasi.T3Cost.title"))
+ .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);
+ })
+ );
+
+ gui.open();
+ }
+
+
+ private static void textInput(ServerPlayerEntity player, String option) {
+ try {
+ SignGui gui = new SignGui(player) {
+ @Override
+ public void onClose() {
+ switch (option) {
+ case "pointsRewarded" -> {
+ try {
+ ConfigRegistry.CONFIG.pointsRewarded = Integer.parseInt(this.getLine(0).getString());
+ } catch (NumberFormatException e) {
+ player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false);
+ }
+ }
+ case "branchCost" -> {
+ try {
+ ConfigRegistry.CONFIG.branchCost = Integer.parseInt(this.getLine(0).getString());
+ } catch (NumberFormatException e) {
+ player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false);
+ }
+ }
+ case "T1Cost" -> {
+ try {
+ ConfigRegistry.CONFIG.T1Cost = Integer.parseInt(this.getLine(0).getString());
+ } catch (NumberFormatException e) {
+ player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false);
+ }
+ }
+ case "T2Cost" -> {
+ try {
+ ConfigRegistry.CONFIG.T2Cost = Integer.parseInt(this.getLine(0).getString());
+ } catch (NumberFormatException e) {
+ player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false);
+ }
+ }
+ case "T3Cost" -> {
+ try {
+ ConfigRegistry.CONFIG.T3Cost = Integer.parseInt(this.getLine(0).getString());
+ } catch (NumberFormatException e) {
+ player.sendMessage(Text.translatable("config.ygasi.invalid.number"), false);
+ }
+ }
+ }
+ gui(player);
+ }
+ };
+ 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 ac722b6..666c802 100644
--- a/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java
+++ b/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java
@@ -41,7 +41,7 @@ public class MercenaryGui {
.setItem(Items.DIAMOND_SWORD)
.setName(Text.translatable("gui.ygasi.mercenary.offence1"))
.addLoreLine(Text.translatable("gui.ygasi.mercenary.offence1.lore"))
- .addLoreLine(Text.translatable("gui.ygasi.mercenary.offence1.lore.cost".replace("%cost%", ConfigRegistry.CONFIG.offence1Cost + "")))
+ .addLoreLine(Text.translatable("gui.ygasi.mercenary.offence1.lore.cost"))
);
}
diff --git a/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java b/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java
index c96de2a..52f2c8d 100644
--- a/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java
+++ b/src/main/java/dev/mayaqq/ygasi/items/SkillBookItem.java
@@ -27,9 +27,7 @@ public class SkillBookItem extends SimplePolymerItem {
@Override
public ItemStack getPolymerItemStack(ItemStack itemStack, ServerPlayerEntity player) {
- ItemStack out = PolymerItemUtils.createItemStack(itemStack, player);
- out.addEnchantment(Enchantments.LURE, 0);
- return out;
+ return PolymerItemUtils.createItemStack(itemStack, player);
}
@Override
diff --git a/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java
index aa03f96..e2aaa05 100644
--- a/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java
+++ b/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java
@@ -2,10 +2,7 @@ package dev.mayaqq.ygasi.registry;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import com.mojang.brigadier.context.CommandContext;
-import dev.mayaqq.ygasi.gui.BranchGui;
-import dev.mayaqq.ygasi.gui.DruidryGui;
-import dev.mayaqq.ygasi.gui.MercenaryGui;
-import dev.mayaqq.ygasi.gui.WizardryGui;
+import dev.mayaqq.ygasi.gui.*;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.command.argument.EntityArgumentType;
@@ -80,6 +77,10 @@ public class CommandRegistry {
return 1;
})))
.then(literal("config")
+ .executes(context -> {
+ ConfigGui.gui(context.getSource().getPlayer());
+ return 1;
+ })
.then(literal("reload")
.executes(context -> {
ConfigRegistry.load();
diff --git a/src/main/java/dev/mayaqq/ygasi/registry/ConfigRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/ConfigRegistry.java
index 0b5cfa5..2c939b3 100644
--- a/src/main/java/dev/mayaqq/ygasi/registry/ConfigRegistry.java
+++ b/src/main/java/dev/mayaqq/ygasi/registry/ConfigRegistry.java
@@ -5,10 +5,6 @@ import com.google.gson.GsonBuilder;
import net.fabricmc.loader.api.FabricLoader;
import java.io.*;
-import java.nio.file.Files;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
public class ConfigRegistry {
@@ -26,7 +22,7 @@ public class ConfigRegistry {
if (!configFile.exists()) {
try {
configFile.createNewFile();
- saveConfig();
+ save();
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -39,11 +35,14 @@ public class ConfigRegistry {
}
}
- public static void saveConfig() throws IOException {
- //Write some info into the file under here
- var writer = new FileWriter(configFile);
- writer.write(gson.toJson(CONFIG));
- writer.close();
+ public static void save() {
+ try {
+ FileWriter writer = new FileWriter(configFile);
+ gson.toJson(CONFIG, writer);
+ writer.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
}
public static class Config {
@@ -51,7 +50,9 @@ public class ConfigRegistry {
public int pointsRewarded = 1;
public int branchCost = 16;
public Boolean enableSkillBook = true;
- public int offence1Cost = 3;
+ public int T1Cost = 5;
+ public int T2Cost = 10;
+ public int T3Cost = 15;
public Config() {}
}
diff --git a/src/main/resources/data/ygasi/lang/en_us.json b/src/main/resources/data/ygasi/lang/en_us.json
index c986d87..658fb17 100644
--- a/src/main/resources/data/ygasi/lang/en_us.json
+++ b/src/main/resources/data/ygasi/lang/en_us.json
@@ -4,7 +4,28 @@
"creative.ygasi.group": "Ygasi",
- "gui.ygasi.no.skill": "You don't have enough skill points to unlock this branch!",
+ "gui.ygasi.branch.title": "§3Skill Points: %d",
+ "gui.ygasi.branch.mercenary.title": "§c§lMercenary",
+ "gui.ygasi.branch.wizardry.title": "§5§lWizardry",
+ "gui.ygasi.branch.druidry.title": "§a§lDruidry",
+ "gui.ygasi.branch.extra.title": "§9§lExtra",
+ "gui.ygasi.branch.info.title": "§6§lInfo",
+ "gui.ygasi.branch.info.main": "§6§lYgasi Skill Advancement System:\n§r§3When using Ygasi, every time you get an Advancement, you will get a §6Skill Point!§3 Then when you gather enough skill points throughout your journey you can unlock new interesting skills in the §6skill book§3 and improve your game experience, from protecting yourself from falling to summoning a horde of undead you can do everything with just a bit of patience, skill and fun!",
- "gui.ygasi.info.main": "§6§lYgasi Skill Advancement System:\n§r§3When using Ygasi, every time you get an Advancement, you will get a §6Skill Point!§3 Then when you gather enough skill points throughout your journey you can unlock new interesting skills in the §6skill book§3 and improve your game experience, from protecting yourself from falling to summoning a horde of undead you can do everything with just a bit of patience, skill and fun!"
+ "gui.ygasi.branch.reset.title": "§4§lReset",
+ "gui.ygasi.branch.reset.lore": "§8This will reset all your skills and give you back all of your skill points.",
+ "gui.ygasi.branch.reset.lore2": "§c§lThis action cannot be undone.",
+ "gui.ygasi.branch.cost": "§3Cost: %d",
+ "gui.ygasi.branch.unlock": "§aYou have unlocked the %s branch!",
+ "gui.ygasi.branch.no.skill": "§cYou don't have enough skill points to unlock this branch!",
+
+ "config.ygasi.title": "§5§lYgasi Config",
+ "config.ygasi.pointsRewarded.title": "Points rewarded per advancement",
+ "config.ygasi.branchCost.title": "Branch Cost",
+ "config.ygasi.enableSkillBook.title": "Enable Skill Book on first login",
+ "config.ygasi.T1Cost.title": "The cost for tier 1 skills",
+ "config.ygasi.T2Cost.title": "The cost for tier 2 skills",
+ "config.ygasi.T3Cost.title": "The cost for tier 3 skills",
+ "config.ygasi.invalid.number": "§4The number you entered is invalid!",
+ "config.ygasi.current": "§8Current: §3"
} \ No newline at end of file