Lift

Description

A simple elevator plugin.

Due to the (probable) death of Bukkit Lift will be recoded for Sponge.

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!)

More video tutorials - English, Deutsch, Português

lift stats

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: false
autoPlace: false
preventEntry: false
preventLeave: false
checkGlass: false
floorBlocks:
- GLASS
- STAINED_GLASS
baseBlockSpeeds:
  IRON_BLOCK: 0.5
redstone: false
STRING_oneFloor: "There is only one floor silly."
STRING_currentFloor: "Current Floor:"
STRING_dest: "Dest:"
STRING_cantEnter: "Can't enter elevator in use"
STRING_cantLeave: "Can't leave elevator in use"
  • 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.
  • checkGlass 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.
  • 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 for now

- Button

- Optional sign with floor name on first or second line

- 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 for now

- Button

- Optional sign with floor name on second line

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.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of psirusa psirusa Jan 16, 2015 at 15:24 UTC - 0 likes

    @croxis: Go

    Any plans to move this plugin to a spigot page? This has bar-none been one of the most useful plugins I've ever used.

  • Avatar of psirusa psirusa Jan 16, 2015 at 15:22 UTC - 0 likes

    @Kristian295: Go

    That would require a lot of configuration because floors would have to be static entities across pre-determined horizontal planes, rather than dependent only on the placement of blocks in a vertical column. You're just going to have to place a sign off the elevator telling people what floor they're on.

  • Avatar of croxis croxis Jan 10, 2015 at 17:42 UTC - 0 likes

    @Kristian295: Go

    It is not possible. Use the lower sign to label your floors.

  • Avatar of Kristian295 Kristian295 Jan 02, 2015 at 21:14 UTC - 0 likes

    Hello,

    I have got a few questions about your plug-in:

    Is there a way of number the floors from 0 upwards, and not starting with 1, or in general, is it possible to choose a custom number for the base floor.

    The cause why I am asking is because I am working on a project where not every lift reaches every floor. Some go from the ground floor (0) to the 5th floor (5) and some only from the 3rd floor to the 5th (example). Additionally, is it possible to have a lift down to a cellar (negative floor numbers). And in advance, how can I easiely skip floors, for example a lift that goes from the ground floor up to the 5th but without stopping in the 3rd floor?

    If this is not possible, would you mind thinking about to add these features as I am very happy with the convenient handling of your plug-in.

    Kristian

    Last edited Jan 02, 2015 by Kristian295
  • Avatar of croxis croxis Jan 02, 2015 at 17:41 UTC - 0 likes

    @Shuwdon: Go

    1.5.2 is not supported by latest versions of Lift. Please get the lift version that was made for 1.5.2

    @gumgumpuntnl: Go

    Double check the lift shaft for errors or blocks in the way.

  • Avatar of gumgumpuntnl gumgumpuntnl Dec 30, 2014 at 17:27 UTC - 0 likes

    Any updates for Spigot?
    Errors: http://pastie.org/9805458

    Last edited Dec 30, 2014 by gumgumpuntnl

    Website: www.gumgum.nl

    MC: server.gumgum.nl:25565

  • Avatar of Shuwdon Shuwdon Dec 13, 2014 at 03:23 UTC - 0 likes

    running 1.5.2, i get an error and Lift doesn't work for my server.

    [SEVERE] [net.croxis.plugins.lif.BukkitLift] [Lift] Plugin Lift v39 has failed to register events for class net.croxis.plugins.lift.BukkitLiftPlayerListener because org/bukkit/event/inventory/InventoryPickupItemEven does not exist.

    Anything that i can do, or this related to Bukkit possible death?

  • Avatar of spike811 spike811 Dec 08, 2014 at 01:15 UTC - 0 likes

    Running a Spigot 1.8 server and the Lift plugin works perfectly. It does move mincarts but as stated before they do not continue after being moved. Thanks for the awesome plugin. Makes a lot of builds look nice not using ladders or bulky steps.

  • Avatar of mgd9000 mgd9000 Nov 30, 2014 at 23:18 UTC - 0 likes

    @LoreMisfitMC: Go

    I have it working now.

  • Avatar of LoreMisfitMC LoreMisfitMC Nov 30, 2014 at 06:25 UTC - 0 likes

    @mgd9000: Go

    Latest version of Lift works on 1.8 spigot on our development server with no issues.

    www.misfitmc.com
    IP: login.misfitmc.com

Facts

Date created
Dec 01, 2011
Categories
Last update
Jul 29, 2014
Development stage
Release
Language
  • enUS
License
MIT License
Curse link
Lift
Downloads
454,348
Recent files
  • R: Lift 51 for CB 1.7.9-R0.2 Jul 29, 2014
  • R: Lift 50 for CB 1.7.9-R0.1 May 27, 2014
  • R: LIft 49 for CB 1.7.2-R0.3 Apr 06, 2014
  • R: Lift 48 for CB 1.7.2-R0.3 Feb 14, 2014
  • R: Lift 47 for CB 1.7.2-R0.2 Feb 11, 2014

Authors