strom: fix generator for pointer-receiver Encode, use nbt.Tag for named NBT

- Delete raw_capture subcommand (use tcpflow + raw-to-tmcpr instead)
- Fix DefaultEncoder to use temp variable for non-addressable value encoding,
  eliminating manual post-generation patches
- Map nbt and optionalNbt types to nbt.Tag (named NBT) instead of nbt.Anon
  (anonymous NBT) — 1.8 uses named NBT with root tag names
This commit is contained in:
Admin Else
2026-08-04 16:40:47 +02:00
parent b162d0d401
commit d9bca7e517
9 changed files with 5904 additions and 3028 deletions
+4 -3
View File
@@ -11,15 +11,16 @@ import (
"github.com/go-viper/mapstructure/v2"
)
func DefaultEncoder(_ *Generator, varToSet ast.Expr, _ any, _ string) (s []ast.Stmt, err error) {
func DefaultEncoder(_ *Generator, varToSet ast.Expr, _ any, name string) (s []ast.Stmt, err error) {
tmpName := name + "EncTmp"
s = Stmts(
Define121(Ident(tmpName), varToSet),
Assign121(
Ident("err"),
Call(SelectorExprAndStr(varToSet, "Encode"), Ident("w")),
Call(SelectorExprAndStr(Ident(tmpName), "Encode"), Ident("w")),
),
IfErrNil(),
)
return
}