feat: add world and player tab item

This commit is contained in:
2026-04-25 18:36:13 +08:00
parent 8b5717a655
commit a95ad796ce
10 changed files with 260 additions and 38 deletions

View File

@@ -19,6 +19,7 @@ void PerlinNoise::init() {
p.insert(p.end(), p.begin(), p.end());
is_init = true;
m_seed = seed;
}
float PerlinNoise::noise(float x, float y, float z) {
@@ -73,4 +74,27 @@ float PerlinNoise::grad(int hash, float x, float y, float z) {
return ((h & 1) == 0 ? u : -u) + ((h & 2) == 0 ? v : -v);
}
void PerlinNoise::reload() {
if (!is_seed_change) {
Logger::warn("Seed Not Change");
return;
}
is_init = false;
p.resize(256);
std::iota(p.begin(), p.end(), 0);
Logger::info("Reload Perlin Noise With Seed {}", m_seed);
std::shuffle(p.begin(), p.end(), std::mt19937(m_seed));
p.insert(p.end(), p.begin(), p.end());
is_init = true;
is_seed_change = false;
}
const unsigned& PerlinNoise::seed() {
return m_seed;
}
void PerlinNoise::seed(unsigned seed) {
m_seed = seed;
is_seed_change = true;
}
}