inital commit
This commit is contained in:
11
.classpath
Normal file
11
.classpath
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Adminuser/Desktop/Server/craftbukkit.jar" sourcepath="C:/Users/Schulä/Desktop/Dropbox/Server/Bukkit-Bukkit-1.4.7-R1.0-3-g0b494f8.zip">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="http://jd.bukkit.org/apidocs/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
||||||
72
.gitignore
vendored
Normal file
72
.gitignore
vendored
Normal file
@@ -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
|
||||||
|
|
||||||
17
.project
Normal file
17
.project
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>Race</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
22
src/me/Caesar2011/Race/Cmd_Add.java
Normal file
22
src/me/Caesar2011/Race/Cmd_Add.java
Normal file
@@ -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.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
src/me/Caesar2011/Race/Cmd_ClearLive.java
Normal file
17
src/me/Caesar2011/Race/Cmd_ClearLive.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
src/me/Caesar2011/Race/Cmd_ClearLocal.java
Normal file
17
src/me/Caesar2011/Race/Cmd_ClearLocal.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
16
src/me/Caesar2011/Race/Cmd_Info.java
Normal file
16
src/me/Caesar2011/Race/Cmd_Info.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
16
src/me/Caesar2011/Race/Cmd_Live.java
Normal file
16
src/me/Caesar2011/Race/Cmd_Live.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
16
src/me/Caesar2011/Race/Cmd_Local.java
Normal file
16
src/me/Caesar2011/Race/Cmd_Local.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
27
src/me/Caesar2011/Race/Cmd_Mode.java
Normal file
27
src/me/Caesar2011/Race/Cmd_Mode.java
Normal file
@@ -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 + " <off|training|race>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
17
src/me/Caesar2011/Race/Cmd_PlayerInfo.java
Normal file
17
src/me/Caesar2011/Race/Cmd_PlayerInfo.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
22
src/me/Caesar2011/Race/Cmd_Rem.java
Normal file
22
src/me/Caesar2011/Race/Cmd_Rem.java
Normal file
@@ -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.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
16
src/me/Caesar2011/Race/Cmd_Round.java
Normal file
16
src/me/Caesar2011/Race/Cmd_Round.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
src/me/Caesar2011/Race/Cmd_RoundLive.java
Normal file
17
src/me/Caesar2011/Race/Cmd_RoundLive.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
src/me/Caesar2011/Race/Cmd_RoundLocal.java
Normal file
17
src/me/Caesar2011/Race/Cmd_RoundLocal.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
38
src/me/Caesar2011/Race/Cmd_Rounds.java
Normal file
38
src/me/Caesar2011/Race/Cmd_Rounds.java
Normal file
@@ -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 + " <rounds>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Race " + race.raceName + " have to be stopped.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
16
src/me/Caesar2011/Race/Cmd_Split.java
Normal file
16
src/me/Caesar2011/Race/Cmd_Split.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
src/me/Caesar2011/Race/Cmd_SplitLive.java
Normal file
17
src/me/Caesar2011/Race/Cmd_SplitLive.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
src/me/Caesar2011/Race/Cmd_SplitLocal.java
Normal file
17
src/me/Caesar2011/Race/Cmd_SplitLocal.java
Normal file
@@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
38
src/me/Caesar2011/Race/Cmd_Splits.java
Normal file
38
src/me/Caesar2011/Race/Cmd_Splits.java
Normal file
@@ -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 + " <splits>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Race " + race.raceName + " have to be stopped.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
43
src/me/Caesar2011/Race/Cmd_Start.java
Normal file
43
src/me/Caesar2011/Race/Cmd_Start.java
Normal file
@@ -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 + " <player>");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race start " + race.raceName + " <player>");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Your race cannot start. Mode is set to 'off'.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
56
src/me/Caesar2011/Race/Cmd_Stop.java
Normal file
56
src/me/Caesar2011/Race/Cmd_Stop.java
Normal file
@@ -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 + " <player>");
|
||||||
|
} else sender.sendMessage(ChatColor.RED + "/race stop " + race.raceName + " <player>");
|
||||||
|
} else sender.sendMessage(ChatColor.RED + "Race is in off-mode. Can not stop your race.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
164
src/me/Caesar2011/Race/Lib_RaceManager.java
Normal file
164
src/me/Caesar2011/Race/Lib_RaceManager.java
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
133
src/me/Caesar2011/Race/Race.java
Normal file
133
src/me/Caesar2011/Race/Race.java
Normal file
@@ -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<String> 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 <info|add|rem|rounds|splits|mode>");
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <start|round|split|stop>");
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <live|local|playerinfo|clearlive|clearlocal|roundlive|roundlocal|splitlive|splitlocal>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (race.Exist()) race.Save();
|
||||||
|
} else {
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <info|add|rem|rounds|splits|mode>");
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <start|round|split|stop>");
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <live|local|playerinfo|clearlive|clearlocal|roundlive|roundlocal|splitlive|splitlocal>");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <info|add|rem|rounds|splits|mode>");
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <start|round|split|stop>");
|
||||||
|
sender.sendMessage(ChatColor.RED + "/race <live|local|playerinfo|clearlive|clearlocal|roundlive|roundlocal|splitlive|splitlocal>");
|
||||||
|
}
|
||||||
|
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.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
9
src/plugin.yml
Normal file
9
src/plugin.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
name: Race
|
||||||
|
version: 1.4.4
|
||||||
|
main: me.Caesar2011.Race.Race
|
||||||
|
author: Caesar2011
|
||||||
|
|
||||||
|
commands:
|
||||||
|
race:
|
||||||
|
description: Race command
|
||||||
|
usage: /race
|
||||||
Reference in New Issue
Block a user