mirror of
https://github.com/tanyaofei/minecraft-fakeplayer.git
synced 2025-09-14 03:06:46 +08:00
fix plugin message
This commit is contained in:
parent
61d4ba297d
commit
fe316696d4
@ -3,6 +3,7 @@ package io.github.hello09x.fakeplayer.v1_21_5.network;
|
|||||||
import io.github.hello09x.fakeplayer.api.spi.NMSServerGamePacketListener;
|
import io.github.hello09x.fakeplayer.api.spi.NMSServerGamePacketListener;
|
||||||
import io.github.hello09x.fakeplayer.core.Main;
|
import io.github.hello09x.fakeplayer.core.Main;
|
||||||
import io.github.hello09x.fakeplayer.core.manager.FakeplayerManager;
|
import io.github.hello09x.fakeplayer.core.manager.FakeplayerManager;
|
||||||
|
import lombok.Lombok;
|
||||||
import net.minecraft.network.Connection;
|
import net.minecraft.network.Connection;
|
||||||
import net.minecraft.network.protocol.Packet;
|
import net.minecraft.network.protocol.Packet;
|
||||||
import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket;
|
import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket;
|
||||||
@ -16,6 +17,7 @@ import org.bukkit.Bukkit;
|
|||||||
import org.bukkit.craftbukkit.v1_21_R4.entity.CraftPlayer;
|
import org.bukkit.craftbukkit.v1_21_R4.entity.CraftPlayer;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@ -66,7 +68,7 @@ public class FakeServerGamePacketListenerImpl extends ServerGamePacketListenerIm
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(payload instanceof DiscardedPayload p)) {
|
if (!(payload instanceof DiscardedPayload discardedPayload)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,8 +84,20 @@ public class FakeServerGamePacketListenerImpl extends ServerGamePacketListenerIm
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var message = p.data().array();
|
var message = getDiscardedPayloadData(discardedPayload);
|
||||||
recipient.sendPluginMessage(Main.getInstance(), BUNGEE_CORD_CHANNEL, message);
|
recipient.sendPluginMessage(Main.getInstance(), BUNGEE_CORD_CHANNEL, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private byte[] getDiscardedPayloadData(@NotNull DiscardedPayload payload) {
|
||||||
|
try {
|
||||||
|
return payload.data().array();
|
||||||
|
} catch (NoSuchMethodError e) {
|
||||||
|
try {
|
||||||
|
return (byte[]) payload.getClass().getMethod("data").invoke(payload); // 1.21.5 actual is `public final byte[] data() {}`
|
||||||
|
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException ex) {
|
||||||
|
throw Lombok.sneakyThrow(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -3,6 +3,7 @@ package io.github.hello09x.fakeplayer.v1_21_6.network;
|
|||||||
import io.github.hello09x.fakeplayer.api.spi.NMSServerGamePacketListener;
|
import io.github.hello09x.fakeplayer.api.spi.NMSServerGamePacketListener;
|
||||||
import io.github.hello09x.fakeplayer.core.Main;
|
import io.github.hello09x.fakeplayer.core.Main;
|
||||||
import io.github.hello09x.fakeplayer.core.manager.FakeplayerManager;
|
import io.github.hello09x.fakeplayer.core.manager.FakeplayerManager;
|
||||||
|
import lombok.Lombok;
|
||||||
import net.minecraft.network.Connection;
|
import net.minecraft.network.Connection;
|
||||||
import net.minecraft.network.protocol.Packet;
|
import net.minecraft.network.protocol.Packet;
|
||||||
import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket;
|
import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket;
|
||||||
@ -75,7 +76,7 @@ public class FakeServerGamePacketListenerImpl extends ServerGamePacketListenerIm
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(payload instanceof DiscardedPayload p)) {
|
if (!(payload instanceof DiscardedPayload discardedPayload)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,8 +92,20 @@ public class FakeServerGamePacketListenerImpl extends ServerGamePacketListenerIm
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var message = p.data().array();
|
var message = getDiscardedPayloadData(discardedPayload);
|
||||||
recipient.sendPluginMessage(Main.getInstance(), BUNGEE_CORD_CHANNEL, message);
|
recipient.sendPluginMessage(Main.getInstance(), BUNGEE_CORD_CHANNEL, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private byte[] getDiscardedPayloadData(@NotNull DiscardedPayload payload) {
|
||||||
|
try {
|
||||||
|
return payload.data().array();
|
||||||
|
} catch (NoSuchMethodError e) {
|
||||||
|
try {
|
||||||
|
return (byte[]) payload.getClass().getMethod("data").invoke(payload); // 1.21.5 actual is `public final byte[] data() {}`
|
||||||
|
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException ex) {
|
||||||
|
throw Lombok.sneakyThrow(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
2
pom.xml
2
pom.xml
@ -32,7 +32,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<java.version>21</java.version>
|
<java.version>21</java.version>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<revision>0.3.16</revision>
|
<revision>0.3.17</revision>
|
||||||
|
|
||||||
<detools.version>0.1.6-SNAPSHOT</detools.version>
|
<detools.version>0.1.6-SNAPSHOT</detools.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
Loading…
Reference in New Issue
Block a user