Starting on converting to 1.8

This commit is contained in:
Shaun Bennett 2015-04-22 16:06:38 -04:00
parent 9ee740d334
commit f4b6d4e44e
3 changed files with 115 additions and 134 deletions

View File

@ -1,11 +1,10 @@
package mineplex.core.common.jsonchat; package mineplex.core.common.jsonchat;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer; import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import net.minecraft.server.v1_7_R4.ChatSerializer; import net.minecraft.server.v1_8_R2.IChatBaseComponent;
import net.minecraft.server.v1_7_R4.PacketPlayOutChat; import net.minecraft.server.v1_8_R2.PacketPlayOutChat;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer; import mineplex.core.common.util.UtilServer;
public class JsonMessage public class JsonMessage
@ -119,24 +118,11 @@ public class JsonMessage
*/ */
public void send(MessageType messageType, Player... players) public void send(MessageType messageType, Player... players)
{ {
send(messageType, false, players); PacketPlayOutChat chatPacket = new PacketPlayOutChat(IChatBaseComponent.ChatSerializer.a(toString()));
}
/**
* Send a message to players using the new 1.8 message types
*
* @param messageType Message type to send
* @param defaultToChat Only applies to MessageType.ABOVE_HOTBAR. If true, it will send this to chat for 1.7 clients
* @param players Players to send to
*/
public void send(MessageType messageType, boolean defaultToChat, Player... players)
{
PacketPlayOutChat chatPacket = new PacketPlayOutChat(ChatSerializer.a(toString()));
chatPacket.setChatType(messageType.getId()); chatPacket.setChatType(messageType.getId());
for (Player player : players) for (Player player : players)
{ {
if (defaultToChat || messageType != MessageType.ABOVE_HOTBAR || UtilPlayer.is1_8(player))
((CraftPlayer) player).getHandle().playerConnection.sendPacket(chatPacket); ((CraftPlayer) player).getHandle().playerConnection.sendPacket(chatPacket);
} }
} }

View File

