diff --git a/ProtocolLib/dependency-reduced-pom.xml b/ProtocolLib/dependency-reduced-pom.xml
index 7f3c8e0c..f877ad9e 100644
--- a/ProtocolLib/dependency-reduced-pom.xml
+++ b/ProtocolLib/dependency-reduced-pom.xml
@@ -139,7 +139,7 @@
org.bukkit
craftbukkit
- 1.3.2-R1.0
+ 1.4.5-R0.3-SNAPSHOT
provided
diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java b/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java
index 3b8245c9..5719a097 100644
--- a/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java
+++ b/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java
@@ -10,7 +10,6 @@ import java.util.WeakHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
-import net.minecraft.server.Packet;
import net.sf.cglib.proxy.Factory;
import org.bukkit.ChatColor;
@@ -29,6 +28,7 @@ import com.comphenix.protocol.injector.GamePhase;
import com.comphenix.protocol.reflect.FieldAccessException;
import com.comphenix.protocol.reflect.PrettyPrinter;
import com.comphenix.protocol.utility.ChatExtensions;
+import com.comphenix.protocol.utility.MinecraftReflection;
import com.google.common.collect.DiscreteDomains;
import com.google.common.collect.Range;
import com.google.common.collect.Ranges;
@@ -394,7 +394,7 @@ class CommandPacket extends CommandBase {
// Detailed will print the packet's content too
if (detailed) {
try {
- Packet packet = event.getPacket().getHandle();
+ Object packet = event.getPacket().getHandle();
Class> clazz = packet.getClass();
// Get the first Minecraft super class
@@ -404,7 +404,7 @@ class CommandPacket extends CommandBase {
}
logger.info(shortDescription + ":\n" +
- PrettyPrinter.printObject(packet, clazz, Packet.class)
+ PrettyPrinter.printObject(packet, clazz, MinecraftReflection.getPacketClass())
);
} catch (IllegalAccessException e) {
diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncMarker.java b/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncMarker.java
index 7b6b038b..5b0e6a1c 100644
--- a/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncMarker.java
+++ b/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncMarker.java
@@ -25,13 +25,12 @@ import java.util.Iterator;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
-import net.minecraft.server.Packet;
-
import com.comphenix.protocol.PacketStream;
import com.comphenix.protocol.events.PacketEvent;
import com.comphenix.protocol.injector.PrioritizedListener;
import com.comphenix.protocol.reflect.FieldAccessException;
import com.comphenix.protocol.reflect.FuzzyReflection;
+import com.comphenix.protocol.utility.MinecraftReflection;
import com.google.common.primitives.Longs;
/**
@@ -403,10 +402,10 @@ public class AsyncMarker implements Serializable, Comparable {
if (isMinecraftAsync == null && !alwaysSync) {
try {
- isMinecraftAsync = FuzzyReflection.fromClass(Packet.class).getMethodByName("a_.*");
+ isMinecraftAsync = FuzzyReflection.fromClass(MinecraftReflection.getPacketClass()).getMethodByName("a_.*");
} catch (RuntimeException e) {
// This will occur in 1.2.5 (or possibly in later versions)
- List methods = FuzzyReflection.fromClass(Packet.class).
+ List methods = FuzzyReflection.fromClass(MinecraftReflection.getPacketClass()).
getMethodListByParameters(boolean.class, new Class[] {});
// Try to look for boolean methods
diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java b/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java
index 6f424874..a7b4a265 100644
--- a/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java
+++ b/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java
@@ -40,14 +40,13 @@ import com.comphenix.protocol.injector.StructureCache;
import com.comphenix.protocol.reflect.EquivalentConverter;
import com.comphenix.protocol.reflect.FuzzyReflection;
import com.comphenix.protocol.reflect.StructureModifier;
+import com.comphenix.protocol.utility.MinecraftReflection;
import com.comphenix.protocol.wrappers.BukkitConverters;
import com.comphenix.protocol.wrappers.ChunkPosition;
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
import com.comphenix.protocol.wrappers.WrappedWatchableObject;
import com.google.common.collect.Maps;
-import net.minecraft.server.Packet;
-
/**
* Represents a Minecraft packet indirectly.
*
@@ -61,7 +60,7 @@ public class PacketContainer implements Serializable {
private static final long serialVersionUID = 2074805748222377230L;
protected int id;
- protected transient Packet handle;
+ protected transient Object handle;
// Current structure modifier
protected transient StructureModifier