Add VarLong encoder/decoder and integrate into generation pipeline

This commit is contained in:
adman
2025-12-24 12:35:14 +01:00
parent dd41115ca2
commit db091d17df
7 changed files with 52 additions and 21 deletions
+6
View File
@@ -320,6 +320,11 @@ func VarIntEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s
return
}
func VarLongEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s []ast.Stmt, err error) {
s = Stmts(Assign121(Ident("err"), Call(Selector("proto_base", "EncodeVarLong"), Ident("w"), varToSet)), IfErrNil())
return
}
func (g *Generator) RegisterEncoderNatives() {
g.EncoderNatives = map[string]FunctionGeneratorFunc{
"container": ContainerEncoder,
@@ -333,6 +338,7 @@ func (g *Generator) RegisterEncoderNatives() {
"void": DefaultEncoder,
"varint": VarIntEncoder,
"varlong": VarLongEncoder,
"anonymousNbt": DefaultEncoder,
"anonOptionalNbt": DefaultEncoder, // I have no idea what the difference is between these two
"UUID": UUIDEncoder,