From c00abc4d70209d561c560b0842a7202024a01015 Mon Sep 17 00:00:00 2001 From: AkmalFairuz Date: Thu, 11 Dec 2025 18:18:41 +0700 Subject: [PATCH] fix... --- legacyver/proto/command.go | 17 +++++++++++++++++ legacyver/protocol.go | 12 ++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/legacyver/proto/command.go b/legacyver/proto/command.go index 274867c..d86ee44 100644 --- a/legacyver/proto/command.go +++ b/legacyver/proto/command.go @@ -295,3 +295,20 @@ func (x *CommandOutputMessage) Marshal(r protocol.IO) { r.Bool(&x.Success) protocol.FuncSlice(r, &x.Parameters, r.String) } + +// ToLatest ... +func (x *CommandOutputMessage) ToLatest() protocol.CommandOutputMessage { + return protocol.CommandOutputMessage{ + Success: x.Success, + Message: x.Message, + Parameters: x.Parameters, + } +} + +// FromLatest ... +func (x *CommandOutputMessage) FromLatest(latest protocol.CommandOutputMessage) CommandOutputMessage { + x.Success = latest.Success + x.Message = latest.Message + x.Parameters = latest.Parameters + return *x +} diff --git a/legacyver/protocol.go b/legacyver/protocol.go index 7bd07fb..421da73 100644 --- a/legacyver/protocol.go +++ b/legacyver/protocol.go @@ -796,11 +796,15 @@ func (p *Protocol) downgradePackets(pks []packet.Packet, conn *minecraft.Conn) [ Constraints: pk.Constraints, } case *packet.CommandOutput: + outputMessages := make([]proto.CommandOutputMessage, len(pk.OutputMessages)) + for i, outputMessage := range pk.OutputMessages { + outputMessages[i] = (&proto.CommandOutputMessage{}).FromLatest(outputMessage) + } pks[pkIndex] = &legacypacket.CommandOutput{ CommandOrigin: pk.CommandOrigin, OutputType: pk.OutputType, SuccessCount: pk.SuccessCount, - OutputMessages: pk.OutputMessages, + OutputMessages: outputMessages, DataSet: pk.DataSet, } case *packet.CommandRequest: @@ -1397,11 +1401,15 @@ func (p *Protocol) upgradePackets(pks []packet.Packet, conn *minecraft.Conn) []p Constraints: pk.Constraints, } case *legacypacket.CommandOutput: + outputMessages := make([]protocol.CommandOutputMessage, len(pk.OutputMessages)) + for i, outputMessage := range pk.OutputMessages { + outputMessages[i] = outputMessage.ToLatest() + } pks[pkIndex] = &packet.CommandOutput{ CommandOrigin: pk.CommandOrigin, OutputType: pk.OutputType, SuccessCount: pk.SuccessCount, - OutputMessages: pk.OutputMessages, + OutputMessages: outputMessages, DataSet: pk.DataSet, } case *legacypacket.CommandRequest: