mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-20 15:39:22 +00:00
重构网络包ID查找逻辑
This commit is contained in:
@@ -187,6 +187,6 @@ public class PacketIds1_20_5 implements PacketIds {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int serverboundCustomPayloadPacket() {
|
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;
|
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.nms.FastNMS;
|
||||||
import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.CoreReflections;
|
|
||||||
import net.momirealms.craftengine.core.plugin.CraftEngine;
|
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.plugin.network.PacketFlow;
|
||||||
import net.momirealms.craftengine.core.util.VersionHelper;
|
import net.momirealms.craftengine.core.util.VersionHelper;
|
||||||
|
|
||||||
@@ -19,25 +17,10 @@ public class PlayPacketIdHelper {
|
|||||||
|
|
||||||
static {
|
static {
|
||||||
try {
|
try {
|
||||||
if (VersionHelper.isOrAbove1_21()) {
|
if (VersionHelper.isOrAbove1_20_5()) {
|
||||||
Object packetReport = CoreReflections.constructor$PacketReport.newInstance((Object) null);
|
byName.putAll(FastNMS.INSTANCE.gamePacketIdsByName().get(ConnectionState.PLAY));
|
||||||
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());
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
for (Map.Entry<String, Map<Class<?>, Integer>> entry : FastNMS.INSTANCE.gamePacketIdsByClazz().entrySet()) {
|
byClazz.putAll(FastNMS.INSTANCE.gamePacketIdsByClazz().get(ConnectionState.PLAY));
|
||||||
byClazz.put(PacketFlow.valueOf(entry.getKey().toUpperCase(Locale.ROOT)), entry.getValue());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!byName.isEmpty()) {
|
if (!byName.isEmpty()) {
|
||||||
for (Map.Entry<PacketFlow, Map<String, Integer>> entry : byName.entrySet()) {
|
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
|
ahocorasick_version=0.6.3
|
||||||
snake_yaml_version=2.5
|
snake_yaml_version=2.5
|
||||||
anti_grief_version=1.0.4
|
anti_grief_version=1.0.4
|
||||||
nms_helper_version=1.0.119
|
nms_helper_version=1.0.120
|
||||||
evalex_version=3.5.0
|
evalex_version=3.5.0
|
||||||
reactive_streams_version=1.0.4
|
reactive_streams_version=1.0.4
|
||||||
amazon_awssdk_version=2.34.5
|
amazon_awssdk_version=2.34.5
|
||||||
|
|||||||
Reference in New Issue
Block a user