From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lumine1909 <133463833+Lumine1909@users.noreply.github.com> Date: Thu, 6 Feb 2025 00:14:23 +0800 Subject: [PATCH] Bytebuf API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index f1848949bc794f937818fdcdce4fadaab82bf849..42ffcde28d14d7e6b0531dc70f6046f4ee211657 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -318,6 +318,7 @@ public final class CraftServer implements Server { public final io.papermc.paper.SparksFly spark; // Paper - spark private final org.leavesmc.leaves.entity.CraftBotManager botManager; // Leaves private final org.leavesmc.leaves.entity.CraftPhotographerManager photographerManager = new org.leavesmc.leaves.entity.CraftPhotographerManager(); // Leaves + private final org.leavesmc.leaves.bytebuf.internal.InternalBytebufHandler internalBytebufHandler = new org.leavesmc.leaves.bytebuf.internal.InternalBytebufHandler(); // Leaves // Paper start - Folia region threading API private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler(); @@ -3316,4 +3317,15 @@ public final class CraftServer implements Server { return photographerManager; } // Leaves end - replay mod api + + // Leaves start - Bytebuf API + @Override + public org.leavesmc.leaves.bytebuf.BytebufManager getBytebufManager() { + return internalBytebufHandler.getManager(); + } + + public org.leavesmc.leaves.bytebuf.internal.InternalBytebufHandler getBytebufHandler() { + return internalBytebufHandler; + } + // Leaves end - Bytebuf API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 7fbcff4370382ee5ea0b67baa683c2ff6618453a..aee743ffb255f0aec1a62cb55980ec8b3eda5ed7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3602,4 +3602,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setDeathScreenScore(final int score) { getHandle().setScore(score); } + + // Leaves start - Bytebuf API + @Override + public void sendPacket(org.leavesmc.leaves.bytebuf.packet.Packet packet) { + this.server.getBytebufHandler().applyPacketToPlayer(this.getHandle(), packet); + } + + @Override + public void sendPacket(org.leavesmc.leaves.bytebuf.Bytebuf bytebuf, org.leavesmc.leaves.bytebuf.packet.PacketType type) { + this.server.getBytebufHandler().applyPacketToPlayer(this.getHandle(), new org.leavesmc.leaves.bytebuf.packet.Packet(type, bytebuf)); + } + // Leaves end - Bytebuf API }