Add support for protocol version 1.21.100 (#12)

This commit is contained in:
Akmal Fairuz
2025-08-13 21:37:46 +07:00
committed by GitHub
parent d3fae5d3be
commit d9d8b0bc75
50 changed files with 9667 additions and 135 deletions

View File

@@ -1,13 +1,14 @@
package legacyver
import (
"strings"
"github.com/akmalfairuz/legacy-version/legacyver/legacypacket"
"github.com/akmalfairuz/legacy-version/legacyver/proto"
"github.com/samber/lo"
"github.com/sandertv/gophertunnel/minecraft"
"github.com/sandertv/gophertunnel/minecraft/protocol"
"github.com/sandertv/gophertunnel/minecraft/protocol/packet"
"strings"
)
var (
@@ -294,11 +295,12 @@ func (p *Protocol) downgradePackets(pks []packet.Packet, conn *minecraft.Conn) [
}
case *packet.CameraAimAssist:
pks[pkIndex] = &legacypacket.CameraAimAssist{
Preset: pk.Preset,
Angle: pk.Angle,
Distance: pk.Distance,
TargetMode: pk.TargetMode,
Action: pk.Action,
Preset: pk.Preset,
Angle: pk.Angle,
Distance: pk.Distance,
TargetMode: pk.TargetMode,
Action: pk.Action,
ShowDebugRender: pk.ShowDebugRender,
}
case *packet.UpdateAttributes:
attributes := make([]proto.Attribute, len(pk.Attributes))
@@ -392,6 +394,7 @@ func (p *Protocol) downgradePackets(pks []packet.Packet, conn *minecraft.Conn) [
Fade: pk.Fade,
Target: pk.Target,
RemoveTarget: pk.RemoveTarget,
FieldOfView: pk.FieldOfView,
}
case *packet.ChangeDimension:
pks[pkIndex] = &legacypacket.ChangeDimension{
@@ -594,6 +597,7 @@ func (p *Protocol) downgradePackets(pks []packet.Packet, conn *minecraft.Conn) [
ScenarioID: pk.ScenarioID,
OwnerID: pk.OwnerID,
UseBlockNetworkIDHashes: pk.UseBlockNetworkIDHashes,
TickDeathSystemsEnabled: pk.TickDeathSystemsEnabled,
ServerAuthoritativeSound: pk.ServerAuthoritativeSound,
}
case *packet.CodeBuilderSource:
@@ -721,8 +725,12 @@ func (p *Protocol) downgradePackets(pks []packet.Packet, conn *minecraft.Conn) [
Visibility: pk.Visibility,
}
case *packet.BiomeDefinitionList:
biomeDefinitions := make([]proto.BiomeDefinition, len(pk.BiomeDefinitions))
for i, bd := range pk.BiomeDefinitions {
biomeDefinitions[i] = (&proto.BiomeDefinition{}).FromLatest(bd)
}
pks[pkIndex] = &legacypacket.BiomeDefinitionList{
BiomeDefinitions: pk.BiomeDefinitions,
BiomeDefinitions: biomeDefinitions,
StringList: pk.StringList,
}
case *packet.PlayerList:
@@ -868,11 +876,12 @@ func (p *Protocol) upgradePackets(pks []packet.Packet, conn *minecraft.Conn) []p
}
case *legacypacket.CameraAimAssist:
pks[pkIndex] = &packet.CameraAimAssist{
Preset: pk.Preset,
Angle: pk.Angle,
Distance: pk.Distance,
TargetMode: pk.TargetMode,
Action: pk.Action,
Preset: pk.Preset,
Angle: pk.Angle,
Distance: pk.Distance,
TargetMode: pk.TargetMode,
Action: pk.Action,
ShowDebugRender: pk.ShowDebugRender,
}
case *legacypacket.UpdateAttributes:
attributes := make([]protocol.Attribute, len(pk.Attributes))
@@ -966,6 +975,7 @@ func (p *Protocol) upgradePackets(pks []packet.Packet, conn *minecraft.Conn) []p
Fade: pk.Fade,
Target: pk.Target,
RemoveTarget: pk.RemoveTarget,
FieldOfView: pk.FieldOfView,
}
case *legacypacket.ChangeDimension:
pks[pkIndex] = &packet.ChangeDimension{
@@ -1156,6 +1166,7 @@ func (p *Protocol) upgradePackets(pks []packet.Packet, conn *minecraft.Conn) []p
ScenarioID: pk.ScenarioID,
OwnerID: pk.OwnerID,
UseBlockNetworkIDHashes: pk.UseBlockNetworkIDHashes,
TickDeathSystemsEnabled: pk.TickDeathSystemsEnabled,
ServerAuthoritativeSound: pk.ServerAuthoritativeSound,
}
case *legacypacket.CodeBuilderSource:
@@ -1257,8 +1268,12 @@ func (p *Protocol) upgradePackets(pks []packet.Packet, conn *minecraft.Conn) []p
Visibility: pk.Visibility,
}
case *legacypacket.BiomeDefinitionList:
biomeDefinitions := make([]protocol.BiomeDefinition, len(pk.BiomeDefinitions))
for i, bd := range pk.BiomeDefinitions {
biomeDefinitions[i] = bd.ToLatest()
}
pks[pkIndex] = &packet.BiomeDefinitionList{
BiomeDefinitions: pk.BiomeDefinitions,
BiomeDefinitions: biomeDefinitions,
StringList: pk.StringList,
}
case *legacypacket.PlayerList: