[Lib] Collection of Generators for bukkit! Includes Notch Generators!

Discussion in 'Resources' started by AdventurerOK, Feb 19, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    AdventurerOK

    I just finished porting 2 notch classes "MapGenBase.java" and "MapGenCaves.java" into bukkit. New file based off the Notch Cave Generator: "MapGenOre", generates ores in large veins found rarely! Like the better ore distribution mod!

    Tutorial (Place this at the end of your "public byte[] generate" method):
    Code:
    MapGenBase cavesGen = new MapGenCaves();
    cavesGen.generate(world, ChunkX, ChunkZ, result);
    MapGenBase ravineGen = new MapGenRavine();
    ravineGen.generate(world, ChunkX, ChunkZ, result);
     
    //Always do ore generation last!
    MapGenOre oreGen = new MapGenOre();
    oreGen.generate(world, ChunkX, ChunkZ, result);
    I will explain:
    • "MapGenBase cavesGen = new MapGenCaves();": This creates an instance of the cave generator!
    • "cavesGen.generate(world, ChunkX, ChunkZ, result);" Generates caves, note world, ChunkX and ChunkZ were defined at the start of the method: "public byte[] generate(World world, Random rand, int ChunkX, int ChunkZ) {", result is a byte[32768] that contains your generated terrain so far, as this should be done near the end of your method.
    MapGenBase.generate arguments:
    1. org.bukkit.World world: The world used to generate the caves
    2. int i: The X co-ord of the chunk, like the position in-game divided by 16, just use the 3rd argument of "public byte[] generate"
    3. int j: The Z co-ord of the chunk, use the 4th argument of "public byte[] generate"
    4. byte abyte0[]: The bytes already generated by your method so far.
    More examples:
    Flat world generation:
    Code:
    return new EnvironmentGenFlat().generate(world, ChunkX, ChunkZ);
    Download: http://dl.dropbox.com/u/35521414/Bukkit Cave Generator.zip
    Files:
    - world.generation.utilities
    • MapGenBase.java
    • MapGenCaves.java
    • MapGenCavesHell.java
    • MapGenBedrock.java
    • MapGenOre.java
    • MapGenMushrooms.java
    • MapGenRavine.java (This class acts exactly like MapGenCaves but generates ravines instead!)
    • MapGenStructure.java
    • MapGenMineshaft.java
    • EnvironmentGenBase.java
    • EnvironmentGenNormal.java
    • EnvironmentGenHell.java
    • EnvironmentGenEnd.java
    • EnvironmentGenFlat.java
    • WorldGenLiquids.java (BlockPopulator)
    • WorldGenSpikes.java(BlockPopulator)
    • WorldGenEnderDragon.java(BlockPopulator)
    • WorldGenMushrooms.java (BlockPopulator)
    • MineshaftPopulator.java (BlockPopulator)
    - world.generation.utilities.util
    • Utils.java
    • MathHelper.java
    • Vector2.java
    • WeightedRandom.java
    • WeightedRandomChoice.java
    • NoiseGenerator.java
    • NoiseGeneratorOctaves.java
    • NoiseGeneratorPerlin.java
    If you downloaded before 10:56 19/02/2012 (Uk format) please redownload as the class MathHelper was missing

    Status Update: Making some new generators to do awesome things!

    Changelog:
    Code:
    Version 3.0:
    -Added a fully working version of the end generator (includes obsidian pillar and enderdragon populators!)
    -Added new static method to "EnvironmentGenBase" to get BlockPopulators for that environment!
    - More modfiable things!
    Version 2.4:
    -Settings in map generators are no longer static
    -Added a bedrock generator with settings to do the top ad/or bottom of the world with Notch bedrock code
    -Added new setting to cave generator: "caveSize": controls size of caves
    -Fixed Utils.xyzToByte
    Version 2.3:
    -New mushroom populators: "MapGenMushrooms" and "WorldGenMushrooms" (Populator)
    -Ores are now rarer with default settings!
    Version 2.2:
    -Will now run off bukkit api instead of craftbukkit api!
    Version 2.1:
    -Added a new ore generator
    Version 2.0:
    -Many new classes
    -Begin support for default world generation mimics
    -Added test version of abandoned mineshaft generator
    -Test classes that will run as a plugin
    -New packages: world.generation.utilities and more
    -Added nether cave generator "MapGenCavesHell"
    Version 1.1.1:
    -Added missing file "MathHelper" and added a public static int in "MapGenBase" to control lava level.
    Version 1.1:
    - Added MapGenRavines
    Screenshots:
    A very rare vein of redstone found near the lava layer:
    [​IMG]

    Naturally formed obsidian where flowing water hit a pool of lava:
    [​IMG]
     
  2. Offline

    iffa

    Screenshots?
     
  3. Offline

    AdventurerOK

    I've added some screenshots now!
     
  4. Offline

    TheElite4

    Why does the EvnvironmentHell generator produce everything in strips?
     
  5. Offline

    p000ison

    Nice! Can you please update this?
    There is a bug with the test generator: http://img40.imageshack.us/img40/9314/20120328143954.png
     
  6. whit only this classes, how long does it take to generate the world
    I want to know this, becuse I want to implement it to the worldgenerator I already have made, but that generator need arounmd the 30 sec for each world already
     
  7. Offline

    Corgano

    Link is dead, Please update! this looks like the holy grail of block populators!
    Also, keeping a mirror up would also be a good idea - if one dies, it's still available!
     
  8. Offline

    Techy4198

    Wow please send me a link to the notch cave generator at least... I need it for my large floating island plugin (based off the 'end' generator, but in overworld style). I thought I could get the one from Subterranea but it's not using Bukkit's block populator format, it's more like a semi-internal generator.
     
  9. Offline

    MiniDigger

    Techy4198 dude, this thread of over 1 and a half year old, the creator was last seen a year ago...
     
    Onlineids likes this.
  10. Offline

    Techy4198

    MiniDigger
    So? Does nobody in the world anywhere have any kind of vanilla-style cave generator for bukkit?
     
Thread Status:
Not open for further replies.

Share This Page