9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-28 19:39:11 +00:00

refactor(network): 清理代码

This commit is contained in:
jhqwqmc
2025-03-23 07:53:05 +08:00
parent 8024b3137d
commit 7a3c4fb61f
3 changed files with 0 additions and 139 deletions

View File

@@ -125,11 +125,8 @@ public class BukkitNetworkManager implements NetworkManager, Listener {
registerNMSPacketConsumer(PacketConsumers.MOVE_ENTITY, Reflections.clazz$ClientboundMoveEntityPacket$Pos);
registerNMSPacketConsumer(PacketConsumers.PICK_ITEM_FROM_ENTITY, Reflections.clazz$ServerboundPickItemFromEntityPacket);
registerNMSPacketConsumer(PacketConsumers.SOUND, Reflections.clazz$ClientboundSoundPacket);
// registerNMSPacketConsumer(PacketConsumers.CHAT, Reflections.clazz$ServerboundChatPacket);
registerNMSPacketConsumer(PacketConsumers.RENAME_ITEM, Reflections.clazz$ServerboundRenameItemPacket);
registerNMSPacketConsumer(PacketConsumers.SIGN_UPDATE, Reflections.clazz$ServerboundSignUpdatePacket);
// registerNMSPacketConsumer(PacketConsumers.COMMAND_SIGNED, Reflections.clazz$ServerboundChatCommandSignedPacket);
// registerNMSPacketConsumer(PacketConsumers.COMMAND, Reflections.clazz$ServerboundChatCommandPacket);
registerByteBufPacketConsumer(PacketConsumers.SECTION_BLOCK_UPDATE, this.packetIds.clientboundSectionBlocksUpdatePacket());
registerByteBufPacketConsumer(PacketConsumers.BLOCK_UPDATE, this.packetIds.clientboundBlockUpdatePacket());
registerByteBufPacketConsumer(PacketConsumers.LEVEL_PARTICLE, this.packetIds.clientboundLevelParticlesPacket());

View File

@@ -663,34 +663,6 @@ public class PacketConsumers {
}
};
// we handle it on packet level to prevent it from being captured by plugins (most are chat plugins)
public static final TriConsumer<NetWorkUser, NMSPacketEvent, Object> CHAT = (user, event, packet) -> {
try {
String message = (String) Reflections.field$ServerboundChatPacket$message.get(packet);
if (message != null && !message.isEmpty()) {
ImageManager manager = CraftEngine.instance().imageManager();
if (!manager.isDefaultFontInUse()) return;
runIfContainsIllegalCharacter(message, manager, (s) -> {
event.setCancelled(true);
try {
Object newPacket = Reflections.constructor$ServerboundChatPacket.newInstance(
s,
Reflections.field$ServerboundChatPacket$timeStamp.get(packet),
Reflections.field$ServerboundChatPacket$salt.get(packet),
Reflections.field$ServerboundChatPacket$signature.get(packet),
Reflections.field$ServerboundChatPacket$lastSeenMessages.get(packet)
);
user.receivePacket(newPacket);
} catch (Exception e) {
CraftEngine.instance().logger().warn("Failed to create replaced chat packet", e);
}
});
}
} catch (Exception e) {
CraftEngine.instance().logger().warn("Failed to handle ServerboundChatPacket", e);
}
};
// we handle it on packet level to prevent it from being captured by plugins
public static final TriConsumer<NetWorkUser, NMSPacketEvent, Object> RENAME_ITEM = (user, event, packet) -> {
try {
@@ -732,50 +704,6 @@ public class PacketConsumers {
}
};
public static final TriConsumer<NetWorkUser, NMSPacketEvent, Object> COMMAND_SIGNED = (user, event, packet) -> {
try {
String command = (String) Reflections.field$ServerboundChatCommandSignedPacket$command.get(packet);
ImageManager manager = CraftEngine.instance().imageManager();
if (!manager.isDefaultFontInUse()) return;
runIfContainsIllegalCharacter(command, manager, (s) -> {
event.setCancelled(true);
try {
Object newPacket = Reflections.constructor$ServerboundChatCommandSignedPacket.newInstance(
s,
Reflections.field$ServerboundChatCommandSignedPacket$timeStamp.get(packet),
Reflections.field$ServerboundChatCommandSignedPacket$salt.get(packet),
Reflections.field$ServerboundChatCommandSignedPacket$argumentSignatures.get(packet),
Reflections.field$ServerboundChatCommandSignedPacket$lastSeenMessages.get(packet)
);
user.receivePacket(newPacket);
} catch (Exception e) {
CraftEngine.instance().logger().warn("Failed to create replaced chat command signed packet", e);
}
});
} catch (Exception e) {
CraftEngine.instance().logger().warn("Failed to handle ServerboundChatCommandSignedPacket", e);
}
};
public static final TriConsumer<NetWorkUser, NMSPacketEvent, Object> COMMAND = (user, event, packet) -> {
try {
String command = (String) Reflections.field$SServerboundChatCommandPacket$command.get(packet);
ImageManager manager = CraftEngine.instance().imageManager();
if (!manager.isDefaultFontInUse()) return;
runIfContainsIllegalCharacter(command, manager, (s) -> {
event.setCancelled(true);
try {
Object newPacket = Reflections.constructor$ServerboundChatCommandPacket.newInstance(s);
user.receivePacket(newPacket);
} catch (Exception e) {
CraftEngine.instance().logger().warn("Failed to create replaced chat command packet", e);
}
});
} catch (Exception e) {
CraftEngine.instance().logger().warn("Failed to handle ServerboundChatCommandPacket", e);
}
};
private static void runIfContainsIllegalCharacter(String string, ImageManager manager, Consumer<String> callback) {
//noinspection DuplicatedCode
char[] chars = string.toCharArray();

View File

@@ -5204,70 +5204,6 @@ public class Reflections {
)
);
public static final Class<?> clazz$ArgumentSignatures = requireNonNull(
ReflectionUtils.getClazz(
BukkitReflectionUtils.assembleMCClass("commands.arguments.ArgumentSignatures")
)
);
public static final Class<?> clazz$ServerboundChatCommandSignedPacket = requireNonNull(
ReflectionUtils.getClazz(
BukkitReflectionUtils.assembleMCClass("network.protocol.game.ServerboundChatCommandSignedPacket"),
BukkitReflectionUtils.assembleMCClass("network.protocol.game.ServerboundChatCommandPacket")
)
);
public static final Field field$ServerboundChatCommandSignedPacket$command = requireNonNull(
ReflectionUtils.getDeclaredField(
clazz$ServerboundChatCommandSignedPacket, String.class, 0
)
);
public static final Field field$ServerboundChatCommandSignedPacket$timeStamp = requireNonNull(
ReflectionUtils.getDeclaredField(
clazz$ServerboundChatCommandSignedPacket, Instant.class, 0
)
);
public static final Field field$ServerboundChatCommandSignedPacket$salt = requireNonNull(
ReflectionUtils.getDeclaredField(
clazz$ServerboundChatCommandSignedPacket, long.class, 0
)
);
public static final Field field$ServerboundChatCommandSignedPacket$argumentSignatures = requireNonNull(
ReflectionUtils.getDeclaredField(
clazz$ServerboundChatCommandSignedPacket, clazz$ArgumentSignatures, 0
)
);
public static final Field field$ServerboundChatCommandSignedPacket$lastSeenMessages = requireNonNull(
ReflectionUtils.getDeclaredField(
clazz$ServerboundChatCommandSignedPacket, clazz$LastSeenMessages$Update, 0
)
);
public static final Constructor<?> constructor$ServerboundChatCommandSignedPacket = requireNonNull(
ReflectionUtils.getConstructor(
clazz$ServerboundChatCommandSignedPacket, String.class, Instant.class, long.class, clazz$ArgumentSignatures, clazz$LastSeenMessages$Update
)
);
// 1.20.5+
public static final Class<?> clazz$ServerboundChatCommandPacket = VersionHelper.isVersionNewerThan1_20_5()
? ReflectionUtils.getClazz(BukkitReflectionUtils.assembleMCClass("network.protocol.game.ServerboundChatCommandPacket"))
: null;
// 1.20.5+
public static final Field field$SServerboundChatCommandPacket$command = Optional.ofNullable(clazz$ServerboundChatCommandPacket)
.map(it -> ReflectionUtils.getDeclaredField(it, String.class, 0))
.orElse(null);
// 1.20.5+
public static final Constructor<?> constructor$ServerboundChatCommandPacket = Optional.ofNullable(clazz$ServerboundChatCommandPacket)
.map(it -> ReflectionUtils.getConstructor(it, String.class))
.orElse(null);
@SuppressWarnings("UnstableApiUsage")
public static final Field field$AsyncChatDecorateEvent$originalMessage = requireNonNull(
ReflectionUtils.getDeclaredField(AsyncChatDecorateEvent.class, "originalMessage")