Merge branch 'main' into blocks_meta

This commit is contained in:
MihailRis
2024-06-06 16:15:11 +03:00
3 changed files with 67 additions and 18 deletions
+17 -7
View File
@@ -223,7 +223,8 @@ void EngineController::reconfigPacks(
std::stringstream ss;
for (const auto& id : packsToRemove) {
if (content->getPackRuntime(id)->getStats().hasSavingContent()) {
auto runtime = content->getPackRuntime(id);
if (runtime && runtime->getStats().hasSavingContent()) {
if (hasIndices) {
ss << ", ";
}
@@ -234,13 +235,22 @@ void EngineController::reconfigPacks(
runnable removeFunc = [=]() {
if (controller == nullptr) {
auto manager = engine->createPacksManager(fs::path(""));
manager.scan();
std::vector<std::string> names = engine->getBasePacks();
for (auto& name : packsToAdd) {
names.push_back(name);
try {
auto manager = engine->createPacksManager(fs::path(""));
manager.scan();
std::vector<std::string> names = PacksManager::getNames(engine->getContentPacks());
for (const auto& id : packsToAdd) {
names.push_back(id);
}
for (const auto& id : packsToRemove) {
manager.exclude(id);
names.erase(std::find(names.begin(), names.end(), id));
}
names = manager.assembly(names);
engine->getContentPacks() = manager.getAll(names);
} catch (const contentpack_error& err) {
throw std::runtime_error(std::string(err.what())+" ["+err.getPackId()+"]");
}
engine->getContentPacks() = manager.getAll(names);
} else {
auto world = controller->getLevel()->getWorld();
auto wfile = world->wfile.get();
+1 -1
View File
@@ -22,12 +22,12 @@ LevelController::LevelController(EngineSettings& settings, std::unique_ptr<Level
}
void LevelController::update(float delta, bool input, bool pause) {
player->update(delta, input, pause);
glm::vec3 position = player->getPlayer()->hitbox->position;
level->loadMatrix(position.x, position.z,
settings.chunks.loadDistance.get() +
settings.chunks.padding.get() * 2);
chunks->update(settings.chunks.loadSpeed.get());
player->update(delta, input, pause);
// erease null pointers
level->objects.erase(