Skip to content

Commit

Permalink
Merge pull request #6 from Mojang/r/20_u8
Browse files Browse the repository at this point in the history
Protocol version 671 for r/20_u8
  • Loading branch information
oswaldolb authored Apr 25, 2024
2 parents 2948866 + 11ff951 commit ebba866
Show file tree
Hide file tree
Showing 520 changed files with 3,959 additions and 4,225 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
We share our Network Protocol with server partners so they can write their own Minecraft servers with their own code. This documentation compiles a series of tree diagrams that define the structure of the packets used by the Protocol, as well as related classes and enums.
Protocol is subject to change release over release.

Current Release - r/20_u7
Current Release - r/20_u8
164 changes: 164 additions & 0 deletions changelog_671_03_25_24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# Minecraft Network Protocol Docs 03/25/2024
For r20u8, Network Protocol Version 671

## Packet Changes

UpdatePlayerGameTypePacket:
* Added mTick (uint64_t)

ShapedChemistryRecipe:
* Added recipe.assumeSymmetry() (bool)

ShapedRecipe:
* Added recipe.assumeSymmetry() (bool)

LevelSettings:
* Added val.isHardcore() (bool)

ResourcePackStackPacket:
* Added mIncludeEditorPacks (bool)


## Packet Fixes

AnimatePacket:
* Changed branching condition on mData to enum_cast(mAction) & 0x80

AnimatePacket:
* Changed branching condition on mResetPosition to mResetPosition == PlayerPositionModeComponent::PositionMode::Teleport


## Depricated Packets

* FilterTextPacket (FilterTextPacket_DEPRECATED)


## New Enums

CommandRegistry::HardNonTerminal:
* Added Epsilon(NonTerminalBit)
* Added Int(0x100001)
* Added Float(0x100002)
* Added Val(0x100003)
* Added RVal(0x100004)
* Added WildcardInt(0x100005)
* Added Operator(0x100006)
* Added CompareOperator(0x100007)
* Added Selection(0x100008)
* Added StandaloneSelection(0x100009)
* Added WildcardSelection(0x10000a)
* Added NonIdSelector(0x10000b)
* Added ScoresArg(0x10000c)
* Added ScoresArgs(0x10000d)
* Added ScoreSelectParam(0x10000e)
* Added ScoreSelector(0x10000f)
* Added TagSelector(0x100010)
* Added FilePath(0x100011)
* Added FilePathVal(0x100012)
* Added FilePathCont(0x100013)
* Added IntegerRangeVal(0x100014)
* Added IntegerRangePostVal(0x100015)
* Added IntegerRange(0x100016)
* Added FullIntegerRange(0x100017)
* Added RationalRangeVal(0x100018)
* Added RationalRangePostVal(0x100019)
* Added RationalRange(0x10001a)
* Added FullRationalRange(0x10001b)
* Added SelArgs(0x10001c)
* Added Args(0x10001d)
* Added Arg(0x10001e)
* Added MArg(0x10001f)
* Added MValue(0x100020)
* Added NameArg(0x100021)
* Added TypeArg(0x100022)
* Added FamilyArg(0x100023)
* Added HasPermissionArg(0x100024)
* Added HasPermissionArgs(0x100025)
* Added HasPermissionSelector(0x100026)
* Added HasPermissionElement(0x100027)
* Added HasPermissionElements(0x100028)
* Added TagArg(0x100029)
* Added HasItemElement(0x10002a)
* Added HasItemElements(0x10002b)
* Added HasItemArg(0x10002c)
* Added HasItemArgs(0x10002d)
* Added HasItemSelector(0x10002e)
* Added EquipmentSlotEnum(0x10002f)
* Added PropertyValue(0x100030)
* Added HasPropertyParamValue(0x100031)
* Added HasPropertyParamEnumValue(0x100032)
* Added HasPropertyArg(0x100033)
* Added HasPropertyArgs(0x100034)
* Added HasPropertyElement(0x100035)
* Added HasPropertyElements(0x100036)
* Added HasPropertySelector(0x100037)
* Added Id(0x100038)
* Added IdCont(0x100039)
* Added CoordXInt(0x10003a)
* Added CoordYInt(0x10003b)
* Added CoordZInt(0x10003c)
* Added CoordXFloat(0x10003d)
* Added CoordYFloat(0x10003e)
* Added CoordZFloat(0x10003f)
* Added Position(0x100040)
* Added PositionFloat(0x100041)
* Added MessageExp(0x100042)
* Added Message(0x100043)
* Added MessageRoot(0x100044)
* Added PostSelector(0x100045)
* Added RawText(0x100046)
* Added RawTextCont(0x100047)
* Added JsonValue(0x100048)
* Added JsonField(0x100049)
* Added JsonObject(0x10004a)
* Added JsonObjectFields(0x10004b)
* Added JsonObjectCont(0x10004c)
* Added JsonArray(0x10004d)
* Added JsonArrayValues(0x10004e)
* Added JsonArrayCont(0x10004f)
* Added BlockState(0x100050)
* Added BlockStateKey(0x100051)
* Added BlockStateValue(0x100052)
* Added BlockStateValues(0x100053)
* Added BlockStateArray(0x100054)
* Added BlockStateArrayCont(0x100055)
* Added Command(0x100056)
* Added SlashCommand(0x100057)


