Lift
This plugin is no longer maintained
You can instead take a look at LiftReloaded: https://www.spigotmc.org/resources/liftreloaded.97551
Description
A simple elevator plugin.
Primary features:
- Command free
- No configuration needed (but there if you want it!)
- Database free (Lifts are determined by block arrangements, nothing more)
- Multi floor elevators
- Multi passenger elevators, including mobs and dropped items
- Abstract elevator shaft shapes
- Redstone triggers
- Carpets can now be placed in any elevator floor. No more unsightly glass!
- All rails can now be put in shafts. Minecarts will now go up and down lifts and resume their previous speed upon arrival (this is largely untested, more feedback here is needed!)
Video note: the sign below the button is no longer needed! See the build instructions below for the new method.
More video tutorials - English, Deutsch, Português
How it works
No commands! No save file to worry about! It is easy to add, remove, or change floors. Just place or remove blocks! Lifts are made by scanning block arrangements are not saved or stored in memory after they are used. With the default configuration this is a fast process, less than 20 milliseconds.
Installation
Just drop the plugin in the plugin folder and play! No permissions to set up and the configuration is set up with defaults that will work for most servers. If you use a permission manager you might have to add add the permission "lift" and "lift.change" This is a bug in some managers
Here is the default configuration if you wish to play with the settings or language:
# Note: Smaller values result in less lag. Lift speed less than 0.4 may not work well for non spout servers. maxLiftArea: 16
maxHeight: 256
debug: true
autoPlace: false
preventEntry: false
preventLeave: true
checkFloor: false
liftMobs: true
floorBlocks:
- GLASS
- '*_STAINED_GLASS'
redstone: false
STRING_oneFloor: There is only one floor.
STRING_currentFloor: Current Floor
STRING_dest: §1Dest
STRING_cantEnter: Can't enter elevator in use
STRING_cantLeave: Can't leave elevator in use
baseBlockSpeeds:
IRON_BLOCK: 0.5
- maxLiftArea is the number of connected blocks the lift can be. Larger values will result in a longer start up time when using a lift. Super large values can even freeze your server for a moment.
- maxHeight limits how tall an elevator can be.
- debug prints out extra information that can help me track down errors
- autoPlace will automatically position entities over the center of the base blocks which can prevent them from hitting edges and getting stuck
- preventEntry blocks players from entering moving lift.
- preventLeave blocks players from leaving a moving lift.
- checkFloor prevents glass duping. With it false the plugin will NOT check to make sure all the floors have all the glass blocks filled it, but will have better performance for busy servers.
- redstone can start a lift by using a redstone signal to the block behind the lift button. This can result in some lag on servers with a lot of pulsing redstone signals.
- floorBlocks is a list of valid blocks for the flooring of floors. * is a wildcard. For example, '*_STAINED_GLASS' allows all blocks with '_STAINED_GLASS' as the block name.
- baseBlockSpeeds is a list of blocks you wish to use in the elevator base and how fast they make the lift. Multiple block types can be added. For example:
baseBlockSpeeds: IRON_BLOCK: 0.5 GOLD_BLOCK: 0.75 DIAMOND_BLOCK: 1.0
This example has three different blocks that can be used as a base, with faster lifts being more expensive. Make sure there are two spaces for proper yaml formatting!
Permission
There are two permission nodes. By default both are set to true allowing anyone to use lifts right away:
- "lift" allow players be passengers and use lifts. To not let players use the lift, set lift to false in your permission plugin of choice.
- "lift.change" allow players to change destination floors of any lift. To not allow players to change the floor signs, set lift.change to false in your permission plugin of choice.
I will not be adding permissions to individual lifts. It is not possible with how the code works.
Usage With Default Config
1) Create the bottom floor with iron blocks. An elevator can be as small as 1 block or as big as 15 blocks in any shape. Smaller areas will have less lag. Make sure the lift iron blocks don't touch any other iron in the building the plugin doesn't know the difference!
2) Next create the floor's control panel. On a wall place the following blocks. The signs and buttons must be "over" one of the iron base blocks.
- Required sign, leave blank or put the name of the floor on the first line.
- Button
- Air
- Iron floor block you just placed.
3) Create the elevator shaft. To create a new floor platform use glass blocks instead of iron. Like the first floor over one of the glass blocks create the floor interface.
- Required sign, leave blank or put the name of the floor on the first line.
- Button
- Air
- Glass floor
4) Make sure the shaft is clear of all obstructions except for floor glass, buttons and signs. Torches and vines are also allowed in the elevator shaft.
5) To use your elevator right click the sign above the button to select a destination floor. The sign will automatically add the correct information.
Important Notes
If you find a bug or a feature not working as advertised please report to the ticket page. Bug reports in the comments will (probably) be ignored.
There is a config to adjust max lift area, lift height, lift speed, and a few other options. The defaults are sane and most people wont need to change them.
FAQ
Q: Will you add build permissions?
A: No. Permissions are attached to players. An elevator is created by scanning a chunk for specific blocks in specific places. There is no easy way to stop a player from finishing an elevator without doing expensive, lag-causing calculations. To prevent a player from building an elevator you must prevent them from placing one of the elevator block types (iron block, sign, glass, or button). There are other plugins with this functionality.
Q: What are valid blocks to use inside the shaft?
A: Other than the glass blocks for the lift floors you play places torches, signs (ideal for sensors), buttons, vines, ladders, carpets, redstone, rails, and water.
Q: Will you add economy?
A: No. There are too many variations on how to do this and I want to keep the plugin focused and simple. There are other plugins you can use to add economy. One example is charging for button pressing:
Troubleshooting
For Lift versions < 50
You are getting errors with block X473 like:
1:34:32 [INFO] [Lift] [DEBUG] Starting elevator gen caused by: MXPLRS_Kirill v42 21:34:32 [INFO] ==Unknown Error== 21:34:32 [INFO] Yscan: 64 21:34:32 [INFO] Block: X473 21:34:32 [INFO] Is Valid Block: false 21:34:32 [INFO] Is Base Block: false 21:34:32 [INFO] [Lift] Player elevator generation returned a null object. Please report circumstances that generated this error.
The issue you are having is exceptionally likely to be due to Railcraft's tracking block (visible with the goggles as the tracking aura), you can disable it by setting block.hidden to 0 in Railcraft's config. The default ID of this block is 473.
@InkHiroGamer
Added!
I made a tutorial in Spanish for this plugin: D could put it on your page? : D http://www.youtube.com/watch?v=0llB8MLECaU&list=UUhVlvIgIXNTh42Gnn8_p0OA
@diannetea
I've tried everything. I can't recreate the error.
@aidas957
Make sure there are no stained glass entries in the lift config. If there isn't and it is still throwing the error then 48 just isn't compatible anymore.
I am getting this error with Bukkit 1.6.4 R2.0 and Lift v48
2014-03-07 19:52:04 [SEVERE] Error occurred while enabling Lift v48 (Is it up to date?) java.lang.IllegalArgumentException: No enum constant org.bukkit.Material.STAINED_GLASS at java.lang.Enum.valueOf(Unknown Source) at org.bukkit.Material.valueOf(Material.java:64) at net.croxis.plugins.lift.BukkitLift.onEnable(BukkitLift.java:98) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.java:284) at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.java:266) at net.minecraft.server.v1_6_R3.MinecraftServer.l(MinecraftServer.java:315) at net.minecraft.server.v1_6_R3.MinecraftServer.f(MinecraftServer.java:292) at net.minecraft.server.v1_6_R3.MinecraftServer.a(MinecraftServer.java:252) at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.java:152) at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:393) at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
Sorry I get distracted and forget I post things places.
http://pastebin.com/j4Nj2LBP
Lift v48, Spigot build #1325
@szebi1999
Sadly that doesn't give me any info to troubleshoot. Is there more to the traceback.
02.03 15:35:26 [Server] WARN Task #26 for Lift v48 generated an exception 02.03 15:35:26 [Server] INFO java.lang.ClassCastException 02.03 15:35:26 [Server] WARN Task #26 for Lift v48 generated an exception 02.03 15:35:26 [Server] INFO java.lang.ClassCastException
Can you post your lift config.
I'm also having the same issue with my floors dissapearing.
After the user reaches their floor and the glass re-appears, it them dissapears again for a second and the user falls through.
I'm using lift 47 with spigot 1.7.2-R02 Final.
Since I have updated to lift v48 my elevator floors have been randomly disappearing. I regenerated the config, but it did not help.
@DarkBrain2580
Can you tell me the version of lift you are using and what build of spigot?
Another thing you can try. in the lift config set debug to true. It might but better error info int he logs.
@steven5703
LOL - there is a not well document redstone output feature you could do the ding with - the block behind the top sign of the destination floor will output a redstone signal when passengers arrive for the ding. You can use the button press + some redstone and tie it to a music player.
I have a suggestion: Maybe Elevator music?! Like whenever you get in the elevator it will play a record. And when you get to your destination it will play a high pitched "DING!" sound?
Do this Plugin work with Spigot? On my Server the sign name is ok but no go up and down and the Glass is delete after push the Button. Sorry for my Bad englich i am from Germany^^
@woodfin15
I've thought about it but I need to think of how to solve a few usability issues, such as selecting a "floor" thats in an unloaded chunk, or set up the buttons/signs to be able to combine lifts and sideways.
@szebi1999
I'm sorry I don't understand what you are trying to say.
bug lift..
Hey I have a next plugin suggestion for you(there may be another system for giving you a suggestion im new to commenting and stuff on here) take your lift plugin and turn it horizontal for like a train transportation thing. it could make traveling servers so much simpler, maybe you could make it so its a hydrotrain thing where you make a like tunnel fill it with water and step in and it shoots you to your destination. Just an idea it does not seem like it be much differnt the the physics for the lift plugin minus the optional hyrdro thing. I would defiantly get that plugin and if i had money i would donate
It's up in the plugin for quite some time, but now encountered a problem and we have used the public key
Above is the plugin has been a really long time, but today has encountered a problem, we have used the public key
Sorry..
Google translator
My Hungarian..
@szebi1999
Can you tell me what happened that caused this error, what vision of craftbukkit/spigot/mcpc+ you are using, what version of lift you are using, what plugins you have installed, and what happened that generated the error.
11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.PacketPlayInLook.handle(SourceFile:98) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.PacketPlayInFlying.a(SourceFile:137) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:293) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.World.playerJoinedWorld(World.java:1319) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.World.entityJoinedWorld(World.java:1336) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.EntityHuman.ab(EntityHuman.java:361) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.EntityLiving.ab(EntityLiving.java:1504) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.Entity.ab(Entity.java:1340) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at net.minecraft.server.v1_7_R1.EntityPlayer.h(EntityPlayer.java:190) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at com.lishid.orebfuscator.internal.v1_7_R1.ChunkQueue.isEmpty(ChunkQueue.java:120) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at com.lishid.orebfuscator.internal.v1_7_R1.ChunkQueue.processInput(ChunkQueue.java:203) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at java.util.LinkedList$ListItr.next(Unknown Source) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: at java.util.LinkedList$ListItr.checkForComodification(Unknown Source) 11.02 21:18:02 [Server] INFO [21:18:02 WARN]: java.util.ConcurrentModificationException 11.02 21:18:02 [Server] INFO [21:18:02 ERROR]: [OFC] java.util.ConcurrentModificationException