From c797fbec8031f8e84ede542a4cc9239ab99f4fe6 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 12 Mar 2026 20:29:05 -0400 Subject: [PATCH 1/2] Fix Base Directory for Category Manager System for NEW WORLDs --- .../noppes/npcs/controllers/AnimationController.java | 1 - .../java/noppes/npcs/controllers/CategoryManager.java | 9 ++++++++- .../noppes/npcs/controllers/CustomEffectController.java | 1 - .../noppes/npcs/controllers/LinkedItemController.java | 1 - 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/noppes/npcs/controllers/AnimationController.java b/src/main/java/noppes/npcs/controllers/AnimationController.java index ae9012b75..cf1bd2c95 100644 --- a/src/main/java/noppes/npcs/controllers/AnimationController.java +++ b/src/main/java/noppes/npcs/controllers/AnimationController.java @@ -166,7 +166,6 @@ public class AnimationController implements IAnimationHandler { File dir = getDir(); if (!dir.exists()) { dir.mkdir(); - return; } categoryManager.loadCategories(dir); diff --git a/src/main/java/noppes/npcs/controllers/CategoryManager.java b/src/main/java/noppes/npcs/controllers/CategoryManager.java index a4d14def4..80da9768d 100644 --- a/src/main/java/noppes/npcs/controllers/CategoryManager.java +++ b/src/main/java/noppes/npcs/controllers/CategoryManager.java @@ -67,6 +67,10 @@ public class CategoryManager { itemCategoryMap.remove(itemId); } + public boolean isLoaded() { + return baseDir != null; + } + public File getItemDir(int itemId) { int catId = itemCategoryMap.getOrDefault(itemId, UNCATEGORIZED_ID); return getCategoryDir(catId); @@ -86,6 +90,7 @@ public class CategoryManager { // ========== Category CRUD ========== public Category createCategory(String name) { + if (baseDir == null) return null; while (hasCategoryName(name)) name += "_"; lastUsedCatID++; Category cat = new Category(lastUsedCatID, name); @@ -96,7 +101,7 @@ public class CategoryManager { } public void saveCategory(Category cat) { - if (cat.id <= 0) return; + if (cat.id <= 0 || baseDir == null) return; Category existing = categories.get(cat.id); if (existing != null && !existing.title.equals(cat.title)) { String newTitle = cat.title; @@ -116,6 +121,7 @@ public class CategoryManager { } public boolean removeCategory(int catId, Set allItemIds) { + if (baseDir == null) return false; if (catId <= UNCATEGORIZED_ID) return false; Category cat = categories.get(catId); if (cat == null) return false; @@ -149,6 +155,7 @@ public class CategoryManager { } public void moveItem(int itemId, String fileName, int destCatId) { + if (baseDir == null) return; int oldCatId = itemCategoryMap.getOrDefault(itemId, UNCATEGORIZED_ID); if (oldCatId == destCatId) return; diff --git a/src/main/java/noppes/npcs/controllers/CustomEffectController.java b/src/main/java/noppes/npcs/controllers/CustomEffectController.java index f6338ab53..640f544c4 100644 --- a/src/main/java/noppes/npcs/controllers/CustomEffectController.java +++ b/src/main/java/noppes/npcs/controllers/CustomEffectController.java @@ -328,7 +328,6 @@ public class CustomEffectController implements ICustomEffectHandler { File dir = getDir(); if (!dir.exists()) { dir.mkdir(); - return; } categoryManager.loadCategories(dir); diff --git a/src/main/java/noppes/npcs/controllers/LinkedItemController.java b/src/main/java/noppes/npcs/controllers/LinkedItemController.java index fb461f272..f4e994c2c 100644 --- a/src/main/java/noppes/npcs/controllers/LinkedItemController.java +++ b/src/main/java/noppes/npcs/controllers/LinkedItemController.java @@ -126,7 +126,6 @@ public class LinkedItemController implements ILinkedItemHandler { File dir = getDir(); if (!dir.exists()) { dir.mkdir(); - return; } categoryManager.loadCategories(dir); From 26ae7adac578496363c2a61d3bac130fdf6ffb94 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 12 Mar 2026 20:33:43 -0400 Subject: [PATCH 2/2] Fix Sound Selection --- .../java/noppes/npcs/client/gui/select/GuiSoundSelection.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/noppes/npcs/client/gui/select/GuiSoundSelection.java b/src/main/java/noppes/npcs/client/gui/select/GuiSoundSelection.java index aba735970..220833f2b 100644 --- a/src/main/java/noppes/npcs/client/gui/select/GuiSoundSelection.java +++ b/src/main/java/noppes/npcs/client/gui/select/GuiSoundSelection.java @@ -145,7 +145,8 @@ public class GuiSoundSelection extends SubGuiInterface implements ICustomScrollL scrollSounds.resetScroll(); getTextField(66).setText(""); soundSearch = ""; - initGui(); + scrollSounds.setList(domains.get(selectedDomain)); + getButton(1).enabled = false; } if (guiCustomScroll.id == 1) { selectedResource = new ResourceLocation(selectedDomain, guiCustomScroll.getSelected());