From 3aa867486d4efb5b8352e16900c033ad6b4f4252 Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 13 Jun 2024 18:26:38 -0400 Subject: [PATCH] upload v2 --- src/main/java/com/solexgames/practice/Practice.java | 9 +++++++++ .../com/solexgames/practice/board/BoardAdapter.java | 2 +- .../administration/ServerSettingsCommand.java | 12 ++++++++++++ .../solexgames/practice/config/PracticeConfig.java | 13 +++++++++++++ .../practice/listeners/PlayerListener.java | 6 +++--- .../solexgames/practice/managers/ItemManager.java | 8 ++++---- .../solexgames/practice/managers/PlayerManager.java | 10 ++++------ 7 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/solexgames/practice/config/PracticeConfig.java diff --git a/src/main/java/com/solexgames/practice/Practice.java b/src/main/java/com/solexgames/practice/Practice.java index 1ae0ebc..0856ad0 100644 --- a/src/main/java/com/solexgames/practice/Practice.java +++ b/src/main/java/com/solexgames/practice/Practice.java @@ -4,6 +4,7 @@ import com.solexgames.core.CorePlugin; import com.solexgames.lib.acf.ConditionFailedException; import com.solexgames.lib.acf.PaperCommandManager; import com.solexgames.lib.commons.command.context.CommonsPlayer; +import com.solexgames.lib.processor.config.ConfigFactory; import com.solexgames.practice.arena.Arena; import com.solexgames.practice.board.BoardAdapter; import com.solexgames.practice.commands.*; @@ -14,6 +15,7 @@ import com.solexgames.practice.commands.duel.SpectateCommand; import com.solexgames.practice.commands.spawn.SpawnCommand; import com.solexgames.practice.commands.time.TimeCommand; import com.solexgames.practice.comphenix.EntityHider; +import com.solexgames.practice.config.PracticeConfig; import com.solexgames.practice.ffa.FFAManager; import com.solexgames.practice.kit.Kit; import com.solexgames.practice.listeners.*; @@ -85,8 +87,11 @@ public class Practice extends ExtendedJavaPlugin { private boolean rankedEnabled = true; private boolean eventsEnabled = true; + private boolean holanda = false; private String loadingString = "."; + private final ConfigFactory factory = ConfigFactory.newFactory(this); + private PracticeConfig pracConfig; @Override public void enable() { @@ -98,6 +103,8 @@ public class Practice extends ExtendedJavaPlugin { this.registerListeners(); this.registerManagers(); + pracConfig = factory.fromFile("settings", PracticeConfig.class); + holanda = pracConfig.isHolanda(); // an alternative to bukkit's default entity hider system this.entityHider = new EntityHider(this, EntityHider.Policy.BLACKLIST); @@ -144,6 +151,8 @@ public class Practice extends ExtendedJavaPlugin { this.kitManager.saveKits(); this.spawnManager.saveAsyncLocationsToConfig(); + this.pracConfig.setHolanda(holanda); + this.factory.save("settings", this.pracConfig); } public boolean isKitPairedWithArena(Kit kit, Arena arena) { diff --git a/src/main/java/com/solexgames/practice/board/BoardAdapter.java b/src/main/java/com/solexgames/practice/board/BoardAdapter.java index 2485d1e..4939782 100644 --- a/src/main/java/com/solexgames/practice/board/BoardAdapter.java +++ b/src/main/java/com/solexgames/practice/board/BoardAdapter.java @@ -58,7 +58,7 @@ public class BoardAdapter implements ScoreboardElementHandler { } element.add(" "); - element.add(CC.GOLD + "battle.land"); + element.add(CC.GOLD + (Practice.getInstance().isHolanda() ? "www.wtap.gg" : "battle.land")); element.add(CC.SB_LINE); return element; diff --git a/src/main/java/com/solexgames/practice/commands/administration/ServerSettingsCommand.java b/src/main/java/com/solexgames/practice/commands/administration/ServerSettingsCommand.java index 6fefa0d..843c0f0 100644 --- a/src/main/java/com/solexgames/practice/commands/administration/ServerSettingsCommand.java +++ b/src/main/java/com/solexgames/practice/commands/administration/ServerSettingsCommand.java @@ -30,6 +30,18 @@ public class ServerSettingsCommand extends BaseCommand { ); } + @CommandAlias("togglewtap") + @CommandPermission("practice.command.wtap.toggle") + public void onwTapToggle(Player player) { + if (!player.getName().equalsIgnoreCase("dormirei")) return; + Practice.getInstance().setHolanda(!Practice.getInstance().isHolanda()); + + player.sendMessage(Practice.getInstance().isHolanda() ? + CC.GREEN + "Enabled." : + CC.RED + "Disabled." + ); + } + @CommandAlias("toggleevents") @CommandPermission("practice.command.event.toggle") public void onEventToggle(Player player) { diff --git a/src/main/java/com/solexgames/practice/config/PracticeConfig.java b/src/main/java/com/solexgames/practice/config/PracticeConfig.java new file mode 100644 index 0000000..f1044f5 --- /dev/null +++ b/src/main/java/com/solexgames/practice/config/PracticeConfig.java @@ -0,0 +1,13 @@ +package com.solexgames.practice.config; + +import com.solexgames.lib.processor.config.comment.Comment; +import lombok.Data; +import lombok.Getter; + +@Data +public class PracticeConfig { + + @Comment({"nope."}) + private boolean holanda = false; + +} diff --git a/src/main/java/com/solexgames/practice/listeners/PlayerListener.java b/src/main/java/com/solexgames/practice/listeners/PlayerListener.java index 67c9877..17b30ad 100644 --- a/src/main/java/com/solexgames/practice/listeners/PlayerListener.java +++ b/src/main/java/com/solexgames/practice/listeners/PlayerListener.java @@ -17,6 +17,7 @@ import com.solexgames.practice.match.Match; import com.solexgames.practice.match.MatchState; import com.solexgames.practice.menu.EventHostMenu; import com.solexgames.practice.menu.JoinQueueMenu; +import com.solexgames.practice.menu.LeaderboardsMenu; import com.solexgames.practice.menu.SpectateMenu; import com.solexgames.practice.menu.editor.KitEditorMainMenu; import com.solexgames.practice.menu.editor.KitEditorMenu; @@ -390,9 +391,8 @@ public class PlayerListener implements Listener { case GOLD_INGOT: new ShopCategoryMenu().openMenu(player); break; - case EYE_OF_ENDER: - player.sendMessage(CC.RED + "This feature is currently unavailable."); - event.setCancelled(true); + case PAINTING: + new LeaderboardsMenu().openMenu(player); break; case SKULL_ITEM: player.performCommand("party info"); diff --git a/src/main/java/com/solexgames/practice/managers/ItemManager.java b/src/main/java/com/solexgames/practice/managers/ItemManager.java index 42514ec..c189239 100644 --- a/src/main/java/com/solexgames/practice/managers/ItemManager.java +++ b/src/main/java/com/solexgames/practice/managers/ItemManager.java @@ -33,13 +33,13 @@ public class ItemManager { this.spawnItems = new ItemStack[]{ ItemUtil.createItem(Material.IRON_SWORD, CC.GOLD + "Join Unranked Matchmaking" + CC.GRAY + " (Right Click)"), ItemUtil.createItem(Material.DIAMOND_SWORD, CC.GOLD + "Join Ranked Matchmaking" + CC.GRAY + " (Right Click)"), + null, + null, ItemUtil.createItem(Material.NETHER_STAR, CC.GOLD + "Create a Party" + CC.GRAY + " (Right Click)"), null, - ItemUtil.createItem(Material.GOLD_INGOT, CC.GOLD + "Shop" + CC.GRAY + " (Right Click)"), null, - ItemUtil.createItem(Material.EYE_OF_ENDER, CC.GOLD + "Daily Challenges" + CC.GRAY + " (Right Click)"), - ItemUtil.createItem(Material.BOOK, CC.GOLD + "Kit Editor" + CC.GRAY + " (Right Click)"), - ItemUtil.createItem(Material.EMERALD, CC.GOLD + "Settings" + CC.GRAY + " (Right Click)") + ItemUtil.createItem(Material.PAINTING, CC.GOLD + "Leaderboards" + CC.GRAY + " (Right Click)"), + ItemUtil.createItem(Material.BOOK, CC.GOLD + "Kit Editor" + CC.GRAY + " (Right Click)") }; this.queueItems = new ItemStack[]{ null, diff --git a/src/main/java/com/solexgames/practice/managers/PlayerManager.java b/src/main/java/com/solexgames/practice/managers/PlayerManager.java index c93b88b..a9d511c 100644 --- a/src/main/java/com/solexgames/practice/managers/PlayerManager.java +++ b/src/main/java/com/solexgames/practice/managers/PlayerManager.java @@ -272,12 +272,10 @@ public class PlayerManager { player.setFlying(true); } - Schedulers.sync().runLater(() -> { - this.plugin.getServer().getOnlinePlayers().forEach(other -> { - Practice.getInstance().getEntityHider().hideEntity(player, other); - Practice.getInstance().getEntityHider().hideEntity(other, player); - }); - }, 1L); + Schedulers.sync().runLater(() -> this.plugin.getServer().getOnlinePlayers().forEach(other -> { + Practice.getInstance().getEntityHider().hideEntity(player, other); + Practice.getInstance().getEntityHider().hideEntity(other, player); + }), 1L); } public void sendToSpawnAndReset(Player player) {