From b96692521251a4765f1624e07e778781a669f4d5 Mon Sep 17 00:00:00 2001 From: adman Date: Sat, 11 Jul 2026 23:08:03 +0200 Subject: [PATCH] move data stuff --- mc/{gen => data}/multi_noise.go | 6 ++---- mc/data/multi_noise_test.go | 34 ++++++++++++++++++++++++++++++++ mc/gen/biome_noise.go | 12 +++++++---- mc/gen/multi_noise_test.go | 35 ++++----------------------------- 4 files changed, 48 insertions(+), 39 deletions(-) rename mc/{gen => data}/multi_noise.go (95%) create mode 100644 mc/data/multi_noise_test.go diff --git a/mc/gen/multi_noise.go b/mc/data/multi_noise.go similarity index 95% rename from mc/gen/multi_noise.go rename to mc/data/multi_noise.go index 1a4806b..f5406e2 100644 --- a/mc/gen/multi_noise.go +++ b/mc/data/multi_noise.go @@ -1,10 +1,8 @@ -package gen +package data import ( "fmt" "math" - - "github.com/admin-else/strom/mc/data" ) // MultiNoisePreset names the two built-in multi-noise parameter lists. @@ -59,7 +57,7 @@ type rawMultiNoise map[string][]rawEntry // "multi_noise_biome_source_parameter_list" key in minecraft-data. func LoadMultiNoise(version string) (*MultiNoiseData, error) { var raw rawMultiNoise - if err := data.LoadVersionedJson(version, "multi_noise_biome_source_parameter_list", &raw); err != nil { + if err := LoadVersionedJson(version, "multi_noise_biome_source_parameter_list", &raw); err != nil { return nil, fmt.Errorf("load multi_noise for %s: %w", version, err) } diff --git a/mc/data/multi_noise_test.go b/mc/data/multi_noise_test.go new file mode 100644 index 0000000..5264e28 --- /dev/null +++ b/mc/data/multi_noise_test.go @@ -0,0 +1,34 @@ +package data + +import ( + "testing" +) + +func TestLoadMultiNoise(t *testing.T) { + for _, version := range []string{"1.21.8", "1.21.9", "1.21.11"} { + data, err := LoadMultiNoise(version) + if err != nil { + t.Fatalf("LoadMultiNoise(%q): %v", version, err) + } + if len(data.Presets[MultiNoiseOverworld]) == 0 { + t.Errorf("%s: overworld preset empty", version) + } + if len(data.Presets[MultiNoiseNether]) == 0 { + t.Errorf("%s: nether preset empty", version) + } + } +} + +func TestMultiNoiseLookup_NetherOrigin(t *testing.T) { + data, err := LoadMultiNoise("1.21.11") + if err != nil { + t.Fatalf("LoadMultiNoise: %v", err) + } + biome, err := data.Lookup(MultiNoiseNether, 0, 0, 0, 0, 0, 0) + if err != nil { + t.Fatalf("Lookup: %v", err) + } + if biome != "minecraft:nether_wastes" { + t.Errorf("nether origin = %s, want minecraft:nether_wastes", biome) + } +} diff --git a/mc/gen/biome_noise.go b/mc/gen/biome_noise.go index 6f23ec7..753b279 100644 --- a/mc/gen/biome_noise.go +++ b/mc/gen/biome_noise.go @@ -1,6 +1,10 @@ package gen -import "math" +import ( + "math" + + "github.com/admin-else/strom/mc/data" +) type NoiseParam int @@ -91,8 +95,8 @@ func (b BiomeNoise) Sample(x, y, z int) (t, h, c, e, d, w float64, combinedData // SampleBiome samples the climate noise at (x, y, z) and resolves it through // the supplied multi-noise parameter list. preset should be one of the -// MultiNoise* constants. -func (b BiomeNoise) SampleBiome(x, y, z int, data *MultiNoiseData, preset string) (string, error) { +// data.MultiNoise* constants. +func (b BiomeNoise) SampleBiome(x, y, z int, mnd *data.MultiNoiseData, preset string) (string, error) { _, _, _, _, _, _, combined, _ := b.Sample(x, y, z) - return data.Lookup(preset, combined[0], combined[1], combined[2], combined[3], combined[4], combined[5]) + return mnd.Lookup(preset, combined[0], combined[1], combined[2], combined[3], combined[4], combined[5]) } diff --git a/mc/gen/multi_noise_test.go b/mc/gen/multi_noise_test.go index f4939bf..923abfd 100644 --- a/mc/gen/multi_noise_test.go +++ b/mc/gen/multi_noise_test.go @@ -2,48 +2,21 @@ package gen import ( "testing" + + "github.com/admin-else/strom/mc/data" ) -func TestLoadMultiNoise(t *testing.T) { - for _, version := range []string{"1.21.8", "1.21.9", "1.21.11"} { - data, err := LoadMultiNoise(version) - if err != nil { - t.Fatalf("LoadMultiNoise(%q): %v", version, err) - } - if len(data.Presets[MultiNoiseOverworld]) == 0 { - t.Errorf("%s: overworld preset empty", version) - } - if len(data.Presets[MultiNoiseNether]) == 0 { - t.Errorf("%s: nether preset empty", version) - } - } -} - -func TestMultiNoiseLookup_NetherOrigin(t *testing.T) { - data, err := LoadMultiNoise("1.21.11") - if err != nil { - t.Fatalf("LoadMultiNoise: %v", err) - } - biome, err := data.Lookup(MultiNoiseNether, 0, 0, 0, 0, 0, 0) - if err != nil { - t.Fatalf("Lookup: %v", err) - } - if biome != "minecraft:nether_wastes" { - t.Errorf("nether origin = %s, want minecraft:nether_wastes", biome) - } -} - func TestBiomeNoise_SampleBiome(t *testing.T) { var worldSeed int64 = 70388202460762 x := XoroshiroFromSeed(worldSeed) x.Mix() b := BiomeNoiseFromXoroshiro(x, false) - data, err := LoadMultiNoise("1.21.11") + mnd, err := data.LoadMultiNoise("1.21.11") if err != nil { t.Fatalf("LoadMultiNoise: %v", err) } - biome, err := b.SampleBiome(-1, -16, 0, data, MultiNoiseOverworld) + biome, err := b.SampleBiome(-1, -16, 0, mnd, data.MultiNoiseOverworld) if err != nil { t.Fatalf("SampleBiome: %v", err) }