Skip to content

Commit 884d430

Browse files
committed
change data/registry generator
1 parent 47ca8a6 commit 884d430

File tree

5 files changed

+25
-33
lines changed

5 files changed

+25
-33
lines changed

data/registry/template.go.tmpl

Lines changed: 0 additions & 25 deletions
This file was deleted.

data/registry/generate.go renamed to data/registryid/generator/generate.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"log"
99
"os"
1010
"path/filepath"
11+
"strings"
1112
"text/template"
1213

1314
"github.com/Tnze/go-mc/internal/generateutils"
@@ -56,19 +57,23 @@ func main() {
5657
log.Fatal(err)
5758
}
5859

59-
generateRegistry(registries["minecraft:block_entity_type"], "BlockEntityType", "blockentitytype")
60-
generateRegistry(registries["minecraft:entity_type"], "EntityType", "entitytype")
60+
for key, reg := range registries {
61+
registryName := strings.TrimPrefix(key, "minecraft:")
62+
typeName := generateutils.ToGoTypeName(strings.ReplaceAll(registryName, "/", "_"))
63+
filename := strings.NewReplacer("_", "", "/", "_").Replace(registryName)
64+
generateRegistry(reg, typeName, filename)
65+
}
6166
}
6267

63-
func generateRegistry(r registry, typeName, packageName string) {
68+
func generateRegistry(r registry, typeName, filename string) {
6469
entries := make([]string, len(r.Entries))
6570
for name, v := range r.Entries {
6671
entries[v.ProtocolID] = name
6772
}
6873

6974
var buff bytes.Buffer
7075
err := temp.Execute(&buff, tempData{
71-
PackageName: packageName,
76+
PackageName: filename,
7277
Default: r.Default,
7378
Entries: entries,
7479
TypeName: typeName,
@@ -79,10 +84,11 @@ func generateRegistry(r registry, typeName, packageName string) {
7984

8085
formattedSource, err := format.Source(buff.Bytes())
8186
if err != nil {
82-
log.Fatal(err)
87+
log.Print(filename, err)
88+
formattedSource = buff.Bytes()
8389
}
8490

85-
err = os.WriteFile(filepath.Join(packageName, packageName+".go"), formattedSource, 0o666)
91+
err = os.WriteFile(filepath.Join("..", filename+".go"), formattedSource, 0o666)
8692
if err != nil {
8793
log.Fatal(err)
8894
}
File renamed without changes.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Code generated by {{Generator}}; DO NOT EDIT.
2+
3+
package registryid
4+
5+
{{ $typeName := .TypeName}}
6+
7+
var {{$typeName}} = []string{
8+
{{- range $index, $elem := .Entries}}
9+
{{printf "%q" $elem}},
10+
{{- end}}
11+
}

registry/registry.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ func (r *Registry[E]) GetByID(id int32) *E {
4040
return nil
4141
}
4242

43-
func (r *Registry[E]) Put(name string, data E) (id int32, val *E) {
43+
func (r *Registry[E]) Put(key string, data E) (id int32, val *E) {
4444
id = int32(len(r.values))
45-
r.keys[name] = id
45+
r.keys[key] = id
4646
r.values = append(r.values, data)
4747
val = &r.values[id]
4848
r.indices[val] = id

0 commit comments

Comments
 (0)