- Баллы
- 66
- Имя в Minecraft
- Phizzle
Привет всем, я пытаюсь отправить игроку/игрокам пакет PacketScoreBoardTeam (класс с и пытаюсь присвоить ему допустим префикс "§cABC", но выдает предупреждение ниже и следовательно не отправляет пакет. Тоже самое и с PacketPlayOutScoreboardTeam/PacketPlayOutScoreboardScore
Код:
Отправка пакета:
PHP:
[06:25:16 WARN]: java.lang.IllegalArgumentException: Can not set net.minecraft.server.v1_15_R1.EnumChatFormat field net.minecraft.server.v1_15_R1.PacketPlayOutScoreboardTeam.g to java.lang.Integer
[06:25:16 WARN]: at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
[06:25:16 WARN]: at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
[06:25:16 WARN]: at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source)
[06:25:16 WARN]: at java.lang.reflect.Field.set(Unknown Source)
[06:25:16 WARN]: at ru.phizzle.cwtags.utils.nms.ReflectionUtils.setFieldValue(ReflectionUtils.java:11)
[06:25:16 WARN]: at ru.phizzle.cwtags.utils.nms.packet.PacketScoreBoardTeam.init(PacketScoreBoardTeam.java:39)
[06:25:16 WARN]: at ru.phizzle.cwtags.utils.nms.packet.PacketScoreBoardTeam.init(PacketScoreBoardTeam.java:8)
[06:25:16 WARN]: at ru.phizzle.cwtags.utils.nms.packet.PacketBase.sendPacket(PacketBase.java:22)
[06:25:16 WARN]: at ru.phizzle.cwtags.utils.nms.packet.PacketContainer.lambda$sendPacket$0(PacketContainer.java:20)
[06:25:16 WARN]: at java.util.Arrays$ArrayList.forEach(Unknown Source)
[06:25:16 WARN]: at ru.phizzle.cwtags.utils.nms.packet.PacketContainer.sendPacket(PacketContainer.java:20)
[06:25:16 WARN]: at ru.phizzle.cwtags.scoreboard.PlayerTag.sendTo(PlayerTag.java:59)
[06:25:16 WARN]: at ru.phizzle.cwtags.spCommand.onCommand(spCommand.java:18)
[06:25:16 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[06:25:16 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159)
[06:25:16 WARN]: at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:752)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.PlayerConnection.handleCommand(PlayerConnection.java:1825)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1633)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:47)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:5)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:1038)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1031)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1015)
[06:25:16 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:938)
[06:25:16 WARN]: at java.lang.Thread.run(Unknown Source)
Код:
PHP:
public class PacketScoreBoardTeam extends PacketBase<PacketPlayOutScoreboardTeam> {
private HTeam team;
private TeamAction teamAction;
public PacketScoreBoardTeam(HTeam team, TeamAction teamAction) {
this.team = team;
this.teamAction = teamAction;
}
public void setTeamAction(TeamAction action) {
this.teamAction = action;
init();
}
public HTeam getTeam() {
return team;
}
public void setTeam(HTeam team) {
this.team = team;
init();
}
protected PacketPlayOutScoreboardTeam init() {
PacketPlayOutScoreboardTeam packet = new PacketPlayOutScoreboardTeam();
ReflectionUtils.setFieldValue(packet, "a", team.getName());
ReflectionUtils.setFieldValue(packet, "e", team.getVisibility().getValue());
ReflectionUtils.setFieldValue(packet, "i", teamAction.getMode());
ReflectionUtils.setFieldValue(packet, "j", team.packOptionData());
ReflectionUtils.setFieldValue(packet, "g", 0);
ReflectionUtils.setFieldValue(packet, "h", team.getPlayers());
if (teamAction == TeamAction.CREATE || teamAction == TeamAction.UPDATE) {
ReflectionUtils.setFieldValue(packet, "b", team.getDisplayName());
ReflectionUtils.setFieldValue(packet, "c", team.getPrefix());
ReflectionUtils.setFieldValue(packet, "d", team.getSuffix());
ReflectionUtils.setFieldValue(packet, "f", team.getCollides().getValue());
}
return packet;
}
}
Отправка пакета:
PHP:
public void sendPacket(final Player player, HPacket... hPackets) {
if (hPackets.length == 0) {
return;
}
Arrays.asList(hPackets).forEach(packet -> packet.sendPacket(player));
}
Последнее редактирование:
