From d9afdeb4cdfd87bcd1bc7821c5ea2ebd658079f7 Mon Sep 17 00:00:00 2001 From: Kai Date: Sun, 5 Apr 2026 20:50:24 +0200 Subject: [PATCH] small refactoring + minor changes to main + implemented Timer class --- Effekte Challenge V2/pom.xml | 2 +- .../com/xonics/{ => ef}/classes/Effekt.java | 2 +- .../{ => ef}/classes/EffektLibrary.java | 4 +- .../{ => ef}/classes/EffektRevolver.java | 2 +- .../java/com/xonics/ef/classes/Timer.java | 64 ++++++++++++++++++ .../src/main/java/com/xonics/ef/main.java | 8 +++ .../src/main/resources/plugin.yml | 2 +- .../classes/com/xonics/classes/Effekt.class | Bin 762 -> 0 bytes .../com/xonics/ef/classes/Effekt.class | Bin 0 -> 777 bytes .../{ => ef}/classes/EffektLibrary.class | Bin 2813 -> 2840 bytes .../{ => ef}/classes/EffektRevolver.class | Bin 1598 -> 1619 bytes .../xonics/{ => ef}/classes/EffektTyp.class | Bin 1061 -> 1079 bytes .../com/xonics/ef/classes/Timer$1.class | Bin 0 -> 1506 bytes .../classes/com/xonics/ef/classes/Timer.class | Bin 0 -> 1547 bytes .../target/classes/com/xonics/ef/main.class | Bin 1134 -> 1246 bytes .../target/classes/plugin.yml | 2 +- 16 files changed, 79 insertions(+), 7 deletions(-) rename Effekte Challenge V2/src/main/java/com/xonics/{ => ef}/classes/Effekt.java (93%) rename Effekte Challenge V2/src/main/java/com/xonics/{ => ef}/classes/EffektLibrary.java (97%) rename Effekte Challenge V2/src/main/java/com/xonics/{ => ef}/classes/EffektRevolver.java (97%) create mode 100644 Effekte Challenge V2/src/main/java/com/xonics/ef/classes/Timer.java delete mode 100644 Effekte Challenge V2/target/classes/com/xonics/classes/Effekt.class create mode 100644 Effekte Challenge V2/target/classes/com/xonics/ef/classes/Effekt.class rename Effekte Challenge V2/target/classes/com/xonics/{ => ef}/classes/EffektLibrary.class (68%) rename Effekte Challenge V2/target/classes/com/xonics/{ => ef}/classes/EffektRevolver.class (64%) rename Effekte Challenge V2/target/classes/com/xonics/{ => ef}/classes/EffektTyp.class (54%) create mode 100644 Effekte Challenge V2/target/classes/com/xonics/ef/classes/Timer$1.class create mode 100644 Effekte Challenge V2/target/classes/com/xonics/ef/classes/Timer.class diff --git a/Effekte Challenge V2/pom.xml b/Effekte Challenge V2/pom.xml index 057b552..4ae60d8 100644 --- a/Effekte Challenge V2/pom.xml +++ b/Effekte Challenge V2/pom.xml @@ -8,7 +8,7 @@ effekte-challenge-v2 1.0.0-SNAPSHOT - Effekte Challenge V2 + Effekte http://www.example.com diff --git a/Effekte Challenge V2/src/main/java/com/xonics/classes/Effekt.java b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/Effekt.java similarity index 93% rename from Effekte Challenge V2/src/main/java/com/xonics/classes/Effekt.java rename to Effekte Challenge V2/src/main/java/com/xonics/ef/classes/Effekt.java index fe6ffe3..0e66e02 100644 --- a/Effekte Challenge V2/src/main/java/com/xonics/classes/Effekt.java +++ b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/Effekt.java @@ -1,4 +1,4 @@ -package com.xonics.classes; +package com.xonics.ef.classes; import org.bukkit.potion.PotionEffectType; diff --git a/Effekte Challenge V2/src/main/java/com/xonics/classes/EffektLibrary.java b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/EffektLibrary.java similarity index 97% rename from Effekte Challenge V2/src/main/java/com/xonics/classes/EffektLibrary.java rename to Effekte Challenge V2/src/main/java/com/xonics/ef/classes/EffektLibrary.java index 8090ebe..00d0586 100644 --- a/Effekte Challenge V2/src/main/java/com/xonics/classes/EffektLibrary.java +++ b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/EffektLibrary.java @@ -1,9 +1,9 @@ -package com.xonics.classes; +package com.xonics.ef.classes; import java.util.List; import org.bukkit.potion.PotionEffectType; -public class EffektLibrary { +public abstract class EffektLibrary { private static List effects = List.of( new Effekt(PotionEffectType.SPEED, EffektTyp.GOOD), diff --git a/Effekte Challenge V2/src/main/java/com/xonics/classes/EffektRevolver.java b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/EffektRevolver.java similarity index 97% rename from Effekte Challenge V2/src/main/java/com/xonics/classes/EffektRevolver.java rename to Effekte Challenge V2/src/main/java/com/xonics/ef/classes/EffektRevolver.java index 6fef47a..d350c59 100644 --- a/Effekte Challenge V2/src/main/java/com/xonics/classes/EffektRevolver.java +++ b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/EffektRevolver.java @@ -1,4 +1,4 @@ -package com.xonics.classes; +package com.xonics.ef.classes; import java.util.ArrayList; import java.util.Collections; diff --git a/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/Timer.java b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/Timer.java new file mode 100644 index 0000000..cf5a681 --- /dev/null +++ b/Effekte Challenge V2/src/main/java/com/xonics/ef/classes/Timer.java @@ -0,0 +1,64 @@ +package com.xonics.ef.classes; + +import org.bukkit.scheduler.BukkitRunnable; +import com.xonics.ef.main; +import net.md_5.bungee.api.ChatMessageType; +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +public class Timer { + + private static int time; + private static BukkitRunnable task; + private static boolean paused = false; + + public static void start() { + if (task != null) + return; + time = 0; + + task = new BukkitRunnable() { + @Override + public void run() { + if (paused) { + for (Player p : Bukkit.getOnlinePlayers()) { + p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent("PAUSED")); + return; + } + } + + time++; + + for (Player p : Bukkit.getOnlinePlayers()) { + p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(getTime())); + } + + } + }; + + task.runTaskTimer(main.getInstance(), 0L, 20L); + } + + public static void pause() { + paused = true; + } + + public static void resume() { + paused = false; + } + + public static void stop() { + task.cancel(); + task = null; + time = 0; + paused = false; + } + + public static String getTime() { + int stunden = time / 3600; + int minuten = (time % 3600) / 60; + int sekunden = time % 60; + return String.format("%02d:%02d:%02d", stunden, minuten, sekunden); + } +} diff --git a/Effekte Challenge V2/src/main/java/com/xonics/ef/main.java b/Effekte Challenge V2/src/main/java/com/xonics/ef/main.java index 56d15fa..c6e069e 100644 --- a/Effekte Challenge V2/src/main/java/com/xonics/ef/main.java +++ b/Effekte Challenge V2/src/main/java/com/xonics/ef/main.java @@ -6,9 +6,17 @@ import com.xonics.ef.listeners.PlayerListener; public class main extends JavaPlugin { + private static main instance; + + public static main getInstance() { + return instance; + } + @Override public void onEnable() { + instance = this; + // Initialize managers PluginManager.getInstance().initialize(); diff --git a/Effekte Challenge V2/src/main/resources/plugin.yml b/Effekte Challenge V2/src/main/resources/plugin.yml index c172e75..0125035 100644 --- a/Effekte Challenge V2/src/main/resources/plugin.yml +++ b/Effekte Challenge V2/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: com.xonics.ef.main version: 1.0.0-SNAPSHOT -name: Effekte Challenge V2 +name: Effekte author: xonics api-version: 1.13 \ No newline at end of file diff --git a/Effekte Challenge V2/target/classes/com/xonics/classes/Effekt.class b/Effekte Challenge V2/target/classes/com/xonics/classes/Effekt.class deleted file mode 100644 index a1a1a9f6b9b1ad0d3dea6b41ae6f197e25d426a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 762 zcma)3+e*Vg6r4@c#-yqBuJta6v{l>>Py`Wu3MwcCAJe$jH8qiDEBaRoir|AE;75sP zllmfFO5p75o}HP@+4qmvHvqd>vSBb(!{nOZC9w=s9(IB>6)E4pxDb)DVKIzc1-Ak3 z1aX@mwXQ^{7;Gu1uhFWXblbeuiz2D`O`>EH^W$vM3ZXi^zY$vu1t|zIEc(BCQJ*dr zw`DBV4#R$J5aqw+>P-e~FF6-3Oq4x17-leQ^`--g<)MJ0Mq?gq3^7!E8H>Z-bxU+l zgH}gS$4|nb(+s*&@B4?Ax|Auy-0$8x$JcNs$zmS}fIeSNRec!AegesJjSuB16`GBN; diff --git a/Effekte Challenge V2/target/classes/com/xonics/ef/classes/Effekt.class b/Effekte Challenge V2/target/classes/com/xonics/ef/classes/Effekt.class new file mode 100644 index 0000000000000000000000000000000000000000..5cedd452e4c62cd2f63271721c0a8427b1bb64d9 GIT binary patch literal 777 zcma)4T}uK%6g{JBrmp#secKmBs73PwiXfusK`Kau9@lNOX?0iJG3s9xBtZ}TfPPeT zXV+drR2J@>*?Z49oV)w|^Z5nf6q|8G7>c&n;m@8cZJ&!Kx7(KQ3!k4io5E3X7!27* z>&fD6%Wd)N#-p$mLtF~#YqVSSdM)1QJC0Pm>nZ8E{3bZGf~{&VU2((^lY$V#c6FQ` zjnM4Ov2>+6VYn^O< zI}OpRS&g=!PSvxmcHQbpeILFw)PwXHHpbfPG=G~i!VM%^LWQeg*ejK%NyuOhNsitp z!w&H#?=gAn^?SCskUB$3dphb+e@kpr+$jA65qcnglr&ah66)EhBXvNkaPdZg^}d-z+&SUkv*wz literal 0 HcmV?d00001 diff --git a/Effekte Challenge V2/target/classes/com/xonics/classes/EffektLibrary.class b/Effekte Challenge V2/target/classes/com/xonics/ef/classes/EffektLibrary.class similarity index 68% rename from Effekte Challenge V2/target/classes/com/xonics/classes/EffektLibrary.class rename to Effekte Challenge V2/target/classes/com/xonics/ef/classes/EffektLibrary.class index 871e44c805fad269bf0a41e4bd8baf89e7efcd2e..1c8ecbae02bab2c15f88ed7b43c5305d101a94ec 100644 GIT binary patch delta 187 zcmew>IzvqM)W2Q(7#J8F8J4g!FflSHC+FwtSLEkqCKv0crcIOzXEd06fK`SG$nMqW zlR=d|Ud1PmA~M;BQGs942UYAMqwwTzMo~tO$qN|`fd*~9$hef5UlmPN6RS0&(d2!s dazGW6Z?mckDQb9XqNx#N>tkfuynrp11popMJ;ne4 delta 204 zcmbOs_E%Ku)W2Q(7#J8F8J4g!FflSHBy->w1gWyh%U{v6dLsCAuol%3)b@B#A!_7|^moW1vA)W2Q(7#J8F83NfEm>3yUlJj%*EAsO)lZ*9J(sT#3SqZ)qKzu&E-=@6;fxqETpL6sfnhNleyVMK?6-xKRG9{xHz>~-!&~QHM_)` RoxzupK?cRV&AXUem;geVI`04g delta 150 zcmcc2vyVsW)W2Q(7#J8F83NfEm>3xplk;=+EAsO)lZz+Hb}|}GT&_6r^g148A7pXy z$@3Z8xD^mWlZ}}!^UG;?Y9c9{EWzBYC#!)hq@SFVSX`W1tnZqZmYQ8+&CcM<$RLR@ KX7hRG7A61$+cMe! diff --git a/Effekte Challenge V2/target/classes/com/xonics/classes/EffektTyp.class b/Effekte Challenge V2/target/classes/com/xonics/ef/classes/EffektTyp.class similarity index 54% rename from Effekte Challenge V2/target/classes/com/xonics/classes/EffektTyp.class rename to Effekte Challenge V2/target/classes/com/xonics/ef/classes/EffektTyp.class index b830c7ef925c4af860375333ef7dc054606c46e5..560d6ca15c59ceacc0ee1349b544063d4a792f77 100644 GIT binary patch delta 153 zcmZ3=v7JNq)W2Q(7#J8F8I0H&m>3!4lk;=+EAsO)lZ*9J(_hcrfI!5EkjZ893scD<% IFm*Bl040|);s5{u delta 124 zcmdnav6MsV)W2Q(7#J8F8I0H&m>3yklJj%*EAsO)lZz+H>hs9?Ao!C7nS>|iDe%fi tqYG}_%&(}Si6$&MxtlSW(P;8}Muo{jOtp*#lP56A09itt4>FZ80swfdCW`<7 diff --git a/Effekte Challenge V2/target/classes/com/xonics/ef/classes/Timer$1.class b/Effekte Challenge V2/target/classes/com/xonics/ef/classes/Timer$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c45eb566cd323388c7b62448448d731231e35ded GIT binary patch literal 1506 zcma)6>vGdZ7(HtnlqjMElhBZq5=clLLfO(1NNaA66N+2gNn>NC{Gl6pYm3M$k9Nh7 zN1-p!-=s4@+L=y&_YwLGeTKp($pn~5D4y|NzMIb3J>UNQ-|v3{DB+%k48tim=<&ya z@?6d3&)oHe)>8AP*OTGwB?~!*nIP=&&1h@OGhDk}*^Yb}^5w*^5h*1$eaUe6nx{N- zgCSd(Z!zS`L0j6$V%WhU9A-FL^^~kfy-gW5(~NvIaE0Fzp%?E5#+>PTn&EWyy|{|> znJ`kr7)9Q~F@~x4ggZEnF#^~Zk(O-+cHhPcOj!7s;n-W;QbrC=Vv=FBBh8xf3G=!y zwq;0|CJOV_hvJdok@0+94t!s_#tT$&1fSqj3#S;y_VYV9jcJA<&&W`iAY?f4PNmAg zPIb;=*1`-!{!N|NUI*te$6$4ZuFJ)ALr81t`<|(%kEa0L8jxXqxbl>X)RDOo)9F#EINP>#P_!5^bd_~bp8s2L^SR|pS zj+9*VJznk#QYRte5UKR#$9X#kE*}*BQnO>E$KI(lDW?I>q^xjhiT0xJ8QlAF>XXQDzv? zQnd%97}g6Pgn!?l1p2bjat}J;i50!-;5NRc3pLb)B-e^f#)^aQ@IBo>=`wCk(%L&0 zJzzxPeTK;cZ;l%0NW%zst0ww`j3mu>mslr)Pln7OgnVEVi6~j-jWC z+omyg1LGK>(MbbnK0-T&kM@%Pr9yGhM>{zB1dA^)zKbb_+J#-5VR(WWT71Uv7Z$1u zyZD@82bcc9)gSX;KS%KyZam$=O75rMu(Fr=>w!5ha3@Vli~sWSpBQZxG1@r{(>Ou6 zPEr?6lGLWKM6G@cXV4;xPjf^~8?%{C5f9j$rRS%L8nJ5at?Cq&M|SBYJyuzZTo#p} jYB{WtCxdnTKy!|iuz_Y0o1vieca!?}E}?1BHiOYub%=2< literal 0 HcmV?d00001 diff --git a/Effekte Challenge V2/target/classes/com/xonics/ef/classes/Timer.class b/Effekte Challenge V2/target/classes/com/xonics/ef/classes/Timer.class new file mode 100644 index 0000000000000000000000000000000000000000..53acb6ec577238411f3c23480c207b0f984c9235 GIT binary patch literal 1547 zcma)5TW=Fb6#gc@ti3F*MtWq=h;SP&E-%+NaHWVivE*)?QHG z`-cih5VdL_`_La%^_#I}>>#18;#kJ+UeJ?~g{(mNx%a|zLr-OxwfpTyW%K|4lGHEHMQa(#qsMU|5 z(x#0ZNzor8)^N!}UEt#XXsUxRa9O~KQng1a3~vH=YLkQv!n6}8_j@B6+uQZY%j0b6 zDD2G1-Nf^|kG#RC$2r3s8H{9{YWA~n(jRE7*BpGQTb}oIeW8HGay1Ttd6xQae0Gy4 zP@P5rHw8*7tJm7M$BT`1G%VZ}n0;s8Qi<%y$UzeujQYY0Q~BgjH?TDsc4XGDaR>J- z+?^WPVNM74u|G{7k=P!{p= z*x56ffaO;>{Wr2NnYQ`|miFJ`)7Lo7!y}w6&ST{bKL1h2&KNjV<2B2*Li}^Ye~P~v zA4Po(@rtn)7SmlFr>h$vgp!>q&t{pxWn^(>>|ccYzT0$HhHk5LTbpoO9lLFfvdyuM zH&_#_NY^(VWPyDFuCtb}$j1$oaFbQtnh1EEH$!%QrLAUj{S~USrE=I9%0amqHmR1I zgN@3K{GZ6|XR1fIwY#5PG$Oa8#Su1tqw|o_3Q+?MlHX(lH&Df5S4gCGb#rs-NPZFeD!BKpuj z;7ho_Lh!*4NUeh4oA?ua@F(~K6pFK}rYgS7+&eSp%sKPb{*rY*?Y(^uU;*mOEs#7^v2|EwNjzk5M`YAPON`IufTZQYw$7u_7 zy+;+Jfirqi+%~5r&f=VYA{ul-KNEHH5@sx1)}O_=aRpcPH_^ykBTVV%VnQz)^=+1u zXy?OaSPL8HnB`x~uF^of8Nx+q~!<4U(d+`re zrdYvM!eMOx-nYt^Pxkr#YvkTwq>rP1AIEo5CcH!S-VSR1E<6KV4f5yvxVSH>$PR!! yJ1DT5QIs(Tk8iy%(*Grr&>T3NVM{c}KqsY~{fpA!CQxEGi7CwL#o+q%h zv;o1y2k-?9kr=;DTGmRO=_<_rS~GIIlDh%to_hmMaXJmMGq{ zXe8h7^QrJdVo(gzXd0!eaZTe4Gb&~=$1hl13SnMGm_IO|xPV38V|lj3zgfx=f!%>P zG#Sf0EkwlxlKe#w8?aJhfnkfu-# R^tE;b#wf~&vP)F~`9JJ;M{ocD diff --git a/Effekte Challenge V2/target/classes/plugin.yml b/Effekte Challenge V2/target/classes/plugin.yml index c172e75..0125035 100644 --- a/Effekte Challenge V2/target/classes/plugin.yml +++ b/Effekte Challenge V2/target/classes/plugin.yml @@ -1,5 +1,5 @@ main: com.xonics.ef.main version: 1.0.0-SNAPSHOT -name: Effekte Challenge V2 +name: Effekte author: xonics api-version: 1.13 \ No newline at end of file