public MinecraftReflectionUtils() throws Exception {

		player = null;
		worldServer = null;
		ping = 0;
		nmsWorldClass = null;
		nmsPlayer = null;
		locale = null;
		getConnection = null;
		entityHumanClass = null;
		craftWorldClass = null;
		abilities = null;

		obcPackageName = Bukkit.getServer().getClass().getPackage().getName();
		craftServer = getOBCClass("CraftServer").cast(Bukkit.getServer());
		dedicatedServer = ReflectionUtils.getPrivateFieldValue(craftServer, "console");
		packageName = dedicatedServer.getClass().getPackage().getName();

		packetClass = getNMSClass("Packet");
		iChatBaseComponentClass = getNMSClass("IChatBaseComponent");
		enumClientCommandClass = getNMSClass("EnumClientCommand");
		minecraftServerClass = dedicatedServer.getClass().getSuperclass();
		craftItemStackClass = getOBCClass("inventory.CraftItemStack");

		emptyChatSerializer = getNMSClass("ChatSerializer").newInstance();
		emptyPacketPlayOutChat = getNMSClass("PacketPlayOutChat").newInstance();
		emptyPacketPlayInClientCommand = getNMSClass("PacketPlayInClientCommand").newInstance();
		emptyPacketPlayOutNamedEntitySpawn = getNMSClass("PacketPlayOutNamedEntitySpawn").newInstance();
		emptyPacketPlayOutBed = getNMSClass("PacketPlayOutBed").newInstance();
		emptyPacketPlayOutAnimation = getNMSClass("PacketPlayOutAnimation").newInstance();
		emptyPacketPlayOutOpenWindow = getNMSClass("PacketPlayOutOpenWindow").newInstance();
		emptyPacketPlayOutEntityDestroy = getNMSClass("PacketPlayOutEntityDestroy").newInstance();
		emptyPacketPlayOutGameStateChange = getNMSClass("PacketPlayOutGameStateChange").newInstance();
		emptyPacketPlayOutOpenSignEditor = getNMSClass("PacketPlayOutGameStateChange").newInstance();
	}