1: Only the 'save as' function works. Clicking Save or ctrl + s does nothing.
2: How I found out about 1. When you have like 40 layers of work and try and do a 3D projection, the thing crashes. And don't tell me it's my computer, I've got ample system resources to perform such a task.
That said, I do love this program for designing structures, I'm just irked that I lost a crap ton of work (was at layer 45, I'm back at level 7) thinking that I was saving every layer.
1: Only the 'save as' function works. Clicking Save or ctrl + s does nothing.
2: How I found out about 1. When you have like 40 layers of work and try and do a 3D projection, the thing crashes. And don't tell me it's my computer, I've got ample system resources to perform such a task.
That said, I do love this program for designing structures, I'm just irked that I lost a crap ton of work (was at layer 45, I'm back at level 7) thinking that I was saving every layer.
There seems to be a problem with the key event interceptor on some of the windows; sometimes it catches the save event, and sometimes it doesn't. I'm trying to find out what's wrong and fix it, but it's slow going.
Could you tell me the dimensions of the structure you were working with, and roughly how many blocks there were in it? I've tested it with way more than 40 layers of blocks before and not had a problem. A couple of things spring to mind:
Are you running the JAR file or the .exe? If you're running the jar file by double-clicking on it then your heap size is only going to be 256MB (the standard for Java) so you may have run out of memory. You can either try using the .exe (which will automatically configure the heap to be up to 90% of free memory) or you can create a batch file to run the Structure Planner with a larger heap size (instructions can be found in the FAQ at http://minecraftstructureplanner.com/index.php/about/faq)
For now it's safest to use 'Save' directly from the file menu, just in case the keyboard input map isn't working correctly.
I have a question what the hell am I supposed to do with the .jar file? When I click on it doesn't open a client or anything and I have everything installed.
Great app! Thanks for this! Thanks too for your continued support of the app and your watching the topic here. I'd give you a diamond, but I cant find the MC icons yet on the new forums when making a post, lol.
I have a few feature requests/issues, but note that the app as-is is already wonderful:
1. I'd like to see stairs implemented, as it affects the materials cost a fair bit, and would make planning, as well as viewing the structure as it'll be a little bit easier. Side view of stairs in the Textures are would be the obvious graphic choice there. For top-down view, maybe a line down the middle of the otherwise normal texture for the full block of the base material would do the trick?
3-D view may be another more complicated matter? I have no idea. If it is, maybe implementing stairs as described for now is a good interim step, but they still render as a full block in 3-D mode to simplify matters there, just to get stairs into the app as soon as feasible?
2. It would be great if plank half blocks had a different texture somehow, from their full block equivalents, because currently you cant tell the difference between the two in top-down view mode. Makes figuring out what you need to build, if building directly in MC by hand while looking at Structure Planner slightly more tricky. I dont use schematics, InvEdit, MCEdit or any of these things, so this is how I build when I use Structure Planner. Maybe do as with stone half blocks? A little darker border around the edge? That would do. Anything to be able to tell them apart.
3. It would be truly great if there was an Insert Layer option. You can add a layer but you cant insert. I had a build where I needed to add an additional layer lower in the structure. Current GUI requires (as far as I can tell) that to do this you start at your current top and copy and paste all layers above the insert area one layer up. Can be tedious, depending. I think the easiest GUI solution is that Add Layer puts a new layer directly above whatever layer you currently have selected, but I dont know what it would take to code that.
4. I'm on a PPC-based Mac with 10.5.8. Free Form works perfectly. Might be that I dont know the correct GUI usage for this, but when I select Pixel Art under Structures, absolutely nothing happens. No interior frame from which to import or work with an image. When I select Free Form I do, in fact, get the grid, side frame of blocks etc - just nothin at all when I select Pixel Art from the Structures menu, so currently I cannot use that sideof the app, butit would be nice to be able to.
5. When I save the fill as a Structure Planner file (.xsp) and then Load it back, it isnt saved correctly. In Plan View, there is only ever 1 layer no matter how many were in the original build and, though it appears that though it chooses the second top-most layer (odd), the chosen material is not what the original build for that layer was. Additionally, there are no scroll bars to move the grid around and 3-D projection doesnt work at all. Height map, however, remains fully accurate, so the data is in there in some fashion. Therefore, the way I have to use Structure Planner to build is to screenshot every layer and then build from the screenshots (I dont export schematics and use MCEdit anyway, but it would be superbly nice to be able to save and re-use a .xsp file for later, as opposed to screenshots).
6. Minor, but I'd like a .5x zoom view too. Compared to the things above, this is really trivial though.
I have a question what the hell am I supposed to do with the .jar file? When I click on it doesn't open a client or anything and I have everything installed.
Sometimes the double-click on the JAR file won't run it if you have your file type affiliations incorrect (.jar should be affiliated with the java executable.) Either way, there's an FAQ entry on how to solve this problem, and it actually results in you having a more configurable application anyway :smile.gif:
Great app! Thanks for this! Thanks too for your continued support of the app and your watching the topic here. I'd give you a diamond, but I cant find the MC icons yet on the new forums when making a post, lol.
I have a few feature requests/issues, but note that the app as-is is already wonderful:
1. I'd like to see stairs implemented, as it affects the materials cost a fair bit, and would make planning, as well as viewing the structure as it'll be a little bit easier. Side view of stairs in the Textures are would be the obvious graphic choice there. For top-down view, maybe a line down the middle of the otherwise normal texture for the full block of the base material would do the trick?
3-D view may be another more complicated matter? I have no idea. If it is, maybe implementing stairs as described for now is a good interim step, but they still render as a full block in 3-D mode to simplify matters there, just to get stairs into the app as soon as feasible?
2. It would be great if plank half blocks had a different texture somehow, from their full block equivalents, because currently you cant tell the difference between the two in top-down view mode. Makes figuring out what you need to build, if building directly in MC by hand while looking at Structure Planner slightly more tricky. I dont use schematics, InvEdit, MCEdit or any of these things, so this is how I build when I use Structure Planner. Maybe do as with stone half blocks? A little darker border around the edge? That would do. Anything to be able to tell them apart.
3. It would be truly great if there was an Insert Layer option. You can add a layer but you cant insert. I had a build where I needed to add an additional layer lower in the structure. Current GUI requires (as far as I can tell) that to do this you start at your current top and copy and paste all layers above the insert area one layer up. Can be tedious, depending. I think the easiest GUI solution is that Add Layer puts a new layer directly above whatever layer you currently have selected, but I dont know what it would take to code that.
4. I'm on a PPC-based Mac with 10.5.8. Free Form works perfectly. Might be that I dont know the correct GUI usage for this, but when I select Pixel Art under Structures, absolutely nothing happens. No interior frame from which to import or work with an image. When I select Free Form I do, in fact, get the grid, side frame of blocks etc - just nothin at all when I select Pixel Art from the Structures menu, so currently I cannot use that sideof the app, butit would be nice to be able to.
5. When I save the fill as a Structure Planner file (.xsp) and then Load it back, it isnt saved correctly. In Plan View, there is only ever 1 layer no matter how many were in the original build and, though it appears that though it chooses the second top-most layer (odd), the chosen material is not what the original build for that layer was. Additionally, there are no scroll bars to move the grid around and 3-D projection doesnt work at all. Height map, however, remains fully accurate, so the data is in there in some fashion. Therefore, the way I have to use Structure Planner to build is to screenshot every layer and then build from the screenshots (I dont export schematics and use MCEdit anyway, but it would be superbly nice to be able to save and re-use a .xsp file for later, as opposed to screenshots).
6. Minor, but I'd like a .5x zoom view too. Compared to the things above, this is really trivial though.
Thanks again for the app!
Wow, thanks for the detailed post! Anyway, here's my responses by number :smile.gif:
1. I already implemented stairs using the 'cheap' method you described, and there's a reason that you don't see it in your application right now ;-) It was just sinfully ugly! I couldn't bring myself to release the application with that hack in it, so I'm re-writing it properly at the moment. There'll be at least one release before stairs appear, but then you should have fully functioning stairs that look correct in both plan view and 3D projection.
2. Yeah, the fact that plank half-blocks appear as a full block in the plan view is an egregious bug. It's on my list to fix. Maybe I'll get that one done for the next release, as it really does make planning with them a pain in the butt.
3. There IS an insert layer at current layer functionality :smile.gif: It's just not in the toolbar. If you right-click on your design grid then you'll get a pop-up menu that allows you to insert rows, columns or layers wherever you want. The reason I didn't add all that pop-up functionality to the toolbar is because it got REALLY crowded with icons. The Microsoft way of handling that functionality is to have the tool button be a drop-down button, but I have to implement that myself in Swing. It's just not been a high priority for me as the functionality is already available through the menu. I'd be interested in hearing your thoughts on this one though.
4. Hmmm. I have a Mac to test on, but I do almost all of my development on a Windows machine. I can say that on my Mac (OS X 10.6.7, Intel) it seems to work perfectly, so it might be an issue with the version of Java or the O/S that you have. Could you send me a screenshot please?
5. Could you send me your save file please? I'll test using that. Again, it might be a Java version issue causing the problem. I'll be able to confirm by loading your file in debug mode. BTW - have you tried exporting your plans as an image file? I'd be interested to see if that works.
Wow, thanks for the detailed post! Anyway, here's my responses by number :smile.gif:
Most welcome! I'm a graphic designer, information architect and UI specialist, so I'm used to trying to be detailed, but open-minded, when working with developers. I find that's of course most helpful for everyone involved. :smile.gif:
1. I already implemented stairs using the 'cheap' method you described, and there's a reason that you don't see it in your application right now ;-) It was just sinfully ugly! I couldn't bring myself to release the application with that hack in it, so I'm re-writing it properly at the moment. There'll be at least one release before stairs appear, but then you should have fully functioning stairs that look correct in both plan view and 3D projection.
Nice. We think alike. I figured it might not look that great and would be a stopgap measure at best. Nice to hear its in running still.
2. Yeah, the fact that plank half-blocks appear as a full block in the plan view is an egregious bug. It's on my list to fix. Maybe I'll get that one done for the next release, as it really does make planning with them a pain in the butt.
Might be as easy as a slight outline around the current top-down texture, as with stone half blocks. Not 100% sure, but possibly this is an easy-ish one for you. I can manage without it though. Its really more for convenience and ease as opposed to functionality.
3. There IS an insert layer at current layer functionality :smile.gif: It's just not in the toolbar. If you right-click on your design grid then you'll get a pop-up menu that allows you to insert rows, columns or layers wherever you want. The reason I didn't add all that pop-up functionality to the toolbar is because it got REALLY crowded with icons. The Microsoft way of handling that functionality is to have the tool button be a drop-down button, but I have to implement that myself in Swing. It's just not been a high priority for me as the functionality is already available through the menu. I'd be interested in hearing your thoughts on this one though.
Ah ha! That figures. I should have tried that and am surprised I didnt. :wink.gif:
Trying it just now, it doesnt work for me. No contextual menu when I right-click in the design grid. I do, however, get the normal tool tips on icon rollover in the Textures area, although code-wise these are surely a different animal. Likely my Java version as OSX 10.5.x is a release behind OSX 10.6.x. Something I kind of have to live with until I can get an Intel-based Mac and, trust me, I do wish for it. Meantime, I make do.
On the icons, the desire to reduce clutter is understandable. My solution would be to have an Add Layer icon, just as you have it, but none of the layers shaded. When you click on this, three icons appear in a drop-down below it and each have a different layer shaded. Bottom-most one has the bottom layer shaded and when you click on that, it adds a layer to the bottom of the design grid. Middle-most has the middle layer shaded and when you click on that it adds a layer just above whatever layer you are currently in. Top-most has the top layer shaded and adds a layer to the top of the design grid. I think that would cover it nicely. Later addition doesnt happen all too often, but when it does, this solution I think is more elegant and intuitive then a mouse right-click and choosing something in there. I'd then extend this to other icons where there are insert options in the current contextual menu.
So happens of course that solution would handily fix my lack of having a contextual menu, allowing me to actually insert layers, but that's not my motivation for suggesting that solution. At least, not primarily. :wink.gif: Meantime, I can make do, as this one sounds like a bit of work.
4. Hmmm. I have a Mac to test on, but I do almost all of my development on a Windows machine. I can say that on my Mac (OS X 10.6.7, Intel) it seems to work perfectly, so it might be an issue with the version of Java or the O/S that you have. Could you send me a screenshot please?
Presumably its something funky with my Java verson, combined with some subtle or not so subtle way the Free Form information populates being different from the way the Pixel Art information populates. I will send you a screen shot or two, along with:
5. Could you send me your save file please? I'll test using that. Again, it might be a Java version issue causing the problem. I'll be able to confirm by loading your file in debug mode. BTW - have you tried exporting your plans as an image file? I'd be interested to see if that works.
I will send you a screenshot or two and save file(s) in a .zip.
Havent tried saving as an image file. A quick look right now under File revealed no obvious way for me to do it though. There is "Save As..." which gives me the option to save as a Structure Planner file (.xsp - and this works, although as noted, the save file itself has a couple issues for me) or as "All Files..." Doing the latter though gives me a .xsp file as well, and when loaded it opens in the same exact state as the actual save file option, so on my end, I cannot tell the difference between these two options. The other option is "Export Schematic" and I have done that too. Importing that, I get the same exact thing as the above two options, with the same exact issues. These are the only save options I can find.
Incidentally, saving different ways and then going back to open them etc, I found another little minor thing. More a GUI niceity than a functionality issue, but it would be really nice if Structure Planner remembered you last save/open/import location. I have to navigate each time from my Home menu, which for my organizational setup at least, is not so convenient. Getting from there to where I save various Minecraft things is a good 5 or 6 folders away. Not a big deal, as I'm not opening or importing existing files all too often enough for this to be something I'd spend a lot of time on, but it would be a nice little thing.
You know what, I made the mistake of listing this as a possibility without fully testing the slider properly. The one time I tried it, it didnt work, as it doesnt work in my re-opened save file. That is embarrassing because it does work in normal use of the app for me. I made the mistake of assuming there were but three zoom options. In actuality, of course, its a fluid zoom and the markers are only for scale reference. This is perfect as is. A fourth marker adds clutter and puts the 1x off center and neither of those things would be good.
Oh absolutely! Its great. Thanks for taking the time to listen to my (and others) issues and requests and working with us, as opposed to being less accessible. You'd get more diamonds, but I cannot find them currently in the new forums, which is pretty much similar to actual game play. :wink.gif:
On the icons, the desire to reduce clutter is understandable. My solution would be to have an Add Layer icon, just as you have it, but none of the layers shaded. When you click on this, three icons appear in a drop-down below it and each have a different layer shaded. Bottom-most one has the bottom layer shaded and when you click on that, it adds a layer to the bottom of the design grid. Middle-most has the middle layer shaded and when you click on that it adds a layer just above whatever layer you are currently in. Top-most has the top layer shaded and adds a layer to the top of the design grid. I think that would cover it nicely. Later addition doesnt happen all too often, but when it does, this solution I think is more elegant and intuitive then a mouse right-click and choosing something in there. I'd then extend this to other icons where there are insert options in the current contextual menu.
Yup - this is what I was trying to describe with the 'Microsoft ribbon approach'. The biggest problem is that, as far as I know, the Java JToolbar control doesn't support this natively so I'd have to implement it as low-level Swing code. Not that I haven't done things like that in the application already, but it does take quite some time to implement and debug.
Havent tried saving as an image file. A quick look right now under File revealed no obvious way for me to do it though. There is "Save As..." which gives me the option to save as a Structure Planner file (.xsp - and this works, although as noted, the save file itself has a couple issues for me) or as "All Files..." Doing the latter though gives me a .xsp file as well, and when loaded it opens in the same exact state as the actual save file option, so on my end, I cannot tell the difference between these two options. The other option is "Export Schematic" and I have done that too. Importing that, I get the same exact thing as the above two options, with the same exact issues. These are the only save options I can find.
Could you let me know what version of the Structure Planner you're using please? The latest release is 0.99.5a, and that's the one that has 'Export Schematic...' supporting the Plan Image option.
Incidentally, saving different ways and then going back to open them etc, I found another little minor thing. More a GUI niceity than a functionality issue, but it would be really nice if Structure Planner remembered you last save/open/import location. I have to navigate each time from my Home menu, which for my organizational setup at least, is not so convenient. Getting from there to where I save various Minecraft things is a good 5 or 6 folders away. Not a big deal, as I'm not opening or importing existing files all too often enough for this to be something I'd spend a lot of time on, but it would be a nice little thing.
Totally agree. One of the things I'm working on right now is persistent user preferences. The primary functionality this will support is named texture sets (so that I can get rid of the clunky Texture Filter, which I don't like.) It will also support 'last save location' and 'heap size configuration' parameters though, along with anything other user configurable items I add.
Yup - this is what I was trying to describe with the 'Microsoft ribbon approach'. The biggest problem is that, as far as I know, the Java JToolbar control doesn't support this natively so I'd have to implement it as low-level Swing code. Not that I haven't done things like that in the application already, but it does take quite some time to implement and debug.
This would be really nice. No doubt about that. Thing is, it certainly sounds like a fair bit of effort, and most users can use the right-click contextual if they know about it, so the functionality is already in the app, even if not in its ideal form. Therefore, a more weighty coding effort like this probably needs to take a back seat to the easier and/or more pressing issues. I'd love to see it, though, when it can make its way in.
Could you let me know what version of the Structure Planner you're using please? The latest release is 0.99.5a, and that's the one that has 'Export Schematic...' supporting the Plan Image option.
I've got 0.99.5a.
Ok, that was weird. "Plan Image File" was not in the options when I looked and tested a few minutes ago, but here it is. Brilliant bit of stealth coding you just did! Seriously, though, that's odd (I'll try some things to try and replicate). Anyhow, just tested it and it gave me what I was doing more work to get via using screenshots of each layer of the design space in order to circumvent my inability to save and re-open properly. I'll now do this. Much better.
Totally agree. One of the things I'm working on right now is persistent user preferences. The primary functionality this will support is named texture sets (so that I can get rid of the clunky Texture Filter, which I don't like.) It will also support 'last save location' and 'heap size configuration' parameters though, along with anything other user configurable items I add.
Perfect! Sounds like you have a good plan for features and developments going ahead - not that I doubted you did. :smile.gif:
Hey, having a little trouble running your application. I get the "Java 3D does not appear to be installed" message when I try starting it even though I did indeed install it. I checked your FAQ:
i. Find the location of the Java JVM that's being used to run your Java applications.
ii. Ensure that the 64-bit Java 3D JAR files are copied into the /lib/ext directory within the JRE or JDK you installed. The required JAR files are j3dcore.jar, j3dutils.jar, and vecmath.jar.
iii. Ensure that the 64-bit Java 3D dll files are copied into the /bin directory within the JRE or JDK you installed. The required DLL files (in the case of Windows) are j3dcore-d3d.dll, j3dcore-ogl.dll, j3dcore-ogl-cg.dll and j3dcore-ogl-chk.dll. Unix/Mac OS will have their own similarly named library files that need to be copied into the bin directory.
all the files are where they should be, so I'm confused.
I assume it's related, but when I click "ok", your application starts, but no matter what I select in the structures menu, nothing happens.
Any hint on what may be happening or how to solve this?
Hey, having a little trouble running your application. I get the "Java 3D does not appear to be installed" message when I try starting it even though I did indeed install it. I checked your FAQ:
all the files are where they should be, so I'm confused.
I assume it's related, but when I click "ok", your application starts, but no matter what I select in the structures menu, nothing happens.
Any hint on what may be happening or how to solve this?
Sorry for the slow reply - have been ill for the past few days.
Could you please refer to the FAQ and run the program from the command line. I suspect there'll be an exception thrown when you try to open it. Post that exception here and I'll see if we can't work out what's going on.
I probably missed this somewhere through the thread I didn't really read. It would be awesome if you could have some basic shape tools in freeform, like circle, square, lines etc. This would make it much more useful for me.
Sorry for the slow reply - have been ill for the past few days.
Could you please refer to the FAQ and run the program from the command line. I suspect there'll be an exception thrown when you try to open it. Post that exception here and I'll see if we can't work out what's going on.
Cheers,
LankyBrit.
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/vec
math/Color3f
at minecraft.planner.gui.java3d.Color.<clinit>(Color.java:6)
at minecraft.planner.gui.java3d.TextureName.<clinit>(TextureName.java:14
)
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Color3f
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 50 more
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not
initialize class minecraft.planner.gui.java3d.TextureName
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
C:\Users\philippe\Desktop>java -cp MinecraftStructurePlanner.jar -Xmx3000M minec
raft.planner.gui.StructurePlanner
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/vec
math/Color3f
at minecraft.planner.gui.java3d.Color.<clinit>(Color.java:6)
at minecraft.planner.gui.java3d.TextureName.<clinit>(TextureName.java:14
)
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Color3f
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 50 more
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/vec
math/Color3f
at minecraft.planner.gui.java3d.Color.<clinit>(Color.java:6)
at minecraft.planner.gui.java3d.TextureName.<clinit>(TextureName.java:14
)
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Color3f
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 50 more
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not
initialize class minecraft.planner.gui.java3d.TextureName
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
C:\Users\philippe\Desktop>java -cp MinecraftStructurePlanner.jar -Xmx3000M minec
raft.planner.gui.StructurePlanner
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/vec
math/Color3f
at minecraft.planner.gui.java3d.Color.<clinit>(Color.java:6)
at minecraft.planner.gui.java3d.TextureName.<clinit>(TextureName.java:14
)
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Color3f
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 50 more
Yup - that's the "Java 3D not installed correctly" error. It's a royal pain in the bum. Luckily it's one that I've documented in the FAQ :smile.gif: Follow the instructions here and you should be good.
Just follow the download links and instructions on the installation page: http://minecraftstructureplanner.com/index.php/download
Home of the Minecraft Structure Planner application.
Cheers,
LankyBrit.
Home of the Minecraft Structure Planner application.
1: Only the 'save as' function works. Clicking Save or ctrl + s does nothing.
2: How I found out about 1. When you have like 40 layers of work and try and do a 3D projection, the thing crashes. And don't tell me it's my computer, I've got ample system resources to perform such a task.
That said, I do love this program for designing structures, I'm just irked that I lost a crap ton of work (was at layer 45, I'm back at level 7) thinking that I was saving every layer.
Ahh.. Ok ok.. I got It to Work! Thanks
There seems to be a problem with the key event interceptor on some of the windows; sometimes it catches the save event, and sometimes it doesn't. I'm trying to find out what's wrong and fix it, but it's slow going.
Could you tell me the dimensions of the structure you were working with, and roughly how many blocks there were in it? I've tested it with way more than 40 layers of blocks before and not had a problem. A couple of things spring to mind:
Are you running the JAR file or the .exe? If you're running the jar file by double-clicking on it then your heap size is only going to be 256MB (the standard for Java) so you may have run out of memory. You can either try using the .exe (which will automatically configure the heap to be up to 90% of free memory) or you can create a batch file to run the Structure Planner with a larger heap size (instructions can be found in the FAQ at http://minecraftstructureplanner.com/index.php/about/faq)
For now it's safest to use 'Save' directly from the file menu, just in case the keyboard input map isn't working correctly.
Hope this helps,
LankyBrit.
Home of the Minecraft Structure Planner application.
I have a few feature requests/issues, but note that the app as-is is already wonderful:
1. I'd like to see stairs implemented, as it affects the materials cost a fair bit, and would make planning, as well as viewing the structure as it'll be a little bit easier. Side view of stairs in the Textures are would be the obvious graphic choice there. For top-down view, maybe a line down the middle of the otherwise normal texture for the full block of the base material would do the trick?
3-D view may be another more complicated matter? I have no idea. If it is, maybe implementing stairs as described for now is a good interim step, but they still render as a full block in 3-D mode to simplify matters there, just to get stairs into the app as soon as feasible?
2. It would be great if plank half blocks had a different texture somehow, from their full block equivalents, because currently you cant tell the difference between the two in top-down view mode. Makes figuring out what you need to build, if building directly in MC by hand while looking at Structure Planner slightly more tricky. I dont use schematics, InvEdit, MCEdit or any of these things, so this is how I build when I use Structure Planner. Maybe do as with stone half blocks? A little darker border around the edge? That would do. Anything to be able to tell them apart.
3. It would be truly great if there was an Insert Layer option. You can add a layer but you cant insert. I had a build where I needed to add an additional layer lower in the structure. Current GUI requires (as far as I can tell) that to do this you start at your current top and copy and paste all layers above the insert area one layer up. Can be tedious, depending. I think the easiest GUI solution is that Add Layer puts a new layer directly above whatever layer you currently have selected, but I dont know what it would take to code that.
4. I'm on a PPC-based Mac with 10.5.8. Free Form works perfectly. Might be that I dont know the correct GUI usage for this, but when I select Pixel Art under Structures, absolutely nothing happens. No interior frame from which to import or work with an image. When I select Free Form I do, in fact, get the grid, side frame of blocks etc - just nothin at all when I select Pixel Art from the Structures menu, so currently I cannot use that sideof the app, butit would be nice to be able to.
5. When I save the fill as a Structure Planner file (.xsp) and then Load it back, it isnt saved correctly. In Plan View, there is only ever 1 layer no matter how many were in the original build and, though it appears that though it chooses the second top-most layer (odd), the chosen material is not what the original build for that layer was. Additionally, there are no scroll bars to move the grid around and 3-D projection doesnt work at all. Height map, however, remains fully accurate, so the data is in there in some fashion. Therefore, the way I have to use Structure Planner to build is to screenshot every layer and then build from the screenshots (I dont export schematics and use MCEdit anyway, but it would be superbly nice to be able to save and re-use a .xsp file for later, as opposed to screenshots).
6. Minor, but I'd like a .5x zoom view too. Compared to the things above, this is really trivial though.
Thanks again for the app!
Sometimes the double-click on the JAR file won't run it if you have your file type affiliations incorrect (.jar should be affiliated with the java executable.) Either way, there's an FAQ entry on how to solve this problem, and it actually results in you having a more configurable application anyway :smile.gif:
How do I run the application from the command line?
For reference the FAQ is here.
Cheers,
LankyBrit.
Home of the Minecraft Structure Planner application.
Wow, thanks for the detailed post! Anyway, here's my responses by number :smile.gif:
1. I already implemented stairs using the 'cheap' method you described, and there's a reason that you don't see it in your application right now ;-) It was just sinfully ugly! I couldn't bring myself to release the application with that hack in it, so I'm re-writing it properly at the moment. There'll be at least one release before stairs appear, but then you should have fully functioning stairs that look correct in both plan view and 3D projection.
2. Yeah, the fact that plank half-blocks appear as a full block in the plan view is an egregious bug. It's on my list to fix. Maybe I'll get that one done for the next release, as it really does make planning with them a pain in the butt.
3. There IS an insert layer at current layer functionality :smile.gif: It's just not in the toolbar. If you right-click on your design grid then you'll get a pop-up menu that allows you to insert rows, columns or layers wherever you want. The reason I didn't add all that pop-up functionality to the toolbar is because it got REALLY crowded with icons. The Microsoft way of handling that functionality is to have the tool button be a drop-down button, but I have to implement that myself in Swing. It's just not been a high priority for me as the functionality is already available through the menu. I'd be interested in hearing your thoughts on this one though.
4. Hmmm. I have a Mac to test on, but I do almost all of my development on a Windows machine. I can say that on my Mac (OS X 10.6.7, Intel) it seems to work perfectly, so it might be an issue with the version of Java or the O/S that you have. Could you send me a screenshot please?
5. Could you send me your save file please? I'll test using that. Again, it might be a Java version issue causing the problem. I'll be able to confirm by loading your file in debug mode. BTW - have you tried exporting your plans as an image file? I'd be interested to see if that works.
6. I can do that.
Thanks for the interest in my little application!
Cheers,
LankyBrit.
Home of the Minecraft Structure Planner application.
Most welcome! I'm a graphic designer, information architect and UI specialist, so I'm used to trying to be detailed, but open-minded, when working with developers. I find that's of course most helpful for everyone involved. :smile.gif:
Nice. We think alike. I figured it might not look that great and would be a stopgap measure at best. Nice to hear its in running still.
Might be as easy as a slight outline around the current top-down texture, as with stone half blocks. Not 100% sure, but possibly this is an easy-ish one for you. I can manage without it though. Its really more for convenience and ease as opposed to functionality.
Ah ha! That figures. I should have tried that and am surprised I didnt. :wink.gif:
Trying it just now, it doesnt work for me. No contextual menu when I right-click in the design grid. I do, however, get the normal tool tips on icon rollover in the Textures area, although code-wise these are surely a different animal. Likely my Java version as OSX 10.5.x is a release behind OSX 10.6.x. Something I kind of have to live with until I can get an Intel-based Mac and, trust me, I do wish for it. Meantime, I make do.
On the icons, the desire to reduce clutter is understandable. My solution would be to have an Add Layer icon, just as you have it, but none of the layers shaded. When you click on this, three icons appear in a drop-down below it and each have a different layer shaded. Bottom-most one has the bottom layer shaded and when you click on that, it adds a layer to the bottom of the design grid. Middle-most has the middle layer shaded and when you click on that it adds a layer just above whatever layer you are currently in. Top-most has the top layer shaded and adds a layer to the top of the design grid. I think that would cover it nicely. Later addition doesnt happen all too often, but when it does, this solution I think is more elegant and intuitive then a mouse right-click and choosing something in there. I'd then extend this to other icons where there are insert options in the current contextual menu.
So happens of course that solution would handily fix my lack of having a contextual menu, allowing me to actually insert layers, but that's not my motivation for suggesting that solution. At least, not primarily. :wink.gif: Meantime, I can make do, as this one sounds like a bit of work.
Presumably its something funky with my Java verson, combined with some subtle or not so subtle way the Free Form information populates being different from the way the Pixel Art information populates. I will send you a screen shot or two, along with:
I will send you a screenshot or two and save file(s) in a .zip.
Havent tried saving as an image file. A quick look right now under File revealed no obvious way for me to do it though. There is "Save As..." which gives me the option to save as a Structure Planner file (.xsp - and this works, although as noted, the save file itself has a couple issues for me) or as "All Files..." Doing the latter though gives me a .xsp file as well, and when loaded it opens in the same exact state as the actual save file option, so on my end, I cannot tell the difference between these two options. The other option is "Export Schematic" and I have done that too. Importing that, I get the same exact thing as the above two options, with the same exact issues. These are the only save options I can find.
Incidentally, saving different ways and then going back to open them etc, I found another little minor thing. More a GUI niceity than a functionality issue, but it would be really nice if Structure Planner remembered you last save/open/import location. I have to navigate each time from my Home menu, which for my organizational setup at least, is not so convenient. Getting from there to where I save various Minecraft things is a good 5 or 6 folders away. Not a big deal, as I'm not opening or importing existing files all too often enough for this to be something I'd spend a lot of time on, but it would be a nice little thing.
You know what, I made the mistake of listing this as a possibility without fully testing the slider properly. The one time I tried it, it didnt work, as it doesnt work in my re-opened save file. That is embarrassing because it does work in normal use of the app for me. I made the mistake of assuming there were but three zoom options. In actuality, of course, its a fluid zoom and the markers are only for scale reference. This is perfect as is. A fourth marker adds clutter and puts the 1x off center and neither of those things would be good.
Oh absolutely! Its great. Thanks for taking the time to listen to my (and others) issues and requests and working with us, as opposed to being less accessible. You'd get more diamonds, but I cannot find them currently in the new forums, which is pretty much similar to actual game play. :wink.gif:
I'll send files soon for you to look at.
Yup - this is what I was trying to describe with the 'Microsoft ribbon approach'. The biggest problem is that, as far as I know, the Java JToolbar control doesn't support this natively so I'd have to implement it as low-level Swing code. Not that I haven't done things like that in the application already, but it does take quite some time to implement and debug.
Could you let me know what version of the Structure Planner you're using please? The latest release is 0.99.5a, and that's the one that has 'Export Schematic...' supporting the Plan Image option.
Totally agree. One of the things I'm working on right now is persistent user preferences. The primary functionality this will support is named texture sets (so that I can get rid of the clunky Texture Filter, which I don't like.) It will also support 'last save location' and 'heap size configuration' parameters though, along with anything other user configurable items I add.
Cheers,
LankyBrit.
Home of the Minecraft Structure Planner application.
This would be really nice. No doubt about that. Thing is, it certainly sounds like a fair bit of effort, and most users can use the right-click contextual if they know about it, so the functionality is already in the app, even if not in its ideal form. Therefore, a more weighty coding effort like this probably needs to take a back seat to the easier and/or more pressing issues. I'd love to see it, though, when it can make its way in.
I've got 0.99.5a.
Ok, that was weird. "Plan Image File" was not in the options when I looked and tested a few minutes ago, but here it is. Brilliant bit of stealth coding you just did! Seriously, though, that's odd (I'll try some things to try and replicate). Anyhow, just tested it and it gave me what I was doing more work to get via using screenshots of each layer of the design space in order to circumvent my inability to save and re-open properly. I'll now do this. Much better.
Perfect! Sounds like you have a good plan for features and developments going ahead - not that I doubted you did. :smile.gif:
Just wait until the web-based and iPad versions ;-)
Home of the Minecraft Structure Planner application.
Nice! iPad version would be the cat's meow! Heh. Web-based is also good.
Files sent to your e-mail. Hope they help.
all the files are where they should be, so I'm confused.
I assume it's related, but when I click "ok", your application starts, but no matter what I select in the structures menu, nothing happens.
Any hint on what may be happening or how to solve this?
Sorry for the slow reply - have been ill for the past few days.
Could you please refer to the FAQ and run the program from the command line. I suspect there'll be an exception thrown when you try to open it. Post that exception here and I'll see if we can't work out what's going on.
Cheers,
LankyBrit.
Home of the Minecraft Structure Planner application.
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/vec
math/Color3f
at minecraft.planner.gui.java3d.Color.<clinit>(Color.java:6)
at minecraft.planner.gui.java3d.TextureName.<clinit>(TextureName.java:14
)
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Color3f
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 50 more
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not
initialize class minecraft.planner.gui.java3d.TextureName
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
C:\Users\philippe\Desktop>java -cp MinecraftStructurePlanner.jar -Xmx3000M minec
raft.planner.gui.StructurePlanner
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/vec
math/Color3f
at minecraft.planner.gui.java3d.Color.<clinit>(Color.java:6)
at minecraft.planner.gui.java3d.TextureName.<clinit>(TextureName.java:14
)
at minecraft.planner.model.StructureModel.<init>(StructureModel.java:49)
at minecraft.planner.model.circle.CircleModel.<init>(CircleModel.java:11
)
at minecraft.planner.gui.provider.CircleProvider.<init>(CircleProvider.j
ava:20)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at minecraft.planner.gui.JProviderMenuItem$MenuItemActionListener.action
Performed(JProviderMenuItem.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Color3f
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 50 more
Yup - that's the "Java 3D not installed correctly" error. It's a royal pain in the bum. Luckily it's one that I've documented in the FAQ :smile.gif: Follow the instructions here and you should be good.
Cheers,
LankyBrit.
Home of the Minecraft Structure Planner application.
Home of the Minecraft Structure Planner application.