mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
重构网络包ID查找逻辑
This commit is contained in:
@@ -187,6 +187,6 @@ public class PacketIds1_20_5 implements PacketIds {
|
||||
|
||||
@Override
|
||||
public int serverboundCustomPayloadPacket() {
|
||||
return PlayPacketIdHelper.byName("custom_payload", PacketFlow.SERVERBOUND);
|
||||
return PlayPacketIdHelper.byName("minecraft:custom_payload", PacketFlow.SERVERBOUND);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package net.momirealms.craftengine.bukkit.plugin.network.id;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import net.momirealms.craftengine.bukkit.nms.FastNMS;
|
||||
import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.CoreReflections;
|
||||
import net.momirealms.craftengine.core.plugin.CraftEngine;
|
||||
import net.momirealms.craftengine.core.plugin.network.ConnectionState;
|
||||
import net.momirealms.craftengine.core.plugin.network.PacketFlow;
|
||||
import net.momirealms.craftengine.core.util.VersionHelper;
|
||||
|
||||
@@ -19,25 +17,10 @@ public class PlayPacketIdHelper {
|
||||
|
||||
static {
|
||||
try {
|
||||
if (VersionHelper.isOrAbove1_21()) {
|
||||
Object packetReport = CoreReflections.constructor$PacketReport.newInstance((Object) null);
|
||||
JsonObject packetReportData = ((JsonElement) CoreReflections.method$PacketReport$serializePackets.invoke(packetReport)).getAsJsonObject();
|
||||
JsonObject playData = packetReportData.get("play").getAsJsonObject();
|
||||
for (Map.Entry<String, JsonElement> entry : playData.entrySet()) {
|
||||
Map<String, Integer> ids = new HashMap<>();
|
||||
byName.put(PacketFlow.valueOf(entry.getKey().toUpperCase(Locale.ROOT)), ids);
|
||||
for (var entry2 : entry.getValue().getAsJsonObject().entrySet()) {
|
||||
ids.put(entry2.getKey(), entry2.getValue().getAsJsonObject().get("protocol_id").getAsInt());
|
||||
}
|
||||
}
|
||||
} else if (VersionHelper.isOrAbove1_20_5()) {
|
||||
for (Map.Entry<String, Map<String, Integer>> entry : FastNMS.INSTANCE.gamePacketIdsByName().entrySet()) {
|
||||
byName.put(PacketFlow.valueOf(entry.getKey().toUpperCase(Locale.ROOT)), entry.getValue());
|
||||
}
|
||||
if (VersionHelper.isOrAbove1_20_5()) {
|
||||
byName.putAll(FastNMS.INSTANCE.gamePacketIdsByName().get(ConnectionState.PLAY));
|
||||
} else {
|
||||
for (Map.Entry<String, Map<Class<?>, Integer>> entry : FastNMS.INSTANCE.gamePacketIdsByClazz().entrySet()) {
|
||||
byClazz.put(PacketFlow.valueOf(entry.getKey().toUpperCase(Locale.ROOT)), entry.getValue());
|
||||
}
|
||||
byClazz.putAll(FastNMS.INSTANCE.gamePacketIdsByClazz().get(ConnectionState.PLAY));
|
||||
}
|
||||
if (!byName.isEmpty()) {
|
||||
for (Map.Entry<PacketFlow, Map<String, Integer>> entry : byName.entrySet()) {
|
||||
|
||||
@@ -50,7 +50,7 @@ byte_buddy_version=1.17.8
|
||||
ahocorasick_version=0.6.3
|
||||
snake_yaml_version=2.5
|
||||
anti_grief_version=1.0.4
|
||||
nms_helper_version=1.0.119
|
||||
nms_helper_version=1.0.120
|
||||
evalex_version=3.5.0
|
||||
reactive_streams_version=1.0.4
|
||||
amazon_awssdk_version=2.34.5
|
||||
|
||||
Reference in New Issue
Block a user