refactor: rename Challenge class to EffekteChallenge and implement dedicated command executor for start and stop operations
This commit is contained in:
@@ -10,20 +10,19 @@ import org.bukkit.boss.BarColor;
|
||||
import org.bukkit.boss.BarStyle;
|
||||
import com.xonics.ef.main;
|
||||
|
||||
public class Challenge {
|
||||
|
||||
private boolean isRunning;
|
||||
public class EffekteChallenge {
|
||||
private static boolean isRunning;
|
||||
private List<Player> players;
|
||||
private BukkitRunnable task;
|
||||
private TimeManager tm;
|
||||
|
||||
public Challenge(List<Player> participants, int timer) {
|
||||
public EffekteChallenge(List<Player> participants, int timer) {
|
||||
this.players = participants;
|
||||
this.isRunning = false;
|
||||
isRunning = false;
|
||||
this.tm.setTime(timer);
|
||||
}
|
||||
|
||||
public Challenge(List<Player> participants) {
|
||||
public EffekteChallenge(List<Player> participants) {
|
||||
this(participants, 20);
|
||||
}
|
||||
|
||||
@@ -59,12 +58,14 @@ public class Challenge {
|
||||
}
|
||||
};
|
||||
task.runTaskTimer(main.getInstance(), 0L, 20L);
|
||||
} else {
|
||||
Bukkit.broadcastMessage("§cDie Challenge läuft bereits!");
|
||||
}
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
this.task.cancel();
|
||||
this.isRunning = false;
|
||||
isRunning = false;
|
||||
Timer.stop();
|
||||
}
|
||||
|
||||
@@ -91,4 +92,8 @@ public class Challenge {
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isRunning() {
|
||||
return isRunning;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.xonics.ef.commands;
|
||||
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import com.xonics.ef.classes.EffekteChallenge;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ChallengeCommands implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
int effektcooldown = 0;
|
||||
if (args.length > 0) {
|
||||
try {
|
||||
effektcooldown = Integer.parseInt(args[0]);
|
||||
} catch (NumberFormatException e) {
|
||||
sender.sendMessage(args[0] + " ist keine gültige Zahl!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
List<Player> players = new ArrayList<Player>();
|
||||
for (Player p : Bukkit.getOnlinePlayers()) {
|
||||
players.add(p);
|
||||
}
|
||||
|
||||
EffekteChallenge challenge = new EffekteChallenge(players, effektcooldown);
|
||||
|
||||
switch (command.getName().toLowerCase()) {
|
||||
case "start":
|
||||
if (EffekteChallenge.isRunning()) {
|
||||
sender.sendMessage("§cDas Challenge läuft bereits!");
|
||||
return false;
|
||||
} else {
|
||||
challenge.start();
|
||||
sender.sendMessage("Die Challenge wurde gestartet.");
|
||||
return true;
|
||||
}
|
||||
|
||||
case "stop":
|
||||
if (!EffekteChallenge.isRunning()) {
|
||||
sender.sendMessage("§cDie Challenge läuft nicht!");
|
||||
return false;
|
||||
} else {
|
||||
challenge.stop();
|
||||
challenge = null;
|
||||
sender.sendMessage("Die Challenge wurde gestoppt.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.xonics.ef;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import com.xonics.ef.managers.PluginManager;
|
||||
import com.xonics.ef.listeners.PlayerListener;
|
||||
import com.xonics.ef.commands.ChallengeCommands;
|
||||
import com.xonics.ef.commands.TimerCommands;
|
||||
|
||||
public class main extends JavaPlugin {
|
||||
@@ -27,6 +28,8 @@ public class main extends JavaPlugin {
|
||||
// Register commands
|
||||
getCommand("pause").setExecutor(new TimerCommands());
|
||||
getCommand("resume").setExecutor(new TimerCommands());
|
||||
getCommand("start").setExecutor(new ChallengeCommands());
|
||||
getCommand("stop").setExecutor(new ChallengeCommands());
|
||||
|
||||
getLogger().info("Effekte Challenge V2 has been enabled!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user