diff options
Diffstat (limited to 'src/main/java')
19 files changed, 147 insertions, 88 deletions
diff --git a/src/main/java/dev/mayaqq/ygasi/Ygasi.java b/src/main/java/dev/mayaqq/ygasi/Ygasi.java index 5f1605d..7caa6d4 100644 --- a/src/main/java/dev/mayaqq/ygasi/Ygasi.java +++ b/src/main/java/dev/mayaqq/ygasi/Ygasi.java @@ -1,44 +1,25 @@ package dev.mayaqq.ygasi; -import dev.mayaqq.ygasi.events.RegisterEvents; -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.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 dev.mayaqq.ygasi.registry.*; +import dev.mayaqq.ygasi.secrete.Frog; import net.fabricmc.api.ModInitializer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Ygasi implements ModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger("ygasi"); - 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); - @Override public void onInitialize() { + //load the config data and register everything that needs to be registered on startup ConfigRegistry.load(); + ItemRegistry.register(); StatRegistry.register(); CommandRegistry.register(); - RegisterEvents.register(); - - PolymerRPUtils.addAssetSource("ygasi"); - PolymerModelData modelData = PolymerRPUtils.requestModel(Items.BOOK, new Identifier("ygasi", "item/skill_book")); + EventRegistry.register(); - Registry.register(Registry.ITEM, "ygasi:skill_book", SKILL_BOOK); + Frog.blender(); - LOGGER.info("You've got a skill issue!"); + LOGGER.info("You've Got A Skill Issue (YGASI has been initialized!)"); } }
\ No newline at end of file diff --git a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/DataGenRegistry.java b/src/main/java/dev/mayaqq/ygasi/dataGen/DataGenRegistry.java index 8cd9b6e..1e78016 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/DataGenRegistry.java +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/DataGenRegistry.java @@ -1,7 +1,7 @@ -package dev.mayaqq.ygasi.registry.dataGen; +package dev.mayaqq.ygasi.dataGen; -import dev.mayaqq.ygasi.registry.dataGen.advancements.AdvancementProvider; -import dev.mayaqq.ygasi.registry.dataGen.recipes.YgasiRecipes; +import dev.mayaqq.ygasi.dataGen.advancements.AdvancementProvider; +import dev.mayaqq.ygasi.dataGen.recipes.YgasiRecipes; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; diff --git a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/AdvancementProvider.java b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/AdvancementProvider.java index 5748316..1944d4b 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/AdvancementProvider.java +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/AdvancementProvider.java @@ -1,4 +1,4 @@ -package dev.mayaqq.ygasi.registry.dataGen.advancements; +package dev.mayaqq.ygasi.dataGen.advancements; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider; diff --git a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/Advancements.java b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/Advancements.java index 130a885..8c0d5f5 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/advancements/Advancements.java +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/advancements/Advancements.java @@ -1,4 +1,4 @@ -package dev.mayaqq.ygasi.registry.dataGen.advancements; +package dev.mayaqq.ygasi.dataGen.advancements; import de.dafuqs.revelationary.advancement_criteria.AdvancementGottenCriterion; import net.minecraft.advancement.Advancement; diff --git a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/recipes/YgasiRecipes.java b/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipes.java index 75afdfe..032cc2e 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/dataGen/recipes/YgasiRecipes.java +++ b/src/main/java/dev/mayaqq/ygasi/dataGen/recipes/YgasiRecipes.java @@ -1,4 +1,4 @@ -package dev.mayaqq.ygasi.registry.dataGen.recipes; +package dev.mayaqq.ygasi.dataGen.recipes; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; @@ -10,7 +10,7 @@ import net.minecraft.tag.ItemTags; import java.util.function.Consumer; -import static dev.mayaqq.ygasi.Ygasi.SKILL_BOOK; +import static dev.mayaqq.ygasi.registry.ItemRegistry.SKILL_BOOK; public class YgasiRecipes extends FabricRecipeProvider { public YgasiRecipes(FabricDataGenerator dataGenerator) { diff --git a/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java b/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java index 26b5051..7836ca6 100644 --- a/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java +++ b/src/main/java/dev/mayaqq/ygasi/events/PlayerConnectEvent.java @@ -1,20 +1,20 @@ package dev.mayaqq.ygasi.events; import dev.mayaqq.ygasi.registry.ConfigRegistry; -import dev.mayaqq.ygasi.util.YgasiUtils; +import dev.mayaqq.ygasi.util.AdvUtils; import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; -import static dev.mayaqq.ygasi.Ygasi.SKILL_BOOK; +import static dev.mayaqq.ygasi.registry.ItemRegistry.SKILL_BOOK; public class PlayerConnectEvent { - public static void onJoin() { + public static void onPlayerConnect() { ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> { if (!handler.player.getScoreboardTags().contains("skill_book_unlocked") && ConfigRegistry.CONFIG.enableSkillBook) { handler.player.addScoreboardTag("skill_book_unlocked"); handler.player.getInventory().offerOrDrop(new ItemStack(SKILL_BOOK)); - YgasiUtils.grantAdvancementCriterion(handler.player, new Identifier("ygasi", "recipes/minecraft_ygasi/skill_book"), "opened_skill_menu"); + AdvUtils.grantAdvancementCriterion(handler.player, new Identifier("ygasi", "recipes/minecraft_ygasi/skill_book"), "opened_skill_menu"); } }); } diff --git a/src/main/java/dev/mayaqq/ygasi/events/RegisterEvents.java b/src/main/java/dev/mayaqq/ygasi/events/RegisterEvents.java deleted file mode 100644 index 08476f1..0000000 --- a/src/main/java/dev/mayaqq/ygasi/events/RegisterEvents.java +++ /dev/null @@ -1,7 +0,0 @@ -package dev.mayaqq.ygasi.events; - -public class RegisterEvents { - public static void register() { - PlayerConnectEvent.onJoin(); - } -} diff --git a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java index d4cb050..d293f47 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/BranchGui.java @@ -1,6 +1,6 @@ package dev.mayaqq.ygasi.gui; -import dev.mayaqq.ygasi.util.YgasiUtils; +import dev.mayaqq.ygasi.util.AdvUtils; import eu.pb4.sgui.api.elements.*; import net.minecraft.item.ItemStack; @@ -18,9 +18,9 @@ import net.minecraft.util.Identifier; public class BranchGui { public static void gui(ServerPlayerEntity player) { + Text cost = Text.of("§3" + ConfigRegistry.CONFIG.branchCost); try { SkillGui gui = new SkillGui(ScreenHandlerType.GENERIC_9X3, player, false) {}; - //the title of the gui gui.setTitle(Text.translatable("gui.ygasi.branch.title", player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS))).formatted(Formatting.DARK_AQUA)); @@ -48,12 +48,12 @@ public class BranchGui { //branch items //mercenary gui button - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/mercenary")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/mercenary")) { gui.setSlot(11, new GuiElementBuilder() .setItem(Items.DIAMOND_SWORD) .setCustomModelData(1) .hideFlag(ItemStack.TooltipSection.MODIFIERS) - .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost)) + .addLoreLine(Text.translatable("gui.ygasi.branch.cost", cost)) .setName(Text.translatable("gui.ygasi.branch.mercenary.title").formatted(Formatting.BOLD)) .setCallback((index, clickType, actionType) -> save(player, "mercenary", "gui.ygasi.branch.mercenary.title")) ); @@ -68,10 +68,10 @@ public class BranchGui { } //wizardry gui button - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/wizardry")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/wizardry")) { gui.setSlot(13, new GuiElementBuilder() .setItem(Items.BLAZE_ROD) - .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost)) + .addLoreLine(Text.translatable("gui.ygasi.branch.cost", cost)) .setName(Text.translatable("gui.ygasi.branch.wizardry.title").formatted(Formatting.BOLD)) .setCallback((index, clickType, actionType) -> save(player, "wizardry", "gui.ygasi.branch.wizardry.title")) ); @@ -85,10 +85,10 @@ public class BranchGui { } //druidry gui button - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/druidry")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/druidry")) { gui.setSlot(15, new GuiElementBuilder() .setItem(Items.OAK_SAPLING) - .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost)) + .addLoreLine(Text.translatable("gui.ygasi.branch.cost", cost)) .setName(Text.translatable("gui.ygasi.branch.druidry.title").formatted(Formatting.BOLD)) .setCallback((index, clickType, actionType) -> save(player, "druidry", "gui.ygasi.branch.druidry.title")) ); @@ -102,10 +102,10 @@ public class BranchGui { } //extra gui button - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/extra")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/extra")) { gui.setSlot(26, new GuiElementBuilder() .setItem(Items.BOOK) - .addLoreLine(Text.translatable("gui.ygasi.branch.cost", ConfigRegistry.CONFIG.branchCost / 2)) + .addLoreLine(Text.translatable("gui.ygasi.branch.cost", Text.of("§3" + 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")) ); @@ -137,7 +137,7 @@ public class BranchGui { ); //grant the player the root advancement of ygasi - YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/root"), "opened_skill_menu"); + AdvUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/root"), "opened_skill_menu"); gui.open(); } catch (Exception e) { @@ -146,43 +146,68 @@ 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"); //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) { + //remove the spent skill points 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"); + AdvUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/extra"), "unlocked_extra"); player.sendMessage(Text.translatable("gui.ygasi.branch.unlock", Text.translatable(branchName)), false); ExtraGui.gui(player); } else { player.sendMessage(Text.translatable("gui.ygasi.branch.no.skill"), false); } - //the rest of the branches + //the rest of the branches } else { //same code as in extra 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.translatable("gui.ygasi.branch.unlock", Text.translatable(branchName)), false); - player.closeHandledScreen(); //grant the player the advancement of the branch they unlocked switch (branch) { case "mercenary" -> { - YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/mercenary"), "unlocked_mercenary"); - MercenaryGui.gui(player); + if (hasWizadry || hasDrudiry) { + player.sendMessage(Text.translatable("gui.ygasi.branch.no.unlock"), true); + } else { + hasMercenary = true; + AdvUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/mercenary"), "unlocked_mercenary"); + MercenaryGui.gui(player); + unlockSuccess(player, branchName); + } } case "wizardry" -> { - YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/wizardry"), "unlocked_wizardry"); - WizardryGui.gui(player); + if (hasMercenary || hasDrudiry) { + player.sendMessage(Text.translatable("gui.ygasi.branch.no.unlock"), true); + } else { + hasWizadry = true; + AdvUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/wizardry"), "unlocked_wizardry"); + WizardryGui.gui(player); + unlockSuccess(player, branchName); + } } case "druidry" -> { - YgasiUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/druidry"), "unlocked_druidry"); - DruidryGui.gui(player); + if (hasMercenary || hasWizadry) { + player.sendMessage(Text.translatable("gui.ygasi.branch.no.unlock"), true); + } else { + hasDrudiry = true; + AdvUtils.grantAdvancementCriterion(player, new Identifier("minecraft", "ygasi/druidry"), "unlocked_druidry"); + DruidryGui.gui(player); + unlockSuccess(player, branchName); + } } } - //if the player doesn't have enough skill points + player.closeHandledScreen(); + //if the player doesn't have enough skill points } else { player.sendMessage(Text.translatable("gui.ygasi.branch.no.skill"), false); player.closeHandledScreen(); } } } + private static void unlockSuccess(ServerPlayerEntity player, String branchName) { + player.sendMessage(Text.translatable("gui.ygasi.branch.unlock", Text.translatable(branchName)), false); + //remove the spent skill points + player.getStatHandler().setStat(player, Stats.CUSTOM.getOrCreateStat(SKILL_POINTS), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) - ConfigRegistry.CONFIG.branchCost); + } }
\ 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 index f847227..c9f0383 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/ConfigGui.java @@ -91,7 +91,6 @@ public class ConfigGui { gui.open(); } - private static void textInput(ServerPlayerEntity player, String option) { try { SignGui gui = new SignGui(player) { diff --git a/src/main/java/dev/mayaqq/ygasi/gui/DruidryGui.java b/src/main/java/dev/mayaqq/ygasi/gui/DruidryGui.java index 64e3db3..7c3e0fd 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.YgasiUtils; +import dev.mayaqq.ygasi.util.AdvUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -14,7 +14,7 @@ public class DruidryGui { public static void gui(ServerPlayerEntity player) { String title = Text.translatable("gui.ygasi.branch.druidry.title").getString() + " " + Text.translatable("gui.ygasi.branch.title", player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS))).getString(); try { - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/druidry")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/druidry")) { player.sendMessage(Text.translatable("gui.ygasi.branches.fail"), 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 index 268535b..89905d7 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/ExtraGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/ExtraGui.java @@ -1,6 +1,6 @@ package dev.mayaqq.ygasi.gui; -import dev.mayaqq.ygasi.util.YgasiUtils; +import dev.mayaqq.ygasi.util.AdvUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -14,13 +14,13 @@ public class ExtraGui { public static void gui(ServerPlayerEntity player) { String title = Text.translatable("gui.ygasi.branch.extra.title").getString() + " " + Text.translatable("gui.ygasi.branch.title", player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS))).getString(); try { - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/extra")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/extra")) { player.sendMessage(Text.translatable("gui.ygasi.branches.fail"), false); BranchGui.gui(player); } else { SkillGui gui = new SkillGui(ScreenHandlerType.GENERIC_9X3, player, false) {}; - gui.setTitle(Text.of( title)); + gui.setTitle(Text.of(title)); for (int x = 0; x <= 26; x++) { gui.setSlot(x, new GuiElementBuilder() diff --git a/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java b/src/main/java/dev/mayaqq/ygasi/gui/MercenaryGui.java index 43d06ed..9eb0122 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.YgasiUtils; +import dev.mayaqq.ygasi.util.AdvUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -15,7 +15,7 @@ public class MercenaryGui { public static void gui(ServerPlayerEntity player) { String title = Text.translatable("gui.ygasi.branch.mercenary.title").getString() + " " + Text.translatable("gui.ygasi.branch.title", player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS))).formatted(Formatting.DARK_AQUA).getString(); try { - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/mercenary")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/mercenary")) { player.sendMessage(Text.translatable("gui.ygasi.branches.fail"), false); BranchGui.gui(player); } else { @@ -37,7 +37,7 @@ public class MercenaryGui { .addLoreLine(Text.of("§3Skill Points: " + player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)))) ); - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/offence1")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/offence1")) { gui.setSlot(10, new GuiElementBuilder() .setItem(Items.DIAMOND_SWORD) .setName(Text.translatable("gui.ygasi.mercenary.offence1")) diff --git a/src/main/java/dev/mayaqq/ygasi/gui/ResetGui.java b/src/main/java/dev/mayaqq/ygasi/gui/ResetGui.java index a976929..c581e02 100644 --- a/src/main/java/dev/mayaqq/ygasi/gui/ResetGui.java +++ b/src/main/java/dev/mayaqq/ygasi/gui/ResetGui.java @@ -1,6 +1,6 @@ package dev.mayaqq.ygasi.gui; -import dev.mayaqq.ygasi.util.YgasiUtils; +import dev.mayaqq.ygasi.util.AdvUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -48,7 +48,7 @@ public class ResetGui { player.playSound(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, SoundCategory.PLAYERS, 1.0F, 1.0F); player.experienceLevel -= 10; player.closeHandledScreen(); - YgasiUtils.revokeAllAdvancements(player, "minecraft", "ygasi/"); + AdvUtils.revokeAllAdvancements(player, "minecraft", "ygasi/"); player.sendMessage(Text.translatable("gui.ygasi.reset.success"), false); player.getStatHandler().setStat(player, Stats.CUSTOM.getOrCreateStat(SKILL_POINTS), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS_TOTAL))); BranchGui.gui(player); diff --git a/src/main/java/dev/mayaqq/ygasi/gui/WizardryGui.java b/src/main/java/dev/mayaqq/ygasi/gui/WizardryGui.java index 9dfc5dc..347135f 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.YgasiUtils; +import dev.mayaqq.ygasi.util.AdvUtils; import eu.pb4.sgui.api.elements.GuiElementBuilder; import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandlerType; @@ -14,7 +14,7 @@ public class WizardryGui { public static void gui(ServerPlayerEntity player) { String title = Text.translatable("gui.ygasi.branch.wizardry.title").getString() + " " + Text.translatable("gui.ygasi.branch.title", player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS))).getString(); try { - if (!YgasiUtils.getAdvancementProgress(player, "minecraft", "ygasi/wizardry")) { + if (!AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/wizardry")) { player.sendMessage(Text.translatable("gui.ygasi.branches.fail"), false); BranchGui.gui(player); } else { diff --git a/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java index 44ba603..781ef4d 100644 --- a/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java +++ b/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java @@ -58,7 +58,7 @@ public class CommandRegistry { ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target"); player.resetStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)); player.resetStat(Stats.CUSTOM.getOrCreateStat(StatRegistry.SKILL_POINTS_TOTAL)); - context.getSource().sendMessage(Text.translatable("commands.ygasi.skillpoints.reset", player.getEntityName()).formatted(Formatting.GREEN)); + player.sendMessage(Text.translatable("commands.ygasi.skillpoints.reset", player.getEntityName()).formatted(Formatting.GREEN)); return 1; }))) .then(literal("add") @@ -76,7 +76,7 @@ public class CommandRegistry { .then(CommandManager.argument("target", EntityArgumentType.player()) .executes(context -> { ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target"); - context.getSource().sendMessage(Text.translatable("commands.ygasi.skillpoints.get", player.getEntityName(), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS_TOTAL))).formatted(Formatting.GREEN)); + player.sendMessage(Text.translatable("commands.ygasi.skillpoints.get", player.getEntityName(), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS_TOTAL))).formatted(Formatting.GREEN)); return 1; })))) .then(literal("config") diff --git a/src/main/java/dev/mayaqq/ygasi/registry/EventRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/EventRegistry.java new file mode 100644 index 0000000..ee13faf --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/registry/EventRegistry.java @@ -0,0 +1,9 @@ +package dev.mayaqq.ygasi.registry; + +import dev.mayaqq.ygasi.events.PlayerConnectEvent; + +public class EventRegistry { + public static void register() { + PlayerConnectEvent.onPlayerConnect(); + } +} diff --git a/src/main/java/dev/mayaqq/ygasi/registry/ItemRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/ItemRegistry.java new file mode 100644 index 0000000..61cb93d --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/registry/ItemRegistry.java @@ -0,0 +1,25 @@ +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 net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +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 void register() { + PolymerRPUtils.addAssetSource("ygasi"); + + PolymerModelData skillBookModelData = PolymerRPUtils.requestModel(Items.BOOK, new Identifier("ygasi", "item/skill_book")); + + Registry.register(Registry.ITEM, "ygasi:skill_book", SKILL_BOOK); + } +} diff --git a/src/main/java/dev/mayaqq/ygasi/secrete/Frog.java b/src/main/java/dev/mayaqq/ygasi/secrete/Frog.java new file mode 100644 index 0000000..400d3ab --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/secrete/Frog.java @@ -0,0 +1,28 @@ +package dev.mayaqq.ygasi.secrete; + +import java.time.LocalDate; +import java.util.Base64; + +import static dev.mayaqq.ygasi.Ygasi.LOGGER; + +public class Frog { + //its a frog, frog in a blender! + public static void blender() { + String frog = "ICAgICAgICAgICBfX18KICAgX19fX19fX3xfX198X19fX19fCl9ffF9fX19fX19fX19fX19fX19fX3wKXCAgXV9fX19fX19fX19fX19fX19bIGAtLS0uIAogYC4gICAgICAgICAgICAgICAgICAgX19fICBMCiAgfCAgIF8gICAgICAgICAgICAgIHwgICBMIHwKICB8IC4nX2AtLS5fX18gICBfXyAgfCAgIHwgfCAgICAgIAogIHwoICdvYCAgIC0gLmAuJ18gKSB8ICAgRiBGICAgICAgIAogIHwgYC0uXyAgICAgIGBfYC4vXyB8ICAvIC8gICAgICAgICAKICBKICAgJy9cXCAgICAoIC4nLyApRi4nIC8KICAgTCAsX18vL2AtLS0nYC0nXy9KICAuJwogICBKICAvLScgICAgICAgICcvIEYuJwogICAgTCAgICAgICAgICAgICcgSicKICAgIEogYC5gLS4gLi0nLicgIEYKICAgICBMICBgLi0nLi0nICAgSgogICAgIHxfXyhfXyhfX18pX198CiAgICAgRiAgICAgICAgICAgIEoKICAgIEogICAgICAgICAgICAgIEwKICAgIHxfX19fX19fX19fX19fX3w="; + + if (LocalDate.now().getDayOfWeek().getValue() == 3) { + byte[] decodedBytes = Base64.getDecoder().decode(frog); + // Split the bytes into lines using the newline character + String[] lines = new String(decodedBytes).split("\n"); + // Print each line + for (String line : lines) { + LOGGER.info(line); + } + if (Math.random() < 0.5) { + LOGGER.info("It's wednesday my dudes"); + } else { + LOGGER.info("Blender is the best 3D software."); + } + } + } +} diff --git a/src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java b/src/main/java/dev/mayaqq/ygasi/util/AdvUtils.java index 1c3b267..b2227fe 100644 --- a/src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java +++ b/src/main/java/dev/mayaqq/ygasi/util/AdvUtils.java @@ -5,17 +5,16 @@ import net.minecraft.advancement.PlayerAdvancementTracker; import net.minecraft.server.ServerAdvancementLoader; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; -import org.jetbrains.annotations.NotNull; import static dev.mayaqq.ygasi.Ygasi.LOGGER; -public class YgasiUtils { - public static void grantAdvancementCriterion(@NotNull ServerPlayerEntity serverPlayerEntity, Identifier advancementIdentifier, String criterion) { - if (serverPlayerEntity.getServer() == null) { +public class AdvUtils { + public static void grantAdvancementCriterion(ServerPlayerEntity player, Identifier advancementIdentifier, String criterion) { + if (player.getServer() == null) { return; } - ServerAdvancementLoader sal = serverPlayerEntity.getServer().getAdvancementLoader(); - PlayerAdvancementTracker tracker = serverPlayerEntity.getAdvancementTracker(); + ServerAdvancementLoader sal = player.getServer().getAdvancementLoader(); + PlayerAdvancementTracker tracker = player.getAdvancementTracker(); Advancement advancement = sal.get(advancementIdentifier); if (advancement == null) { |