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 (Move your mouse to reveal the content) Features (open) Features (close) 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 (Move your mouse to reveal the content) How to install (open) How to install (close) 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 (Move your mouse to reveal the content) FAQ (open) FAQ (close) 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 (Move your mouse to reveal the content) Command usage & Permissions (open) Command usage & Permissions (close) [...] = 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 (Move your mouse to reveal the content) Tutorials (open) Tutorials (close) 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 (Move your mouse to reveal the content) Known issues (open) Known issues (close) 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 (Move your mouse to reveal the content) Future Ideas (open) Future Ideas (close) 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) (Move your mouse to reveal the content) Changelog (server mod) (open) Changelog (server mod) (close) 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
No, I haven't played with elevators yet either, but I was actually referring to what was done in the video. It looks like he was basically just using the elevator to change what was on the sign. Xsigns is supposed to allow you to set up two different things that one sign says and switch between them with redstone.
Build a roof above the elevator. Or, more precisely, fill elevator above the cabin level, move it once, then carve a cabin space out of it. (You not need to have roof connected to the bottom once you have saved elevator configuration.) Your real issue now is that passengers standing ABOVE the elevator, when it moves, and they get dropped off for that.
OK, my players just found out they can move bedrock with this plugin! This means I'm getting huge gaps in my map! PLEASE make sure that the complete elevator does not contain any piece of bedrock before it can be created!
hm nice thought, gonna give it a try now! thanks edit: nope still doesnt work. well gotta wait for 1.4.1 then =D also Cybran could you add kind of WorldEdit support or something? im into building huge ass elevators and its always a pain building those huge things by hand if its so much easier to just build them via worldedit maybe just add like "/elev we" while standing on an elev and it will treat every thing above itself as part of the elevator until you do "/elev finish"? EDIT by Moderator: merged posts, please use the edit button instead of double posting.
An entry in the config for banned elevator blocks would solve both sides of the issue. As far as WorldEdit, I would like something like that. Since the elevator plugin only registers when blocks are place and destroyed, and WorldEdit just replaces them, it would be difficult. You would have to make sure there was nothing above the elevator you didn't want to be part of it, or add in a variable in the command to set how high you want it to check. Both these features have my vote.
I think this will be unnecessary since I change the listener for the blocks on the elevator from onBlockPlace to the integrity check on a move request. This means: all blocks with contact to the elevator's ground will be moved. This will be a bit tricky cause I (and you!) have to make sure that only the "right" blocks are connected to the elevator. But it will be less restrictive and support world edit. Good idea. I will do it this way. Eventually released version 1.4! See changelog for detailed information. Major changes: Permissions support! protection systems! Many commands were added / got new parameters. Please have a look at the new tutorials if you are interested in the new features. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
I'm totally going to give it a try. I have some elevators that I don't want to have wrong moves Else my sikret chambers would became inaccessible.
finally! nice thanks =D edit: oh and i love it that you dont use SQLLite! plz keep it that way! thank you =)
that could work yes as the mine cart seems to check the text of the sign as it passes by it, the whole <Phrase1| would really cut into the amount you can write though shame its not <1| and |2> ill keep my eye on that plugin
Don't be afraid, I haven't written an individual IOHelper class to switch to SQLlite now Only change to the storage system will be, that elevators will be stored in the world's folder (so you can back up elevators with your worlds, restore them without problems or copy them to other servers).
I have a dedicated (somewhat ) server, and the elevators keep failing! Every 2 or so days, the slevators just stop working! i don't think people know how to mess with them, since i made them allby myself, but the elevator structure is staying there, but the configuration is going away. Please help!
I've conducted some tests, and I can say, elevator not picking up blocks in an expected way. If you didn't implemented new cabin rebuilding algo, that's expected issue, then, but if you did, I could explain the tests and results. Oh, and thanks for clearing ingame reference card It's much better now. You could wrap up the forum tutorial as well, if you mention once that "/elevators|elevator|elev " and just use either one wording throughout the rest of tutorial. ADD: /elev up, /elev down - target of both commands have to be redstone block (button, lever, pressure plate, redstone wire). Else the result will have next to zero meaning. ADD2: /elev redstoneout only half-working. It do change lever state, but it does not produce any current to the wires. Would be sweet to have "/elev redstoneout [<floorname>]" ... Oh, and print version of plugin with reference card... Please? With a diamond tip. Awww, #3: There's a race condition between glass doors and elevator movement, that prevent some creative creation. (I.e. you can't build glass doors ON elevator currently, without it breaking the elevator function.) Well, yep, it doesn't quite work
Didn't change the cabin block rebuilder yet. Done. This is the normal behaviour, I think. I don't have this problem... Maybe your wire wasn't connected in the right way, or something like this? Adding it to my todo list... Hmmm, can you give me an example in which way this is meant? Right, glass doors can't be relative to the elevator yet. Adding to my todo list...
@Cybran Any way to make it possible for bigger Elevators. Some one linked a video of using them to make secret tunnel entrances. Ive done the same on my server and players are going APE over this. I would LOVE to be able to have upto like a 20x20 elevator to put entire houses underground. It would be amazing to see people's house pop up and down.
just change the max block size of elevators in the config from 25(5v5) to 400(20x20) and there you go ... not that hard right?
AAAAAAAA!!!! Lava heart with diamond tips! "1x9 Elevator creationsuccessful" I didn't though about "rectabgular shape" in this way, sorry my shored sight... :S (BTW, it lacking the space in "creationsuccessful". And btw, could we please have all messages dumped to configuration? For localization purposes, yes...) If you just solve the race condition, so that door is fully closed before elevator start moving, this would be enough for immediate solution. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Nice plugin! I've already built some elevators and I like them! But I've also got some suggestions. As mrgreaper already said, it would be nice if we could name elevators. I've built two elevators that are about two blocks away from each other, then I tried to create a floor at the bottom of the first elevator. Now, that floor happened to be below the second elevator, so it connects the new floor with the second one and the elevator gets stuck. If we could name elevators I could explicitly choose to connect the new floor with elevator 1. Maybe you could use tkelly's Help plugin This is a minor point, but I think it would be nice if the elevator would wait a bit before going up/down when a direct link to a specific floor is used. But, as I've already said, nice plugin!
if you get 1.4.1 working as the roadmap suggest this will become one of the best plugins for my server next to worldedit and worldguard!
Successfully used elevator as a... water gate Video follows when we're done digging obsidian at that depression.
Where is this mysterious config? The elevator config file i have has NOTHING in it about Block size. Code: ! ELEVATOR PLUGIN CONFIGURATION * WaitTime = 5 # Time in seconds, how long the elevator stays at a single floor. # Use values like '5' or '3' or '4.5' (without inverted commas) * ButtonPressTime = 900 # Time in milliseconds, how long the plugin waits for pressing a up- or down-button several times. # The counter will restart after every button press. # Use values like 900 or 600 or 1200. * ReachMessage = Elevator reached %F # Message when the elevator reached a floor. # Use %F as floorname variable. * ReachNoNameMessage = Elevator reached new floor. # Message when the elevator reached a floor without a specific name. * ReachWaitMessage = (holding for %T seconds) # Message appended to the ReachMessage, when the elevator waits before moving to the next floor. # Use %T as time variable. Value is in seconds. * DoorBlockedMessage = Something blocks the door! # Message when the glass doors cannot close because an entity is between. * NoHighFloorMessage = There is not such a high floor. # Message when the the elevator is called to a non-existing upper floor. * NoLowFloorMessage = There is not such a low floor. # Message when the the elevator is called to a non-existing lower floor. * ElevatorNotFoundMessage = Can't find the Elevator! Maybe it is destroyed. # Message when the the elevator ground blocks are undetectable. * ElevatorDamagedMessage = The elevator is broken! You have to repair it before usage. # Message when some of the elevator ground blocks were found, but the basic shape is not complete. * StuckAboveMessage = Oh no, the elevator is stuck above! You have to clear the shaft and restart manually. # Message when the elevator got stuck above. * StuckBelowMessage = Oh no, the elevator is stuck below! You have to clear the shaft and restart manually. # Message when the elevator got stuck below.
when i type /elev create it says "you don't have permission to acces this command level (basic) or you entered command is wrong type /elev help or /elev permission." Help and ideas
just delete your config and let a new one generate, you probably are using elevators from before this option was available
Don't delete. Start a separate server with new plugin alone (You do have a sandbox for preliminary testing, do you?) and port configuration to the live server.
You are making it VERY difficult. My config handler is written with some good intentions, the config gets updated as soon as you install a new plugin version and ran the server once. Your old values will be kept, but new entrys added with their default values. If they aren't, you probably missed to get the new version If you use permissions, make sure you have access to the nodes (elevators.builder, elevators.advancedbuilder, elevatos.operator). If you don't, you didn't use the right command EDIT by Moderator: merged posts, please use the edit button instead of double posting.
With coming new elevator shape recalculation, I can't stop thinking about edge cases... I'll document them for the time it's ready, and will conduct some tests. And I join my voice to the chorus of people asking for optional elevator name in most management commands. I.e. I'm using an elevator as hidden door (it lowers a huge part of wall to open access to the crafting chamber), but I have another passage down right next to it, and I would like to use separate elevator for it. ADD: Commands affected are: call, up, down. Extend too, but it going to go away, as I understand. "Direct" is not affected, if you name your levels differently on neighbouring elevators. Also, a note: _current_ elevator mechanics require that a call-block is located in front of your face at the time of creation. Else your elevation level is going to be placed at unintended height (and produce an error message upon reaching ground at the lowest floor). seems like it was issue with 1.3...
I'm not going to post my entire config, however here is the bit that appears in my config after the 'StuckBelowMessage' : * UserNotAllowedMessage = You are not allowed to use the elevator. Contact %O. # Message when a user tries to use the elevator who is not allowed to do. # Use %O as variable for the name of the elevator's owner. * UserNotAllowedMessageNoOwner = You are not allowed to use the elevator. # Message when a user tries to use the elevator who is not allowed to do and the elevator has no owner. * ElevatorPasswordRequiredMessage = Elevator's password required. Just write the password in the chat. # Message when a password is required to use the elevator. * FloorPasswordRequiredMessage = Password for floor %F required. Just write the password in the chat. # Message when a password is required to get to a floor. # Use %F as floorname variable. * WrongPasswordMessage = Wrong password. Action will be aborted. # Message when an entered password is wrong. * owner-restriction = true # If this option is set to true, only the elevator's owner can modify it. * ignore-passwords = false # If this option is set to true, password protection is disabled. * ignore-users = false # If this option is set to true, user whitelist restriction is disabled. * MaximumGroundBlocks = 25 # Maximum amount of ground blocks an elevator can have. Limits the size. # BE CAREFUL, large values can cause performance problems. * AuthenticationRange = 8 # All players within this range are checked for authentication when requesting a move. # Every player will be asked for password, if required. # If one of the players has an authentication, the elevator will move, undependant from the status of the other players within the range. * Debugging-Log = false # If this option is set to true, elevators debugging messages will be shown in console and saved to file plugins\Elevators\DebuggingLog.log. # Debugging Messages provide information about function steps and storage coordinates.