PTM173
PTM173 1.7.3 Terrain Generation
Notice
I'll be putting minecraft down for a while and will likely not be maintaining this project. I'll be passing the source on to others and putting up a stripped down version on this site so that others may continue if they chose to. I may come back to minecraft one day particularly when there is decent plugin support. In the mean time I recommend that everyone deprecate and move away from their existing 1.7.3 worlds. If someone produces a plugin of a similar nature I will provide a link at the top of this page.
In my opinion, the simplest thing to do if you really want to keep the world is to generate a ton of terrain then lock the borders so that no terrain can be generated.
If you have questions or concerns you are welcome to pm me. I'll get to them when I can. Remember if you have frustrations the best people to communicate those to are Jeb and the rest of Moyang team particularly about deobfuscating the code, including a reasonable license, and making plugin support a priority. We all love what minecraft represents as an open, modifiable, multiplayer, infinite world but it's just been slow to develop into a solid game that the community enjoys improving upon as much as playing. I'll be maintaining PTM1.7.3v3.x for CB 1.1-R1 and after that will no longer be creating artifacts.
Summary
Essentially this is a rework of Phoenix Terrain Mod to plug into the terrain generation from 1.7.3 so that future versions of craft bukkit servers can have older worlds that continue to generate proper terrain for new chunks without having to "fix" the terrain by smoothing between 1.7.3 and 1.0 terrain.
Here is a comparison of the terrain generation of a world originally created in 1.7.3 where I've gone to the border where new chunks are being generated: Terrain Comparison (the image shows 1.8.1 but looks the same with 1.1 .. I'm just lazy)
- 1rst image (top): 1.8.1 with PTM173 enabled
- 2nd image (middle): 1.8.1
- 3rd image (bottom): 1.7.3
Status
PTM173 has been through several comparison tests between 1.0 PTM173 and 1.7.3 itself on both a test world and on a live server. It is currently running on a live server. There may be known issues with the latest release and I am continuing to test. Please create tickets as you run into issues.
Installation
Setup
- download the latest version of PTM173.jar: PTM173v3.1
- source to start working on this yourself is here in truncated form: PTM173v3.1_src
- put PTM173.jar in your plugins dir for your bukkit craft installation
- if not running multiverse: change bukkit.yml so that the world generator is set to "PTM173" by adding this to the bottom of the file:
worlds: world: generator: PTM173
WARNING: be careful when typing this out by hand the space between "generator:" and "PTM173" is important. If you notice when starting up your server that "generator:PTM173" has been moved to be on the same line as "world:" then you are likely missing a space and are NOT generating PTM173 terrain.
- if running multiverse: change your generator in the plugins/Multiverse-Core/worlds.yml file to "PTM173" by adding this to the yml block for the world you want to generate 1.7.3 terrain. For example here's a test world config in worlds.yml:
worlds: test_world: gamemode: SURVIVAL keepspawninmemory: true scale: 1.0 animals: spawn: true pvp: true entryfee: amount: 0.0 currency: -1 alias: color: WHITE name: '' allowweather: true monsters: spawn: true hunger: true spawn: yaw: 0.0 pitch: 0.0 z: 0.0 y: 64.0 x: 0.0 environment: NORMAL respawnworld: '' tempspawn: '' generator: PTM173 seed: ''
Running
There are no special steps when running craft bukkit server to run PTM173; however, it's good to know what to look for to ensure that it has started up appropriately:
- This indicates PTM173 is recognized and has loaded properly: "[INFO] PTM173 v2.2 is now enabled"
- This indicates the world that PTM173 is running on : "[INFO] PTM173: enabled for 'world'"
Note by default craft bukkit runs on the world named 'world'
Upgrading
PTM173 does not generate files and therefore upgrading simply requires replacing the existing PTM173.jar
FAQ
Q: I'm having issue XXXX, and I'm stumped can you help me out?
A: I'd be more than happy to help you, but I do need some information. Before leaving comments, pming me, or creating a ticket please make sure you have following information ready and provide it as appropriate (it doesn't hurt to add tickets so please don't hesitate to do so):
- version of the craft bukkit server and PTM173
- are you running vanilla craft bukkit or do you have multiverse installed?
- bukkit.yml or worlds.yml (if running multiverse) file
- console logs specifically errors or exceptions
- a list of your currently installed plugins
- screenshots and/or a brief description of the problem so I can reproduce it
- anything special about your setup that I might not otherwise expect
Q: XXXX plugin conflicts with PTM173; I can't use one or the other or they just don't work together as expected. Can you help?
A: I'd be happy to help resolve these conflicts. In addition to the information I mentioned in the previous QA related to reporting an issue please also provide the following information so that we can track the issue:
- definitely create a ticket (because there will probably be several interactions it's nice to have some place to track the progress)
- the conflicting plugin and it's version
- a description of how to reproduce the conflicting behavior
- a description of the expected behavior
Q: Does this mod conflict with Phoenix Terrain Mod?
A: No, I changed the package names to allow for both to coexist, removed the "ptm" commands, and have added all relevant terrain generation source under a package that does not conflict with PTM, craft bukkit, or minecraft.
Q: How much of this plugin uses Phoenix Terrain Mod, Minecraft 1.7.3, and craft bukkit?
A: This is my first plugin so I based it around the Phoenix Terrain Mod code, but it doesn't really utilize any of that functionality; it was just nice to have the framework in place to see how to handle object and chunk generation. Minecraft 1.7.3 class files are used to generate chunks and objects. Craft Bukkit is the framework on which all of this is allowed to function. Major props go to each of these communities.
Q: Does this mod support the Nether and/or will it in the future?
A: It currently does not support Nether chunk generation. Currently there is no demand for this. In the future I may investigate it further, but for now there isn't enough of a problem to warrant spending time on this.
Q: Will this mod be updated for future versions of minecraft and craft bukkit?
A: No, I'll be passing off the source shortly so that others may continue the work if they chose. I'm putting minecraft mod development down for awhile.
Known Issues
Biomes, particularly swamp biomes now have discolored grass, trees, etc, which often times is unexpected and just looks bad.
This issue is new in MC 1.0.0 and specific, unfortunately, to the client side code. It's basically just a visual artifact. The only way around this is to mod the client side using something like this: http://www.minecraftforum.net/topic/820720-100-swamp-color-reverter/
This issue also seems to affect rainfall/snow. Not what actually accumulates so much as what gets rendered on the client side. From what I can tell this is not a server side issue but again I'll see if I can work around it.
I've been unable to figure out a way to trick the client side from the server. I don't believe these issues will be fixed any time soon and likely not at all.
I've created 1.2.5 version of beta 1.7.3 generator link
I wish someone would just come and continue this plugin, it put the magic back into Minecraft and gave the game some feeling to it, now it's just Flat. :c
It's such a great plugin and the best plugins are abandoned :(
A touchup for 1.2.5 now would be excellent, thanks :)
Is there an update planned? Would love one for R5+
I've upload PTM173v3.1 with a minor fix to version number. I've tested more extensively, and will still be fielding tickets for this release so if you run into problems please feel free to create tickets or post questions. Some form of the source is now also available.
I've uploaded PTM1.7.3v3.0 for use with cb v1.1. I'll update later if I run into problems otherwise during testing.
I'll be addressing existing open tickets for the next few hours and testing. Once I'm done I'll be posting and passing on some of the source.
@bronzebyte I was aware that it wasn't compiled against v1.1 please read my comments in the future before posting particularly the part where I mention that I was going to work on it this weekend. Just so you know in general it helps developers if you create a ticket instead of posting stacks in comments.
@whitecloudboy00
Can you please update it to RC 1.1 R1?
Here is the error/log:
You or Bukkit uses reflection?
Please update, I want this so badly :P
@seanskroht
The short answer is no subsequent versions of Minecraft do not have the 1.7.3 terrain generation included.
Sorry mc versioning is a pain. Mojang decided to do this with the versioning of Minecraft: ...,1.6, 1.7.3, 1.8.1, 1.0, 1.1 ...
So the rumor I heard was that 1.0 and future versions such as 1.1 will include prior terrain generation starting from 1.0 (so nothing before 1.0 like 1.7.3). So supposedly (haven't verified this) there is just a flag in mc 1.1 that allows you to switch back to mc 1.0 terrain generation.
Sorry for the confusion on that.
@whitecloudboy00
Thanks for the news.
An interesting thing you mentioned:
You said that you hear "1.0 and up will have backwards compatibility for prior terrain generation". Does that mean the v1.7.3 terrain generator code is still present in Minecraft Server jar's/Craftbukkit jar's and that we can use this to continue further generation of 1.7.3 worlds? Or do you mean that we can simply continue to use the exisiting 1.7.3 maps with Minecraft 1.0 and up?
As soon as I can get a stable build for craftbukkit 1.1 (seems it was essentially dos'd by overzealous mc'ers) I'll be be building ptm173 for it probably this weekend. Once I've got that built and functional I'm recommending that everyone transition away from their 1.7.3 worlds through one of a few procedures:
I hear 1.0 and up will have backwards compatibility for prior terrain generation although I haven't played around with this myself.
I'm recommending this for a few reasons: our 1.7.3 worlds have had enough time to be transitioned out of, as the versions diverge it will only get more difficult to maintain the 1.7.3 terrain generation, and I'm going to be discontinuing development on this project soon. I've become disenchanted by mc as of late for a lot of different reasons and find it difficult to put time into this project. I'll be wrapping up as best I can the existing issues in that above mentioned build this weekend and posting some degree of the source. How much source I post is really just the degree to which I feel like violating mc's license, which has been largely ignored by the community anyway. I have yet to decide if I'm going to just do that or also pass the project on to someone else as well. If you have interest pm me.
@aufdemrand
I'm glad you got it working. :)
@seanskroht
Just wanted to let you know that your solution worked. Thanks!
@whitecloudboy00
I know you won't be supporting the dev builds of CB for Minecraft 1.1 yet but I wanted to give you a heads up, just in case.
Getting the following errors on server startup:
2012-01-14 06:13:35 [INFO] PTM173: enabled for 'world'
2012-01-14 06:13:35 [SEVERE] Could not pass event WORLD_INIT to PTM173
java.lang.NoSuchFieldError: b
at org.orangecloud00.ptmbukkit.PTMPlugin.WorldInit(PTMPlugin.java:62)
at org.orangecloud00.ptmbukkit.PTMWorldListener.onWorldInit(PTMWorldListener.java:18)
at org.bukkit.plugin.java.JavaPluginLoader$57.execute(JavaPluginLoader.java:663)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:340)
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:286)
at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:174)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
Tried it with dev build 1718.
We've gone back to CB 1597 until you've had a chance to fix it.
aufdemrand
Have you added the following lines to your bukkit.yml file:
worlds:
world:
generator: PTM173
Use NBTedit to check your level.dat and make sure the correct seed in in there. Maybe try adding the seed to the server.properties file, but you shouldn't really have to do that.
Also PTM173 is broken for any CraftBukkit dev builds supporting Minecraft v1.1
Hoping for 1.1 update <3
Using PTM173, WorldEdit and Multiworld.
I have all the settings correct, as far as I can tell. PTM starts in the console, and gets enabled by Multiworld in world 'world'....
but if I select a chunk and 'regen' with worldedit, it doesn't seem to use PTM to get the terrain, instead just the default generator.
Does this not work, or am I doing something wrong?
I've uploaded a new artifact and thought it worth qualifying what I've done and why I went ahead and released it. PTM173v2.2 is out and includes a fix for temperature particularly temperature in snowy biomes; you should see snow in those biomes now and ice should form properly. I have not tested this enough yet though and am putting out a release because I will be out of town for several days and didn't want to leave those who had identified the issue without at least a patch release.
You might be asking yourself what happens if I install this release and snow and ice start forming too quickly or in places I don't want them to: Just revert to the prior version and you should be fine; there's no consequences from installing this latest release except that ice will start forming and need to be removed if it forms in places it shouldn't. I have tested enough to be confident that ice doesn't form everywhere, but noticed that ice is forming in places it wasn't before (at the edges of snowy biomes where it makes sense to be but wasn't previously for whatever reason), which leads me to believe that this fix is not permanent or at least needs additional testing.
You might also be asking why is this such a problem: The short answer is temperature and rain are being accessed differently now and there is a method "a" that fails to function correctly when attempting to retrieve the temperature values so I'm having to compute it myself, which has lead me to suspect that I may not be computing it correctly given how convoluted temperature calculations are in the obfuscated code. So expect that this may change further in the future.
@whitecloudboy00
Obfuscation's a bitch! :)
I just don't know why Notch doesn't just open up the code for the old 1.7.3 terrain generation or at least provide users a choice of what type of landscape to generate. The problem is that people have become too established in our original map and it would be unfair to tell them to start all over again on a new one.
One of the reason why your plugin has become so handy, is because the admins now have the ability to use the "regen" tool in WorldEdit to regenerate areas as per user request, for various reasons. This wouldn't have been possible without PTM173, obviously because the regenerated terrain would look completely different. This is also how we know that the plugin is running correctly.
Anyway I'll PM you over the next couple of days, as you suggested, and let you know the results I've come up with.