Posted July 19, 20214 yr I want to execute Player from the server to run the /give command by sending a packet , I try to let player send a packet to the server then the server runs XXX.handleCommand(AdminLevelSource(Player), RunCommandPacket.getCommand()); But it will close the player's connection and throw an error Quote IllegalStateException-An invalid packet was received, and the connection was aborted What is the solution? Edited July 19, 20214 yr by SonMooSans
July 19, 20214 yr Author hmm a new problem when I try to debug it It throws error when buf.readString() package xxx; import net.minecraft.network.PacketBuffer; public class RunCommandRequest { public RunCommandRequest(String i_Command) { Command = i_Command; } public String GetCommand() { return Command; } private RunCommandRequest() { } public static RunCommandRequest decode(PacketBuffer buf) { RunCommandRequest retval = new RunCommandRequest(); retval.Command = buf.readString(); //error return retval; } public void encode(PacketBuffer buf) { buf.writeString(Command); } private String Command; }
July 19, 20214 yr The readString you are using is client only, you should use the one that takes an int as its argument. Have you register you packet?
July 19, 20214 yr Author ModTestChannel.registerMessage(RunCommandRequest_ID, RunCommandRequest.class, RunCommandRequest::encode, RunCommandRequest::decode, MessageHandlerServer::GetRunCommandRequest, Optional.of(PLAY_TO_SERVER)); i sure i have register it, anyway I will try the one that takes an int as its argument.
July 19, 20214 yr Author Okay thx, It seems worked! And that error also been fixed Edited July 19, 20214 yr by SonMooSans
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.