Browse Source

Created Sorter for score list

lennartVH01 9 years ago
parent
commit
8639a7bc44

+ 17 - 2
src/me/lennartVH01/AbbaGame.java

@@ -2,6 +2,7 @@ package me.lennartVH01;
 
 
 
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.ArrayList;
@@ -21,6 +22,16 @@ import org.bukkit.scoreboard.Scoreboard;
 
 
 public class AbbaGame implements ConfigurationSerializable{
+	private static Comparator<Tuple2<UUID, CalculatedScore>> scoreComparer = new Comparator<Tuple2<UUID, CalculatedScore>>() {
+
+		@Override
+		public int compare(Tuple2<UUID, CalculatedScore> arg0, Tuple2<UUID, CalculatedScore> arg1) {
+			return arg0.getArg2().getTotal() - arg1.getArg2().getTotal();
+		}
+		
+	};
+	
+	
 	private Main plugin;
 	public int taskId;
 	public boolean open = false;
@@ -32,7 +43,7 @@ public class AbbaGame implements ConfigurationSerializable{
 	public int countDownTime;
 	public int playerCap;
 	public List<Player> players;
-	public Map<UUID, CalculatedScore> endStats = new HashMap<UUID, CalculatedScore>();
+	public List<Tuple2<UUID, CalculatedScore>> endStats = new ArrayList<Tuple2<UUID, CalculatedScore>>();
 	public Map<UUID, Chest> playerChests = new HashMap<UUID, Chest>();
 	public List<Chest> chests = new ArrayList<Chest>();
 	public List<Sign> signs = new ArrayList<Sign>();
@@ -172,8 +183,12 @@ public class AbbaGame implements ConfigurationSerializable{
 			CalculatedScore stat = AbbaTools.calcScore(chest.getInventory());
 			score.setScore(stat.getTotal());
 			sign.setLine(2, "" + stat.getTotal());
-			endStats.put(p.getUniqueId(), stat);
+			endStats.add(new Tuple2<UUID, CalculatedScore>(p.getUniqueId(), stat));
+			
+			
 		}
+		endStats.sort(scoreComparer);
+		
 	}
 	
 	public void open(){

+ 1 - 4
src/me/lennartVH01/Listeners/EventListener.java → src/me/lennartVH01/EventListener.java

@@ -1,7 +1,4 @@
-package me.lennartVH01.Listeners;
-
-import me.lennartVH01.AbbaGame;
-import me.lennartVH01.Main;
+package me.lennartVH01;
 
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.Listener;

+ 4 - 2
src/me/lennartVH01/Main.java

@@ -10,8 +10,6 @@ import java.util.UUID;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 
-import me.lennartVH01.Listeners.EventListener;
-
 import org.bukkit.GameMode;
 import org.bukkit.Location;
 import org.bukkit.Material;
@@ -114,6 +112,10 @@ public class Main extends JavaPlugin{
 						}else{
 							game = AbbaTools.getAbbaGame();
 						}
+						if(game == null){
+							sender.sendMessage("§cGame not found!");
+							return false;
+						}
 						if(!(game.isOpen() || p.hasPermission("AbbaCaving.joinClosed"))){
 							p.sendMessage("§cThis game is closed!");
 							return false;

+ 22 - 0
src/me/lennartVH01/Tuple2.java

@@ -0,0 +1,22 @@
+package me.lennartVH01;
+
+public class Tuple2<T1,T2>{
+	T1 arg1;
+	T2 arg2;
+	public Tuple2(T1 arg1, T2 arg2){
+		this.arg1 = arg1;
+		this.arg2 = arg2;
+	}
+	public T1 getArg1() {
+		return arg1;
+	}
+	public void setArg1(T1 arg1) {
+		this.arg1 = arg1;
+	}
+	public T2 getArg2() {
+		return arg2;
+	}
+	public void setArg2(T2 arg2) {
+		this.arg2 = arg2;
+	}
+}