Inactive [EDIT/MECH/WGEN] WorldFeatures v2.0 - Randomly Generate .Schematics [1337]

Discussion in 'Inactive/Unsupported Plugins' started by dkramer, Sep 3, 2011.

  1. Offline

    dkramer

    Here is the Bukkit-Dev link.
    WorldFeatures, A Plugin Inspired by this Reddit post.
    Version: 2.0
    Plugin name by tmcaffeine :D
    (Please donate here if you like what I do. This is my only job.)

    Description:
    You will need WorldEdit.jar in your plugins folder for this to work. Save .schematics to your Created folder in-game or download someone else's .schematics to be generated randomly when new chunks are formed. Each has its own customizable chance to spawn.​
    Permissions:
    • WorldFeatures.commands
    This permission allows the player to use every command. Use this wisely.

    Commands:
    /wf <name>​
    Creates a schematic named <name> of the selected cuboid. A cuboid can be selected by holding seeds or a customized item.​
    /wf copy <name>​
    Copies and pastes this created schematic from your Created folder into the ToUse world folder of the world you are in. Your world will automatically start generating this structure without needing a reset.​
    Download:
    Static link for bukkituptodate: http://dl.dropbox.com/u/36326695/WorldFeatures.jar
    Show Spoiler

    Installation:
    Insert WorldFeatures.jar into your plugins folder.

    Customizing:
    After starting up the server for the first time, a WorldFeatures folder will be made. Inside this will be three things:​
    • The "Created" folder - this is where the schematics you create in-game will go to.
    • The "ToUse" folder - this is where you can place yours or someone else's created schematics. Inside, you will need to create folders that have names of the worlds you want schematics to spawn in. Every .schematic needs a matching .yml. This is explained below.
    • "Settings.yml" This is explained below.
    The Settings.yml has 2 things right now:
    • wandID - number - what should be held when selecting a cuboid for a schematic?
    • chunkchance - number between 1 and 100 - chance is explained below.

    Individual .ymls for schematics
    Show Spoiler

    Each schematic needs its own .yml in the ToUse folder (it should be named <schematicname>.yml). If you are loading a .schematic from elsewhere, copy and paste any .yml and change its name. In each .yml should be these things:
    • min/max - the minimum and maximum height the structure can spawn at if "place" is set to "anywhere"
    • chance - When a chunk is loaded, it checks the chance of the chunk to generate something (by chunkchance in the Settings.yml). If it can, it runs through all the schematics and checks this number for each one. If multiple structures are chosen to generate on one chunk, it will randomly choose one of them to be generated. This means that this "chance" is relative and not an exact amount.
    • maxspawns - the maximum amount of times this .schematic can spawn
    • basement - if you have blocks that should be below-ground, this is the number of vertical blocks you want underground, so if I had a building of 30 blocks high, and I only wanted 10 to be above-ground, I would put '20' as the "basement".
    • biome - can be "none" or any of these values:
      • DESERT
      • EXTREME_HILLS
      • FOREST
      • OCEAN
      • PLAINS
      • RAINFOREST
      • RIVER
      • SAVANNA
      • SEASONAL_FOREST
      • SHRUBLAND
      • SWAMPLAND
      • TAIGA
      • TUNDRA
    • randomrotate - should this schematic randomly rotate? Default is true.
    • place can be set to any of these values:
    1. ground - the schematic will stick to the ground and not spawn over water
    2. anywhere - it can spawn anywhere within the .yml range of min and max
    3. air - it will only spawn in the air
    4. underground - it can only spawn underground
    ToDo:
    • Find bugs
    Changelog:
    2.0:​
    • biome options: see above for details
    • Multiworld support: a different folder with names of the worlds you want schematics to spawn in should be in your ToUse folder now, and the schematics and their .ymls will go in this folder, example: plugins/WorldFeatures/ToUse/WORLD_NAME/
    • rewrote a lot of code for readability and efficiency
    • more information is put in the .yml
    1.82: added the permissions to the plugin.yml​
    1.81: added in the "basement" feature​
    Show Spoiler
    Show Spoiler

    1.8:​
    • can't spawn on leaves
    • adding in rotation screwed up the spawning, but don't worry, I fixed it now!
    • option for limited number of spawns for each schematic
    • more error checks
    • more efficient code
    1.7:​
    • Performance improvements
    • added "underground" to the place list
    • The schematics now randomly rotate when being placed!
    1.6:​
    • Fixed it so that structures cannot spawn if they are too high up
    • Removed the accidental debugging code that spammed the output *oops*
    • added "air" to the place list - if a schematic's appropriate .yml is set to this, it will only spawn in the air
    1.5:​
    • .schematic files are now fully supported and are the only means of saving and loading structures
    • the file system is different. Read above for information^
    • it performs a lot better now
    1.1:​
    • Loading a schematic not from RAM is now a lot faster.
    • Schematics set to "ground" can no longer spawn over water
    1.05: Fixed an error where a chunk decided not to generate a structure and throw an exception
    1.0: Release


    Supports .schematics now!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  2. Offline

    gameswereus

    Ok, I'm about to use this to generate some stuff, it works with this newest RB? Sorry to bother you! :p
     
  3. Offline

    dkramer

    It most likely does! I'd do a test run though, just in case.
     
    gameswereus likes this.
  4. Offline

    gameswereus

    Thanks so much man, this plugin is really a godsend.
     
    dkramer likes this.
  5. Offline

    gameswereus

    Is there multi-world support? I can't seem to get the plugin to work at the moment. :)
     
  6. Offline

    dkramer

    What would you want multiworld support to be like? I believe it spawns them in every world, and this is really not the best system.
     
  7. Offline

    halley

    For starters, the "ToUse" folder should be extended. The current folder is schematics for all worlds. Then new optional folders should be kept in each world's directory, or in world-named subdirectories under the plugin's folder, for schematics/yml files related to that world.

    plugins/WorldFeatures/hell/ToUse/brimstone.schematic
    plugins/WorldFeatures/heaven/ToUse/pearlygates.schematic

    Even nicer, the world directory names should be specifiable in the WorldFeatures/config.yml - that way you can share some schematics for one world set, but use different schematics for other world sets.
     
    dkramer likes this.
  8. Offline

    dkramer

    Ok thank you, I'll figure out something. I will spend time today getting the big update together.

    @halley
    Version 2.0 is out, and it has a new folder system, so make sure to read the changelog! Please tell me if you have any issues with it.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  9. Offline

    halley

    Nice, I'll try it out this weekend.
     
  10. Offline

    Wedhro

    This is an excellent idea but it doesn't work for me, nothing I added is generated on new maps. What I really need is an example configuration file for schematics to be sure I'm not using it the wrong way.

    EDIT:
    It works if I put the schematics and ymls in the main "ToUse" folder, but not if I put them in "ToUse/world". BTW I totally love this mod, as long as you'll keep maintaining it I will gladly donate.
     
  11. Offline

    dkramer

    oooh ok, I will look into this issue, thanks!
     
  12. Offline

    S4h4rk

    Wonderful plugin! Thank you.

    I have an idea how this may be used to achieve something like Formivore's City mods (http://www.minecraftforum.net/topic/171188-v181formivores-mods-city-wall-road-generator/) as well. What if additional information was defined for the schematics (via yml file) which included connectivity information; how schematics fit together? A person could then design schematics for individual components of say a city and the yml would define how these components could fit together.

    Best regards,
    S4h4rk
     
  13. Offline

    dkramer

    @Wedhro
    I cannot find the coding issue :[ I'd love it if someone could review the code, because I'm not finding anything.

    @S4h4rk
    That would be too difficult to implement in any reasonable time since I'm working on other plugins actively, sorry!
     
  14. Offline

    S4h4rk

    No worries. Just an idea.
     
  15. Offline

    Wedhro

    I noticed "naturally" generated blocks overwriting air blocks in custom generated structures (example: a house with a cellar; the underground part of the house is filled with earth/stone). Is it working wrong or is it the way the mod is supposed to work? Would you mind adding a config option for air blocks not being replaced?
     
  16. Offline

    dkramer

    I think .schematics automatically remove air blocks, and I'm not sure how to go about solving that problem.
     
  17. Offline

    Jazy Lopez

    May you place a Schematic.yml example (Like with the min, max, place, biome, ect) Please
    Awesome plugin, Can't wait to spawn buildings as the worlds load :D
     
  18. Offline

    dkramer

    Surely, but you can create one by selecting an area with the wand and doing "/wf <name>"

    Code:
    info:
        min: 1
        randomrotate: true
        max: 126
        maxspawns: 0
        biome: none
        basement: 0
        chance: 50
        place: ground
    
    There you go!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  19. Offline

    Shining_KoW210

    First of all fantastic plugin does exactly what I need it do, except I need help with it.

    I have 22 schematics in my world folder with 22 .yml files for each schematics, they are named as followed

    BUILDING1.SCHEMATIC
    BUILDING1.YML
    BULDING2.SCHEMATIC
    BUILDING2.YML
    ETC

    TOWER1.SCHEMATIC
    TOWER1.YML
    TOWER2.SCHEMATIC
    TOWER2.YML
    ETC

    For some reason it will only spawn the first one aka "TOWER1.SCHEMATIC" or "BUILDING1.SCHEMATIC"

    It won't spawn "TOWER2.SCHEMATIC" or "BUILDING2.SCHEMATIC"

    I have tried redoing the .yml files and deleting my world and trying again but nothing seems to make it spawn the other schematics.

    I'm running Bukkit 1337. Thanks in advance!

    In the old WorldEdit you could save a schematic with the air blocks. In the newer version, there's no way to do this.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  20. Offline

    dkramer

    @Shining_KoW210
    That is a very odd issue... I'll see if I can find where the problem is.
     
  21. Offline

    Shining_KoW210

    Thanks if you need anything from me, please ask.
     
  22. Offline

    Gloobob

    when ever it puts a schematic in my world it will load in things like trees but it will let the leves stay in the building
    is this because it dosint register the block 0 in the building so the blocks won't be replaced
    please help this is a great plugin
     
  23. Offline

    Shining_KoW210

    Any updates on how to fix my problem? I really need this plugin to start up my server again.
     
  24. Offline

    dkramer

    Could you try renaming them as a temporary fix? I cannot find why it's not working, sorry :[
     
  25. Offline

    Shining_KoW210

    So rename them something different in the begging like...

    ONE.SCHEMATIC
    ONE.YML
    TWO.SCHEMATIC
    TWO.YML
    ETC

    So they all have different beginnings?
     
  26. Offline

    dkramer

    yessir
     
  27. Offline

    Shining_KoW210

    Okay I did and the same thing is happening, it's only spawning about 5 of the 22.
     
  28. Offline

    dkramer

    Ok, I'm very sorry, I'll see if I can find what's up.
     
  29. Offline

    Shining_KoW210

    Thank you so much
     
  30. Offline

    Altobot

    Hey guy
    I got a heavy bug: Im using this plugin in combination with BananaSpace to make things like Space stations and Stuff. I configured everything, but when I reach a certain Chunk the world isnt generating anymore and the Server Crashes without giving an error message. When I come back and got a bit luck a small part of my pattern has spawned. but when I reach ne next Chunk the Server crashes again.

    by the way, I cant name my patterns. If I use /wf create Name or something like an error occurs. If I only use /wf create it works, but all my patterns have got the same name. I rename them Manually.

    please help!
     
  31. Offline

    Zymosis

    Is this multi world compatible? Also, Spout custom block compatible? I want to make a different world with custom ore blocks that generate using this plugin that make the ore generate.
     

Share This Page