diff --git a/blight-editor/src/main/java/de/blight/editor/SharedInput.java b/blight-editor/src/main/java/de/blight/editor/SharedInput.java index 9996d19..3ab5e78 100644 --- a/blight-editor/src/main/java/de/blight/editor/SharedInput.java +++ b/blight-editor/src/main/java/de/blight/editor/SharedInput.java @@ -177,7 +177,7 @@ public class SharedInput { /** Wird von JME3 gesetzt, wenn ein Objekt gerade neu platziert wurde (nicht nur selektiert). */ public volatile boolean objectJustPlaced = false; - /** JavaFX → JME3: Modell-Pfad für nächste Platzierung (relativ zu editor-assets/). */ + /** JavaFX → JME3: Modell-Pfad für nächste Platzierung (relativ zu blight-assets/src/main/resources/). */ public volatile String pendingModelPath = null; /** Wenn gesetzt: Baum-Ordner-Platzierungsmodus. Relativ zu blight-assets/src/main/resources. */ @@ -185,7 +185,7 @@ public class SharedInput { /** Status-Meldung aus JME: welcher Baum gerade ausgewählt ist. */ public volatile String randomTreeStatus = ""; - /** JavaFX → JME3: Textur-Pfad für nächste Platzierung (relativ zu editor-assets/, "" = keine). */ + /** JavaFX → JME3: Textur-Pfad für nächste Platzierung (relativ zu blight-assets/src/main/resources/, "" = keine). */ public volatile String pendingTexturePath = ""; /** JavaFX → JME3: Normal-Map-Pfad für nächste Platzierung ("" = keine). */ public volatile String pendingNormalMapPath = ""; @@ -222,7 +222,7 @@ public class SharedInput { * sizeY: Höhe (Box/Zylinder) * sizeZ: Tiefe (Box/Ebene) * matType: "Unshaded" | "Phong" - * texturePath: relativ zu editor-assets/ oder null + * texturePath: relativ zu blight-assets/src/main/resources/ oder null */ public record MeshCreateRequest( String form, diff --git a/blight-editor/src/main/java/de/blight/editor/object/SceneObject.java b/blight-editor/src/main/java/de/blight/editor/object/SceneObject.java index 29fd790..a51662f 100644 --- a/blight-editor/src/main/java/de/blight/editor/object/SceneObject.java +++ b/blight-editor/src/main/java/de/blight/editor/object/SceneObject.java @@ -13,7 +13,7 @@ public class SceneObject extends PlacedObject { private float rotZ; // Z-Achsen-Rotation in Radiant private float scale; public boolean solid; // Charakter-Kollision - public String modelPath; // relativ zu editor-assets/ + public String modelPath; // relativ zu blight-assets/src/main/resources/ public String texturePath = ""; public String normalMapPath = ""; public String materialPath = ""; diff --git a/blight-editor/src/main/java/de/blight/editor/state/EzTreeState.java b/blight-editor/src/main/java/de/blight/editor/state/EzTreeState.java index ac28080..33e71e7 100644 --- a/blight-editor/src/main/java/de/blight/editor/state/EzTreeState.java +++ b/blight-editor/src/main/java/de/blight/editor/state/EzTreeState.java @@ -61,8 +61,7 @@ public class EzTreeState extends BaseAppState { private static final Logger log = LoggerFactory.getLogger(EzTreeState.class); private static final int IMPOSTOR_SIZE = 512; - private static final Path ASSET_ROOT = de.blight.editor.ProjectRoot.resolve("editor-assets"); - private static final Path BLIGHT_ASSET_ROOT = de.blight.editor.ProjectRoot.resolve("blight-assets", "src", "main", "resources"); + private static final Path ASSET_ROOT = de.blight.editor.ProjectRoot.resolve("blight-assets", "src", "main", "resources"); private static final Path TOOLS_DIR = de.blight.editor.ProjectRoot.resolve("tools"); private static final Gson GSON = new Gson(); @@ -533,7 +532,7 @@ public class EzTreeState extends BaseAppState { img.setRGB(x, IMPOSTOR_SIZE - 1 - y, (a<<24)|(r<<16)|(g<<8)|b); } } - Path texDir = ASSET_ROOT.resolve("textures"); + Path texDir = ASSET_ROOT.resolve("Textures").resolve("impostor"); Files.createDirectories(texDir); ImageIO.write(img, "PNG", texDir.resolve(name + ".png").toFile()); } catch (IOException e) { @@ -544,8 +543,8 @@ public class EzTreeState extends BaseAppState { private void exportTree(Node treeNode, String name, String treeCategory) { try { Path baseDir = (treeCategory != null && !treeCategory.isBlank()) - ? BLIGHT_ASSET_ROOT.resolve("trees").resolve(treeCategory) - : ASSET_ROOT.resolve("models"); + ? ASSET_ROOT.resolve("trees").resolve(treeCategory) + : ASSET_ROOT.resolve("Models"); Files.createDirectories(baseDir); File out = baseDir.resolve(name + ".j3o").toFile(); BinaryExporter.getInstance().save(treeNode, out); diff --git a/blight-editor/src/main/java/de/blight/editor/state/PalmGeneratorState.java b/blight-editor/src/main/java/de/blight/editor/state/PalmGeneratorState.java index 547e505..7892a62 100644 --- a/blight-editor/src/main/java/de/blight/editor/state/PalmGeneratorState.java +++ b/blight-editor/src/main/java/de/blight/editor/state/PalmGeneratorState.java @@ -33,7 +33,7 @@ public class PalmGeneratorState extends BaseAppState { private static final Logger log = LoggerFactory.getLogger(PalmGeneratorState.class); - private static final Path ASSET_ROOT = de.blight.editor.ProjectRoot.resolve("editor-assets"); + private static final Path ASSET_ROOT = de.blight.editor.ProjectRoot.resolve("blight-assets", "src", "main", "resources"); private final SharedInput input; private SimpleApplication app; @@ -192,7 +192,7 @@ public class PalmGeneratorState extends BaseAppState { private void exportPalm(Node palmNode, String name) { try { - Path modelDir = ASSET_ROOT.resolve("models"); + Path modelDir = ASSET_ROOT.resolve("trees").resolve("palm"); Files.createDirectories(modelDir); String stampedName = name + "_" + DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss").format(LocalDateTime.now()); diff --git a/blight-editor/src/main/java/de/blight/editor/state/TreeGeneratorState.java b/blight-editor/src/main/java/de/blight/editor/state/TreeGeneratorState.java index 7cede4f..a55beb2 100644 --- a/blight-editor/src/main/java/de/blight/editor/state/TreeGeneratorState.java +++ b/blight-editor/src/main/java/de/blight/editor/state/TreeGeneratorState.java @@ -70,7 +70,7 @@ public class TreeGeneratorState extends BaseAppState { private static final int IMPOSTOR_SIZE = 512; private static final int PREVIEW_SIZE = 1024; - private static final Path ASSET_ROOT = de.blight.editor.ProjectRoot.resolve("editor-assets"); + private static final Path ASSET_ROOT = de.blight.editor.ProjectRoot.resolve("blight-assets", "src", "main", "resources"); private final SharedInput input; @@ -401,7 +401,7 @@ public class TreeGeneratorState extends BaseAppState { mat.setTexture("BarkMap", barkTex); mat.setBoolean("HasBarkMap", true); } catch (Exception tex) { - System.err.println("[TreeGenerator] Bark-Textur nicht gefunden: " + p.barkTexture); + log.warn("[Blight-Baum] Bark-Textur nicht gefunden: {}", p.barkTexture); } } return mat; @@ -535,14 +535,14 @@ public class TreeGeneratorState extends BaseAppState { img.setRGB(x, IMPOSTOR_SIZE - 1 - y, (a<<24)|(r<<16)|(g<<8)|b); } } - Path texDir = ASSET_ROOT.resolve("textures"); + Path texDir = ASSET_ROOT.resolve("Textures").resolve("impostor"); Files.createDirectories(texDir); File pngFile = texDir.resolve(name + ".png").toFile(); ImageIO.write(img, "PNG", pngFile); - System.out.println("[TreeGenerator] Impostor: " + pngFile.getAbsolutePath()); + log.info("[Blight-Baum] Impostor: {}", pngFile.getAbsolutePath()); try { - return (Texture2D) assets.loadTexture("textures/" + name + ".png"); + return (Texture2D) assets.loadTexture("Textures/impostor/" + name + ".png"); } catch (Exception loadEx) { pixels.rewind(); Image jmeImg = new Image(Image.Format.RGBA8, IMPOSTOR_SIZE, IMPOSTOR_SIZE, @@ -559,7 +559,7 @@ public class TreeGeneratorState extends BaseAppState { private void exportTree(Node treeNode, String name) { try { - Path modelDir = ASSET_ROOT.resolve("models"); + Path modelDir = ASSET_ROOT.resolve("Models"); Files.createDirectories(modelDir); File out = modelDir.resolve("GeneratedTree_" + name + ".j3o").toFile(); // Strip runtime controls before export — they lack no-arg constructors diff --git a/blight-editor/src/main/java/de/blight/editor/ui/TextureChooser.java b/blight-editor/src/main/java/de/blight/editor/ui/TextureChooser.java index 547f346..9f22c15 100644 --- a/blight-editor/src/main/java/de/blight/editor/ui/TextureChooser.java +++ b/blight-editor/src/main/java/de/blight/editor/ui/TextureChooser.java @@ -63,7 +63,7 @@ public class TextureChooser extends Dialog { private String selectedPath; /** - * @param assetRoot path to the editor-assets directory (may be {@code null} to skip user textures) + * @param assetRoot path to the blight-assets directory (may be {@code null} to skip user textures) * @param includeJmeBuiltin whether to include JME built-in terrain textures */ public TextureChooser(Path assetRoot, boolean includeJmeBuiltin) {