From 023dda144fe8ed56ce085036e31f3dac46444b4a Mon Sep 17 00:00:00 2001 From: NonSwag Date: Mon, 1 May 2023 12:44:29 +0200 Subject: [PATCH] added walls type vote added spectator to tab but hide player itself --- .../net/nonswag/fvr/populator/Populator.java | 1 - .../walls/net/nonswag/fvr/walls/Walls$1.class | Bin 1616 -> 1616 bytes .../nonswag/fvr/walls/Walls$GameState.class | Bin 1215 -> 1215 bytes .../fvr/walls/Walls$PlayerJoinType.class | Bin 1235 -> 1235 bytes .../net/nonswag/fvr/walls/Walls$Sort.class | Bin 1122 -> 1122 bytes .../net/nonswag/fvr/walls/Walls$Team.class | Bin 1503 -> 1503 bytes .../walls/net/nonswag/fvr/walls/Walls.class | Bin 62981 -> 62943 bytes .../nonswag/fvr/walls/api/GameStarter$1.class | Bin 921 -> 921 bytes .../nonswag/fvr/walls/api/GameStarter.class | Bin 8084 -> 8975 bytes .../net/nonswag/fvr/walls/api/Notifier.class | Bin 3700 -> 3700 bytes .../fvr/walls/api/PlayerVisibility.class | Bin 2216 -> 3297 bytes .../fvr/walls/commands/WallsCommand.class | Bin 14912 -> 16026 bytes .../fvr/walls/listeners/ChatListener.class | Bin 3775 -> 3839 bytes .../listeners/ConnectionListener$1.class | Bin 1348 -> 1348 bytes .../walls/listeners/ConnectionListener.class | Bin 12781 -> 14435 bytes .../java/net/nonswag/fvr/walls/Walls.java | 1 - .../nonswag/fvr/walls/api/GameStarter.java | 30 ++++++ .../net/nonswag/fvr/walls/api/Notifier.java | 5 +- .../fvr/walls/api/PlayerVisibility.java | 14 ++- .../fvr/walls/commands/WallsCommand.java | 92 ++++++++++-------- .../fvr/walls/listeners/ChatListener.java | 2 +- .../walls/listeners/ConnectionListener.java | 14 +++ src/main/resources/config.yml | 26 ++++- 23 files changed, 133 insertions(+), 52 deletions(-) diff --git a/Populator/src/main/java/net/nonswag/fvr/populator/Populator.java b/Populator/src/main/java/net/nonswag/fvr/populator/Populator.java index b4bf91d..8e7c8aa 100755 --- a/Populator/src/main/java/net/nonswag/fvr/populator/Populator.java +++ b/Populator/src/main/java/net/nonswag/fvr/populator/Populator.java @@ -60,7 +60,6 @@ public void onEnable() { } } catch (Exception e) { e.printStackTrace(); - } finally { } }, 1); } diff --git a/out/production/walls/net/nonswag/fvr/walls/Walls$1.class b/out/production/walls/net/nonswag/fvr/walls/Walls$1.class index 7e3cc2a052e53fbde82b76820e95ef4c0cbe5cf8..561a7dd0306d2509d9cdd2289baba57420a8c788 100644 GIT binary patch delta 21 dcmcb>bAe~W5mwHh3}!568LAntO+L%o3;bAe~W5mwG$3}!6n7^)esPd>}q3;bo$0omH*(G{{fuG?dgB-&t23>~J3^ojB N7`z#dPTtF^1OP@56A=Ia delta 57 zcmcc5eV==S4GZJ3$+j%|Kr)xbhVlI5RV>bo$0xsI*(G|CfuG?NgB-(Y23>|T3^ojB N8N3;eP2S6@1OP`06B_^k diff --git a/out/production/walls/net/nonswag/fvr/walls/Walls.class b/out/production/walls/net/nonswag/fvr/walls/Walls.class index 4e8d2d99d826fa22d37527a9560a9d247cef2cab..255c9ee3688f1ed6878ee34d053cd261d600aec6 100644 GIT binary patch delta 21183 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 KJoTyh?Ee6Ywph3T diff --git a/out/production/walls/net/nonswag/fvr/walls/api/GameStarter$1.class b/out/production/walls/net/nonswag/fvr/walls/api/GameStarter$1.class index 9e878b00b78d9750274f5d7a77a08f969febde7e..299296a223831fea0fe5f1350b3dd8e2580e9d48 100644 GIT binary patch delta 13 UcmbQqK9hZeGc%+5WEbX802`PCjsO4v delta 13 UcmbQqK9hZeGc%*=WEbX802_`2i~s-t diff --git a/out/production/walls/net/nonswag/fvr/walls/api/GameStarter.class b/out/production/walls/net/nonswag/fvr/walls/api/GameStarter.class index d321c632c3993572a8a9703aacfe06d74e52f915..b7b4466e2c52c421d99f15cb220267c0347c2cfc 100644 GIT binary patch delta 3232 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 aSTpD_Bs1tTq%r7Cp1?bqQEIXZUjP9A?-zCe diff --git a/out/production/walls/net/nonswag/fvr/walls/api/PlayerVisibility.class b/out/production/walls/net/nonswag/fvr/walls/api/PlayerVisibility.class index 8dc89411d03250fd68e31839d514eb9846a361a8..b871ffeb0b74ffa8775e1cc820a22f150cb95f16 100644 GIT binary patch literal 3297 zcmb7HNpllN7=0~`HI_8Q2E2(a1{*BPHp1*Ngm?uU1vL|Hw z2|1-I7oS6=0B4~%B~`iPnnS8ml|z05p#bM~k7SErDUJ@Bo}T``e(!znYmI(+^4&cE zNAY<8A)E~$jB^2;M{f`><3bQI^vSP&9RmRj;*|huaM90ILqSwySbmM@7!6|>u|#qvI+2;1v(r(_ zNi$D2@hJ(~x1cr=*im?$fIe-{%%-iRKzZz{xoAc+X*(Vr8R_jNCM|85^E!w`8|FyB z=ye<`*%dcaDT@^M6@ynVLztvQ(H7WUY_Z%dMe+h$hSKKbT%Wn1)YLJ}{dLSx>zqK8 zZ8#y7B7#yGBsZc7SU)11wWq9(cs%>uOQ8h(a#h+)CrC3O7r6QhoCp`zrtlM`?xJli zN!fgAK+hQN%z4w9lC^76bm!@q$)q`*j;5^SqLqv;wvL}1zj!3tqw3}2AbB@$qXyZM-9JR5njR^#*AXOGOQ2vcbL1G~vE$;C*}`&{#A)UwldaLmeL( z_!u`0e1cDPd?rwnhyJPF5{PWRuh~^fvbgEYL2^NJaBP{H>uggQZA89nrqV*V%fCO2(o-Z9m!n@o}!a!JK+dKizje* zT@PTA-l97e=#2UvCo}IRla11m-MwPt=|D$!_xNC}W31<*z=i)nxN$3PxFONsa2@o2 zJA31FuD=WB%5QV^lh{&Rx@U?LNLkL5tEfPDQ^?gm<@Csa6X)6QO3rSq$=O!@zIG+z zan}Kqq+-2|*XOa9Z!;mj{s2DkHyk_py^D8IUIniukvkCIaNxo2>>}_@XAj4Qy8zFl zmUn)p+LsOfgRA|V8@UTlU-P{)-s4)Ow)<@dDqx+OZuM zP=S8V4Rcn4Jc<&|2T_N5l&V$xae#4EIEe-{@hM@V87;iZ(Lt_byKuY%B~K90aY%^A zsL|1?<8Z^@@H}9QA4k^6{y?%aOK0R30y$oN%~@6lIdDn!w@6A_Nc$PS<<&n!TGI-G z9yEnCbzNTl_20}w6m|#E?j)*RI8M%I$f<*ZOJ)&hd{(2FX)@-D9Qz2Vj)3aXiv0@O zI_Mz9uP6LkRX7*)u{F@g6eYI^MhCeF*3Ik!ZKN9_D5Dpu3E>c(kORu(I8C7P(~1|B zGs>ve8N5U=)vQfBM_y{!LCxL1S>O{{gND1PTtSsUjPR7dt2t0ksP1cyWJ~_nx@rLi zg4-Y9RuVuJ?{^WJR7yT+K$n6dtr>*p5&SIWLoV^4n^PY2kOf##5C58+M`L@4|3S*} HUVG>tN03m> delta 1000 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 bx{WG0jd@TqXYe=6gZS&--H^X~GiU!7j!MSE diff --git a/out/production/walls/net/nonswag/fvr/walls/listeners/ChatListener.class b/out/production/walls/net/nonswag/fvr/walls/listeners/ChatListener.class index 7b7e5db89f6543cf312b0a624c2d0246b6d8c036..cbc5d2ef3bdb8ef180b539a00ff145a31ae9bdcb 100644 GIT binary patch delta 1365 zcmbW1`CF7#6vsdJW#G=dTokF$sVFMJ92hComVpcnGAq+G8Wkxqk+2Dit;K3AEz44? zNzC>vqqHoxVMfcP#mdsmY~Qut>L18_v~x%4Cx7aB-h0mXp7TBD-1ppNTi(&U=&mE1 zw*q7M!$+7IE;E^xNe#1olu~Qa4X!wDbeYH;mpbNJ-c6azqu!F|ThU-0H+yNctOc4| zT(XJyxRoZ07Fu+h%k4DVX^ShhXMrpUEJA91gPFv_Mm%CYHo%eXT*UNntM!hVy zb?&#dAFxH1xGc4_Fb`VCLzyh&VH^L5UD@(X9_2ABR%lkbtm1J?c*12g5zUjDnC2EOgu%1rM z>xMV1Zvz`OZyMfWli_XNF?3mTH$4gry;cuhP}g2p5~*uyD4E{c+}PAGp{+48ufEwZ zojy(6&`-h;O|sdrg@i20@GkEel590>W4mDo2}Rn0HOmd}(_{F64-FsjvE~!Qr|dF( zW*KhH)M-`0iQ^|%)hav%EunnF=hopAv>0}?$M6Mv4PWw=X20QUHX6R+Tg`W-obTx~ z{J@WfpZHn2V)(`W%&+{W7?k>nw${c-Np73Pw|@^HcaNYd%|`REcv=CkIauJ6zUP5T~%zl1~_C z*VfC3qBu^HbS0bWI&#oD#BgqskqS!~@J5LfNK&K-rTf#96f4#euqde5&Ztm^KO;d& zNc;6p2HO;Vo#Z@+aOcr|$1DBc@J`aYGNesul*d9@Bh+%2DSD~seHH$H0khO03IG5A delta 1329 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 A=>Px# diff --git a/src/main/java/net/nonswag/fvr/walls/Walls.java b/src/main/java/net/nonswag/fvr/walls/Walls.java index 80451af..38f99af 100644 --- a/src/main/java/net/nonswag/fvr/walls/Walls.java +++ b/src/main/java/net/nonswag/fvr/walls/Walls.java @@ -154,7 +154,6 @@ public double getKD() { public static final List teamCaptains = new ArrayList<>(); - public static String logPlayer = null; public static final String levelName; private static String nextMap; public static final String DISCORD = "https://discord.gg/vpAgZxQ"; diff --git a/src/main/java/net/nonswag/fvr/walls/api/GameStarter.java b/src/main/java/net/nonswag/fvr/walls/api/GameStarter.java index 9029964..17204e9 100644 --- a/src/main/java/net/nonswag/fvr/walls/api/GameStarter.java +++ b/src/main/java/net/nonswag/fvr/walls/api/GameStarter.java @@ -5,6 +5,7 @@ import net.nonswag.fvr.walls.Walls.Team; import net.nonswag.fvr.walls.Walls.WallsPlayer; import net.nonswag.fvr.walls.commands.FullKitCommand; +import net.nonswag.fvr.walls.commands.WallsCommand; import net.nonswag.fvr.walls.kits.BasicPlayerKit; import net.nonswag.fvr.walls.kits.ProStartPlayerKitPerks; import net.nonswag.fvr.walls.kits.VipStartPlayerKitPerks; @@ -15,6 +16,7 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import java.util.concurrent.ThreadLocalRandom; public class GameStarter { @@ -84,12 +86,40 @@ public static void startGame(Map players, final Walls walls) walls.kickOffCompassThread(); Notifier.broadcast("Enemy Finder Compass now activated."); + countForVotes(); + if (Walls.diamondWalls) FullKitCommand.fullDiamond(walls); else if (Walls.ironWalls) FullKitCommand.fullIron(walls); walls.clock.setClock(walls.getPeaceTimeMins() * 60, walls::dropWalls); walls.getPlayerScoreBoard().updateScoreboardScores(); } + private static void countForVotes() { + int ironVotes = WallsCommand.IRON_VOTES.size(); + int diamondVotes = WallsCommand.DIAMOND_VOTES.size(); + + if (ironVotes + diamondVotes > 0) { + if (diamondVotes > ironVotes) { + Notifier.broadcast("DiamondWalls won with " + diamondVotes + " votes"); + Walls.diamondWalls = true; + Walls.ironWalls = false; + } else if (ironVotes > diamondVotes) { + Notifier.broadcast("IronWalls won with " + ironVotes + " votes"); + Walls.diamondWalls = false; + Walls.ironWalls = true; + } else { + boolean diamond = ThreadLocalRandom.current().nextBoolean(); + Notifier.broadcast("§aThe voting ended in a draw! The server voted for " + (diamond ? "§bDiamondWalls" : "§7IronWalls")); + Walls.diamondWalls = diamond; + Walls.ironWalls = !diamond; + } + } + + + WallsCommand.IRON_VOTES.clear(); + WallsCommand.DIAMOND_VOTES.clear(); + } + private static int getSmallestTeam(Walls myWalls) { int smallestTeam = 100; diff --git a/src/main/java/net/nonswag/fvr/walls/api/Notifier.java b/src/main/java/net/nonswag/fvr/walls/api/Notifier.java index c41cdcf..49b2b76 100644 --- a/src/main/java/net/nonswag/fvr/walls/api/Notifier.java +++ b/src/main/java/net/nonswag/fvr/walls/api/Notifier.java @@ -10,9 +10,8 @@ import java.util.UUID; public class Notifier { - - private static final String PREFIX = "§6§lWalls§r "; - public static final String STAFF_CHAT = "§c[§bStaffChat§c] §b"; + public static final String PREFIX = "§6§lWalls§r "; + private static final String STAFF_CHAT = "§c[§bStaffChat§c] §b"; public static void error(CommandSender sender, String message) { sender.sendMessage(PREFIX + ChatColor.RED + message); diff --git a/src/main/java/net/nonswag/fvr/walls/api/PlayerVisibility.java b/src/main/java/net/nonswag/fvr/walls/api/PlayerVisibility.java index f3f26f0..4dab9d9 100644 --- a/src/main/java/net/nonswag/fvr/walls/api/PlayerVisibility.java +++ b/src/main/java/net/nonswag/fvr/walls/api/PlayerVisibility.java @@ -1,8 +1,11 @@ package net.nonswag.fvr.walls.api; +import net.minecraft.server.v1_8_R3.EntityPlayer; +import net.minecraft.server.v1_8_R3.PacketPlayOutPlayerInfo; import net.nonswag.fvr.walls.Walls; import net.nonswag.fvr.walls.Walls.Team; import org.bukkit.Bukkit; +import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; import org.bukkit.entity.Player; import java.util.UUID; @@ -13,7 +16,7 @@ public static void makeSpecInvisible(Walls walls, Player spec) { for (Team team : Team.values()) { for (UUID fighter : walls.getTeamList(team)) { Player player = Bukkit.getPlayer(fighter); - if (player != null) player.hidePlayer(spec); + if (player != null) hidePlayer(player, spec); } } } @@ -30,10 +33,17 @@ public static void makeSpecVisToSpecs(Walls walls, Player spec) { public static void hideAllSpecs(Walls walls, Player player) { for (UUID spectator : walls.getTeamList(Team.SPECTATORS)) { Player all = Bukkit.getPlayer(spectator); - if (all != null) player.hidePlayer(all); + if (all != null) hidePlayer(player, all); } } + private static void hidePlayer(Player viewer, Player viewed) { + viewer.hidePlayer(viewed); + EntityPlayer viewerHandle = ((CraftPlayer) viewer).getHandle(); + EntityPlayer viewedHandle = ((CraftPlayer) viewed).getHandle(); + viewerHandle.playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, viewedHandle)); + } + public static void makeInVisPlayerNowVisible(Player wasInvisible) { for (Player all : Bukkit.getOnlinePlayers()) all.showPlayer(wasInvisible); } diff --git a/src/main/java/net/nonswag/fvr/walls/commands/WallsCommand.java b/src/main/java/net/nonswag/fvr/walls/commands/WallsCommand.java index 12c416c..03ffb34 100644 --- a/src/main/java/net/nonswag/fvr/walls/commands/WallsCommand.java +++ b/src/main/java/net/nonswag/fvr/walls/commands/WallsCommand.java @@ -1,5 +1,6 @@ package net.nonswag.fvr.walls.commands; +import lombok.RequiredArgsConstructor; import net.nonswag.fvr.walls.Walls; import net.nonswag.fvr.walls.Walls.PlayerJoinType; import net.nonswag.fvr.walls.Walls.Team; @@ -15,52 +16,76 @@ import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import java.util.*; import static net.nonswag.fvr.walls.api.Notifier.*; +@RequiredArgsConstructor public class WallsCommand implements CommandExecutor { private final Walls walls; - public WallsCommand(Walls walls) { - this.walls = walls; - } - @Override public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { if (args.length < 1) { - if (sender instanceof Player) error(sender, "usage: /walls votestart"); - if (sender.isOp()) { - error(sender, "usage: /walls drop | rank | autostartplayers | clanrename | clanbattle | captain | restricted | diamondwalls | ironwalls | fixdb"); - } - } else if (args[0].equalsIgnoreCase("diamondwalls")) { - if (sender.isOp()) broadcast("Set diamondwalls to " + (Walls.diamondWalls = !Walls.diamondWalls)); - else error(sender, "You have no rights to do this"); - } else if (args[0].equalsIgnoreCase("ironwalls")) { - if (sender.isOp()) broadcast("Set ironwalls to " + (Walls.ironWalls = !Walls.ironWalls)); - else error(sender, "You have no rights to do this"); - } else if (args[0].equalsIgnoreCase("stop")) stop(sender); + if (sender instanceof Player) error(sender, "usage: /walls voteStart | voteIron | voteDiamond"); + if (sender.isOp()) error(sender, "usage: /walls drop | rank | autoStartPlayers | clanRename | " + + "clanBattle | captain | restricted | diamondWalls | ironWalls | fixdb | stop | chat | " + + "noStaffChat | start | addPlayer | silence | captain"); + } else if (args[0].equalsIgnoreCase("voteDiamond")) voteDiamond(sender); + else if (args[0].equalsIgnoreCase("voteIron")) voteIron(sender); + else if (args[0].equalsIgnoreCase("diamondWalls")) diamondWalls(sender); + else if (args[0].equalsIgnoreCase("ironWalls")) ironWalls(sender); + else if (args[0].equalsIgnoreCase("stop")) stop(sender); else if (args[0].equalsIgnoreCase("fixdb")) fixdb(sender); - else if (args[0].equalsIgnoreCase("votestart")) votestart(sender); + else if (args[0].equalsIgnoreCase("voteStart")) voteStart(sender); else if (args[0].equalsIgnoreCase("chat")) chatListener(sender); - else if (args[0].equalsIgnoreCase("nostaffchat")) noStaffChat(sender); + else if (args[0].equalsIgnoreCase("noStaffChat")) noStaffChat(sender); else if (args[0].equalsIgnoreCase("start")) startWalls(sender); - else if (args[0].equalsIgnoreCase("addplayer")) addPlayer(sender, args); + else if (args[0].equalsIgnoreCase("addPlayer")) addPlayer(sender, args); else if (args[0].equalsIgnoreCase("silence")) silenceComand(sender); - else if (args[0].equalsIgnoreCase("clanrename")) setClanName(sender, args); + else if (args[0].equalsIgnoreCase("clanRename")) setClanName(sender, args); else if (args[0].equalsIgnoreCase("drop")) drop(sender); else if (args[0].equalsIgnoreCase("rank")) setRank(sender, args); - else if (args[0].equalsIgnoreCase("autostartplayers")) setAutoStartPlayers(sender, args); - else if (args[0].equalsIgnoreCase("clanbattle")) toggleClanBattle(sender); + else if (args[0].equalsIgnoreCase("autoStartPlayers")) setAutoStartPlayers(sender, args); + else if (args[0].equalsIgnoreCase("clanBattle")) toggleClanBattle(sender); else if (args[0].equalsIgnoreCase("restricted")) setPlayerJoinRestriction(sender, args); - else if (args[0].equalsIgnoreCase("captain")) this.addCaptain(sender, args); - else if (args[0].equalsIgnoreCase("logPlayer")) this.logPlayer(sender, args); + else if (args[0].equalsIgnoreCase("captain")) addCaptain(sender, args); else error(sender, args[0] + " is not a valid argument"); return true; } + public static final Set DIAMOND_VOTES = Collections.newSetFromMap(new WeakHashMap<>()); + public static final Set IRON_VOTES = Collections.newSetFromMap(new WeakHashMap<>()); + + private void vote(CommandSender sender, Set set, String type) { + if (sender instanceof Player) { + if (set.equals(IRON_VOTES)) DIAMOND_VOTES.remove(sender); + if (set.equals(DIAMOND_VOTES)) IRON_VOTES.remove(sender); + if (!set.contains(sender)) { + set.add((Player) sender); + Notifier.broadcast(sender.getName() + " voted for " + type + " walls §8(§7" + set.size() + "§8)"); + } else Notifier.error(sender, "You already voted for " + type + " walls"); + } else error(sender, "This is a player command"); + } + + private void voteDiamond(CommandSender sender) { + vote(sender, DIAMOND_VOTES, "diamond"); + } + + private void voteIron(CommandSender sender) { + vote(sender, IRON_VOTES, "iron"); + } + + private static void diamondWalls(CommandSender sender) { + if (sender.isOp()) broadcast("Set diamondwalls to " + (Walls.diamondWalls = !Walls.diamondWalls)); + else error(sender, "You have no rights to do this"); + } + + private static void ironWalls(CommandSender sender) { + if (sender.isOp()) broadcast("Set ironwalls to " + (Walls.ironWalls = !Walls.ironWalls)); + else error(sender, "You have no rights to do this"); + } + public static boolean FIX_DB = false; private void fixdb(CommandSender sender) { @@ -76,7 +101,7 @@ private void fixdb(CommandSender sender) { public static final List VOTES = new ArrayList<>(); - private void votestart(CommandSender sender) { + private void voteStart(CommandSender sender) { if (sender instanceof Player) { Player player = (Player) sender; if (walls.starting) error(player, "The game is already starting"); @@ -97,7 +122,7 @@ private void autoStart() { walls.starting = true; } else { int players = Walls.preGameAutoStartPlayers / 2 - VOTES.size(); - broadcast(players + " more vote" + (players != 1 ? "s are" : " is") + " needed §8(§7/walls votestart§8)"); + broadcast(players + " more vote" + (players != 1 ? "s are" : " is") + " needed §8(§7/walls voteStart§8)"); } } @@ -280,15 +305,4 @@ private void toggleClanBattle(CommandSender sender) { success(sender, "Yup. ClanBattle set to " + Walls.clanBattle); } else error(sender, "You have no rights to do this"); } - - private void logPlayer(CommandSender sender, String[] args) { - if (sender.isOp()) { - if (args.length == 2) { - Walls.logPlayer = args[1]; - success(sender, "Now Logging data for: " + Walls.logPlayer); - } else { - error(sender, "Nope."); - } - } else error(sender, "You have no rights to do this"); - } } diff --git a/src/main/java/net/nonswag/fvr/walls/listeners/ChatListener.java b/src/main/java/net/nonswag/fvr/walls/listeners/ChatListener.java index bd1fef3..c0df0ce 100644 --- a/src/main/java/net/nonswag/fvr/walls/listeners/ChatListener.java +++ b/src/main/java/net/nonswag/fvr/walls/listeners/ChatListener.java @@ -25,7 +25,7 @@ public void onPlayerChat(AsyncPlayerChatEvent event) { String rank = twp.getRank().display(); String clan = ""; if (twp.getClan() != null) { - clan = ChatColor.DARK_RED + "" + ChatColor.BOLD + ChatColor.translateAlternateColorCodes('&', twp.getClan()) + ChatColor.WHITE + "◊"; + clan = ChatColor.DARK_RED + String.valueOf(ChatColor.BOLD) + ChatColor.translateAlternateColorCodes('&', twp.getClan()) + ChatColor.WHITE + "◊"; } switch (walls.getGameState()) { case PREGAME: diff --git a/src/main/java/net/nonswag/fvr/walls/listeners/ConnectionListener.java b/src/main/java/net/nonswag/fvr/walls/listeners/ConnectionListener.java index 707b0b4..7a308df 100644 --- a/src/main/java/net/nonswag/fvr/walls/listeners/ConnectionListener.java +++ b/src/main/java/net/nonswag/fvr/walls/listeners/ConnectionListener.java @@ -3,6 +3,10 @@ import lombok.RequiredArgsConstructor; import me.filoghost.holographicdisplays.api.HolographicDisplaysAPI; import me.filoghost.holographicdisplays.api.hologram.Hologram; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.TextComponent; import net.nonswag.fvr.walls.Walls; import net.nonswag.fvr.walls.api.GameStarter; import net.nonswag.fvr.walls.api.Notifier; @@ -39,6 +43,16 @@ public void onPlayerJoin(PlayerJoinEvent event) { case PREGAME: player.setTeam(Walls.Team.SPECTATORS); walls.getSpectatorKit().givePlayerKit(event.getPlayer()); + event.getPlayer().sendMessage(new ComponentBuilder(Notifier.PREFIX) + .append("Click to vote for ") + .append("§b§nDiamondWalls") + .event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/walls voteDiamond")) + .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{new TextComponent("/walls voteDiamond")})) + .append(" or ", ComponentBuilder.FormatRetention.NONE) + .append("§7§nIronWalls") + .event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/walls voteIron")) + .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{new TextComponent("/walls voteIron")})) + .create()); event.getPlayer().setHealth(20); event.getPlayer().setFoodLevel(20); walls.getPlayerScoreBoard().setScoreBoard(event.getPlayer()); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 8f01f50..694b362 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,24 +1,40 @@ # TheWalls -Language: en + +# the peace time before the walls drop (in minutes) peaceTimeMins: 15 + +# the amount of players required to start a game automatically preGameAutoStartPlayers: 4 + +# the time til the game automatically starts (in seconds) preGameAutoStartSeconds: 120 + +# the time the game takes to start after reaching the player cap or force starting it (in seconds) gameStartSeconds: 30 + +# the time a player counts as "in combat" without fighting (in seconds) combatRelogTime: 10 + +# the time a player has to reconnect before being disqualified (in seconds) relogTime: 90 + +# every player receives a golden apple before fighting +# no natural regeneration (only magic) UHCMode: false -# -------------------------------------- + # tournamentMode true will prevent "autostart happening" requires an op / admin to start the game. tournamentMode: false -# -------------------------------------- + # 0-ANYONE, 1-VIP, 2-PRO, 3-LEGENDARY, 4-STAFF playerJoinRestriction: ANYONE + +# disables the ability to select a team allowPickTeams: true + # Either diamond or iron walls diamondWalls: false ironWalls: false -# -------------------------------------- -# -------------------------------------- + # clanBattle allows clan naming - which affects team names. restricts to only those with the clan names to join and play. clanBattle: false clan-1: clan 1