dudecon, how do I install the latest version? The links redirect me to another page instead of downloading the files to my computer.
That "page" is actually the Python source code for the script. You can "save target as" on the link, or save the page itself. Depending on the browser, this is accomplished in different ways. Using the key combination Control/Function + "s" works in most browsers.
Glad to hear that people are still enjoying this stuff. I'm guessing it's nearly all via MCEdit these days. That's the only way I know how to use them anyway. I'm still holding off updating the stand-alone code... if anyone has/knows of a fast stand-alone Python library they would like to recommend, I'm open to suggestions.
There are several reasons this might be the case.
1. When I wrote this script, the height limit was half of what it is now. There are (I am ashamed to say) a few "magic number" locations where 127 and 128 show up. If you want to make really tall things, you'll have to increase this limit.
2. The script is designed around an old interface method. The old map format only supported 128 high maps, so it may be a problem in the interface file instead of the script itself.
New version is up. Version 8, fixes this long-overdue bug (also requires version 7 of the interface file). It is now possible to use the MCEdit filter to make trees all the way up to the map height limit! (it will still take a while to run, several minutes on my "fast" computer).
Enjoy!
I can't seem to make very tall trees with forester. I'm trying to make a tree that goes to the height limit. Can anyone help?
There are several reasons this might be the case.
1. When I wrote this script, the height limit was half of what it is now. There are (I am ashamed to say) a few "magic number" locations where 127 and 128 show up. If you want to make really tall things, you'll have to increase this limit.
2. The script is designed around an old interface method. The old map format only supported 128 high maps, so it may be a problem in the interface file instead of the script itself.
3. I honestly don't know how anyone uses this script any more. I haven't updated it in years, and the map format has changed since then.
So, in short, you're welcome to fiddle around with it and try to get it working. I'm currently holding out until the "official modding" tools come out so I can convert this (and my other) scripts directly into mod plugins without re-compiling every time there's a patch.
Is it possible to have large natural looking fir trees in this filter?
Yes, depending on what you consider "natural looking". The "cone" shape is basically designed to look like a fir tree. Have you tried it? If so, what did you find unnatural about it?
If you want better control of the shape of the tree, you can edit the code itself. Search for "def shapefunc(self,y):" and mess with the code just underneath. This function sets the radius of the main foliage mass.
You can also edit the shape of the individual clusters. for the "cone" tree it looks like this:
self.foliage_shape = [3,2.6,2,1]
which means that the first level has a radius of 3, the second has a radius of 2.6, the third of 2, and the fourth has 1. If you look at the other places where foliage_shape is define you can compare the foliage cluster shapes. Put different values in there and mess around with it to find out how it works.
Enjoy!
Hm, seems another problem where you have to have already explored the area for the tracks to work, otherwise the script errors. This is a little annoying as I'm trying to make a track over 11k.
Yes, the script only edits existing portions of the map. If you want to put a rail there, you need to have already generated the world in that area. I'm sure there's a way to force Minecraft to generate chunks, but this script doesn't do that.
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Traceback (most recent call last):
File "C:\Users\Grant\AppData\Roaming\.minecraft\saves\LineRail.py", line 141, in <module>
import mcInterface
ImportError: No module named mcInterface
>>>
I'll bet this is because you forgot to download mcInterface to the same folder where the script is. There's a link in the first post... but here it is again.
Thanks for the complete debug info! Makes it much easier to diagnose!
>>> ================================ RESTART ================================
>>>
Importing the map
Traceback (most recent call last):
File "C:\Users\Grant\AppData\Roaming\.minecraft\saves\LineRail.py", line 407, in <module>
standalone()
File "C:\Users\Grant\AppData\Roaming\.minecraft\saves\LineRail.py", line 392, in standalone
the_map = mcInterface.SaveFile(LOADNAME)
File "C:\Users\Grant\AppData\Roaming\.minecraft\saves\mcInterface.py", line 666, in __init__
self.read_dat()
File "C:\Users\Grant\AppData\Roaming\.minecraft\saves\mcInterface.py", line 963, in read_dat
this_data = NbtData(dat_data)
File "C:\Users\Grant\AppData\Roaming\.minecraft\saves\mcInterface.py", line 415, in __init__
new_tag = tag_list[key](self)
TypeError: list indices must be integers, not str
>>>
This one is, I think, because you are using Python 2.x instead of Python 3.x. Make sure you're using Python 3.1 or 3.2 and let me know if the error still shows up.
I was wondering if there's any way you or I can edit a script so that center-piece (and even maybe the tips of branches) is actually glowstone? I've tried doing so in MCEdit manually but the results are, erm, unsatisfactory.
Indeed there is! I didn't have room for it in the McEdit GUI, but there are options in the standalone script to add lights to each foliage cluster. Search for the LIGHTTREE setting inside Forester.py. If you want to change it from the default (glowstone) alter the LIGHTMAT setting. These settings should be maintained by the McEdit script, so you can change them, save Forester.py, and then use the Filter (if you're uncomfortable with the standalone script). The lights should show up.
The reason you can't change the wood directly to glowstone is that then the foliage would start to decay.
After finessing the way I apply the filter I have gotten it to work almost every single time since.
Here is one situation I get the first error during (with console output). It appears to be prompted in this example by me not having any area above the ground selected.
The second error seems to be more elusive now that I have used the filter more. I'll post when I encounter it.
Yeah, I could probably fix that, need to add a check for the top of map when searching for the surface; Basically you need to select some space above the ground. Let me know if you can get a documentation of the other bug and I'll try to nail them both at once.
I seem to be having trouble getting this to work with mcedit stable33 64bit.
I get the two following errors nearly every time I attempt to use this filter. Perhaps you could provide some insight into what I may be doing wrong.
[*]I have tried using mcInterface.py from both this thread and the one already included in MCE
[*]I have found that disabling/re-enabling the crater option can occasionally fix the problem.
[/list]
What does the console say? It will have a bunch of nonsense stuff with line numbers and traceback info that I can use to diagnose the problem. Also, do a quick check that you're using all the latest script versions, etc. Sorry for the issues, I'll get it fixed ASA I know what's going on.
List tags are malformed.
You are absolutely right. I should have caught that in testing. Sorry everyone.
New version 4 is up, should fix it (tested this time). Thanks for your perseverance Fase.
Turned out to be a two character fix. Floating point versus integer math. Figures.
Let me know if you run into anything else that seems odd.
I raise my selection height to the top limit for its building space.
Height variable obviously changes how high you want to raise the land.
Depth Scale is multiplicative depth for the lower spiky bits
Max Vertical Gap; don't know what this does.
Depth Offset is some additive depth to the raised land.
Short answer: Set Max Vertical Gap to 3 or 4.
You've got everything exactly right! The problem is occurring with Max Vertical Gap (which I'm guessing you set to 0).
What is happening is this:
The script starts at the center location of the selection. It then attempts to grow the selection once for each "radius" value you have selected. There are various rules as to how it can grow; one rule is that it is more difficult to expand the selection up or down hill. Another rule is that it will never grow across a vertical step larger than Max Vertical Gap. Thus, if you have set Max Vertical Gap to 0, it will always make an island with a flat top; Since the mountain is made from existing terrain, this can make a strange shaped selection (as you found out).
If you want the entire surface of the mountain to be "walkable" (accessable by walking and jumping), you can guarantee this by setting Max Vertical Gap = 1. I like to use 3 (the default) because it allows mountains with some cliffs, without getting out of hand. If you want the mountain unrestricted by vertical gaps, set this to 64 (though the radius will still need to be large to cross these vertical gaps)
Just thought I'd give my filters a plug. They now all have wrappers for MCEdit, available on my scripts page (see the sig) or from the associated forum threads.
LineRailmakes powered rail tracks with supported bridges and tunnels.
WizardMountainrips up big chunks of land, like you always see those evil wizards doing. Kind of like the old "floating" land type, or the Aether mod.
StarStonemakes craters. Can also be used to place just boulders for ore deposits and the like.
Forestermakes huge trees. Seriously, these things can get really big.
The all come in both stand-alone and filter flavors. Check out the associated threads if you're interested! Thanks again to CodeWarrior for making this great editor!
Could you provide this script as a filter for mcedit?
As a matter of fact, yes! Version 2 is up with the associated MCEdit filter wrapper. Simple, intuitive, straightforward, and fast! What more could you ask for? (please don't answer that, I'm going to be busy playing Minecraft)
Okay so I got both things, double-clicked the script, then a command prompt box thing popped up [the black thing with grey text], but there wasn't text. It stayed up for maybe three seconds then closed itself. There was a new folder called "__pycache__" and when I looked in it, there was a file called "mcInterface.cpython-32" and the filetype was a "Compiled Python File". It had a different icon from the normal python things, so I thought it was weird. I double-clicked it and the same black command box thing popped up but this time it went away after only a half second. Now nothing happens when I click any of the three files. My worlds are completely unaltered.
Okay, good progress! The "__pycache__" is normal, and creates a compiled version of the python script, so that it runs faster. Unfortunately, it sounds like you're getting an error of some sort. The window closes immediately when this happens, which makes the error really hard to read :tongue.gif:
Try right clicking on LineRail.py and selecting "Edit with IDLE". This should bring up a window with the script text in it. Hit F5 to run the script, which will bring up another window (which will stay open, instead of closing immediately when there's an error). The text and/or error in this new window is generated while the script runs, and should help you to figure out what is going on. If you have trouble, just post the error here, and we'll go from there.
In other news, I have a new version of the script with an McEdit filter interface all ready for testing. Should be released tonight some time.
Updated, version 7 is live. This change is fairly minor. I added a VERBOSE option so you can see what the script is doing. Mostly something to watch when doing a lot of craters, (or a few large ones).
Also, activating VERBOSE will required you to press Enter to close the script. Makes it easier to review what happened.
0
Glad to hear that people are still enjoying this stuff. I'm guessing it's nearly all via MCEdit these days. That's the only way I know how to use them anyway. I'm still holding off updating the stand-alone code... if anyone has/knows of a fast stand-alone Python library they would like to recommend, I'm open to suggestions.
0
New version is up. Version 8, fixes this long-overdue bug (also requires version 7 of the interface file). It is now possible to use the MCEdit filter to make trees all the way up to the map height limit! (it will still take a while to run, several minutes on my "fast" computer).
Enjoy!
0
1. When I wrote this script, the height limit was half of what it is now. There are (I am ashamed to say) a few "magic number" locations where 127 and 128 show up. If you want to make really tall things, you'll have to increase this limit.
2. The script is designed around an old interface method. The old map format only supported 128 high maps, so it may be a problem in the interface file instead of the script itself.
3. I honestly don't know how anyone uses this script any more. I haven't updated it in years, and the map format has changed since then.
So, in short, you're welcome to fiddle around with it and try to get it working. I'm currently holding out until the "official modding" tools come out so I can convert this (and my other) scripts directly into mod plugins without re-compiling every time there's a patch.
Hope that helps. Enjoy!
0
If you want better control of the shape of the tree, you can edit the code itself. Search for "def shapefunc(self,y):" and mess with the code just underneath. This function sets the radius of the main foliage mass.
You can also edit the shape of the individual clusters. for the "cone" tree it looks like this:
self.foliage_shape = [3,2.6,2,1]
which means that the first level has a radius of 3, the second has a radius of 2.6, the third of 2, and the fourth has 1. If you look at the other places where foliage_shape is define you can compare the foliage cluster shapes. Put different values in there and mess around with it to find out how it works.
Enjoy!
0
Yes, the script only edits existing portions of the map. If you want to put a rail there, you need to have already generated the world in that area. I'm sure there's a way to force Minecraft to generate chunks, but this script doesn't do that.
0
I'll bet this is because you forgot to download mcInterface to the same folder where the script is. There's a link in the first post... but here it is again.
Thanks for the complete debug info! Makes it much easier to diagnose!
Edit: Drat, you beat me to it!
This one is, I think, because you are using Python 2.x instead of Python 3.x. Make sure you're using Python 3.1 or 3.2 and let me know if the error still shows up.
1
Indeed there is! I didn't have room for it in the McEdit GUI, but there are options in the standalone script to add lights to each foliage cluster. Search for the LIGHTTREE setting inside Forester.py. If you want to change it from the default (glowstone) alter the LIGHTMAT setting. These settings should be maintained by the McEdit script, so you can change them, save Forester.py, and then use the Filter (if you're uncomfortable with the standalone script). The lights should show up.
The reason you can't change the wood directly to glowstone is that then the foliage would start to decay.
0
Yeah, I could probably fix that, need to add a check for the top of map when searching for the surface; Basically you need to select some space above the ground. Let me know if you can get a documentation of the other bug and I'll try to nail them both at once.
0
What does the console say? It will have a bunch of nonsense stuff with line numbers and traceback info that I can use to diagnose the problem. Also, do a quick check that you're using all the latest script versions, etc. Sorry for the issues, I'll get it fixed ASA I know what's going on.
List tags are malformed.
0
You are absolutely right. I should have caught that in testing. Sorry everyone.
New version 4 is up, should fix it (tested this time). Thanks for your perseverance Fase.
Turned out to be a two character fix. Floating point versus integer math. Figures.
Let me know if you run into anything else that seems odd.
1
Short answer: Set Max Vertical Gap to 3 or 4.
You've got everything exactly right! The problem is occurring with Max Vertical Gap (which I'm guessing you set to 0).
What is happening is this:
The script starts at the center location of the selection. It then attempts to grow the selection once for each "radius" value you have selected. There are various rules as to how it can grow; one rule is that it is more difficult to expand the selection up or down hill. Another rule is that it will never grow across a vertical step larger than Max Vertical Gap. Thus, if you have set Max Vertical Gap to 0, it will always make an island with a flat top; Since the mountain is made from existing terrain, this can make a strange shaped selection (as you found out).
If you want the entire surface of the mountain to be "walkable" (accessable by walking and jumping), you can guarantee this by setting Max Vertical Gap = 1. I like to use 3 (the default) because it allows mountains with some cliffs, without getting out of hand. If you want the mountain unrestricted by vertical gaps, set this to 64 (though the radius will still need to be large to cross these vertical gaps)
Hope that helps! Enjoy!
1
LineRailmakes powered rail tracks with supported bridges and tunnels.
WizardMountainrips up big chunks of land, like you always see those evil wizards doing. Kind of like the old "floating" land type, or the Aether mod.
StarStonemakes craters. Can also be used to place just boulders for ore deposits and the like.
Forestermakes huge trees. Seriously, these things can get really big.
The all come in both stand-alone and filter flavors. Check out the associated threads if you're interested! Thanks again to CodeWarrior for making this great editor!
0
As a matter of fact, yes! Version 2 is up with the associated MCEdit filter wrapper. Simple, intuitive, straightforward, and fast! What more could you ask for? (please don't answer that, I'm going to be busy playing Minecraft)
Enjoy!
0
Okay, good progress! The "__pycache__" is normal, and creates a compiled version of the python script, so that it runs faster. Unfortunately, it sounds like you're getting an error of some sort. The window closes immediately when this happens, which makes the error really hard to read :tongue.gif:
Try right clicking on LineRail.py and selecting "Edit with IDLE". This should bring up a window with the script text in it. Hit F5 to run the script, which will bring up another window (which will stay open, instead of closing immediately when there's an error). The text and/or error in this new window is generated while the script runs, and should help you to figure out what is going on. If you have trouble, just post the error here, and we'll go from there.
In other news, I have a new version of the script with an McEdit filter interface all ready for testing. Should be released tonight some time.
0
Also, activating VERBOSE will required you to press Enter to close the script. Makes it easier to review what happened.