From 0e7138a721368d24a9ccd5ba2a76da4063a82f62 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Sat, 6 Jun 2026 18:27:04 +0200 Subject: [PATCH] feat(furnidata): seed furnidata feature config keys (021 migration) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The names-server + watch + import config keys read by FurnitureTextProvider / FurnidataWatcher / FurniEditorImportTextEvent were never seeded — a fresh install logged 'Config key not found' for each and they were not DB-editable. Seed portable defaults (items.furnidata.path empty → derives from furni.editor.asset.base.path; booleans true/false; import URL = habbo.it). --- .../021_furnidata_config.sql | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Database Updates/Own_Database_RunFirst/021_furnidata_config.sql diff --git a/Database Updates/Own_Database_RunFirst/021_furnidata_config.sql b/Database Updates/Own_Database_RunFirst/021_furnidata_config.sql new file mode 100644 index 00000000..9a41bae4 --- /dev/null +++ b/Database Updates/Own_Database_RunFirst/021_furnidata_config.sql @@ -0,0 +1,27 @@ +-- 021_furnidata_config.sql +-- Seeds the furnidata feature config keys read at runtime by +-- FurnitureTextProvider / FurnidataReader / FurnidataWatcher and +-- FurniEditorImportTextEvent. Without these rows a fresh install logs +-- "Config key not found" for each (ConfigurationManager logs ERROR even +-- when a default is supplied) and the values are not editable from the DB. +-- +-- Notes: +-- * *.enabled keys are read via Boolean.parseBoolean → use true/false (NOT 1/0). +-- * items.furnidata.path is intentionally empty: when blank the source is +-- derived from furni.editor.asset.base.path (seeded by 004_furni_editor.sql) +-- → /furnidata (split-tier) or /FurnitureData.json (single file). +-- * Editor write-path keys (items.furnidata.edit.*) are seeded by 020. + +INSERT IGNORE INTO `emulator_settings` (`key`,`value`) VALUES +-- Server-authoritative furni names (source of truth = furnidata JSON) +('items.furnidata.names.enabled','true'), +('items.furnidata.path',''), +('items.furnidata.max.bytes','67108864'), +-- Live-reload watcher +('items.furnidata.watch.enabled','true'), +('items.furnidata.watch.debounce.ms','750'), +('items.furnidata.watch.min.interval.ms','5000'), +('items.furnidata.delta.cap','500'), +-- Furni editor: import official names/descriptions from Habbo +('furni.editor.import.url','https://www.habbo.it/gamedata/furnidata_json/1'), +('furni.editor.import.cache.ms','600000');