diff --git a/SpigotCore/SpigotCore_20/src/de/steamwar/core/CraftbukkitWrapper20.java b/SpigotCore/SpigotCore_20/src/de/steamwar/core/CraftbukkitWrapper20.java index ca2e059e..025a7712 100644 --- a/SpigotCore/SpigotCore_20/src/de/steamwar/core/CraftbukkitWrapper20.java +++ b/SpigotCore/SpigotCore_20/src/de/steamwar/core/CraftbukkitWrapper20.java @@ -19,23 +19,25 @@ package de.steamwar.core; -import de.steamwar.Reflection; import com.comphenix.tinyprotocol.TinyProtocol; -import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; +import de.steamwar.Reflection; import net.minecraft.world.level.World; import net.minecraft.world.level.chunk.Chunk; import net.minecraft.world.level.chunk.ChunkStatus; import net.minecraft.world.level.lighting.LevelLightEngine; import org.bukkit.entity.Player; +import java.util.BitSet; + public class CraftbukkitWrapper20 implements CraftbukkitWrapper.ICraftbukkitWrapper { private static final Reflection.Method getHandle = Reflection.getMethod("org.bukkit.craftbukkit.CraftChunk", "getHandle", ChunkStatus.class); private static final Reflection.Method getLightEngine = Reflection.getTypedMethod(World.class, null, LevelLightEngine.class); + private static final Reflection.Constructor clientBoundLevelChunkWithLightPacket = Reflection.getConstructor("net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket", Chunk.class, LevelLightEngine.class, BitSet.class, BitSet.class, boolean.class); @Override public void sendChunk(Player p, int chunkX, int chunkZ) { Chunk chunk = (Chunk) getHandle.invoke(p.getWorld().getChunkAt(chunkX, chunkZ), ChunkStatus.n); - TinyProtocol.instance.sendPacket(p, new ClientboundLevelChunkWithLightPacket(chunk, (LevelLightEngine) getLightEngine.invoke(chunk.r), null, null, true)); + TinyProtocol.instance.sendPacket(p, clientBoundLevelChunkWithLightPacket.invoke(chunk, (LevelLightEngine) getLightEngine.invoke(chunk.r), null, null, true)); } }