## Enum Changes
ActorFlags:
* Added DEPRECATED_1(110)
* Added DEPRECATED_2(111)
* Added DEPRECATED_3(112)
* Added BODY_ROTATION_BLOCKED(118)
* Changed Count from 118 to 119
* Removed SCENTING
* Removed RISING
* Removed FEELING_HAPPY

Connection::DisconnectFailReason:
* Added NoVenue(109)
* Added NetherNetSignalingSigninFailed(110)
* Added SessionAccessDenied(111)
* Added ServiceSigninIssue(112)
* Added NetherNetNoSignalingChannel(113)
* Added NetherNetNotLoggedIn(114)
* Added NetherNetClientSignalingError(115)

HudElement:
* Added StatusEffects(11)
* Added ItemText(12)
* Displaced Count

MapDecoration::Type:
* Added TrialChambers(24)
* Displaced Count

MinecraftPacketIds:
* Added FilterTextPacket_DEPRECATED(163)
* Removed FilterTextPacket

ParticleType:
* Added WolfArmorCrack(92)
* Displaced _count
2 changes: 1 addition & 1 deletion dot/ActorEventPacket.dot
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ rankdir = LR
0 [label="ActorEventPacket",comment="name: \"ActorEventPacket\", typeName: \"\", id: 0, branchId: 27, recurseId: -1, attributes: 0, notes: \"\""];
1 [label="Target Runtime ID",comment="name: \"Target Runtime ID\", typeName: \"ActorRuntimeID\", id: 1, branchId: 0, recurseId: -1, attributes: 256, notes: \"\""];
2 [label="ActorRuntimeID",comment="name: \"ActorRuntimeID\", typeName: \"\", id: 2, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
3 [label="Event ID",comment="name: \"Event ID\", typeName: \"\", id: 3, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: ActorEvent\""];
3 [label="Event ID",comment="name: \"Event ID\", typeName: \"\", id: 3, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
4 [label="byte",comment="name: \"byte\", typeName: \"\", id: 4, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
5 [label="Data",comment="name: \"Data\", typeName: \"\", id: 5, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
6 [label="varint",comment="name: \"varint\", typeName: \"\", id: 6, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
Expand Down
2 changes: 1 addition & 1 deletion dot/ActorLink.dot
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ rankdir = LR
112 [label="ActorUniqueID",comment="name: \"ActorUniqueID\", typeName: \"\", id: 112, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
113 [label="Actor Unique ID - B",comment="name: \"Actor Unique ID - B\", typeName: \"ActorUniqueID\", id: 113, branchId: 0, recurseId: -1, attributes: 256, notes: \"\""];
114 [label="ActorUniqueID",comment="name: \"ActorUniqueID\", typeName: \"\", id: 114, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
115 [label="Link Type",comment="name: \"Link Type\", typeName: \"\", id: 115, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: ActorLinkType\""];
115 [label="Link Type",comment="name: \"Link Type\", typeName: \"\", id: 115, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
116 [label="byte",comment="name: \"byte\", typeName: \"\", id: 116, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
117 [label="Immediate",comment="name: \"Immediate\", typeName: \"\", id: 117, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
118 [label="bool",comment="name: \"bool\", typeName: \"\", id: 118, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
Expand Down
4 changes: 2 additions & 2 deletions dot/AddPlayerPacket.dot
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ rankdir = LR
16 [label="float",comment="name: \"float\", typeName: \"\", id: 16, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
17 [label="Carried Item",comment="name: \"Carried Item\", typeName: \"NetworkItemStackDescriptor\", id: 17, branchId: 0, recurseId: -1, attributes: 256, notes: \"\""];
45 [label="NetworkItemStackDescriptor",comment="name: \"NetworkItemStackDescriptor\", typeName: \"\", id: 45, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
46 [label="Player Game Type",comment="name: \"Player Game Type\", typeName: \"\", id: 46, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: GameType\""];
46 [label="Player Game Type",comment="name: \"Player Game Type\", typeName: \"\", id: 46, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
47 [label="varint",comment="name: \"varint\", typeName: \"\", id: 47, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
48 [label="Dependency on 'SynchedActorDataEntityWrapper exist?'",shape=note,comment="name: \"Dependency on 'SynchedActorDataEntityWrapper exist?'\", typeName: \"\", id: 48, branchId: 0, recurseId: -1, attributes: 2, notes: \"\""];
49 [label="if (0)",shape=diamond,comment="name: \"if (0)\", typeName: \"\", id: 49, branchId: 0, recurseId: -1, attributes: 4, notes: \"\""];
Expand All @@ -83,7 +83,7 @@ rankdir = LR
121 [label="ActorLink",comment="name: \"ActorLink\", typeName: \"\", id: 121, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
122 [label="Device Id",comment="name: \"Device Id\", typeName: \"\", id: 122, branchId: 0, recurseId: -1, attributes: 0, notes: \"A unique device id obtained from the connection request.\""];
123 [label="string",comment="name: \"string\", typeName: \"\", id: 123, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
124 [label="Build Platform",comment="name: \"Build Platform\", typeName: \"\", id: 124, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: BuildPlatform\""];
124 [label="Build Platform",comment="name: \"Build Platform\", typeName: \"\", id: 124, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
125 [label="int",comment="name: \"int\", typeName: \"\", id: 125, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
{ rank = max;2;4;6;8;10;12;14;16;45;47;56;59;78;104;107;121;123;125}

Expand Down
2 changes: 1 addition & 1 deletion dot/AgentActionEventPacket.dot
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ rankdir = LR
0 [label="AgentActionEventPacket",comment="name: \"AgentActionEventPacket\", typeName: \"\", id: 0, branchId: 181, recurseId: -1, attributes: 0, notes: \"\""];
1 [label="Request Id",comment="name: \"Request Id\", typeName: \"\", id: 1, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
2 [label="string",comment="name: \"string\", typeName: \"\", id: 2, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
3 [label="Request Id",comment="name: \"Request Id\", typeName: \"\", id: 3, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: AgentActionType\""];
3 [label="Action",comment="name: \"Action\", typeName: \"\", id: 3, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
4 [label="int",comment="name: \"int\", typeName: \"\", id: 4, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
5 [label="Response",comment="name: \"Response\", typeName: \"\", id: 5, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
6 [label="string",comment="name: \"string\", typeName: \"\", id: 6, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
Expand Down
2 changes: 1 addition & 1 deletion dot/AnimateEntityPacket.dot
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ rankdir = LR
4 [label="string",comment="name: \"string\", typeName: \"\", id: 4, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
5 [label="mStopExpression",comment="name: \"mStopExpression\", typeName: \"\", id: 5, branchId: 0, recurseId: -1, attributes: 0, notes: \"The stop expression, the the condition that determines when to transition to the next state.\""];
6 [label="string",comment="name: \"string\", typeName: \"\", id: 6, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
7 [label="Stop expression molang version",comment="name: \"Stop expression molang version\", typeName: \"\", id: 7, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: MolangVersion\""];
7 [label="Stop expression molang version",comment="name: \"Stop expression molang version\", typeName: \"\", id: 7, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
8 [label="int",comment="name: \"int\", typeName: \"\", id: 8, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
9 [label="mController",comment="name: \"mController\", typeName: \"\", id: 9, branchId: 0, recurseId: -1, attributes: 0, notes: \"The name of an animation controller\""];
10 [label="string",comment="name: \"string\", typeName: \"\", id: 10, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
Expand Down
32 changes: 5 additions & 27 deletions dot/AnimatePacket.dot
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,19 @@ rankdir = LR
6 -> 7
5 -> 8
8 -> 9
5 -> 10
10 -> 11
5 -> 12
12 -> 13
5 -> 14
14 -> 15
5 -> 16
16 -> 17
17 -> 18
5 -> 19
19 -> 20
20 -> 21
9 -> 10

0 [label="AnimatePacket",comment="name: \"AnimatePacket\", typeName: \"\", id: 0, branchId: 44, recurseId: -1, attributes: 0, notes: \"\""];
1 [label="Action",comment="name: \"Action\", typeName: \"\", id: 1, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: AnimatePacket::Action\""];
1 [label="Action",comment="name: \"Action\", typeName: \"\", id: 1, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
2 [label="varint",comment="name: \"varint\", typeName: \"\", id: 2, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
3 [label="Target Runtime ID",comment="name: \"Target Runtime ID\", typeName: \"ActorRuntimeID\", id: 3, branchId: 0, recurseId: -1, attributes: 256, notes: \"\""];
4 [label="ActorRuntimeID",comment="name: \"ActorRuntimeID\", typeName: \"\", id: 4, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
5 [label="Dependency on 'Action'",shape=note,comment="name: \"Dependency on 'Action'\", typeName: \"\", id: 5, branchId: 0, recurseId: -1, attributes: 2, notes: \"\""];
6 [label="if (0)",shape=diamond,comment="name: \"if (0)\", typeName: \"\", id: 6, branchId: 0, recurseId: -1, attributes: 4, notes: \"\""];
7 [label="[No Data]",comment="name: \"[No Data]\", typeName: \"\", id: 7, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
8 [label="if (1)",shape=diamond,comment="name: \"if (1)\", typeName: \"\", id: 8, branchId: 1, recurseId: -1, attributes: 4, notes: \"\""];
9 [label="[No Data]",comment="name: \"[No Data]\", typeName: \"\", id: 9, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
10 [label="if (3)",shape=diamond,comment="name: \"if (3)\", typeName: \"\", id: 10, branchId: 3, recurseId: -1, attributes: 4, notes: \"\""];
11 [label="[No Data]",comment="name: \"[No Data]\", typeName: \"\", id: 11, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
12 [label="if (4)",shape=diamond,comment="name: \"if (4)\", typeName: \"\", id: 12, branchId: 4, recurseId: -1, attributes: 4, notes: \"\""];
13 [label="[No Data]",comment="name: \"[No Data]\", typeName: \"\", id: 13, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
14 [label="if (5)",shape=diamond,comment="name: \"if (5)\", typeName: \"\", id: 14, branchId: 5, recurseId: -1, attributes: 4, notes: \"\""];
15 [label="[No Data]",comment="name: \"[No Data]\", typeName: \"\", id: 15, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
16 [label="if (128)",shape=diamond,comment="name: \"if (128)\", typeName: \"\", id: 16, branchId: 128, recurseId: -1, attributes: 4, notes: \"\""];
17 [label="Rowing Time",comment="name: \"Rowing Time\", typeName: \"\", id: 17, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
18 [label="float",comment="name: \"float\", typeName: \"\", id: 18, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
19 [label="if (129)",shape=diamond,comment="name: \"if (129)\", typeName: \"\", id: 19, branchId: 129, recurseId: -1, attributes: 4, notes: \"\""];
20 [label="Rowing Time",comment="name: \"Rowing Time\", typeName: \"\", id: 20, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
21 [label="float",comment="name: \"float\", typeName: \"\", id: 21, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
{ rank = max;2;4;7;9;11;13;15;18;21}
9 [label="Rowing Time",comment="name: \"Rowing Time\", typeName: \"\", id: 9, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
10 [label="float",comment="name: \"float\", typeName: \"\", id: 10, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
{ rank = max;2;4;7;10}

}
2 changes: 1 addition & 1 deletion dot/AvailableCommandsPacket.dot
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ rankdir = LR
62 [label="string",comment="name: \"string\", typeName: \"\", id: 62, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
63 [label="Flags",comment="name: \"Flags\", typeName: \"\", id: 63, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
64 [label="unsigned short",comment="name: \"unsigned short\", typeName: \"\", id: 64, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
65 [label="Permission Level",comment="name: \"Permission Level\", typeName: \"\", id: 65, branchId: 0, recurseId: -1, attributes: 0, notes: \"enumeration: CommandPermissionLevel\""];
65 [label="Permission Level",comment="name: \"Permission Level\", typeName: \"\", id: 65, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
66 [label="byte",comment="name: \"byte\", typeName: \"\", id: 66, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
67 [label="Alias Enum",comment="name: \"Alias Enum\", typeName: \"\", id: 67, branchId: 0, recurseId: -1, attributes: 0, notes: \"\""];
68 [label="int",comment="name: \"int\", typeName: \"\", id: 68, branchId: 0, recurseId: -1, attributes: 512, notes: \"\""];
Expand Down
Loading

0 comments on commit ebba866

Please sign in to comment.