commit 174db6dbccfbe734a6a9770680b8d05b61e79f5e Author: Sebastian Seedorf Date: Sun Dec 6 18:29:23 2020 +0100 inital commit diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..a208fdd --- /dev/null +++ b/.classpath @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..78ca779 --- /dev/null +++ b/.gitignore @@ -0,0 +1,72 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/eclipse +# Edit at https://www.toptal.com/developers/gitignore?templates=eclipse + +### Eclipse ### +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ +.apt_generated_test/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +# Uncomment this line if you wish to ignore the project description file. +# Typically, this file would be tracked if it contains build/dependency configurations: +#.project + +### Eclipse Patch ### +# Spring Boot Tooling +.sts4-cache/ + +# End of https://www.toptal.com/developers/gitignore/api/eclipse + diff --git a/.project b/.project new file mode 100644 index 0000000..f66acbd --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + Race + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/src/me/Caesar2011/Race/Cmd_Add.java b/src/me/Caesar2011/Race/Cmd_Add.java new file mode 100644 index 0000000..83604f7 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Add.java @@ -0,0 +1,22 @@ +package me.Caesar2011.Race; + +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; + +public class Cmd_Add { + CommandSender sender; + String[] args; + Lib_RaceManager race; + + + protected Cmd_Add(CommandSender sender, String[] args, Lib_RaceManager race) { + this.sender = sender; + this.args = args; + this.race = race; + } + + protected void Execute() { + sender.sendMessage(ChatColor.AQUA + "Race added."); + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_ClearLive.java b/src/me/Caesar2011/Race/Cmd_ClearLive.java new file mode 100644 index 0000000..a8b051b --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_ClearLive.java @@ -0,0 +1,17 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_ClearLive { + + protected Cmd_ClearLive(CommandSender sender, String[] args, + Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_ClearLocal.java b/src/me/Caesar2011/Race/Cmd_ClearLocal.java new file mode 100644 index 0000000..e54aa6a --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_ClearLocal.java @@ -0,0 +1,17 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_ClearLocal { + + protected Cmd_ClearLocal(CommandSender sender, String[] args, + Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Info.java b/src/me/Caesar2011/Race/Cmd_Info.java new file mode 100644 index 0000000..c18b258 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Info.java @@ -0,0 +1,16 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_Info { + + protected Cmd_Info(CommandSender sender, String[] args, Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Live.java b/src/me/Caesar2011/Race/Cmd_Live.java new file mode 100644 index 0000000..cdbaa8e --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Live.java @@ -0,0 +1,16 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_Live { + + protected Cmd_Live(CommandSender sender, String[] args, Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Local.java b/src/me/Caesar2011/Race/Cmd_Local.java new file mode 100644 index 0000000..02069a5 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Local.java @@ -0,0 +1,16 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_Local { + + protected Cmd_Local(CommandSender sender, String[] args, Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Mode.java b/src/me/Caesar2011/Race/Cmd_Mode.java new file mode 100644 index 0000000..a8ba4ea --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Mode.java @@ -0,0 +1,27 @@ +package me.Caesar2011.Race; + +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; + +public class Cmd_Mode { + CommandSender sender; + String[] args; + Lib_RaceManager race; + + protected Cmd_Mode(CommandSender sender, String[] args, Lib_RaceManager race) { + this.sender = sender; + this.args = args; + this.race = race; + } + + protected void Execute() { + if (args.length == 2) {sender.sendMessage(ChatColor.AQUA + "Race " + race.raceName + " is set to " + race.getMode() + "-mode.");} + else if (args[2].equalsIgnoreCase("off") || args[2].equalsIgnoreCase("training") || args[2].equalsIgnoreCase("race")) { + race.setMode(args[2]); + sender.sendMessage(ChatColor.AQUA + "Race " + race.raceName + " is now set to " + race.getMode() + "-mode."); + } + else { + sender.sendMessage(ChatColor.RED + "/race mode " + race.raceName + " "); + } + } +} diff --git a/src/me/Caesar2011/Race/Cmd_PlayerInfo.java b/src/me/Caesar2011/Race/Cmd_PlayerInfo.java new file mode 100644 index 0000000..59b0684 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_PlayerInfo.java @@ -0,0 +1,17 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_PlayerInfo { + + protected Cmd_PlayerInfo(CommandSender sender, String[] args, + Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Rem.java b/src/me/Caesar2011/Race/Cmd_Rem.java new file mode 100644 index 0000000..36cf908 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Rem.java @@ -0,0 +1,22 @@ +package me.Caesar2011.Race; + +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; + +public class Cmd_Rem { + CommandSender sender; + String[] args; + Lib_RaceManager race; + + protected Cmd_Rem(CommandSender sender, String[] args, Lib_RaceManager race) { + this.sender = sender; + this.args = args; + this.race = race; + } + + protected void Execute() { + race.Delete(); + sender.sendMessage(ChatColor.AQUA + "Race removed."); + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Round.java b/src/me/Caesar2011/Race/Cmd_Round.java new file mode 100644 index 0000000..f1e03af --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Round.java @@ -0,0 +1,16 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_Round { + + protected Cmd_Round(CommandSender sender, String[] args, Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_RoundLive.java b/src/me/Caesar2011/Race/Cmd_RoundLive.java new file mode 100644 index 0000000..809882d --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_RoundLive.java @@ -0,0 +1,17 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_RoundLive { + + protected Cmd_RoundLive(CommandSender sender, String[] args, + Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_RoundLocal.java b/src/me/Caesar2011/Race/Cmd_RoundLocal.java new file mode 100644 index 0000000..6b151d9 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_RoundLocal.java @@ -0,0 +1,17 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_RoundLocal { + + protected Cmd_RoundLocal(CommandSender sender, String[] args, + Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Rounds.java b/src/me/Caesar2011/Race/Cmd_Rounds.java new file mode 100644 index 0000000..2cca785 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Rounds.java @@ -0,0 +1,38 @@ +package me.Caesar2011.Race; + +import me.Caesar2011.Race.Lib_RaceManager.RankingType; + +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; + +public class Cmd_Rounds { + CommandSender sender; + String[] args; + Lib_RaceManager race; + + protected Cmd_Rounds(CommandSender sender, String[] args, Lib_RaceManager race) { + this.sender = sender; + this.args = args; + this.race = race; + } + + protected void Execute() { + if (args.length == 2) sender.sendMessage(ChatColor.AQUA + "Race " + race.raceName + " is set to " + race.getRounds() + " rounds."); + else if (race.getMode() == "off") { + try { + int r = Integer.parseInt(args[2]); + race.setRounds(r); + race.clearList(RankingType.NOW); + race.clearList(RankingType.LIVE); + race.clearList(RankingType.LOCAL); + sender.sendMessage(ChatColor.AQUA + "Race " + race.raceName + " is now set to " + race.getRounds() + " rounds. All lists of this race cleared."); + } catch (NumberFormatException e1) { + sender.sendMessage(ChatColor.RED + "/race rounds " + race.raceName + " "); + } + } + else { + sender.sendMessage(ChatColor.RED + "Race " + race.raceName + " have to be stopped."); + } + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Split.java b/src/me/Caesar2011/Race/Cmd_Split.java new file mode 100644 index 0000000..4f7309e --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Split.java @@ -0,0 +1,16 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_Split { + + protected Cmd_Split(CommandSender sender, String[] args, Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_SplitLive.java b/src/me/Caesar2011/Race/Cmd_SplitLive.java new file mode 100644 index 0000000..261bf25 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_SplitLive.java @@ -0,0 +1,17 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_SplitLive { + + protected Cmd_SplitLive(CommandSender sender, String[] args, + Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_SplitLocal.java b/src/me/Caesar2011/Race/Cmd_SplitLocal.java new file mode 100644 index 0000000..0b6c469 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_SplitLocal.java @@ -0,0 +1,17 @@ +package me.Caesar2011.Race; + +import org.bukkit.command.CommandSender; + +public class Cmd_SplitLocal { + + protected Cmd_SplitLocal(CommandSender sender, String[] args, + Lib_RaceManager race) { + // TODO Auto-generated constructor stub + } + + protected void Execute() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Splits.java b/src/me/Caesar2011/Race/Cmd_Splits.java new file mode 100644 index 0000000..fb96ed5 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Splits.java @@ -0,0 +1,38 @@ +package me.Caesar2011.Race; + +import me.Caesar2011.Race.Lib_RaceManager.RankingType; + +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; + +public class Cmd_Splits { + CommandSender sender; + String[] args; + Lib_RaceManager race; + + protected Cmd_Splits(CommandSender sender, String[] args, Lib_RaceManager race) { + this.sender = sender; + this.args = args; + this.race = race; + } + + protected void Execute() { + if (args.length == 2) sender.sendMessage(ChatColor.AQUA + "Race " + race.raceName + " is set to " + race.getSplits() + " splits."); + else if (race.getMode() == "off") { + try { + int r = Integer.parseInt(args[2]); + race.setSplits(r); + race.clearList(RankingType.NOW); + race.clearList(RankingType.LIVE); + race.clearList(RankingType.LOCAL); + sender.sendMessage(ChatColor.AQUA + "Race " + race.raceName + " is now set to " + race.getSplits() + " splits. All lists of this race cleared."); + } catch (NumberFormatException e1) { + sender.sendMessage(ChatColor.RED + "/race splits " + race.raceName + " "); + } + } + else { + sender.sendMessage(ChatColor.RED + "Race " + race.raceName + " have to be stopped."); + } + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Start.java b/src/me/Caesar2011/Race/Cmd_Start.java new file mode 100644 index 0000000..7f7b421 --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Start.java @@ -0,0 +1,43 @@ +package me.Caesar2011.Race; + +import java.util.Date; + +import me.Caesar2011.Race.Lib_RaceManager.RankingType; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class Cmd_Start { + CommandSender sender; + String[] args; + Lib_RaceManager race; + + protected Cmd_Start(CommandSender sender, String[] args, Lib_RaceManager race) { + this.sender = sender; + this.args = args; + this.race = race; + } + + protected void Execute() { + if (race.getMode() != "off"){ + if (args.length > 2){ + Player p = Bukkit.getPlayer(args[2]); + if (p != null) { + race.setSplit(RankingType.NOW, p.getName(), 0, 0, new Date()); + race.setNowRound(p.getName(), 0); + race.setNowSplit(p.getName(), 0); + p.sendMessage(ChatColor.AQUA + race.raceName + " race timer started. Run!"); + } else { + sender.sendMessage(ChatColor.RED + "/race start " + race.raceName + " "); + } + } else { + sender.sendMessage(ChatColor.RED + "/race start " + race.raceName + " "); + } + } else { + sender.sendMessage(ChatColor.RED + "Your race cannot start. Mode is set to 'off'."); + } + } + +} diff --git a/src/me/Caesar2011/Race/Cmd_Stop.java b/src/me/Caesar2011/Race/Cmd_Stop.java new file mode 100644 index 0000000..9f3651a --- /dev/null +++ b/src/me/Caesar2011/Race/Cmd_Stop.java @@ -0,0 +1,56 @@ +package me.Caesar2011.Race; + +import java.text.ParseException; +import java.util.Date; + +import me.Caesar2011.Race.Lib_RaceManager.RankingType; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class Cmd_Stop { + CommandSender sender; + String[] args; + Lib_RaceManager race; + + protected Cmd_Stop(CommandSender sender, String[] args, Lib_RaceManager race) { + this.sender = sender; + this.args = args; + this.race = race; + } + + protected void Execute() { + if (race.getMode() != "off"){ + if (args.length > 2){ + Player p = Bukkit.getPlayer(args[2]); + if (p != null) { + if (race.containsNow(p.getName())){ + if (race.getNowSplit(p.getName()) >= race.getSplits()) { + if (race.getNowRound(p.getName()) >= race.getRounds()) { + if (race.getMode() == "race") { + try { + race.setSplit(RankingType.LIVE, p.getName(), 0, 0, new Date(new Date().getTime()-race.getSplit(RankingType.NOW, p.getName(), 0, 0).getTime())); + } catch (ParseException e1) { + e1.printStackTrace(); + } + for (int i = 0; i <= race.getRounds(); i++) { + for (int j = 0; i <= race.getSplits(); j++) { + try { + race.setSplit(RankingType.LIVE, p.getName(), i, j, race.getSplit(RankingType.NOW, p.getName(), i, j)); + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + } + } else sender.sendMessage(ChatColor.RED + "You have to finish another round first."); + } else sender.sendMessage(ChatColor.RED + "You have to run over split " + (race.getNowSplit(p.getName())+1) + " first."); + } else sender.sendMessage(ChatColor.RED + "You have to start your race first."); + } else sender.sendMessage(ChatColor.RED + "/race stop " + race.raceName + " "); + } else sender.sendMessage(ChatColor.RED + "/race stop " + race.raceName + " "); + } else sender.sendMessage(ChatColor.RED + "Race is in off-mode. Can not stop your race."); + } + +} diff --git a/src/me/Caesar2011/Race/Lib_RaceManager.java b/src/me/Caesar2011/Race/Lib_RaceManager.java new file mode 100644 index 0000000..396f6b3 --- /dev/null +++ b/src/me/Caesar2011/Race/Lib_RaceManager.java @@ -0,0 +1,164 @@ +package me.Caesar2011.Race; + +import java.io.File; +import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import org.bukkit.ChatColor; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; + +public class Lib_RaceManager { + + protected enum RankingType { + NOW("now"), + LIVE("live"), + LOCAL("local"); + private String value; + RankingType(String value){this.value = value;}; + } + + + protected String raceName; + protected String filePath; + private FileConfiguration yaml = null; + protected File file; + + protected Lib_RaceManager(String raceName){ + this.raceName = raceName; + this.filePath = "plugins" + File.separator + "Race" + File.separator + raceName + ".yml"; + this.file = new File(filePath); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (Exception e) { + try { + new File(file.getAbsoluteFile().getParentFile().toString()).mkdir(); + file.createNewFile(); + } catch (IOException e1) { + System.err.println(ChatColor.DARK_RED + "[Race] " + raceName + ": Could not create new file. (IOException)"); + return; + } + } + } + yaml = YamlConfiguration.loadConfiguration(file); + yaml.addDefault("info.rounds", 0); + yaml.addDefault("info.splits", 0); + yaml.addDefault("info.mode", "off"); + yaml.options().copyDefaults(true); + } + + protected boolean Exist() { + return (yaml != null); + } + + protected void Delete() { + if(file.exists()){ + file.delete(); + } + yaml = null; + } + + protected void Save() { + try { + yaml.save(file); + } catch (IOException e) { + System.err.println(ChatColor.DARK_RED + "[Race] " + raceName + ": Could not save file. (IOException)"); + } + } + + protected int getRounds(){ + return yaml.getInt("info.rounds"); + } + + protected void setRounds(int rounds){ + yaml.set("info.rounds", rounds); + } + + protected int getSplits(){ + return yaml.getInt("info.splits"); + } + + protected void setSplits(int splits){ + yaml.set("info.splits", splits); + } + + protected String getMode(){ + return yaml.getString("info.mode"); + } + + protected void setMode(String mode){ + yaml.set("info.mode", mode); + } + + protected void clearList(RankingType rank){ + yaml.set(rank.value, null); + } + + protected void setSplit(RankingType rank, String player, int round, int split, Date date){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d-HH-mm-ss-SSS"); + yaml.set(rank.value + "." + round + "_" + split + "." + player, sdf.format(date)); + } + + protected Date getSplit(RankingType rank, String player, int round, int split) throws ParseException{ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d-HH-mm-ss-SSS"); + return sdf.parse(yaml.getString(rank.value + "." + round + "_" + split + "." + player)); + } + + protected void remSplit(RankingType rank, String player, int round, int split){ + yaml.set(rank.value + "." + round + "_" + split + "." + player, null); + } + + protected void setStop(RankingType rank, String player, Date date){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d-HH-mm-ss-SSS"); + yaml.set(rank.value + ".stop." + player, sdf.format(date)); + } + + protected Date getStop(RankingType rank, String player) throws ParseException{ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d-HH-mm-ss-SSS"); + return sdf.parse(yaml.getString(rank.value + ".stop." + player)); + } + + protected void remStop(RankingType rank, String player){ + yaml.set(rank.value + ".stop." + player, null); + } + + protected void setNowRound(String player, int round){ + yaml.set("now.round." + player, round); + } + + protected int getNowRound(String player){ + return yaml.getInt("now.round." + player); + } + + protected void setNowSplit(String player, int split){ + yaml.set("now.split." + player, split); + } + + protected int getNowSplit(String player){ + return yaml.getInt("now.split." + player); + } + + protected boolean containsNow(String player){ + return (yaml.contains("now.split." + player) && yaml.contains("now.round." + player) && yaml.contains("now.0_0." + player)); + } + + protected boolean insertToLocalStop(String player, Date duration){ + if (yaml.getConfigurationSection("local.stop").getKeys(false).size() < 10) { + setStop(RankingType.LOCAL, player, duration); + return true; + } + Date slowest = null; + for (String ele: yaml.getConfigurationSection("local.stop").getKeys(false)) { + + } + return false; + } + + protected void insertToLocalSplit(String player, Date duration, int round, int split){ + return; + } + +} diff --git a/src/me/Caesar2011/Race/Race.java b/src/me/Caesar2011/Race/Race.java new file mode 100644 index 0000000..8764146 --- /dev/null +++ b/src/me/Caesar2011/Race/Race.java @@ -0,0 +1,133 @@ +package me.Caesar2011.Race; + +import java.util.List; + +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.plugin.java.JavaPlugin; + +public class Race extends JavaPlugin { + + @Override + public List onTabComplete(CommandSender sender, Command command, String alias, String[] args) { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + // TODO Auto-generated method stub + if (args.length > 1) { + Lib_RaceManager race = new Lib_RaceManager(args[1]); + if (race.Exist()) { + switch(args[0].toLowerCase()){ + case "info": { + new Cmd_Info(sender, args, race).Execute(); + break; + } + case "add": { + new Cmd_Add(sender, args, race).Execute(); + break; + } + case "rem": { + new Cmd_Rem(sender, args, race).Execute(); + break; + } + case "rounds": { + new Cmd_Rounds(sender, args, race).Execute(); + break; + } + case "splits": { + new Cmd_Splits(sender, args, race).Execute(); + break; + } + case "mode": { + new Cmd_Mode(sender, args, race).Execute(); + break; + } + case "start": { + new Cmd_Start(sender, args, race).Execute(); + break; + } + case "round": { + new Cmd_Round(sender, args, race).Execute(); + break; + } + case "split": { + new Cmd_Split(sender, args, race).Execute(); + break; + } + case "stop": { + new Cmd_Stop(sender, args, race).Execute(); + break; + } + case "live": { + new Cmd_Live(sender, args, race).Execute(); + break; + } + case "local": { + new Cmd_Local(sender, args, race).Execute(); + break; + } + case "playerinfo": { + new Cmd_PlayerInfo(sender, args, race).Execute(); + break; + } + case "clearlive": { + new Cmd_ClearLive(sender, args, race).Execute(); + break; + } + case "clearlocal": { + new Cmd_ClearLocal(sender, args, race).Execute(); + break; + } + case "roundlive": { + new Cmd_RoundLive(sender, args, race).Execute(); + break; + } + case "roundlocal": { + new Cmd_RoundLocal(sender, args, race).Execute(); + break; + } + case "splitlive": { + new Cmd_SplitLive(sender, args, race).Execute(); + break; + } + case "splitlocal": { + new Cmd_SplitLocal(sender, args, race).Execute(); + break; + } + default: { + sender.sendMessage(ChatColor.RED + "/race "); + sender.sendMessage(ChatColor.RED + "/race "); + sender.sendMessage(ChatColor.RED + "/race "); + } + } + if (race.Exist()) race.Save(); + } else { + sender.sendMessage(ChatColor.RED + "/race "); + sender.sendMessage(ChatColor.RED + "/race "); + sender.sendMessage(ChatColor.RED + "/race "); + } + } else { + sender.sendMessage(ChatColor.RED + "/race "); + sender.sendMessage(ChatColor.RED + "/race "); + sender.sendMessage(ChatColor.RED + "/race "); + } + return true; + } + + @Override + public void onDisable() { + // TODO Auto-generated method stub + System.out.println("[Race] Plugin disabled."); + } + + @Override + public void onEnable() { + // TODO Auto-generated method stub + System.out.println("[Race] Plugin enabled."); + } + +} diff --git a/src/plugin.yml b/src/plugin.yml new file mode 100644 index 0000000..92f6607 --- /dev/null +++ b/src/plugin.yml @@ -0,0 +1,9 @@ +name: Race +version: 1.4.4 +main: me.Caesar2011.Race.Race +author: Caesar2011 + +commands: + race: + description: Race command + usage: /race \ No newline at end of file