@ -7,18 +7,17 @@ import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftEntity; import org.bukkit.craftbukkit.v1_8_R2.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer; import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import net.minecraft.server.v1_7_R4.Packet; import net.minecraft.server.v1_8_R2.Packet;
import net.minecraft.server.v1_7_R4.PlayerConnection; import net.minecraft.server.v1_8_R2.PlayerConnection;
public class UtilPlayer public class UtilPlayer
{ {
@ -587,11 +586,6 @@ public class UtilPlayer
return (((CraftEntity) player).getHandle().getDataWatcher().getByte(0) & 1 << 4) != 0; return (((CraftEntity) player).getHandle().getDataWatcher().getByte(0) & 1 << 4) != 0;
} }
public static boolean is1_8(Player player)
{
return ((CraftPlayer) player).getHandle().playerConnection.networkManager.getVersion() >= 47;
}
public static void sendPacket(Player player, Packet... packets) public static void sendPacket(Player player, Packet... packets)
{ {
PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection; PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;

View File

@ -2,23 +2,22 @@ package mineplex.core.common.util;
import java.io.File; import java.io.File;
import net.minecraft.server.v1_7_R4.ConvertProgressUpdater; import net.minecraft.server.v1_8_R2.Convertable;
import net.minecraft.server.v1_7_R4.Convertable; import net.minecraft.server.v1_8_R2.EntityTracker;
import net.minecraft.server.v1_7_R4.EntityTracker; import net.minecraft.server.v1_8_R2.EnumDifficulty;
import net.minecraft.server.v1_7_R4.EnumDifficulty; import net.minecraft.server.v1_8_R2.IWorldAccess;
import net.minecraft.server.v1_7_R4.EnumGamemode; import net.minecraft.server.v1_8_R2.ServerNBTManager;
import net.minecraft.server.v1_7_R4.IWorldAccess; import net.minecraft.server.v1_8_R2.WorldData;
import net.minecraft.server.v1_7_R4.ServerNBTManager; import net.minecraft.server.v1_8_R2.WorldLoaderServer;
import net.minecraft.server.v1_7_R4.WorldLoaderServer; import net.minecraft.server.v1_8_R2.WorldManager;
import net.minecraft.server.v1_7_R4.WorldManager; import net.minecraft.server.v1_8_R2.WorldServer;
import net.minecraft.server.v1_7_R4.WorldServer; import net.minecraft.server.v1_8_R2.WorldSettings;
import net.minecraft.server.v1_7_R4.WorldSettings; import net.minecraft.server.v1_8_R2.WorldType;
import net.minecraft.server.v1_7_R4.WorldType;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.WorldCreator; import org.bukkit.WorldCreator;
import org.bukkit.craftbukkit.v1_7_R4.CraftServer; import org.bukkit.craftbukkit.v1_8_R2.CraftServer;
import org.bukkit.event.world.WorldInitEvent; import org.bukkit.event.world.WorldInitEvent;
import org.bukkit.event.world.WorldLoadEvent; import org.bukkit.event.world.WorldLoadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
@ -56,12 +55,13 @@ public class WorldUtil
generator = server.getGenerator(name); generator = server.getGenerator(name);
} }
Convertable converter = new WorldLoaderServer(server.getWorldContainer()); // TODO -
if (converter.isConvertable(name)) // Convertable converter = new WorldLoaderServer(server.getWorldContainer());
{ // if (converter.isConvertable(name))
server.getLogger().info("Converting world '" + name + "'"); // {
converter.convert(name, new ConvertProgressUpdater(server.getServer())); // server.getLogger().info("Converting world '" + name + "'");
} // converter.convert(name, new ConvertProgressUpdater(server.getServer()));
// }
int dimension = server.getWorlds().size() + 1; int dimension = server.getWorlds().size() + 1;
boolean used = false; boolean used = false;
@ -81,7 +81,8 @@ public class WorldUtil
System.out.println("Loaded world with dimension : " + dimension); System.out.println("Loaded world with dimension : " + dimension);
WorldServer internal = new WorldServer(server.getServer(), new ServerNBTManager(server.getWorldContainer(), name, true), name, dimension, new WorldSettings(creator.seed(), EnumGamemode.getById(server.getDefaultGameMode().getValue()), generateStructures, hardcore, type), server.getServer().methodProfiler, creator.environment(), generator); WorldData worldData = new WorldData(new WorldSettings(creator.seed(), WorldSettings.EnumGamemode.getById(server.getDefaultGameMode().getValue()), generateStructures, hardcore, type), name);
WorldServer internal = new WorldServer(server.getServer(), new ServerNBTManager(server.getWorldContainer(), name, true), worldData, dimension, server.getServer().methodProfiler, creator.environment(), generator);
boolean containsWorld = false; boolean containsWorld = false;
for (World otherWorld : server.getWorlds()) for (World otherWorld : server.getWorlds())
@ -102,7 +103,7 @@ public class WorldUtil
internal.worldMaps = server.getServer().worlds.get(0).worldMaps; internal.worldMaps = server.getServer().worlds.get(0).worldMaps;
internal.tracker = new EntityTracker(internal); // CraftBukkit internal.tracker = new EntityTracker(internal); // CraftBukkit
internal.addIWorldAccess((IWorldAccess) new WorldManager(server.getServer(), internal)); internal.addIWorldAccess((IWorldAccess) new WorldManager(server.getServer(), internal));
internal.difficulty = EnumDifficulty.HARD; internal.worldData.setDifficulty(EnumDifficulty.HARD);
internal.setSpawnFlags(true, true); internal.setSpawnFlags(true, true);
internal.savingDisabled = true; internal.savingDisabled = true;
server.getServer().worlds.add(internal); server.getServer().worlds.add(internal);