Inactive [EDIT/MECH] Buildr v0.7.1 - Toolbox for creative servers [1.2.4-R1.0]

Discussion in 'Inactive/Unsupported Plugins' started by s1mpl3x, Jul 10, 2011.

  1. Offline

    s1mpl3x

    [​IMG]
    Toolbox for faster and easier building

    Version: 0.7.1 [1.1-R4]
    Version 0.5+ Includes a huge contribution from @Relick Thanks!

    DOWNLOAD:

    Over at BukkitDev => link

    [​IMG]

    OVERVIEW:
    Buildr is a collection of useful tools to make building/creating stuff easier and faster. The key features of Buildr are the two buildmodes and the structure builders.
    The Globalbuildmode offers Worldbased enhancements to building, while the Userbuildmode gives a single player some handy tools. While the modes are disabled you can play minecraft without any effect.
    Buildr comes with a detailed configuration file so you can modify its behavior to fit to your needs.


    Video showing some of the structure builder and the tree feller

    FEATURES:
    Global build mode:
    While a world is in the Globalbuildmode, it won't get dark and the weather won't change - so you can build without beeing interruped because you have to change the weather or set the time to see your creation again. Also blocks won't drop items in this world so the floor isn't flooded with useless items.

    tl;dr:
    • no nighttime -> alway sun
    • no storm/thunder
    • no itemdrops
    User build mode:
    While a user is in buildmode blocks will break (almost) instantly if the player uses a Pickaxe (any of them), the inventory won't get flooded by useless items (pickups disabled), players won't get damaged, blocks are unlimited (stacksize is always 64). Last but not least cutting down trees is quite a pain, but while in buildmode players can fell a tree with just one click of an axe. You can Lock or Unlock the buildmode for a world or generally lock/unlock it, just have a closer look at the config/permissions.

    tl;dr:
    • Second inventory while in Buildmode
    • Instant Block Break
    • Godmode
    • Unlimited Items
    • No itempickups
    • Treecutter removes trees instant
    Basic Structure builders:
    You can build walls, floors/ceilings,cuboids,spheres,half spheres, cylinders easily with the build-commands of Buildr. Just type the command (see below) and click 2 blocks and Buildr creates these structures for you. The 3-Dimensional structures can be build hollow and all structures have a replace function. You can use wool as material with every structure builder. Just use wool:color as material in the command. And just like the Treecutter you can undo every action you perform with those builders with the /undo or /bu command.
    • /wall builder
    create Walls (or floors/ceilings) easily with just 2 clicks and this command usage: after you typed in the command you have to rightclick on the two blocks between the wall should be build while holding a stick. the line described by the 2 blocks must be parallel to at least one axis
    • /wallx builder
    allows you to create walls that aren't parallel to one of the axis
    • /cuboid builder
    allows you to create Cuboids (Great tool to begin your house with if you set it to hollow).
    • /sphere builder
    allows you to create a sphere. They can be solid or hollow.
    • /halfsphere builder
    allows you to create a half sphere. Can be solid or hollow.
    • /cylinder builder
    allows you to create a cylinder. They can be solid or hollow.

    Example for the replace-function:
    /cubeoid wool:red r1
    this command will replace all stone blocks in the selected area with red wool
    /wall 2 r3
    this command will replace all dirt blocks in the selected area with grass


    Other features:
    /wool command
    gives you a stack of wool in the specified color

    /top command
    Ports the user to the highest Block at its current position

    /airfloor command
    this command allows you to place one block or even a floor direct above yourself. usage: /airfloor

    /gv command
    gives items directly to a player or yourself.
    "/gv 4" would give yourself a stack of 64 Cobbleston
    "/gv stone 20" would give yourself a stack of 20 Stone
    "/gv noob 20 40" would give noob a stack of 40 Glass

    /gvx command
    gives you a stack of items with the specified datavalue
    /gvx 17:1 gives you redwood log


    /clearinv command
    wipes the inventory

    /location command
    gives the location of the block beneath the player

    /port command
    ports the player to the block he is currently facing.

    /undo command
    allows the user to undo his latest actions performed with the treecutter, airfloor tool and all builders (wall, cuboid, sphere etc.)

    All commands have short aliases for faster access. See below:

    COMMANDS:
    Show Spoiler

    Code:
      globalbuild:
        description: Toggles the Global Buildmode for the world you're in
        aliases: [gb,gbm]
        usage: |
              /<command>
              Example: /<command>
      build:
        description: Toggles the User Buildmode
        aliases: [ub,bm]
        usage: |
              /<command>
              Example: /<command>
      allowbuild:
        description: Unlocks/Locks the activation of the buildmode in the world you're in. Kicks all users out of buildmode on lock. Only has a Effect if BUILDMODE_BUILDMODE_REQUIRE_ALLOW is true
        aliases: [ab,abm,allowbm]
        usage: |
              /<command>
              Example: /<command>
      wall:
        description: Starts the wall building function
        aliases: [wl]
        usage: |
              /<command> <material #> {rReplace}
      wallx:
        description: Starts the wallx building function
        aliases: [wlx]
        usage: |
              /<command> <material #> {rReplace}
      cuboid:
        description: Starts the cuboid building function
        aliases: [cube,cu]
        usage: |
              /<command> <material #>  {rReplace} {h|hollow}
      sphere:
        description: Starts the sphere building function
        aliases: [ball,sp]
        usage: |
              /<command> <material #>  {rReplace} {h|hollow}
      halfsphere:
        description: Starts the half sphere building function
        aliases: [hball,hsp,hsphere]
        usage: |
              /<command> <material #>  {rReplace} {h|hollow}
      cylinder:
        description: Starts the cylinder building function
        aliases: [cyl,tube]
        usage: |
              /<command> <material #>  {rReplace} {h|hollow}
      airfloor:
        description: places a block (area) of material x y blocks above the player
        aliases: [af,airf]
        usage: |
              /<command> <material #> <height #>
              Example: /<command> 4 20 3
      wool:
        description: gives a Stack of wool in the specified color to the player
        usage: |
              /<command> <color>
              Example: /<command> black
      top:
        description: ports the player to the highest block at its current position
        usage: |
              /<command>
              Example: /<command>
      undo:
        description: Undoes the lastest action the player used (airfloor, wall)
        aliases: [bu,buildrundo]
        usage: |
              /<command>
              Example: /<command>
      gv:
        description: gives a Stack of items to the player
        aliases: [gv,g]
        usage: |
              /<command> <player> <itemid #|itemname> <amount #>
              Example: /<command> 20 50 gives a stack of 50 Glass to the player
      gvx:
        description: gives a Stack of items with the specified datavalue to yourself
        aliases: [gvx,gx]
        usage: |
              /<command> <itemid:data> <amount #>
              Example: /<command> 17:1 50 gives yourself a stack of 50 Redwood Log
      clearinv:
        description: clears the inventory of the player
        aliases: [clrinv,ci,cleari,clear,clearinventory]
        usage: |
              /<command>
              Example: /<command>
      location:
        description: returns the location of the block under the player
        aliases: [loc,gps]
        usage: |
              /<command>
              Example: /<command>
      jump:
        description: ports the player to the block that he is looking at
        aliases: [jmp,go]
        usage: |
              /<command>
              Example: /<command>


    PERMISSIONS:
    Show Spoiler

    Commands:
    buildr.cmd.build - /build command
    buildr.cmd.globalbuild - /globalbuild command
    buildr.cmd.allowbuild - /allowbuild command
    buildr.cmd.wall - /wall command
    buildr.cmd.wallx - /wallx command
    buildr.cmd.cuboid - /cuboid command
    buildr.cmd.sphere - /sphere and /halfsphere command
    buildr.cmd.cylinder - /cylinder command
    buildr.cmd.airfloor - /airfloor command
    buildr.cmd.top - /top command
    buildr.cmd.undo - /undo command
    buildr.cmd.give - /give command
    buildr.cmd.clearinv - /clearinv command
    buildr.cmd.location - /location command

    Features:
    buildr.feature.treecutter - required to use the treecutter
    buildr.feature.jump - required to use /jump
    buildr.feature.compassjump - required to jump using a compass
    buildr.feature.instantblockbreak - required to use the instantblockbreak (pickaxe) while in buildmode
    buildr.feature.instantblockbreakall - required to use the instantblockbreak (all items) while in buildmode (not able to break bedrock even with the permission below)
    buildr.feature.break_bedrock - allows the breaking/replacing of bedrock with the instantblockbreak pickaxe and the build commands
    buildr.feature.block_info - if the user rightclicks a block with a stick, detailed information about the clicked block will be printed

    rest is not done yet... might add it on demand but the limitations in the configfile should work for most situations


    KNOWN ISSUES:
    • none atm.
    CHANGELOG:
    • v0.7.1
      • fixed typo in config file
    • v0.7
      • removed inventory-swap
      • added a config value for auto-gamemode change triggered by the buildmode cmd
      • renamed the give and givex command to gv and gvx
      • improved command feedback
      • added a block info tool for the stick
      • Buildr is now firing BlockBreak and BlockPlace events, so it (should) now respect Protection/Region Plugins
      • using the new event system
      • code improvements
    • v0.6.1
      • fixed /allowbuild permission
    • v0.6
      • added givex command
      • removed support for permissions2/3. Bukkitperms is the only supported system now.
      • all builder now have a replace input instead of the aironly stuff
      • fixed wallx builder
      • fixed bug caused by the Pinapp 2 plugin
      • code restructuring
    • v0.5.4
      • fixed player handling on login
    • v0.5.3
      • possible fix for the inventory swap bug
    • v0.5.2
      • fixed /reload inventory confusion
      • fixed bug with inventorystatefile
      • fixed worlds not being set to globalbuild via config
      • added config-value for keep buildmode over a disconnect
      • added config-value for forcing users to buildmode if a world is in globalbuildmode
      • added config version detection. If your version is outdated, a new config is created and the old one is renamed so you can easily convert your old settings over.
    • v0.5.1
      • added config value for the instant block break with all items
    • v0.5
      • added possibility to enable Globalbuildmode on startup in config (Thanks @Relick )
      • added possibility to break blocks with every item in hand while in buildmode (see permissions above) (Thanks @Relick )
      • added possibility to use jump with a compass in hand (see permissions above) (Thanks @Relick )
      • /jump command doesn't require the user to be in buildmode anymore (Thanks @Relick )
      • implemented rudimentary build-in bukkit permission support (untested). I recommend to use the old system for now
    Show Spoiler

    • v0.4.4
      • added permission check for bedrock breaking to the build commands
    • v0.4.3
      • added permission for bedrock block break
    • v0.4.2
      • bugfix for unlimited items
    • v0.4.1
      • added permission for instantblockbreak
    • v0.4
      • added /jump command
      • added the possibility to use wool with the builders ( /cuboid wool:blue)
    • v0.3.1
      • fixed treecutter bug where it would stop working after a attempt to fell a to big tree
    • v0.3
      • fixed timecheck for the globalbuild mode
      • added a sphere/half-sphere and cylinder builder
    • v0.2
      • minor bugfixes
      • added cuboid and wallx builder
    • v0.1
      • initial release
     
    r3Fuze and Relick like this.
  2. Offline

    Relick

    Sure no problem, here is the source (I forked it off of your source):

    https://github.com/Relick/Buildr

    Also I made a mistake above, it isn't buildr.feature.instabreak, but buildr.feature.instantblockbreak. Also buildr.feature.instantblockbreakpick for the pickaxe permission.
     
  3. Offline

    s1mpl3x

    -updated Buildr to version 0.5
    • v0.5
      • added possibility to enable Globalbuildmode on startup in config (Thanks @Relick)
      • added possibility to break blocks with every item in hand while in buildmode (see permissions above) (Thanks @Relick)
      • added possibility to use jump with a compass in hand (see permissions above) (Thanks @Relick)
      • /jump command doesn't require the user to be in buildmode anymore (Thanks @Relick)
      • implemented rudimentary build-in bukkit permission support (untested). I recommend to use the old system for now
    @Relick
    kept most of your changes althought i re-added the break_bedrock permission and changed the name of the instantbreak permissions for better backwards compability ;)
    Thanks again awesome improvements


     
  4. Offline

    Fabis94

    So my whole server is legit survival, no item duping or anything like that. I want to create a seperate world in which people will be able to get infinite items, build everything and stuff, but I don't want them to be able to bring those items in the normal world. Can I do that with this plugin? Which build mode do I have to use? Global or User?
     
  5. Offline

    Relick

    Yes you can do it with this plugin, along with Multi-Inv to get different inventories in the two dimensions. Put the creative one in global mode (add worldname=true to the bottom of your config). Make sure they know they have to go into user build mode (by using /build).
     
  6. Offline

    Fabis94

    Wait, what happens if they don't go into the build mode? They have their default inventory? Can they bring their /build inventory in the normal world?
     
  7. Offline

    Relick

    If you don't give them the permission to enter build mode for that world then no they can't.

    As for the reload inventory problem, I thought it could just scroll through the list in which the build mode players exist and just execute the exitBuildMode method for each of them. This would be put in onDisable.
     
  8. Offline

    omnija

    in the new version, when your in build mode and hit anything with anything. it's a instant break... how do you remove it, i only liked the pickaxe idea.
     
  9. Offline

    s1mpl3x

    buildr.feature.instantblockbreakall set this permission node to false.
    I might add a config value also but this should work aswell
     
  10. Offline

    omnija

    sounds good to me
     
  11. Offline

    KasperZ

    Yay! this plugin is much needed :) although i have a few problems. The first one is probably just me being stupid but i cant get my world to start with globalbuildmode on. Below is a copy of my config. Also i cant get the /undo command to work. when im using it it just says: "Nothing left to undo" even though i just made a wall and a sphere. It's quite annoying since when making a mistake you have to remove it manually. But everything else works just fine :)

    And last just a quick question :) is it possible to set allowflight=true in one world but false in another? Dont know if you even know this but it doesnt hurt to ask :p
    Code:
    ############################################################
    #                                                          #
    #                    BUILDR CONFIGURATION                  #
    #                                                          #
    #                            v0.5                          #
    ############################################################
    
    ##### General settings: ####################################
    
    # Print the settings while Buildr loads
    GENERAL_DISPLAY_SETTINGS_ON_LOAD=false
    
    # Enable Permissions, if false Buildr checks for OP (will also check for OP if no PermissionsPlugin was found)
    GENERAL_USE_PERMISSIONS=true
    
    # Toggle wether to use the Permissions Plugin or the build-in Bukkit permissions (only rudimentary support)
    GENERAL_USE_BUKKIT_PERMISSIONS=false
    
    # If set, will log quite alot in the server console (mostly debug)
    GENERAL_DETAILED_LOG=false
     
    ##### Globalbuildmode settings: ############################
    
    # Enable the Globalbuildmode
    GLOBALBUILD_ENABLE=true
    
    # Enable weathercheck (always sun)
    GLOBALBUILD_WEATHER=true
    
    # Enable timecheck (always day)
    GLOBALBUILD_TIME=true
    
    # Enable Dropblocker
    GLOBALBUILD_NODROPS=true
     
    ##### Buildmode settings: ##################################
    
    # Enable the buildmode
    BUILDMODE_ENABLE=true
    
    # If set, users are only able to activate the buildmode if the mode is allowed in the world they are in
    BUILDMODE_REQUIRE_ALLOW=false
    
    # Enable godmode while in buildmode
    BUILDMODE_GODMODE=true
    
    # Enable the buildmode inventory
    BUILDMODE_INVENTORY=true
    
    # Enable Instant block break with a Pickaxe
    BUILDMODE_INSTANT_BLOCK_BREAK=true
    
    # Disable item pickup
    BUILDMODE_DISABLEPICKUP=true
    
    # Enable the unlimited itemstacks
    BUILDMODE_UNLIMITED_ITEMSTACK=true
    
    # Enable the treecutter (axe)
    BUILDMODE_TREECUTTER=true
    
    # Enable the jump command
    BUILDMODE_JUMP=true
     
    ##### Feature settings: ####################################
    
    # Enable the airfloor command
    FEATURE_AIRFLOOR=true
    
    # Enable the wall command
    FEATURE_BUILDER_WALL=true
    
    # Enable the wallx command
    FEATURE_BUILDER_WALLX=true
    
    # Enable the cuboid command
    FEATURE_BUILDER_CUBOID=true
    
    # Enable the sphere command
    FEATURE_BUILDER_SPHERE=true
    
    # Enable the cylinder command
    FEATURE_BUILDER_CYLINDER=true
    
    # Enable the top command
    FEATURE_TOP=true
    
    # Enable the give command
    FEATURE_GIVE=true
    
    # Enable the wool command
    FEATURE_WOOL=true
    
    # Enable the clearinventory command
    FEATURE_CLEAR_INVENTORY=true
    
    # Enable the location command
    FEATURE_LOCATION=true
     
    ##### Treecutter settings: ####################################
    
    # Remove leaves on treecut, will cut more than one tree at once if their leaves are connected
    TREECUTTER_CUT_LEAVES=true
    
    # if set, a tree can be felt if you hit its leaves, else you can only fell it by hitting log
    TREECUTTER_ACTIVATE_ON_LEAVES=true
    
    ##### Worlds below here that will have globalbuild on startup:
    # e.g. world=true
    # If you don't want a world, put false instead.
    creative=true
    
     
  12. Offline

    Relick

    Does your world name have a capital? I forgot to make it case insensitive, so you'll have to add the capital into the config (should it have one).
     
  13. Offline

    KasperZ

    If it only was that easy :p nope creative is spelled correctly.
     
  14. Offline

    Relick

    Hmmm, strange. Any errors in the log? What multiworld plugin are you using?
     
  15. Offline

    KasperZ

    This is what builder outputs in the log on server startup, player join and server shutdown
    Code:
    2011-07-26 19:18:36 [INFO] [Buildr] Buildr v0.5 loading..
    2011-07-26 19:18:36 [INFO] [Buildr] loaded settings.cfg
    2011-07-26 19:18:36 [INFO] [Buildr] loading InventoyStateFile..
    2011-07-26 19:18:36 [INFO] [Buildr] found 1 builder(s) to treat on login
    2011-07-26 19:18:36 [INFO] [Buildr] Buildr v0.5 (relick's modified) loaded
    2011-07-26 19:19:30 [INFO] KasperZ [/xx.xx.xxx.xxx:xxxxx] logged in with entity id 121 at ([creative] 146.1343706266594, 64.0, 445.93014271804435)
    2011-07-26 19:19:30 [INFO] [Buildr] Treated KasperZ. Inventory restored.
    2011-07-26 19:41:56 [INFO] Stopping the server..
    2011-07-26 19:41:56 [INFO] Stopping server
    2011-07-26 19:41:56 [INFO] [Buildr] Buildr v0.5 stopped.
    i can send you the full log if you want it :)

    i use multiverse 1.7.2 and multi-inv. i also use worldguard(incl. worldedit as its needed by worldguard.) to prevent TNT from exploding and fire from spreading (which also could be nice features to buildr since worldguard is quite a heavy plugin to install to do just that)

    besides that i have:

    Code:
    dynmap 0.9.2 (i think)
    Essentials 2.5.5
    Backup 1.6
    MilkAdmin
    Remote Toolkit
    Permissions
     
  16. Offline

    s1mpl3x

    @KasperZ
    to your /undo problem, that command is also used by worldedit so you have to use one of the aliases defined by buildr, /bu should do the trick.

    i'll have a closer look at the startup thing... worked fine when i tested it here
     
  17. Offline

    KasperZ

    Thanks! that indeed was the solution to the undo problem :)
     
  18. Offline

    Relick

    It's a possibility that due to MultiVerse loading up after the Buildr (alphabetically wise) the worlds aren't loaded into the memory so therefore does not enable globalbuild on it. However I use DimensionDoor which is also after yet it works.
     
  19. Offline

    Volkove

    Is there a way we can turn off breaking anything with anything in build mode without using permissions? I only want to break anything instantly when I have a pick in my hand like before version 0.5. I run a small server for a few friends and Ive spent 6-7 hours trying to figure out how to use permissions so I can turn off breaking anything with anything... I have FINALLY gotten it to work but it turns out I need to go through my 12 other mods and set permissions for those too because I cant do anything with the permissions plugin active. All of my mods including this one just went to OP only when it didn't find permissions. Having to now use permissions is a huge headache.

    Thanks
     
  20. Offline

    Relick

    If you had set everyone as OP, then simply set the default group as having the permission '*' with the quotes. This'll let you have all the permissions at once. Or you can have the default as no permissions and an Operator group which has all. It will work exactly the same, but you'll have a lot more control with what you do.

    Alternatively I'll quickly throw together one with that in the config should you want it ;).
     
  21. Offline

    Volkove

    If I could just turn it off in the config that'd be great.
     
  22. Offline

    s1mpl3x

    v 0.5.1 is out, added a config value for the break with all stuff
     
  23. Offline

    Volkove

    awesome, makes things a lot easier

    thanks a ton!
     
  24. Offline

    omnija

    thanks , it's much appreciated!
     
  25. Offline

    Narzual

    I use Multiverse and have one world set to survival and the other to do whatever. I have Buildr enabled on the whatever world and would like to be able to force build mode on entering it. Is that possible?
     
  26. Offline

    s1mpl3x

    So... big update this time:
    • v0.5.2
      • fixed /reload inventory confusion
      • fixed bug with inventorystatefile
      • fixed worlds not being set to globalbuild via config
      • added config-value for keep buildmode over a disconnect
      • added config-value for forcing users to buildmode if a world is in globalbuildmode
      • added config version detection. If your version is outdated, a new config is created and the old one is renamed so you can easily convert your old settings over.
    You can do this with ver0.5.2, enable GLOBALBUILD_FORCE_BUILDMODE and add your creative world to the end of the config file.

    @KasperZ I hope i fixed it with 0.5.2 just give it a try and tell if it works
     
  27. Offline

    Narzual

    Thank you so much!
     
  28. Offline

    cmoupetr

    will there be support for too many items? and if not how can i use the normal give command?
     
  29. Offline

    Relick

    Hey, I'm keen to know how you got the globalbuild on start working. I realised that it in fact only worked for the standard world and nether so how do you do it? It's all confusing to me as a plugin which uses the same code has the worlds loaded yet this one doesn't?
     
  30. Offline

    s1mpl3x

    first change is that i moved the loading from onEnable() into a new thread (scheduler task) so it is executed after startup. Second change is that i added a WorldListener although it was only used in a special case during testing..
     
  31. Offline

    Relick

    Cool, thanks.

    @cmoupetr, currently, there is a bug between how bukkit refreshes the inventory and toomanyitems. If you want buildr without the /give command, download here (all I've done is remove the give section from plugin.yml):

    0.5.2 (No /give)
     

Share This Page