[MECH] Elevators [BukkitDev]

Discussion in 'Archived: Plugin Releases' started by Cybran, Jan 27, 2011.

  1. Offline

    Cybran

    [​IMG]

    The plugin will be continued at dev.bukkit.org!
    Want to help? Sign up as an alpha- or beta-tester!


    What this plugin does:

    It creates vertical moving elevators, which can be controlled by redstone-powered blocks.

    Features (open)

    • Creating elevators with an individual size (square or rectangle shape).
    • Floor-management: define your own floors with their own names, being able to call an elevator on every floor by – per example – pressing a button.
    • Movement-triggers: control the elevator with redstone circuits or buttons or any other redstone-powered block!
    • Elevator movement-controls: have different buttons for moving the elevator up and down, skip floors by pressing a control button several times.
    • Command-queuing: the elevator will move to the different floors one after the other if it gets more than one command at the same time.
    • Build on the elevator whatever you want (nearly ;))
    • Use redstone outputs to link the elevator to iron doors or more complex circuits.
    • Connect the elevator to your minecart system!
    • Use the elevator as something else, like a lava door.
    • Build automtically opening/closing glass doors around or on your elevator!
    • Protect your elevator with a password or user restriction.
    • Permissions support!

    How to install (open)

    • The server mod:
      Just copy the Elevators.jar into your plugins/ folder. That's it. You can modify the config later (See section Tutorials>Configuration).
    • ???

    FAQ (open)

    • Q: I'm completely new to this plugin! What shall I do?
      A: First, install the mod (see How to install), then you can read the basic tutorials in the tutorial section below.
    • Q: I'm sick of using buttons all the time to control the elevator! I want to include my redstone circuits!
      A: You don't have to use buttons! You can right-click any type of redstone-powered block! The buttons are just the easiest way.
    • Q: I want to build several buttons or other blocks for the SAME floor! How to do it?
      A: Have a look at the "direct" command. It links other blocks to an already existing floor.
    • Q: I try to build a lava door, but the lava is transported with the elevator! How can I let displace the lava by the elevator?
      A: At first, build the elevator like it should be later. Then, use the command /elev lock. Now your elevator will not grab any blocks or fluids placed later on it.
    • Q: Is there a size limitation for the elevator's shape?
      A: Yes. Normally, there is a maximum for the area of 25 blocks. But: you can change this limitation in the config.

    Command usage & Permissions (open)

    [...] = optional parameter. ...|... = select ONE of the values, they all mean the same. <...> = put your own values here.

    /elevators|elevator|elev <command from the list below>

    The basic commands:
    • help|? - shows the commands.
    • permission|permissions - shows your current permission level.
    • create - creates a new elevator at your current position.
    • remove - removes an existing elevator from your current position.
    • call|floor <Floorname> - creates a new floor with the given Floorname.
    • up - creates a new UpBlock, right-click to select block after command.
    • down - creates a new DownBlock, right-click to select block after command.
    • go|direct [<Floorname>] - creates a new link to the given floor or the nearest. Toggled by redstone input. Right-click a block.
    • redstoneout [<Floorname>] - creates a redstoneoutput, right-click to select the output block after. Has to be a lever.
    • glassdoor [<Floorname>] - Type command and place glass blocks. A door will be created to the given floor or the nearest. Use /elev finish to finish and disable glass block listener.
    • glassremove [<Floorname>] - Removes all glass blocks linked to the given floor or from the cabin when no floor is specified.
    • finish - Finishes an action (like glassdoor placement).
    • info - creates debugging info file. CONSOLE ONLY.
    • lock - locks the cabin blocks to stop updating before every movement.
    The more advanced ones:
    • help|? - shows the commands.
    • permission|permissions - shows your current permission level.
    • create [password <Password>] [users <Username1> <Username2> <UsernameN>]- creates a new elevator at your current position, optional with password or user whitelist.
    • remove - removes an existing elevator from your current position.
    • call|floor <Floorname> [password <Password>] [users <Username1> <Username2> <UsernameN>] - creates a new floor with the given Floorname, optional with password or user whitelist.
    • up - creates a new UpBlock, right-click to select block after command.
    • down - creates a new DownBlock, right-click to select block after command.
    • go|direct [<Floorname>] - creates a new link to the given floor or the nearest. Toggled by redstone input. Right-click a block.
    • redstoneout [<Floorname>] - creates a redstoneoutput, right-click to select the output block after. Has to be a lever.
    • glassdoor [<Floorname>] [direction <DirectionIdentifier>] - Type command and place glass blocks. A door will be created to the given floor or the nearest. Use /elev finish to finish and disable glass block listener. You can use a DirectionIdentifier (left,right,up,down,splitH,splitV) to set the opening direction manually.
    • glassremove [<Floorname>] - Removes all glass blocks linked to the given floor or from the cabin when no floor is specified.
    • finish - Finishes an action (like glassdoor placement).
    • info - creates debugging info file. CONSOLE ONLY.
    • pw|password [<Floorname>] [password <Password>] - Overrides password protection for the given floor or the whole elevator.
    • user [<Floorname>] [users <Username1> <Username2> <UsernameN>] - Overrides user whitelist for the given floor or the whole elevator.
    • give [<Username>] - changes the owner of the elevator. Once changed, a reset is not possible.
    • lock - locks the cabin blocks to stop updating before every movement.
    Permission nodes:
    • elevators.builder - basic permission level, user can set up elevators.
    • elevators.advancedbuilder - advanced permission level, user can protect elevators with password / user list.
    • elevators.operator - ignores owner, passwords and user restrictions, can modify everything.

    Tutorials (open)

    Basic setup:
    • Prepare a shaft – size can be between 1x1 up to 5x5. There has to be air in the whole shaft(means also no ladders and no torches directly on the wall).
    • Build a plain of any block type in your shaft as the elevator’s ground. (I would recommend to use a block type that is not placed anywhere in the shaft again with the same shape.)
    • Stand on the ground while typing /elevator create
    • A new floor and a new “CallBlock” (to call the elevator later) are created simultaneously by first typing /elevator call <Floorname> and then right-clicking on a (already existing!!) button. The elevator will halt 2 stones below this block
    • You have to create Up- and DownBlocks (to control the elevator) on every floor OR (better) inside the elevator. Type /elevator up or /elevator down , then right-click on a button (again the buttons have to be created BEFORE).
    • Create as many floors as you want. Besides: the control-blocks can be up to 2 blocks away from the elevator
    • Now you are ready to use the elevator!
    • If you want to remove floors or control-blocks, simply destroy the blocks.
    • If you want to remove the whole elevator, stand nearby and type /elevator remove.
    Configuration:
    • After the first server startup with the plugin v1.3+, a new file named Configuration.txt is created in plugins\Elevators\
    • Feel free to modify the values in there. But keep to the given format.
    • restart the server (or use /reload command) to apply the changes.
    Enhanced redstone:
    • If you want, you can extend your calling mechanism, per example by using stone plates connected to redstone wire.
    • To make your elevator moving to a specific floor, type /elevator direct <Floorname> and right-click any redstone wire or button or stone plate...
    • You can also use /elev direct WITHOUT the floorname. This will lead to the next floor in range.
    • If you want, you can add a redstone output to the elevator. Build a LEVER near to the elevator, then type /elev redstoneout and right-click the lever. Connect the lever to your circuit with redstone wire.
    Glass doors for your elevator:
    • Type /elev glassdoor [<Floorname>] [direction <DirectionIdentifier>] to start.
    • You can use a DirectionIdentifier (left,right,up,down,splitH,splitV) to set the opening direction manually. left and right are seen from outside the elevator. splitH and splitV will let the door split horizontally or vertically from the center.
    • Now build glass blocks around the elevator or on the elevator. Use any shape you want.
    • Type /elev finish to stop adding blocks as doors.
    • Call the elevator again to the floor where you built the door. Your created door opens.
    • The door is now activated and will open and close automatically. Have fun!
    Elevator protection (advanced builders):
    • every created elevator has an owner. Only the owner can modify the elevator. To change the owner, type "/elev give <newownername>". To enable modification for every player, type "/elev give". This will remove any owner protection.
    • use the optional parameters to create an elevator/floor with protection, p.e. "/elev floor testing floor password ultimatepassword users NTcomputer Notch" would create a new floor named "testing floor" with the password "ultimatepassword", only available for the users NTcomputer and Notch.
    • modify your protection settings with the commands /elev user and /elev password, p.e.: "/elev user testing floor users Admin" will override the previous settings to only allow user Admin the usage.
    • remove protection settings? Very easy: use /elev password or /elev user without any parameters or floorname only to reset the protection.
    • so far the whitelist, but I want to create a blacklist. How to? Like this: "/elev user testing floor users * -griefer" (no, there isn't any space between the minus and the player - damn line break). * means everybody can use it, the "-" before a name indicates you hate this player and don't want to let him destroy your secret room on the testing floor ;)
    • I have set up the protection, but I'm never asked for a password?! This can have several reasons: 1.) You are an operator. 2.) You have the permission elevators.operator 3.) You are the owner of the elevator. Just let somebody else try, he WILL get a prompt. 4.) You are standing near the elevator while another player tries to use it. He/she won't be blocked.

    Known issues (open)

    • It is difficult to move yourself or turn around while moving with an elevator.
    • Don't use doors on an elevator! They will "clone" items.
    • Pressure plates don't work as Up- /DownBlocks directly. Build at least two redstone to them, type the command and right-click the end of the wire.
    • Avoid using up/down in circuits. This will force any selected redstone-block to remain in off-state. (You can use "direct", though!)

    Future Ideas (open)

    • name elevators - v1.4.4
    • signs with current floor - v1.4.5
    • allow any block type for doors - v1.4.5
    • iConomy support - coming in v1.5

    Changelog (server mod) (open)

    • Version 1.4.3 (RB #740)
      >>Download<<
      -implementation of the secret project (not useable yet)
      -fixed the chest duplication bug
      -fixed the powered/detector rail dropping bug
      -enabled plugin usage for subfolder-worlds
      -fixed some other exceptions
    • Version 1.4.2 (RB #670)
      >>Download<<
      -elevators are now stored in the world folders (-> allow backups)
      -items will drop when moved away from a wall
      -added forbidden blocks to config
      -added command abbreviations to config
      -added glassdoor directions
      -added "lock" for cabin blocks
      -prevent block changes while elevator moves
      -added more config options and messages
    • Version 1.4.1 (RB #602)
      >>Download<<
      -cabin blocks are now searched when initiating movement
      ->WorldEdit & Co for cabin blocks supported!
      -Entities are now moved along, even if they are positioned a greater distance above the ground blocks
      -merged direct and extend commands
      -enabled relative glass doors (=doors in the cabin)
      -glass doors are now "grouped" automatically for a more real opening order
      -redstone outputs floor parameter added.
      -ground blocks pending between grass and dirt are not blocking the elevator anymore
      -wheat, cactus and sugar cane item duplication bug fixed
    • Version 1.4 (RB #556)
      -Permissions support added
      -elevator and floor protection added
      ->many new commands and command parameters
      -command to remove glass doors from a specific floor
      -owner system added
      -individual elevator size support
      -fixed some bugs (can't remember which)
    • Version 1.3.1:
      >>Download<<
      -removed TSLPC
      -added go|direct command
      -improved elevator search
      -improved elevator position search (prevention of loosing the ceiling ;-))
      -storing entity positions when initiating moving - hopefully fixes fall-through bugs
      -added info console command to create debugging info files
      -binds glass doors to a command
      -fixed button and redstone bugs
      -improved storage cleanup
    • Version 1.3:
      -added automatically closing glass doors.
      -added configuration.
      -fixed a fault timing.
      -changed the command handler to onCommand in main file.
    • Version 1.2.3:
      -fixed a block checking bug.
      -redstone on the elevator is now working.
    • Version 1.2.2:
      -chests and dispensers are now working.
      -furnaces are now working.
      -adjacent mine tracks are now working.
      -item orientation bugfix.
    • Version 1.2.1:
      -color of wool is now stored.
      -Signs are now working inside the elevator.
      -orientation of levers, buttons, torches etc. is now stored (can still be glitchy, cause multiplayer servers always have problems with that)
      -fixed many bugs for the blocks built on the elevator
      -elevator blocks can be safely removed by iStick, Superpickaxe and others now
      -improved the movement system for liquids (enables lava doors and more!)
      -improved the movement system for all entities (creatures and minecarts will also be transported now)
      -elevator movement is now much smoother
      -improved floor search for up- and down-blocks when the elevator got stuck
      -changed the entire storage system
    • Version 1.2:
      - enabled building on the elevator.
      - created redstone outputs
      - fixed server crashes
      - made compatible to CraftBukkit 289+
      - improved handling of breaked blocks
      - made plugin thread-secure
      -fixed path problems on mac + linux
      - and maybe some others...
    • Version 1.1:
      - made the creation a bit easier.
      - fixed some bugs
      - increased the maximum size to 5x5
    • Version 1.0:
      - Release
     
  2. Offline

    ThomasJ

    Just a heads up:
     
  3. Offline

    mrgreaper

    thats only if you keep updating CB to the latest dev build, you really should be sticking to the recommanded builds (432 last time i checked)
     
  4. Offline

    jwideman

    440 now.
     
  5. Offline

    mrgreaper

  6. Offline

    ThomasJ

    Yes, but with the major issues with reappearing blocks being worked on, it will quickly be neccecary to upgrade to newer builds and newer builds where this bug is fixed will quickly be marked as recommended.

    Besides, there is no reason not to fix the constructor as it is a quick and simple update anyways.
     
  7. Offline

    Punchin

    I R so Smurt. I just figured out how to make a constantly moving elevator. Use the "redstoneout" and the "extend" (soon to be replaced in this idea by go|dirrect). I had to use 2 redstone repeaters at max delay for it to register the current properly. Just have a lever at each floor hooked to 2 redstone repeaters and tied into the wire extending to your next destination floor. When you got to the end, do the same thing back to the beginning. Now to wait for diagonal/horizontal movement for escalators. :)
     
  8. Offline

    andrewpo

    I made a secret base entrance using your elevator plugin :) http://www.youtube.com/watch?v=Hg8h1y7tv0w

    Also with regards to floating buttons - I also get that bug and it happens on a friend's server too.

    Both have bukkit+elevators installed
     
  9. Offline

    Punchin

    That's a minecraft bug in general. I've seen it happen since alpha. It's just the game not registering which side of the block to put the item on. Happens with torches and levers, too.

    Cybran, I have another feature request (that isn't priority, of course). We need a command to reset the glass doors per floor. I was building on and accidentally placed a glass block where I didn't want one. I can't get it to stop operating it every time it leaves/arrives at the floor.
     
  10. Offline

    andrewpo

    I have this issue frequently, a fix would be most appreciated. :)

    Also could you have a sign that allows up to 3 users to enter a certain floor [or some other locking function] - or maybe "/elev allow XXXXX" then you right-click the call button for that floor to set it, and "/elev deny XXXXX" and right-click the call button to stop that user having access? But there may be some issues with users that have long names if signs are used - I prefer the commands idea. =/
    "allow
    user1
    user2
    user3"
     
  11. Offline

    Cybran

    Protected floors will arrive in v1.4. You have to be patient for a while [​IMG].

    The button issue is more than the normal one in minecraft itself, cause the buttons also appear in the air and "clicking position" is another than the graphic position. I am working on it.
    You can remove glass door blocks, when the door is closed. Destroy the block. But I will include a "clean command" for glass doors later.
     
  12. Offline

    mrgreaper


    lol i been doing that for a while

    my prefered method is to have the button on a tree and the lift rises out of the ground (the dirt being the top of the elevator) when the lift is down there is no sign of it

    another method i used which sort of works now

    surface
    floor 1
    floor 2

    ok when the lift is at floor 2 the surface is flat (where talking a tall lift!) no sign of it
    when a player pushes the the button hidden on a tree on the surface (an elev up button) the lift rises to floor 1
    the lift is actualy a set of stairs that when on floor 1 start on the suface and go down to meet a set of stairs on floor 1 (effectively becoming part of them) theres two buttons on floor one call and elev down
    on the lift itself is an elev down button the top so you can close it behind you

    its a really simplistic design and very easy to do but the effect is amazing

    bugs: im having to use woodern blocks and jump up them rather then stairs as stairs much like buttons lose there orientation on lifts
     
  13. Offline

    mathiaskruse

    Hmm, any issues with this plugin lately? Everytime i link something it says "To elevator linked block destroyed" and I am following the directions given from the provided youtube links. also, when i try to use the buttons anyways, my asnswer is always: "There is not such a low/high floor"

    Also, first button i bind says:

    "Oh no, the elevator is stuck below! You have to clear the shaft and restart manually."
     
  14. Offline

    croxis

    On version b450jnks breaks
    Code:
    00:38:16 [SEVERE] Could not load plugins/Elevators.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:80)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NoSuchMethodException: de.NTcomputer.Elevators.Elevators.<init>()
            at java.lang.Class.getConstructor0(Class.java:2706)
            at java.lang.Class.getConstructor(Class.java:1657)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:75)
            ... 8 more
    
     
  15. Offline

    DJ_Idol

    Did the new Bukkit update break the plugin, or is my elevator just messed up?
     
  16. Offline

    Shabador

    Aye. #448 is the last version that works. Use that one until v1.4 of Elevators comes out
     
  17. Offline

    andrewpo

    Getting the errors shown here on build 451 (Posted this both on Mob Control and Elevator plugin topics): http://bukkit.pastebin.com/PmuPVAYY

    It's because you're using org.bukkit and bukkit have sealed it so that they don't work, there was a forum topic about not using org.bukkit in the plugins a while ago. =/


    Thanks (=
     
  18. Offline

    WMisiedjan

    Please Update your namespace and TSLPC. I'd love to use Elevetors in the newest build.
     
  19. Offline

    Cybran

    Eventually, the new version 1.3.1 is out!

    Removing TSLPC and making it fully compatible to mc 1.3!
    Major updates:
    • go|direct command added.
    • elevator position storage / search improved --> fixes "ceiling goes up"-bug
    • entity storage replaces searching every time --> improved performance, hopefully fixes the "fall-through"-bug
    • button orientation and redstone current bugs removed! Please recreate any still not working buttons, afterwards they should work properly!
    • added console command "elev info"
    If you have any bugs or something isn't working and you don't know what's the reason, then please use to new console command to create a debugging info file and upload it with your post! It includes all the versions you are working with and helps me to improve the plugin!
     
  20. Offline

    Killie01

    that fo/direct command is there a way to bind that to a button or is that the idea
    and i still don't get it how redstone output works, maybe a vid?
     
  21. Offline

    Tassrus

    10:42:41 [INFO] Starting minecraft server version Beta 1.3
    10:42:41 [WARNING] **** NOT ENOUGH RAM!
    10:42:41 [WARNING] To start the server with more ram, launch it as "java -Xmx102
    4M -Xms1024M -jar minecraft_server.jar"
    10:42:41 [INFO] Loading properties
    10:42:41 [INFO] Starting Minecraft server on *:25565
    10:42:41 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-468-
    ga3bf56c-b450jnks (MC: 1.3)
    10:42:41 [INFO] Preparing level "world"
    10:42:41 [INFO] Preparing start region
    10:42:42 [SEVERE] Could not load plugins\Elevators.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:80)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:129)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:94)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NoSuchMethodException: de.NTcomputer.Elevators.Elevators.<i
    nit>()
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.getConstructor(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:75)
     
  22. Offline

    Arcwolf

    1.3.1 Working great for me... damn I love these elevators. Way more so then IRL :)

    Every time I take the elevator up my 7 story glass tower I imagine I hear http://www.youtube.com/watch?v=Nf8FCLT8S6A

    Lol, you are awesome and this plugin is bad ass!
     
  23. Offline

    Aboy68

    Hi, when I stop my bukkit server and start it again the elevator commands/buttons/call etc functions is gone from the elevator, is this something are fixed from 1.3, using craftbukkit #440
     
  24. Offline

    Cybran

    Yes, the idea is to bind it to a block (p.e. button) or other redstone source, like all the other commands work, too.
    Currently not enough time to make a video, but did you have a look on the text tutorial?

    The constructor issues should be fixed with 1.3.1. Either your craftbukkit is older (but I think it's 450, hugh?) or you don't have the latest plugin version installed.

    Nice [​IMG]- thank you!

    So you mean the storage has been gone? This shouldn't happen. Are you sure the plugin can write into the plugins/elevators/ folder? Please make a debugging info file (see commands section or the red text on my last post) and send it!
     
  25. Offline

    Spathizilla

    Before the 1.3 update I had the up/down buttons inside the elevator (2 obsidian blocks standing on the elevator platform) and they would go up and down with it. However the new version (1.3.1 on cb440) does not move the blocks on the elevator platform but will instead destroy the blocks with the up down buttons.

    Edit: weird, after a restart it works as it used to... Ignore.
     
  26. Offline

    Cybran

    I'm afraid I shouldn't ignore it. I had the same problem by myself [​IMG] - needs some testing...
     
  27. Offline

    Arcwolf

    I've been testing out the bleeding edge build as of

    12:26:44 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-481-g29d0c62-b477jnks (MC: 1.3)

    with 1.3.1 elevators and I dont think elevators is agreeing with that version or versions above 468. I believe it has something to do with the new teleportation spiral they implemented.

    When an elevator moves up or down, the chunk the player is standing in and I believe 9 chunks or so around the player all unload. Causing the player to hover over the void bobbing up and down until the elevator reaches the bottom and the chunks reload. It can take a few moments before that happens.

    Just though I'd let ya know. Duno if its going to be a problem with the next recommend build but if it is, at least you'll have a heads up ;)

    ---Edit---

    --- Seems to be fixed in 478 ... never mind then :p lol
     
  28. Offline

    mrgreaper

    one of the things we have used your elevators for :)

    http://www.youtube.com/watch?v=C6p1Yh5NBJU

    love them simply love them

    yes i could of used control blocks to remove a square of grass and see stairs going down ... but having a raising stairwell...sooo much cooler :)

    thank you from me and all on the server for a very nice plugin!
     
  29. Offline

    Tassrus

    My friend, that is epic! Great job! I hope you don't mind me putting that idea into practice :D
     
  30. Offline

    mrgreaper

    go for it :)

    I started off with a lift that came out of the ground that was a plain but very tall lift so when it was down you saw just dirt like this one but when it was up it was all iron blocks but the stairs was much more satisfying :)
     
  31. Offline

    Tassrus

    Could you tell me how you made it like that? You probably explained it on the video, but I am unable to have my volume up due to sleeping children near by :S
     

Share This Page