Lift

Lift Description

Lift is a simple elevator plugin. Primary features:

  • Command free
  • Config free (There is an optional config file, but it has sane defaults)
  • Database free (Lifts are determined by block arrangements, nothing more or less)
  • Multi floor elevators
  • Multi passenger elevators
  • Abstract elevator shafts up to 16 blocks in area, larger by changing config!

Tekkit Classic Users: Version 35 is the last version that will support minecraft 1.2.5.

More video tutorials - English and German

lift stats

How it works

To be as flexible as possible a Lift is built by block types. No commands! It is easy to add, remove, or change floors. Lifts are not saved or stored in memory. Every time a button in the shaft is pressed or a sign is clicked to change the destination a new lift is created in memory and then deleted when the passengers reach their destination or the sign is updated. 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 PEX for your permission manager you must add the permission "lift" This is a bug in PEX

Here is the 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
lowScan: 0
highScan: 255
debug: false
autoPlace: false
preventEntry: false
preventLeave: false
checkGlass: false
floorBlock: 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.
  • lowScan and highScan limits the minimum and maximum y values a lift can be generated in. Changing these values can result in a major speed improvement on servers with a lot of tall lift use
  • 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 allows for three different blocks to 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, both are set to true:

  • "lift" is to allow players be a passenger and use lifts. Default is true allowing everyone to use lifts right away. To not let players use the lift, set lift to false in your permission plugin of choice.
  • "lift.change" allows players to change destination floors of a lift. Default is true allowing everyone to use lifts right away. 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

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.

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 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 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 and lift speed. 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, and water.

Q: Will you add economy?

A: No. There are other plugins you can use to add economy to button pressing that can be used alongside Lift:

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

  • Avatar of ProHacker2013 ProHacker2013 May 20, 2013 at 14:35 UTC - 0 likes

    Thnx Man Your The Best

  • Avatar of Algent Algent May 18, 2013 at 09:35 UTC - 0 likes

    Found this error report in my logs this morning: http://pastebin.com/dm5QT8ru From what is asked it could be related to placing glass at wrong eight but I can't be sure.

  • Avatar of absintoj absintoj May 13, 2013 at 10:18 UTC - 0 likes

    Video Tutorial on the Plugin

    http://www.youtube.com/watch?v=12BuNHUK2T4

    Credits: (AbsintoJ/Lift)

  • Avatar of croxis croxis May 09, 2013 at 15:34 UTC - 0 likes

    @Desertive: Go

    Duplicate bug report.

  • Avatar of Desertive Desertive May 04, 2013 at 15:06 UTC - 0 likes

    @dscm: Go

    Mmh well I now tried just to put "redstone: true" in config file, because there was "BlockRedstoneEvent" in errormessage, and it hasn't now give me any errors... funny that blocking function gives error, but when you allow the redstone functionality then it's ok.

  • Avatar of dscm dscm May 04, 2013 at 09:41 UTC - 0 likes

    @Desertive: Go

    Did you managed to fix it? Please let me know if you do, thanks!

  • Avatar of Desertive Desertive May 03, 2013 at 11:06 UTC - 0 likes

    @dscm: Go

    Same here. You can see a cluster of those errors here (they spam the console quite quickly).

    Edit. the config file looks like this.

    Last edited May 03, 2013 by Desertive
  • Avatar of dscm dscm May 03, 2013 at 04:08 UTC - 0 likes

    I'm receiving this error when someone tries to use the Lift:

    CB 1.5.1 R0.2 Beta
    Lift v35

    2013-05-03 11:15:25 [SEVERE] Could not pass event BlockRedstoneEvent to Lift v35
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
            at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:35)
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
            at net.minecraft.server.v1_5_R2.BlockButtonAbstract.a(BlockButtonAbstract.java:208)
            at net.minecraft.server.v1_5_R2.WorldServer.a(WorldServer.java:532)
            at net.minecraft.server.v1_5_R2.WorldServer.doTick(WorldServer.java:200)
            at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:554)
            at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:225)
            at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:476)
            at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:409)
            at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
    Caused by: java.lang.NullPointerException
            at net.croxis.plugins.lift.BukkitLiftRedstoneListener.onBlockRedstoneChange(BukkitLiftRedstoneListener.java:128)
            at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:601)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
            ... 12 more
    
  • Avatar of Gonzalineitor Gonzalineitor Apr 27, 2013 at 00:09 UTC - 0 likes

    Hi! I translate the messages to Spanish. If anybody need it, look this :

    http://dev.bukkit.org/paste/7639/

    Message to the autor: If you want, put this in the description to help the peple.

    A greeting.

Facts

Date created
Dec 01, 2011
Categories
Last update
Mar 20, 2013
Development stage
Release
Language
  • enUS
License
MIT License
Curse link
Lift
Downloads
275,980
Recent files
  • R: Lift 35 for 1.5.0 Mar 20, 2013
  • R: Lift 34 for 1.5.0 Mar 15, 2013
  • R: Lift 33 for CB 1.4.7-R1.0 Feb 05, 2013
  • R: Lift 32 for CB 1.4.6-R0.1 Dec 29, 2012
  • R: Lift 31 for CB 1.4.6-R0.1 Dec 24, 2012

Authors