fix: implement IDSet (registryEntryHolderSet) decoder/encoder
- Replace old broken RegistryEntryHolderSetDecoder with correct varint discriminator: id != 0 returns raw ID, id == 0 decodes string base - Add RegistryEntryHolderSetEncoder using type switch (string/int32) - Add NonErroringIndex to proto_base (zero-fallback index lookup) - DeclareRecipes now fails with index not found (mapper) instead of to do
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/1.12.2/protocol.json (sha256:21c57208db654a5e14a34cb696570080df179c5c642e53b16120399eee9232be)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v1_12_2
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/1.14.4/protocol.json (sha256:b6edff5abaaf234037b5019024d749e27e746250a23253bb4ad77d8f76e93167)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v1_14_4
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/1.16.2/protocol.json (sha256:d96a3c5a7a7ddf2105e23990c2471b3aeafe4a6975e0c9d7d7943b599af9dfb3)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v1_16_5
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/1.21.11/protocol.json (sha256:97d2726cce3a39cc967a954f27f4ebf029ec3f0f655bb21942aab8745d13cdab)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v1_21_11
|
||||
|
||||
import (
|
||||
@@ -901,11 +901,42 @@ type IDSet struct {
|
||||
}
|
||||
|
||||
func (ret *IDSet) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var IDSetId int32
|
||||
IDSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if IDSetId != 0 {
|
||||
ret.Val = IDSetId
|
||||
} else {
|
||||
var IDSetResult string
|
||||
IDSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ret.Val = IDSetResult
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *IDSet) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
switch IDSetKnownType := ret.Val.(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -965,11 +996,115 @@ type ItemBlockPredicate struct {
|
||||
}
|
||||
|
||||
func (ret *ItemBlockPredicate) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var ItemBlockPredicateBlockSetPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicateBlockSetPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetPresent {
|
||||
var ItemBlockPredicateBlockSetPresentValue any
|
||||
var ItemBlockPredicateBlockSetId int32
|
||||
ItemBlockPredicateBlockSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetId != 0 {
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetId
|
||||
} else {
|
||||
var ItemBlockPredicateBlockSetResult string
|
||||
ItemBlockPredicateBlockSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetResult
|
||||
}
|
||||
ret.BlockSet = &ItemBlockPredicateBlockSetPresentValue
|
||||
}
|
||||
var ItemBlockPredicatePropertiesPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicatePropertiesPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicatePropertiesPresent {
|
||||
var ItemBlockPredicatePropertiesPresentValue []ItemBlockProperty
|
||||
var lItemBlockPredicateProperties int32
|
||||
lItemBlockPredicateProperties, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = []ItemBlockProperty{}
|
||||
for range lItemBlockPredicateProperties {
|
||||
var ItemBlockPredicatePropertiesElement ItemBlockProperty
|
||||
err = ItemBlockPredicatePropertiesElement.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = append(ItemBlockPredicatePropertiesPresentValue, ItemBlockPredicatePropertiesElement)
|
||||
}
|
||||
ret.Properties = &ItemBlockPredicatePropertiesPresentValue
|
||||
}
|
||||
err = ret.Nbt.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = ret.Components.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *ItemBlockPredicate) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
err = binary.Write(w, binary.BigEndian, ret.BlockSet != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.BlockSet != nil {
|
||||
switch ItemBlockPredicateBlockSetKnownType := (*ret.BlockSet).(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
}
|
||||
err = binary.Write(w, binary.BigEndian, ret.Properties != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.Properties != nil {
|
||||
err = proto_base.EncodeVarInt(w, int32(len(*ret.Properties)))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for iItemBlockPredicateProperties := range len(*ret.Properties) {
|
||||
ItemBlockPredicatePropertiesInnerEncTmp := (*ret.Properties)[iItemBlockPredicateProperties]
|
||||
err = ItemBlockPredicatePropertiesInnerEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
ItemBlockPredicateNbtEncTmp := ret.Nbt
|
||||
err = ItemBlockPredicateNbtEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateComponentsEncTmp := ret.Components
|
||||
err = ItemBlockPredicateComponentsEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/1.21.8/protocol.json (sha256:930fbb4c69fd2ecadddcee3c38d3f02908adc23b54b707cb21112e7ab1e9dba1)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v1_21_8
|
||||
|
||||
import (
|
||||
@@ -525,11 +525,42 @@ type IDSet struct {
|
||||
}
|
||||
|
||||
func (ret *IDSet) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var IDSetId int32
|
||||
IDSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if IDSetId != 0 {
|
||||
ret.Val = IDSetId
|
||||
} else {
|
||||
var IDSetResult string
|
||||
IDSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ret.Val = IDSetResult
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *IDSet) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
switch IDSetKnownType := ret.Val.(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -589,11 +620,115 @@ type ItemBlockPredicate struct {
|
||||
}
|
||||
|
||||
func (ret *ItemBlockPredicate) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var ItemBlockPredicateBlockSetPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicateBlockSetPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetPresent {
|
||||
var ItemBlockPredicateBlockSetPresentValue any
|
||||
var ItemBlockPredicateBlockSetId int32
|
||||
ItemBlockPredicateBlockSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetId != 0 {
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetId
|
||||
} else {
|
||||
var ItemBlockPredicateBlockSetResult string
|
||||
ItemBlockPredicateBlockSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetResult
|
||||
}
|
||||
ret.BlockSet = &ItemBlockPredicateBlockSetPresentValue
|
||||
}
|
||||
var ItemBlockPredicatePropertiesPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicatePropertiesPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicatePropertiesPresent {
|
||||
var ItemBlockPredicatePropertiesPresentValue []ItemBlockProperty
|
||||
var lItemBlockPredicateProperties int32
|
||||
lItemBlockPredicateProperties, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = []ItemBlockProperty{}
|
||||
for range lItemBlockPredicateProperties {
|
||||
var ItemBlockPredicatePropertiesElement ItemBlockProperty
|
||||
err = ItemBlockPredicatePropertiesElement.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = append(ItemBlockPredicatePropertiesPresentValue, ItemBlockPredicatePropertiesElement)
|
||||
}
|
||||
ret.Properties = &ItemBlockPredicatePropertiesPresentValue
|
||||
}
|
||||
err = ret.Nbt.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = ret.Components.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *ItemBlockPredicate) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
err = binary.Write(w, binary.BigEndian, ret.BlockSet != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.BlockSet != nil {
|
||||
switch ItemBlockPredicateBlockSetKnownType := (*ret.BlockSet).(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
}
|
||||
err = binary.Write(w, binary.BigEndian, ret.Properties != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.Properties != nil {
|
||||
err = proto_base.EncodeVarInt(w, int32(len(*ret.Properties)))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for iItemBlockPredicateProperties := range len(*ret.Properties) {
|
||||
ItemBlockPredicatePropertiesInnerEncTmp := (*ret.Properties)[iItemBlockPredicateProperties]
|
||||
err = ItemBlockPredicatePropertiesInnerEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
ItemBlockPredicateNbtEncTmp := ret.Nbt
|
||||
err = ItemBlockPredicateNbtEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateComponentsEncTmp := ret.Components
|
||||
err = ItemBlockPredicateComponentsEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/1.21.9/protocol.json (sha256:9861cee397931c678c3b1837dcdf82e3fc885442c6bd0e4a60522fbf26653e59)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v1_21_9
|
||||
|
||||
import (
|
||||
@@ -807,11 +807,42 @@ type IDSet struct {
|
||||
}
|
||||
|
||||
func (ret *IDSet) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var IDSetId int32
|
||||
IDSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if IDSetId != 0 {
|
||||
ret.Val = IDSetId
|
||||
} else {
|
||||
var IDSetResult string
|
||||
IDSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ret.Val = IDSetResult
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *IDSet) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
switch IDSetKnownType := ret.Val.(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -871,11 +902,115 @@ type ItemBlockPredicate struct {
|
||||
}
|
||||
|
||||
func (ret *ItemBlockPredicate) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var ItemBlockPredicateBlockSetPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicateBlockSetPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetPresent {
|
||||
var ItemBlockPredicateBlockSetPresentValue any
|
||||
var ItemBlockPredicateBlockSetId int32
|
||||
ItemBlockPredicateBlockSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetId != 0 {
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetId
|
||||
} else {
|
||||
var ItemBlockPredicateBlockSetResult string
|
||||
ItemBlockPredicateBlockSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetResult
|
||||
}
|
||||
ret.BlockSet = &ItemBlockPredicateBlockSetPresentValue
|
||||
}
|
||||
var ItemBlockPredicatePropertiesPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicatePropertiesPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicatePropertiesPresent {
|
||||
var ItemBlockPredicatePropertiesPresentValue []ItemBlockProperty
|
||||
var lItemBlockPredicateProperties int32
|
||||
lItemBlockPredicateProperties, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = []ItemBlockProperty{}
|
||||
for range lItemBlockPredicateProperties {
|
||||
var ItemBlockPredicatePropertiesElement ItemBlockProperty
|
||||
err = ItemBlockPredicatePropertiesElement.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = append(ItemBlockPredicatePropertiesPresentValue, ItemBlockPredicatePropertiesElement)
|
||||
}
|
||||
ret.Properties = &ItemBlockPredicatePropertiesPresentValue
|
||||
}
|
||||
err = ret.Nbt.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = ret.Components.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *ItemBlockPredicate) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
err = binary.Write(w, binary.BigEndian, ret.BlockSet != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.BlockSet != nil {
|
||||
switch ItemBlockPredicateBlockSetKnownType := (*ret.BlockSet).(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
}
|
||||
err = binary.Write(w, binary.BigEndian, ret.Properties != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.Properties != nil {
|
||||
err = proto_base.EncodeVarInt(w, int32(len(*ret.Properties)))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for iItemBlockPredicateProperties := range len(*ret.Properties) {
|
||||
ItemBlockPredicatePropertiesInnerEncTmp := (*ret.Properties)[iItemBlockPredicateProperties]
|
||||
err = ItemBlockPredicatePropertiesInnerEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
ItemBlockPredicateNbtEncTmp := ret.Nbt
|
||||
err = ItemBlockPredicateNbtEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateComponentsEncTmp := ret.Components
|
||||
err = ItemBlockPredicateComponentsEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/1.8/protocol.json (sha256:79fe774bfc255dd281899c004fbb9c7adc40fb107de9353da1dd0371ea4b53af)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v1_8
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/26.1/protocol.json (sha256:dfb6318886cd3ceab617f75ac05e24f9836a64501d60551071289b904ebfc389)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v26_1
|
||||
|
||||
import (
|
||||
@@ -901,11 +901,42 @@ type IDSet struct {
|
||||
}
|
||||
|
||||
func (ret *IDSet) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var IDSetId int32
|
||||
IDSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if IDSetId != 0 {
|
||||
ret.Val = IDSetId
|
||||
} else {
|
||||
var IDSetResult string
|
||||
IDSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ret.Val = IDSetResult
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *IDSet) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
switch IDSetKnownType := ret.Val.(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -965,11 +996,115 @@ type ItemBlockPredicate struct {
|
||||
}
|
||||
|
||||
func (ret *ItemBlockPredicate) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var ItemBlockPredicateBlockSetPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicateBlockSetPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetPresent {
|
||||
var ItemBlockPredicateBlockSetPresentValue any
|
||||
var ItemBlockPredicateBlockSetId int32
|
||||
ItemBlockPredicateBlockSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetId != 0 {
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetId
|
||||
} else {
|
||||
var ItemBlockPredicateBlockSetResult string
|
||||
ItemBlockPredicateBlockSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetResult
|
||||
}
|
||||
ret.BlockSet = &ItemBlockPredicateBlockSetPresentValue
|
||||
}
|
||||
var ItemBlockPredicatePropertiesPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicatePropertiesPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicatePropertiesPresent {
|
||||
var ItemBlockPredicatePropertiesPresentValue []ItemBlockProperty
|
||||
var lItemBlockPredicateProperties int32
|
||||
lItemBlockPredicateProperties, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = []ItemBlockProperty{}
|
||||
for range lItemBlockPredicateProperties {
|
||||
var ItemBlockPredicatePropertiesElement ItemBlockProperty
|
||||
err = ItemBlockPredicatePropertiesElement.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = append(ItemBlockPredicatePropertiesPresentValue, ItemBlockPredicatePropertiesElement)
|
||||
}
|
||||
ret.Properties = &ItemBlockPredicatePropertiesPresentValue
|
||||
}
|
||||
err = ret.Nbt.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = ret.Components.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *ItemBlockPredicate) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
err = binary.Write(w, binary.BigEndian, ret.BlockSet != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.BlockSet != nil {
|
||||
switch ItemBlockPredicateBlockSetKnownType := (*ret.BlockSet).(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
}
|
||||
err = binary.Write(w, binary.BigEndian, ret.Properties != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.Properties != nil {
|
||||
err = proto_base.EncodeVarInt(w, int32(len(*ret.Properties)))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for iItemBlockPredicateProperties := range len(*ret.Properties) {
|
||||
ItemBlockPredicatePropertiesInnerEncTmp := (*ret.Properties)[iItemBlockPredicateProperties]
|
||||
err = ItemBlockPredicatePropertiesInnerEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
ItemBlockPredicateNbtEncTmp := ret.Nbt
|
||||
err = ItemBlockPredicateNbtEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateComponentsEncTmp := ret.Components
|
||||
err = ItemBlockPredicateComponentsEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by strom. DO NOT EDIT.
|
||||
// source: minecraft-data/pc/26.2/protocol.json (sha256:7ba66411adcc68a668f38211e1b00eeb386a345d5eb16fadd6dc1c7f94bb175f)
|
||||
// version: v0.6.6-0.20260805170503-1d8f70c7fdae+dirty (go1.26.2)
|
||||
// version: v0.6.6-0.20260805173638-56ac8e154ea1+dirty (go1.26.2)
|
||||
package v26_2
|
||||
|
||||
import (
|
||||
@@ -901,11 +901,42 @@ type IDSet struct {
|
||||
}
|
||||
|
||||
func (ret *IDSet) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var IDSetId int32
|
||||
IDSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if IDSetId != 0 {
|
||||
ret.Val = IDSetId
|
||||
} else {
|
||||
var IDSetResult string
|
||||
IDSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ret.Val = IDSetResult
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *IDSet) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
switch IDSetKnownType := ret.Val.(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, IDSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -965,11 +996,115 @@ type ItemBlockPredicate struct {
|
||||
}
|
||||
|
||||
func (ret *ItemBlockPredicate) Decode(r io.ReadSeeker) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
var ItemBlockPredicateBlockSetPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicateBlockSetPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetPresent {
|
||||
var ItemBlockPredicateBlockSetPresentValue any
|
||||
var ItemBlockPredicateBlockSetId int32
|
||||
ItemBlockPredicateBlockSetId, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicateBlockSetId != 0 {
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetId
|
||||
} else {
|
||||
var ItemBlockPredicateBlockSetResult string
|
||||
ItemBlockPredicateBlockSetResult, err = proto_base.DecodeString(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateBlockSetPresentValue = ItemBlockPredicateBlockSetResult
|
||||
}
|
||||
ret.BlockSet = &ItemBlockPredicateBlockSetPresentValue
|
||||
}
|
||||
var ItemBlockPredicatePropertiesPresent bool
|
||||
err = binary.Read(r, binary.BigEndian, &ItemBlockPredicatePropertiesPresent)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ItemBlockPredicatePropertiesPresent {
|
||||
var ItemBlockPredicatePropertiesPresentValue []ItemBlockProperty
|
||||
var lItemBlockPredicateProperties int32
|
||||
lItemBlockPredicateProperties, err = proto_base.DecodeVarInt(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = []ItemBlockProperty{}
|
||||
for range lItemBlockPredicateProperties {
|
||||
var ItemBlockPredicatePropertiesElement ItemBlockProperty
|
||||
err = ItemBlockPredicatePropertiesElement.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicatePropertiesPresentValue = append(ItemBlockPredicatePropertiesPresentValue, ItemBlockPredicatePropertiesElement)
|
||||
}
|
||||
ret.Properties = &ItemBlockPredicatePropertiesPresentValue
|
||||
}
|
||||
err = ret.Nbt.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = ret.Components.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
func (ret *ItemBlockPredicate) Encode(w io.Writer) (err error) {
|
||||
err = proto_base.ToDoError
|
||||
err = binary.Write(w, binary.BigEndian, ret.BlockSet != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.BlockSet != nil {
|
||||
switch ItemBlockPredicateBlockSetKnownType := (*ret.BlockSet).(type) {
|
||||
case string:
|
||||
err = proto_base.EncodeVarInt(w, 0)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = proto_base.EncodeString(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case int32:
|
||||
err = proto_base.EncodeVarInt(w, ItemBlockPredicateBlockSetKnownType)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = proto_base.BadTypeError
|
||||
}
|
||||
}
|
||||
err = binary.Write(w, binary.BigEndian, ret.Properties != nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if ret.Properties != nil {
|
||||
err = proto_base.EncodeVarInt(w, int32(len(*ret.Properties)))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for iItemBlockPredicateProperties := range len(*ret.Properties) {
|
||||
ItemBlockPredicatePropertiesInnerEncTmp := (*ret.Properties)[iItemBlockPredicateProperties]
|
||||
err = ItemBlockPredicatePropertiesInnerEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
ItemBlockPredicateNbtEncTmp := ret.Nbt
|
||||
err = ItemBlockPredicateNbtEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ItemBlockPredicateComponentsEncTmp := ret.Components
|
||||
err = ItemBlockPredicateComponentsEncTmp.Encode(w)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user