Filled TownBuild Plugin!

Discussion in 'Archived: Plugin Requests' started by wowzersam, Apr 18, 2014.

  1. Offline

    wowzersam

    I've already written a request on this (it was very long but got deleted for some reason :'( )

    Anyway, I'll take another shot at it.

    What It Does:

    Town build enables even the worst of builders to make a good looking town! From a selection of schematics that are changeable, a player can select and place a house or church etc anywhere they like! Town build would open a GUI (customizable) wherein a player would be able to choose their schematic! This plugin would run world edit commands (//schematic load <name>), and when a player LEFT CLICKS, it would be placed at that point (//paste -a). UPON A PLAYER RIGHT CLICKING, the schematic would be UNLOADED, and the player would be returned to the GUI menu. (The building would ALWAYS be placed on the HIGHEST part of the ground so as not to place the building IN The land).

    I think this plugin would be INCREDIBLE for ANY Towny, Faction, or Guild server. Next, Ill go into the config!

    The Config:

    Code:
    #This is just an example config
    #It's not permanent, just IDEAS
    TownBuild:
      enabled: true
      anyone: false
      permission: townbuild.use
      economy: true
      undo-cost: 0
    GUI:
      Layers: 1 <--This means amount of chest layers open
      House:
        Cost: 10000
        ID: 1
        X: 1
        Y: 1
        Click-Cmd: '//schematic load House'
        Exec-Cmd: '//paste -a'
      Church:
        Cost: 100000
        ID: 2
        X: 2
        Y: 1
        Click-Cmd: '//schematic load Church'
        Exec-Cmd: '//paste -a'
    #The GUI could go on longer
        
    Commands:

    /tb select (opens the gui menu)
    /tb select House (selects the House schematic without opening the GUI menu)
    /tb undo (undos the last placed schematic)

    Permissions:

    - tb.use (This gives players access to /tb select and /tb undo)
    - tb.select.<schematic> (This gives players access to a certain schematic)

    NOTE: This plugin NEEDS to be integrated with Worldguard, Worldedit, and Vault.

    Worldguard: to stop players from placing buildings in certain regions

    Worldedit: to place schematics

    Vault: to charge money to buy a schematic

    I realize this is a huge undertaking, and I will be very grateful to anyone who is willing to try.

    If you wish to contact me, my Skype is wowzersam
     
  2. Offline

    wowzersam

  3. Offline

    intronate67

  4. Offline

    wowzersam

    intronate67 Not exactly what I'm looking for, and I would like a gui as well so, those won't work
     
  5. Offline

    intronate67

    You could use a plugin like CreateYourOwnMenus to setup your own gui.
     
  6. Offline

    wowzersam

    intronate67 Even so, I still don't want an NPC to build the building, I want it to simply be PLACED.

    bump
     
  7. Offline

    wowzersam

    Bumperoo. Sorry Jade didn't realize it wasn't 24 hrs :p
     
  8. Offline

    wowzersam

  9. Offline

    chingo247

    Im kinda developing this, here a small preview


    It is able to load any schematic with materials supported in 1.6.4. When all the features of this API are final AND most of the bugs have been fixed, I plan to support newer versions as well.

    Also this will be my first plugin :p
     
    BDKing88 likes this.
  10. Offline

    wowzersam

    chingo247 Looks almost identical to what I asked! If you could integrate a GUI it would be exactly what I need.

    P.S. Maybe change the command from /scs to something else because I and many others
    have a plugin call ShowCaseStandalone, which uses the same command, and they would conflict ;)
     
  11. Offline

    BDKing88

    For your first plugin, that's really impressive!
     
  12. Offline

    jwa1

    It looks great, will it also be able to take the required blocks from your inventory and give a message if you do not have enough?
     
  13. Offline

    chingo247

    Whoah soo many positive reactions ^^
    And it was meant to be just a small sub-module of a project xD, but it turned out pretty big hehe
    I will change the /scs in something else, i quickly hacked those commands together to give a preview :cool:

    Planned:
    - Vendor (Chest / Inventory GUI to buy plans)
    - Vault Integration
    - Holographic displays (to show additional information) http://dev.bukkit.org/bukkit-plugins/holographic-displays/
    - WorldGuard, because at the moment a structure will just crush anything that is not recognized as a structure
    - WorldEdit, to prevent "ghost structures" (structures that are stored in the database but non-existent in the world)

    Also there comes lots of flexibility in the config file, especially around generating structures

    Ill try to release a beta soon ^^
     
    wowzersam and BDKing88 like this.
  14. Offline

    wowzersam

  15. Offline

    chingo247


    I forgot to reply on this one,

    Constructing structures is Layer-Based, which means you can submit any resource/block that is needed for that layer. If a player does not have the required resources/block, a message is sent to the player telling what resources it will need.

    The max amount of resources a player can submit at once is the lowest value of the following four:
    ( the need | on current stack | max size of stack | base value )
    Where base value is 5 by default but can be configured in the config. This base value was originally introduced to hook into the SkillAPI.

    The required resources CAN (-> configurable) be simplified. For example when a structure requires wooden sticks, 0.5 times the amount of wooden sticks will be added to the resource wood planks. The sum of all resources that can be simplified to wood planks will be round up (e.g. 120,5 would give 121).
    Uncraftable materials (air, bedrock, commandblocks, etc) won't be added.

    Note u can also configure that structures won't require any resources at all and just need to be placed at target location.
     
  16. Offline

    wowzersam

  17. Offline

    chingo247

    I did some research on the GUI Yesterday, couldn't find any existing plugin that satisfied my need except for Spout.
    However forcing people to use Spout, for an plugin/API is quite a big deal, because u not only force the developers to install a launcher, but also the users.

    So im writing my own InventoryGUI which offers the flexibility i need, but it will consume some extra time
     
  18. Offline

    wowzersam

  19. Offline

    chingo247

    I've looked into ChestCommands, however it only had an API for reading files and predefined menus. I wanted to load my data dynamically into an inventory. So i implemented one myself today.

    PlanShop.png

    This GUI is especially made for Shops. It's able to set any row, column or slot reserved. Reserved slots can be used as buttons, for example categories. In the image above i have set the first row reserved. Afther that i added some categories, the first category is restricted, the rest is up to the developer.

    Items can be set to be infinitly available, so that items won't deplete. When adding an item to a CategoryShop you tell the shop which category the item belongs to. By default items will be added to the "All" category, which is the only catagory that is restricted (For CategorizedShops only!). When a Category is clicked the inventory will change to the items that belong to the category, except for the reserved slots (like category-buttons and such).

    For each visitor (a Player) it will open a new Inventory, so that filters will only apply to the player who was requesting the filter. In the future i might support pages, so that endless shops may exist and more items can be added to a shop. But for now i will first focus on getting the StructureAPI into release state (Beta)

    Tommorow / Today i gonna take a good look at Vault :p
     

    Attached Files:

  20. Offline

    chingo247

    I've also setup a place here: http://dev.bukkit.org/bukkit-plugins/structureapi/pages/main/

    Note: i've Changed the name of the plugin to SettlerCraft, it will still remain the same basic features as decribed on the page. SettlerCraft will depend on The StructureAPI (embedded) and The ShopAPI (which is embedded in StructureAPI).
     

Share This Page