From 2efb1cb69e5141032ab839b22d7cd3766df57c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Mon, 29 Nov 2021 15:48:56 +0100 Subject: [PATCH] added effects and combo --- .idea/vcs.xml | 6 +++ out/artifacts/BungeeQueue_jar/BungeeQueue.jar | Bin 11738 -> 13306 bytes out/production/BungeeQueue/config.example.yml | 6 +++ .../minecraft/bungeequeue/BungeeQueue.class | Bin 2399 -> 4356 bytes .../bungeequeue/command/MaxPlayers$1.class | Bin 1957 -> 1957 bytes .../bungeequeue/command/MaxPlayers.class | Bin 5922 -> 6231 bytes .../bungeequeue/listener/PlayerJoin.class | Bin 1439 -> 1815 bytes .../scheduler/QueueInfoMessager.class | Bin 2334 -> 2425 bytes out/production/BungeeQueue/plugin.yml | 3 +- src/config.example.yml | 6 +++ .../minecraft/bungeequeue/BungeeQueue.java | 49 ++++++++++++++++-- .../bungeequeue/command/MaxPlayers.java | 18 ++++--- .../bungeequeue/listener/PlayerJoin.java | 6 ++- .../scheduler/QueueInfoMessager.java | 3 +- src/plugin.yml | 3 +- 15 files changed, 84 insertions(+), 16 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 out/production/BungeeQueue/config.example.yml create mode 100644 src/config.example.yml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/artifacts/BungeeQueue_jar/BungeeQueue.jar b/out/artifacts/BungeeQueue_jar/BungeeQueue.jar index 69bb97516ca7295253b51f9eb69b5198e2d65fea..34be4a33b174003455bd78e053760fe6c626089f 100644 GIT binary patch delta 9090 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 delta 7547 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 delta 865 zcmYk4TTfF#5XXO8+Mb@}AX3Ujxs;oTt=OV~;srtRjtY1|6fZ>!7AtC@Bqk>HL8I^I z!EfNZHYqBJ@A?Hye9;#_g^6*tC6tqs{m;yQXLjbl`>NwtF!%l6m#@G!eNg4in#mJ+v@iFLV*WJ+B^&Hgl}luLx&WL7LOd#Ja*stUbIGtDry%K ztBF{4C6$hiW-^KAONB+V0wdS5Ta3t5IeR~Ig`{RTyuyP`8T=p1QB^*&@AJ&NRwfCP;Km_L$0cmLn7Iv zh?W+~-blnuSzj7tW6A(8W!I35sW`kTmXXtlrRK}$l$7e-qLkXKab!!TkqN53dBW?o bN$c%-I!qab5nLCKua|ZkC2~|E9*+G7H-&n- diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class index 072b04821f6c1941cb4d3dace19e327629236987..ef630ce8da62dd1fde694a367000b4aef1986f70 100644 GIT binary patch delta 35 rcmZ3=zm$K&b~eV)$vfDZ1tS<_86p|f7@`>L7@`>*8Db{;utx#_wj>DD delta 35 rcmZ3=zm$K&b~eV~$vfDZ1;ZF*8NwOV7$O+#7$O-Q8KNfputx#_wQLB; diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class index f7004e09a8a87ff3259c77e1576767a3a5a30f15..3b4c271fa5fea86ae212abf9c7f3b1405c8896bc 100644 GIT binary patch delta 2224 zcma)-d3+Vs7017K-n`6Y-X$b2CXir4zyL`IJOTz}F%S(R8jC9t1@#eLA~Z`$UQlW4 z6Bn#YZFOuFts9`Y;6kD=3mUQ3*4oupq5HmS)!NpTB0YDW^g}-Qhx7T&x#!-q+}}Ot zcW1Uv-!~)m(nmwXz#J8Ix!7f`!#a<}eAXjGn@hVHJ6t+lKIgLDql@lrlJpp{!Q~RO za;e88$!+bOL$uI48w|0cOt2ImOcJZsHFBe%{O`8;ai$Z zSgCn|Z!5g^_@$?}#V<>Ab!)!Eiw@t_wDXeYdwgF}>95z7ex6-8=?5-9)clAaYnJe` z!%s9n5HLvly<{!MFd6Ty^ z|Kx3#fA#GRuTry?aI!)5Z-@VA-r-%%d%UmtfIW&l&#S8|t8czI+0)TlCaS0Tko|s( zvnl_-2I&FKM;z1&r4%#$38QC>DX)=q%5qdlD_eyfm8F%V+`f7@u2Ob$XGe=-a$`p# z8Eap2VQp-+WKJYvW_@jI?8IQ`>53=Uc6Q8HI2+<^J&9!!QdqIHvT0B&Mdf*(%2r-qZ}#h! zm(`j`$}WoW{>yrN-!nQLa#Tb*qjLO>xfPbm^|$BVZ>c>0)V#+02DxhH3CV4cii%w7 zKb%*3{3){L$z_0}&=hd0Xj-f=ibhV8QSlj;8Gi|GBTN=p@#kd*%RTaSd#6Cnm^m9}%1!)S? zj2UFC#SYaKI7EvAQ}GB>CRVZyr5JZua4$y>Qlc27R58SOc~8~RRKz! zLAis7K{+waF=@)TP?`ZS=}2ts%a|tjrwr~9NqJgwZa)+}YpjubSW7pOx;6lM5^eFPe4B|gTCey zuzhTrd4y?~^fiRx%Vs8sED|OZb8CvDxkDPijZ$_=!Jndxz2fjD6M36*Gg(bz zikczwS}N6Xa=7JGtMyD**AY`UQloBRrh1fFs*hvUFtzGMW~WlYt(lUpJgE)j`bZBxo*LYybRFxH%?dROdA27xmBT3}5mAMXTlawGO_kn@k z%v#aUv8RpTpU`tnUCCX9LpzQAkgcEEd3KRK!0gcMa6!0aE32xD>;h@|91CgRpq!Yd z!&icS&y|kYY360v7M&lkc|kfw;kY3=REFsPC!(<7>af~zaGQ`UODe0N=8R(V|!Ie_z8>G}X z$=nxPYKv4h&4ocT>ZBlZxrp;wX?nrHp^OXv;2(GLR|9!>ARqr9PRint delta 1906 zcmZvd3z$t+6vu!2+Z|NFoG=bS?s>srM2|5siC zWOK?Q-{N|c(SD+g@#A5v#SOY2XEEO5MvDo4Zen6pCNbIM=Af)A@KcRxRhiDM+Ph7g z836_|(_)sMzCDOywq7zPK#V&B%w=8>gV{QDe#~NlpHAFuvC!fki+lYnVzD;&1!%$& zZI%WFM1jTqdN9-E0gDGM9E*ocmivkDur`nQd6X3a@_0;}l@^cdBUV|g)(_}9d7W;JWt2VFky2*ZR=%p~ zpOimi;KclyW2cG`e&>&(o&IA+(Y9&_JtlwZ8~x)fNoZnl!YN7EXmHXQ8SI>QF+BLTVP1P)x9lM1#$0 zqMHz`<%UA%g$B8yLhN#CpR=}*I%UM_D!Fo!qMT$z4=M3|gO|AO`TO|OT}*Zy(`I}% z(~3!5L0bIivz^i--F(0t%=g;5p!jz z-7D#2*?g3o~EOTM^&$0J&@Ki`4l||m~=WLnLg=F2AT}gaSR!%aB}z* z!yBETj!{RpkQY0yZ8cYvE!w7Z2a((on)h@06?Mg2d5QYQL{nGc^K8)xXM-iQXzxw( zmeSIbz*O3=V@`j|Y83t0MGBOQ@ojca%IjV$1LO;ne%e3tf?)rc-9E<;;|7D)0IoabDFS8o;pok-JRq* y35}GHA>JtIy>duSR3L-?edS26pT9(gf0M*5;)ey>6iJ)v+B;l(mur`~cFq6f5{)DP diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.class index 75ee954974051cd9df2568fc811123b0731299f5..fa448a47802fff0a2daa294d7b9953ed183374cc 100644 GIT binary patch delta 763 zcmZuvO-~a+7=ETLY`a|wEr=*m#%~I>6-7}|YNbNa3K*h|;WTB3c4b+~?iQ5`Kfq%T zUNl_%1GGsAl9(87{wU)+#l(x3d7t<5dFGwjkA9B5{`LF&4*=6x(GkZb9hY%M!__dZ z=?LO_1Y<}kG#8;mn;Z!9>JZ_*L4>de8 zFpHdl$H+7E@;O&*_<7$K>zjOvYMx-uKmj?1pR3Z{k*=4~Prg)WqA4wh%wF-GUlA_% zELkIJ($PscTx|MvY1`7_E4J`=|0^WJ%a+Tf(w&hcDWqy5UNT@2U;>gesJ@I$NMy)=8s%^3C&X+DXR1Q_O2vFi^yz zhGzzzqom=5fh8=rMgwsc2`wy_3JjyAMm#vuSPQNt#rC#zOorT8>8;oiS+&CKs_$A( zbta|C1{z<3LtUZ#%UAhUD>%&d`smFW67&HAWa+`^JVRcVEF;@Beh7BZNe|N5-3jVA zOV~Iqz!1)n$8a9QG(qr_HlA&os?OB58?fW#bt(7I=|}#BY#Z*zpqtNsA#i zcK(CEBJM+CbI!eWtIj#MuHrY&(#O~H8!*bEO+NKD4Y-=dC<&VoO);8j398lr+8o;H zh|x)xLpME|UQM5-|89LnIRzAIl7;~Wv$v{uEs^%!Q~zkkJ3evG{3AExd%oxH9~_?f zd*1H*>)uJDp@1RHuwjHz!x-a+2_`jDhG}LrvxYfRnt8(lX+`q#I+@)JecG{fYIS)# zm03$=C&K3s(MYAbFtULnF6&sr5=XE|x;|kg9O-;S-TjP<1@nFmZAzpzzZWQ_Ogcq5 z6(SNm_6SP_9bGxB7eZUb;YT9(^_0tHUx ZziNL@qDv)J;#e)SAW@C5qE^tN?i*YHHf{g_ diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.class index 052d84ba9044aacfb17e0f6519e09a64f79d5fc1..c9042ebb7d119ba5b9df207ad258935a433de751 100644 GIT binary patch delta 918 zcmZva*>g-$5XOIJ=FZ$%j)eZ;3gl94&M~SOJK7}v&j~dmfNYD1!iBo|3JJasZbl_^eJlXI#01Zs7mZ5sz7bE zn^ib8kx3@oG~3x>(yH0XE=?P|HG9~rsJ6!$h4y1rTA|s;eoZ?aCNWJX2TTrX;v7;$ za;p1Ak^MuJwNK=*Ntfmb-I}8uQ{>n8_9hd_{#ajAJlWNIFfrE4aUVUJUivgA=+`7j zYEIIvaEGEHg%PR=g*B%f#x*^nIn5c(Sq7e;bxl)t#t7AlC~;&UE*0U3jF{IQI~9u_ zi}f6iHpP-%LdQB2q6s%d8WdCIjivTCchLUm{_Y8Ij`Q|cV!b)i&lJIWSin@KNu-!Q zTC7&$!4PgJjVp^=(O8wmP~72(0FUAW-X_UaXH%FijE);Qp-%?sxY1+zyDk5r*92}Y zuTB$ui*B>Vydp2n*bMo(vf-*XjDrl8k)a?>p(L#$3EjDHM4Lsr{zq6W!Zal*DXJJv zTctu~D9bY5&BMQ2oUz?FV=pF8td?Dkkv}qzX7Xv3+fQI|nF8)o$Rmn)N-@tU;e}|j zl<|)7xmAUv&k6>Z!AwEr+#^gxHqI)BM)p@J7X)$r#&1&fi?ryfg>q5DCGi1S@I|hW OlCJd<`y^g1XU#tm$ef!1 delta 780 zcmZXR%TH556vltk*S&400vD*Dpale4d8sIhFBC;Z0pAZ)1QY}mEz+v^NZ7d1g@)Xf z8%!|9#Q2C!tSKbMg)3LO@Ndw)D~(alt(cg&m^0sZ&NpY~eDlqkwkF^IoP7hVh@EU~)JeyDDRvi^Mf!Tv9YoeQdTrxxT0h zyTwys*L%L&bMA6)fN>IbmG@mBF>-xSnnh#n_Gj;mFX>!1Vc+w`)O9=Kd!=sJaigQK zSgcko7S~*|%hVE=*dL7W6>K%q{;E5$xV?b#YxK&?#}XgafW=w z|4OSsgeeOD?U;Rus7G@LhX0$G>`C%9GtVV>S_zsAc>RwdBx9E)!kk z$roB&C7)Xq@PI;Q2=hopPblIU#aUm%;#>)LSw^KGabez}D#1ZqKkyq=f9Ijx6_u2W Xn6!j|Sa_LhT#+^#gqy-Q%G&fB?Yn^r diff --git a/out/production/BungeeQueue/plugin.yml b/out/production/BungeeQueue/plugin.yml index 86d0427..db030b9 100644 --- a/out/production/BungeeQueue/plugin.yml +++ b/out/production/BungeeQueue/plugin.yml @@ -1,3 +1,4 @@ name: BungeeQueue main: eu.mhsl.minecraft.bungeequeue.BungeeQueue -version: 0.1 \ No newline at end of file +version: 0.1 +author: MineTec \ No newline at end of file diff --git a/src/config.example.yml b/src/config.example.yml new file mode 100644 index 0000000..0c53741 --- /dev/null +++ b/src/config.example.yml @@ -0,0 +1,6 @@ +queueServer: "queue" +targetServer: "server" +maxPlayers: 50 + +enforceDefaultTimeout: 30 + diff --git a/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java b/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java index 0070374..3425b3f 100644 --- a/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java +++ b/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java @@ -9,7 +9,14 @@ import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Plugin; +import net.md_5.bungee.config.Configuration; +import net.md_5.bungee.config.ConfigurationProvider; +import net.md_5.bungee.config.YamlConfiguration; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; @@ -19,29 +26,63 @@ public class BungeeQueue extends Plugin { public static ServerInfo queueServer; public static ServerInfo targetServer; - public static int maxPlayers = 1; //mutable per command + public static int maxPlayers = 1; //mutable per command and config + + public static Configuration conf; + public static File dataFolder; public static List list = new ArrayList<>(); @Override public void onEnable() { plugin = this; + dataFolder = getDataFolder(); + + try { + if(!dataFolder.exists()) dataFolder.mkdir(); + File configFile = new File(dataFolder, "config.yml"); + if(!configFile.exists()) { + try(InputStream in = getResourceAsStream("config.example.yml")) { + Files.copy(in, configFile.toPath()); + } catch(IOException e) { + e.printStackTrace(); + } + } + + conf = ConfigurationProvider.getProvider(YamlConfiguration.class).load(new File(dataFolder, "config.yml")); + maxPlayers = conf.getInt("maxPlayers"); + } catch(IOException e) { + e.printStackTrace(); + } + ProxyServer instance = ProxyServer.getInstance(); - queueServer = instance.getServerInfo("queue"); - targetServer = instance.getServerInfo("server"); + queueServer = instance.getServerInfo(conf.getString("queueServer")); + targetServer = instance.getServerInfo(conf.getString("targetServer")); instance.getPluginManager().registerListener(this, new PlayerJoin()); instance.getPluginManager().registerCommand(this, new MaxPlayers()); instance.getScheduler().schedule(this, new MoveToTarget(), 5, 1, TimeUnit.SECONDS); - instance.getScheduler().schedule(this, new QueueInfoMessager(), 5, 2, TimeUnit.SECONDS); + instance.getScheduler().schedule(this, new QueueInfoMessager(), 1, 2, TimeUnit.SECONDS); instance.getScheduler().schedule(this, new PlayersWaitingCheck(), 10, 10, TimeUnit.SECONDS); } public void onDisable() { + ProxyServer.getInstance().getPluginManager().unregisterListeners(this); + ProxyServer.getInstance().getPluginManager().unregisterCommands(this); + saveConfig(); + } + public static boolean saveConfig() { + try { + ConfigurationProvider.getProvider(YamlConfiguration.class).save(conf, new File(dataFolder, "config.yml")); + return true; + } catch(IOException e) { + e.printStackTrace(); + return false; + } } } diff --git a/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java b/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java index daaddb6..4443cb4 100644 --- a/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java +++ b/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java @@ -27,21 +27,23 @@ public class MaxPlayers extends Command { case "set": if(strings.length == 2) { BungeeQueue.maxPlayers = Integer.parseInt(strings[1]); + BungeeQueue.conf.set("maxPlayers", BungeeQueue.maxPlayers); + BungeeQueue.saveConfig(); p.sendMessage(new ComponentBuilder("Die Maximale Spieleranzahl wurde auf " + strings[1] + " gesetzt.").color(ChatColor.GREEN).create()); } else p.sendMessage(new ComponentBuilder("Bitte definiere die maximale Spieleranzahl: /maxplayers set ").color(ChatColor.RED).create()); break; case "query": - p.sendMessage(new ComponentBuilder("Die aktuelle Spielerzahl ist " + BungeeQueue.maxPlayers).color(ChatColor.GREEN) + p.sendMessage(new ComponentBuilder("Die aktuelle Spieleranzahl ist " + BungeeQueue.maxPlayers).color(ChatColor.GREEN) .append("\n... davon belegt " + BungeeQueue.targetServer.getPlayers().size()).color(ChatColor.GREEN) - .append("\ndu kannst 'enforce' nutzen, um eine Überbelegung zu verhindern.").color(ChatColor.RED) + .append("\nDu kannst 'enforce' nutzen, um eine Überbelegung zu verhindern.").color(ChatColor.RED) .create() ); break; case "enforce": - if(enforceMaxPlayer(strings.length == 2 ? Integer.parseInt(strings[1]) : 30)) - p.sendMessage(new ComponentBuilder("Die maximale Spielerzahl wird durchgesetzt...").color(ChatColor.GREEN).create()); + if(enforceMaxPlayer(strings.length == 2 ? Integer.parseInt(strings[1]) : BungeeQueue.conf.getInt("enforceDefaultTimeout"))) + p.sendMessage(new ComponentBuilder("Die maximale Spieleranzahl wird durchgesetzt...").color(ChatColor.GREEN).create()); else - p.sendMessage(new ComponentBuilder("Die maximale Spielerzahl ist nicht erreicht und kann somit auch nicht durchgesetzt werden!").color(ChatColor.RED).create()); + p.sendMessage(new ComponentBuilder("Die maximale Spieleranzahl ist nicht erreicht und kann somit auch nicht durchgesetzt werden!").color(ChatColor.RED).create()); break; case "bypass": if(strings.length > 2) { @@ -74,8 +76,8 @@ public class MaxPlayers extends Command { evaluatedPlayers.add(players.get(i)); players.get(i).sendMessage(new ComponentBuilder("\n\n>> Achtung >> \n").bold(true).color(ChatColor.RED) - .append("Aufgrund eines zu hohen Spieleraufkommens werden zufällige Spieler vom Server gekickt.\n Begebe dich an einen sicheren Ort.\n").color(ChatColor.GOLD) - .append("Du wirst in " + timeout + " sekunden in die Queue verschoben!\n\n").color(ChatColor.RED) + .append("Aufgrund eines zu hohen Spieleraufkommens, das Lags erzeugt, werden zufällige Spieler vom Server gekickt.\n Begebe dich an einen sicheren Ort.\n").color(ChatColor.GOLD) + .append("Du wirst in " + timeout + " Sekunden in die Warteschlange verschoben!\n\n").color(ChatColor.RED) .create() ); } @@ -85,7 +87,7 @@ public class MaxPlayers extends Command { public void run() { for(ProxiedPlayer p : evaluatedPlayers) { p.connect(BungeeQueue.queueServer); - p.sendMessage(new ComponentBuilder("Du wurdest wie angekündigt aufgrund einer zu hohen Spielerzahl zurück in die Queue versetzt. Die Auswahl dich zu verschieben war Zufällig. Sorry - gönn dir eine Pause!").color(ChatColor.GOLD).create()); + p.sendMessage(new ComponentBuilder("Du wurdest wie angekündigt aufgrund eines zu hohen Spieleraufkommens zurück in die Warteschlange versetzt. Die Auswahl Dich zu verschieben war zufällig. Sorry!").color(ChatColor.GOLD).create()); } } }, timeout, TimeUnit.SECONDS); diff --git a/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java b/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java index b1e423d..e4fa2dd 100644 --- a/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java +++ b/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java @@ -10,7 +10,11 @@ import net.md_5.bungee.event.EventHandler; public class PlayerJoin implements Listener { @EventHandler public void onPlayerJoin(PostLoginEvent e) { - e.getPlayer().sendMessage(new ComponentBuilder("Du wurdest zur Queue hinzugefügt!").color(ChatColor.DARK_AQUA).create()); + e.getPlayer().sendMessage(new ComponentBuilder("Hey,\nDu befindest dich gerade in der Warteschlange des ").color(ChatColor.GOLD) + .append(" CraftAttack 4 ").color(ChatColor.AQUA) + .append("Servers.\nÜber deiner Hotbar siehst Du deinen aktuellen Platz in der Warteschlange. Wir entschuldigen, dass Du hier warten musst, aber um den Server lagfrei zu betreiben ist dies unerlässlich.").color(ChatColor.GOLD) + .create() + ); BungeeQueue.list.add(e.getPlayer()); } } diff --git a/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java b/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java index 936ee7f..ceb2caf 100644 --- a/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java +++ b/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java @@ -10,6 +10,7 @@ public class QueueInfoMessager implements Runnable { @Override public void run() { for(ProxiedPlayer p : BungeeQueue.list) { + int percent = (int) Math.abs(((((float) (BungeeQueue.list.indexOf(p)+1) / (BungeeQueue.list.size()+1)) * 100))-100); p.sendMessage( ChatMessageType.ACTION_BAR, new ComponentBuilder("Warteschlange platz ").color(ChatColor.DARK_GREEN) @@ -17,7 +18,7 @@ public class QueueInfoMessager implements Runnable { .append(" / ").bold(false).color(ChatColor.DARK_GREEN) .append(BungeeQueue.list.size()+"").bold(true).color(ChatColor.GREEN) .append(" - (").color(ChatColor.GRAY) - .append("" + ((BungeeQueue.list.indexOf(p) / BungeeQueue.list.size()) * 100)) + .append("" + percent) .append("%)") .create() ); diff --git a/src/plugin.yml b/src/plugin.yml index 86d0427..db030b9 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,3 +1,4 @@ name: BungeeQueue main: eu.mhsl.minecraft.bungeequeue.BungeeQueue -version: 0.1 \ No newline at end of file +version: 0.1 +author: MineTec \ No newline at end of file