2
0
Эх сурвалжийг харах

Updated for Minecraft 1.16.3

VonTum 4 жил өмнө
parent
commit
c90931b350

+ 1 - 1
src/me/lennartVH01/CommandHandler.java

@@ -118,7 +118,7 @@ public class CommandHandler implements CommandExecutor, TabCompleter{
 			AbbaGame game = getGame(args, sender);
 			if(game == null)
 				return false;
-			String message = (game.isOpen() ? "§a" : "§c") + "[" + game.getName() + "] (" + game.getPlayerCount() + "/" + game.getPlayerCap() + ")" + game.getState().toString() + "\nPlayers:";
+			String message = (game.isOpen() ? "§a" : "§c") + "[" + game.getName() + "] (" + game.getPlayerCount() + "/" + game.getPlayerCap() + ") " + game.getState().toString() + "\nPlayers:";
 			for(Player p:game.getPlayers()){
 				message += "\n" + p.getName();
 			}

+ 1 - 1
src/me/lennartVH01/game/AbbaGame.java

@@ -6,7 +6,7 @@ import java.util.List;
 
 
 
-import net.minecraft.server.v1_10_R1.IChatBaseComponent;
+import net.minecraft.server.v1_16_R2.IChatBaseComponent;
 
 import org.bukkit.Location;
 import org.bukkit.command.CommandSender;

+ 20 - 9
src/me/lennartVH01/game/BasicAbbaGame.java

@@ -8,8 +8,9 @@ import me.lennartVH01.Config;
 import me.lennartVH01.Messages;
 import me.lennartVH01.Permission;
 import me.lennartVH01.util.ChatUtil;
-import net.minecraft.server.v1_10_R1.ChatComponentText;
-import net.minecraft.server.v1_10_R1.IChatBaseComponent;
+import me.lennartVH01.util.Tuple2;
+import net.minecraft.server.v1_16_R2.ChatComponentText;
+import net.minecraft.server.v1_16_R2.IChatBaseComponent;
 
 import org.bukkit.Bukkit;
 import org.bukkit.GameMode;
@@ -120,15 +121,25 @@ public class BasicAbbaGame implements AbbaGame{
 				totalItems[i] += score.count[i];
 			}
 		}
-		StringBuilder msgBuilder = new StringBuilder("[");
+		ArrayList<Tuple2<ItemStack, Integer>> listCollected = new ArrayList<Tuple2<ItemStack, Integer>>();
+		
 		for(int i = 0; i < itemValues.length; i++){
-			if(totalItems[i] > 0)
-				msgBuilder.append("{\"translate\":\"" + ChatUtil.getName(itemValues[i].asItemStack()) + "\"},\": " + totalItems[i] + "\n\",");
+			if(totalItems[i] > 0){
+				listCollected.add(new Tuple2<ItemStack, Integer>(itemValues[i].asItemStack(), totalItems[i]));
+			}
 		}
-		if(msgBuilder.length() > 1){
-			msgBuilder.replace(msgBuilder.length() - 3, msgBuilder.length() - 1, "\"]");
-			broadcast(ChatUtil.fromRawJSON(msgBuilder.toString()));
+		if(listCollected.size() > 0){
+			IChatBaseComponent message = new ChatComponentText("");
 			
+			for(int i = 0; i < listCollected.size(); i++){
+				message.getSiblings().add(ChatUtil.stackToChat(listCollected.get(i).arg1));
+				String countMsg = ": " + listCollected.get(i).arg2;
+				if(i < listCollected.size() - 1){
+					countMsg += "\n";
+				}
+				message.getSiblings().add(new ChatComponentText(countMsg));
+			}
+			broadcast(message);
 		}
 		
 		
@@ -160,7 +171,7 @@ public class BasicAbbaGame implements AbbaGame{
 				for(ItemStack stack:illegalItems){
 					IChatBaseComponent chatStack = ChatUtil.stackToChat(stack);
 					IChatBaseComponent chatText = new ChatComponentText("§c - ");
-					chatText.addSibling(chatStack);
+					chatText.getSiblings().add(chatStack);
 					
 					ChatUtil.send(p, chatText);
 					

+ 11 - 6
src/me/lennartVH01/util/ChatUtil.java

@@ -1,18 +1,23 @@
 package me.lennartVH01.util;
 
-import net.minecraft.server.v1_10_R1.IChatBaseComponent;
-import net.minecraft.server.v1_10_R1.PacketPlayOutChat;
+import net.minecraft.server.v1_16_R2.ChatMessageType;
+import net.minecraft.server.v1_16_R2.IChatBaseComponent;
+import net.minecraft.server.v1_16_R2.PacketPlayOutChat;
 
-import org.bukkit.craftbukkit.v1_10_R1.entity.CraftPlayer;
-import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftItemStack;
+import java.util.UUID;
+
+import org.bukkit.craftbukkit.v1_16_R2.entity.CraftPlayer;
+import org.bukkit.craftbukkit.v1_16_R2.inventory.CraftItemStack;
 import org.bukkit.entity.Player;
 
 public class ChatUtil {
 	public static void send(Player player, IChatBaseComponent chat) {
-		((CraftPlayer) player).getHandle().playerConnection.sendPacket(new PacketPlayOutChat(chat));
+		// still hacky, still no official bukkit support
+		PacketPlayOutChat packet = new PacketPlayOutChat(chat, ChatMessageType.CHAT, UUID.randomUUID());
+		((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
 	}
 	public static IChatBaseComponent stackToChat(org.bukkit.inventory.ItemStack stack){
-		return CraftItemStack.asNMSCopy(stack).B();
+		return CraftItemStack.asNMSCopy(stack).C();
 	}
 	public static IChatBaseComponent fromRawJSON(String json){
 		return IChatBaseComponent.ChatSerializer.a(json);