small refactoring + minor changes to main + implemented Timer class

This commit is contained in:
2026-04-05 20:50:24 +02:00
parent 798483020a
commit d9afdeb4cd
16 changed files with 79 additions and 7 deletions

View File

@@ -8,7 +8,7 @@
<artifactId>effekte-challenge-v2</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>Effekte Challenge V2</name>
<name>Effekte</name>
<url>http://www.example.com</url>
<properties>

View File

@@ -1,4 +1,4 @@
package com.xonics.classes;
package com.xonics.ef.classes;
import org.bukkit.potion.PotionEffectType;

View File

@@ -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<Effekt> effects = List.of(
new Effekt(PotionEffectType.SPEED, EffektTyp.GOOD),

View File

@@ -1,4 +1,4 @@
package com.xonics.classes;
package com.xonics.ef.classes;
import java.util.ArrayList;
import java.util.Collections;

View File

@@ -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);
}
}

View File

@@ -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();

View File

@@ -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

View File

@@ -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