Compare commits

...

2 Commits

4 changed files with 70 additions and 7 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

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

View File

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

View File

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