I just opened a .matDef file in the SDK for the first time since upgrading to 3.5-sdk2 and it gave me this error message which said If this was due to you opening a j3md from a jar (org.openide.filesystems.FSException) then don't report it to us, if it differs, do so!
In this case I was opening a custom .j3md file from my assets folder and not from a jar, so it sounded like I should report the error.
jMonkeyEngine SDK Exception Report
Please submit me to the Issue Tracker
Comment: This means that there was an unexpected exception when parsing the j3md. If this was due to you opening a j3md from a jar (org.openide.filesystems.FSException) then don't report it to us, if it differs, do so!
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at com.jme3.gde.materialdefinition.fileStructure.leaves.DefineBlock.parse(DefineBlock.java:57)
at com.jme3.gde.materialdefinition.fileStructure.leaves.DefineBlock.<init>(DefineBlock.java:21)
at com.jme3.gde.materialdefinition.fileStructure.DefinesBlock.<init>(DefinesBlock.java:21)
at com.jme3.gde.materialdefinition.fileStructure.TechniqueBlock.<init>(TechniqueBlock.java:56)
at com.jme3.gde.materialdefinition.fileStructure.MatDefBlock.<init>(MatDefBlock.java:60)
at com.jme3.gde.materialdefinition.EditableMatDefFile.load(EditableMatDefFile.java:136)
at com.jme3.gde.materialdefinition.EditableMatDefFile.<init>(EditableMatDefFile.java:104)
at com.jme3.gde.materialdefinition.MatDefDataObject.getEditableFile(MatDefDataObject.java:288)
at com.jme3.gde.materialdefinition.navigator.MatDefNavigatorPanel.updateData(MatDefNavigatorPanel.java:127)
at com.jme3.gde.materialdefinition.MatDefDataObject.createEditor(MatDefDataObject.java:206)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.netbeans.core.spi.multiview.MultiViewFactory$MapMVD.createElement(MultiViewFactory.java:431)
at org.netbeans.core.multiview.MultiViewModel.getElementForDescription(MultiViewModel.java:197)
at org.netbeans.core.multiview.MultiViewModel.getActiveElement(MultiViewModel.java:107)
at org.netbeans.core.multiview.MultiViewModel.getActiveElement(MultiViewModel.java:103)
at org.netbeans.core.multiview.MultiViewPeer.assignLookup(MultiViewPeer.java:236)
at org.netbeans.core.multiview.MultiViewCloneableTopComponent.getLookup(MultiViewCloneableTopComponent.java:98)
at org.openide.windows.CloneableTopComponent.componentOpened(CloneableTopComponent.java:169)
at org.netbeans.core.multiview.MultiViewCloneableTopComponent.componentOpened(MultiViewCloneableTopComponent.java:128)
at org.openide.windows.WindowManager.componentOpenNotify(WindowManager.java:282)
at org.netbeans.core.windows.WindowManagerImpl.notifyTopComponentOpened(WindowManagerImpl.java:1182)
at org.netbeans.core.windows.Central.addModeOpenedTopComponent(Central.java:773)
at org.netbeans.core.windows.ModeImpl.addOpenedTopComponent(ModeImpl.java:333)
at org.netbeans.core.windows.WindowManagerImpl.topComponentOpenAtTabPosition(WindowManagerImpl.java:1295)
at org.netbeans.core.windows.WindowManagerImpl.topComponentOpen(WindowManagerImpl.java:1252)
at org.openide.windows.TopComponent.open(TopComponent.java:472)
at org.openide.windows.TopComponent.open(TopComponent.java:452)
at org.openide.windows.CloneableOpenSupport.openCloneableTopComponent(CloneableOpenSupport.java:183)
at org.openide.windows.CloneableOpenSupport$1.run(CloneableOpenSupport.java:82)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEvent(NbMutexEventProvider.java:97)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.writeAccess(NbMutexEventProvider.java:62)
at org.netbeans.modules.openide.util.LazyMutexImplementation.writeAccess(LazyMutexImplementation.java:56)
at org.openide.util.Mutex.writeAccess(Mutex.java:291)
at org.openide.windows.CloneableOpenSupport.open(CloneableOpenSupport.java:79)
at org.openide.text.CloneableEditorSupport.open(CloneableEditorSupport.java:412)
at org.openide.awt.ActionDefaultPerfomer.actionPerformed(ActionDefaultPerfomer.java:47)
at org.openide.awt.ContextAction$Performer.actionPerformed(ContextAction.java:442)
at org.openide.awt.ContextManager.actionPerformed(ContextManager.java:263)
at org.openide.awt.ContextAction.actionPerformed(ContextAction.java:106)
at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:68)
at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:91)
at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:74)
at org.openide.awt.GeneralAction$BaseDelAction.actionPerformed(GeneralAction.java:354)
at org.openide.explorer.view.TreeView$PopupSupport.mouseClicked(TreeView.java:1608)
at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278)
at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6638)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6400)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4556)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Operating System: Windows 10
Engine Version as used by the SDK: 3.5.2-stable
There doesn’t appear to be anything wrong that I can notice and I was still able to open and edit the text for my matDef in the SDK after getting this error. But based on the error message it sounds like I should still report this issue.
Edit: something i just noticed: the material editor is broken for materials that are using JME’s stock PBR shader. But it is working fine when I open any materials using one of my own custom shaders located in the project’s assets folder.