[TP/MECH] Blink v1.0.2 - Teleport to your cursor instantly [818-1000]

Discussion in 'Inactive/Unsupported Plugins' started by tustin2121, Jun 10, 2011.

  1. Offline

    tustin2121

    Blink v1.0.2
    By Tustin2121

    Download: Blink.jar

    Have you ever fallen off the top of a build and had to pillar back up to it? Have you had the need to get around quickly, or get through a wall without breaking it?

    Blink is a common spell in video games wherein you jump instantly to another visible place on the map. Blink is implemented as a spell in several magic plugins already, but this implementation is the Blink spell alone - the immensely useful ability to teleport to where you point instantly without the bloat of a whole spell casting system. If you need to get up to a high spot quickly, just Blink up there! If you need to squeeze through a small space, just Blink through! If you're falling off a cliff, quickly Blink to the ground and escape the fall without damage! Blink even makes sure you never land above lava and fire!

    Blink has several modes users can switch between at any time:
    • Local - This is the mode enabled by default. Blink to the closest suitable location to the block you are pointing at.
    • Column - Blink up to the top of the column of blocks you clicked on.
    • Thru - Blink through a wall, floor, even a mountain!
    Item

    You can use Blink's functionality quickly and easily by using the blink item (by default the feather). Simply right click with the item on any visible block and blink there using the enabled mode.

    Commands
    Most of Blink's functionality is accessed through commands. Use either /blink or /b as the command to access Blink.
    Code:
    Commands:
        /blink - Blink to the location you're pointing to using the set default.
        /blink [mode] - Blink using the mode specified.
        /blink set [mode] - Set the default mode you use to blink.
        /blink useitem - Toggle the ability to use the item to blink.
        /blink usesetsmode- Toggle the behavior where using a "blink using mode" command enables the specified mode used by /blink and the blink item.
        /blink back - Blink back to the location last blinked from.
        /b - short for /blink
        /bl - short for /blink local
        /bc - short for /blink column
        /bt - short for /blink thru
        /bb - short for /blink back
    
    Permissions
    Blink currently works with Permissions 3, PermissionsEx, and Bukkit permissions API. (Note: at time of writing, Bukkit Permissions are untestable). The following permissions are recognized by Blink:
    • blink.core.command.blink - Allows blinking from the command line.
    • blink.core.command.poptions - Allows personal options to be set
    • blink.core.command.back - Allows use of the blink back function
    • blink.core.item - Allows blinking with the blink item - if this permissions is not set, Blink will not respond at all to right clicks with the blink item
    • blink.perks.noconsume - When the consumeItem config option is true, players with this permission will not consume the blink item when blinking
    Blink uses the hierarchy system that Permissions uses. Therefore, to grant a player the ability to use blink, simply grant them the "blink.core.*" permission.

    Config File (open)

    The config.properties file is automatically created with the default configuration when the Plugin is first run. Descriptions of the keys in the file are as follows:
    • usePermission - which permission system to use. Currently supported are 'none', 'op', 'bukkit', 'perm3', and 'pex'. Defaults to 'none'. (Note: Bukkit permissions are untested)
    • passthroughBlocks - a comma-separated list of block type ids which are considered "transparent" when picking what block is being looked at (air (0) is assumed). It is highly encouraged that water (8,9) stay in this list.
    • landableBlocks - a comma-separated list of block type ids which can be landed inside (air (0) is assumed).
    • dontLandAbove - a comma-separated list of block type ids which are not suitable to land upon. Air is not assumed in this case, but it is highly encouraged that it not be removed from the list.
    • interactBlocks - a comma-seperated list of block type ids which Blink will not blink to when they are within interaction range.
    • blinkItem - an item id that identifies the item used for right-click blinking. Defaults to the feather.
    • maxDistance - the maximum "sight-line" distance the plugin uses when determining what block the player is aiming at. Defaults to 60.
    • thruLimit - the maximum number of blocks into the surface the plugin looks for a suitable landing location when in Thru mode. Defaults to 35.
    • localRange - the maximum radius from the target block the plugin looks for a suitable landing location when in Local mode. Defaults to 3.
    • consumeBuffer - if the player blinks within this radius and consumeItem = true, it will not consume the blink item. This is to prevent accidental "double blinks" or blinks to the same location from consuming items.
    • consumeItem - whether blinking with the Blink Item consumes said item. Can also be a number, which is how many to consume (1 meaning the same as true). Defaults to false.
    • immedeateSetsDefault - the default setting for /blink usesetsmode. Defaults to true.
    • useItem - the default setting for /blink useitem. Defaults to true.
    • version - The version of the config file. Used by Blink to determine what version of the config file to parse. Changing this manually will result in overwritten config values and/or errors.
    [Last updated for version 1.0.2 on Aug 1]


    Known Issues
    * Blinking at the very top of the world does not work as expected. The same is likely true from the bottom of the world.
    * It is possible to "land on" a non-solid block when blinking, causing the player to fall upon arrival. (Fixed next release)
    * The consume item functionality never consumes the last item in a stack.
    * Blinking locally against a tree or other pillar will sometimes place you a couple blocks from the pillar, instead of against said pillar
    * Blinking back across large distances (such that the chunks have to load) can cause the player to fall through the ground into dungeons below or even into the void, often causing death.

    Planned Features
    * Integration with a zone plugin(s), to allow "non-blinking areas"
    * Integration with Help
    * Saving preferences per user

    Changelog
    Version 1.0.2: (Download)
    - Added ability to consume more than one item.

    Version 1.0.1: (Download)
    - Added support for PermissionsEx

    Version 1.0.0: (Download)
    - Added Permissions Support! YAY!
    - Fixed and completed consuming an item, incorporating it into command blinking as well
    - Fixed bug where you could blink to above a torch or other pass-through wall-mounted block, causing you to fall
    - Fixed a bug where blinking back into a tight space could land you in a wall, causing suffocation
    - Fixed a bug where you could not land in a ladder block; added ability to blink halfway up a ladder.
    - Fixed a bug where you could not set your personal settings (useitem, default) because of a mixup in counting the number of arguments in a command
    - Added more precise blinking, including blinking onto a trap door only when it is closed and blinking to the right height above a fence
    - Added list of interact blocks - clicking on them within interaction range will not blink you
    - Updated config processing, versioning
    - Code cleanup

    Changelog (open)

    Version 0.9.1: (Download)
    - Fixed an bug where blinking locally at the sky would cause an uncaught error.
    - Tested for CB build 860

    Version 0.9: (Download)
    - Initial Release
     
  2. Offline

    Taemera

    Are you considering letting us change the blink mode by right, or left clicking the air?
     
  3. Offline

    tustin2121

    I did not think of that. At the moment, a right click will blink you because the left click was acting finicky. It would make more sense to have the left click blink you while the right cycles though modes, if I were to add that feature. I will look into this.

    Edit: this also gave me the idea of having 3 blink items with different modes attached to them (assuming that there are enough sufficiently useless items out there). Thoughts?
     
  4. Offline

    Taemera

    Maybe sticks, feathers and strings?
     
  5. Offline

    tustin2121

    The problem with that is that lots of other plugins like to use the stick for their stuff... I feel a little guilty using three different items. I guess it could always be enabled or disabled in the configuration file...
     
  6. Offline

    Plague

    please update do latest recommended CB
     
  7. Offline

    ChrizC

    Needs one or two of the changelog out of the spoiler.

    Chris :cool:
     
    tustin2121 likes this.
  8. Offline

    Andre_9796

    two to be exact. anyways, congrats to mod rank.
     
    ChrizC likes this.
  9. Offline

    tustin2121

    Oh, for--! *facepalm* Sigh.... happy now? *slightly more than a sarcastic smile* :)

    Edit: Or, put more eloquently, I don't understand why that couldn't have been fixed in the move. I mean, that's like Apple sending back a submitted App because you misspelled their product name in the description of the App! (which, by the way, I would not put past them doing...)

    Edit2: At least the turn around for this is a LOT LESS than Apple's... thank you for the release. :p
     
  10. Offline

    ChrizC

    Because if I had fixed it myself, you might not have noticed, and when you released another plugin, it'd be wrong again... and again...
    It's a learning experience! :D

    Chris
     
    tustin2121 likes this.
  11. Offline

    SrJoben

    The consume item function doesn't quite work.

    If you have a stack of the item and blink around each blink consumes an item until you have only one left.
    Then that last one does not ever get used up.
     
  12. Offline

    Gilbertamie

    Does this work with 953? I adore this plugin.
     
  13. Offline

    Ant59

    So this is just exactly the same as WorldEdit's compass, right?
     
    OMGtehEPICNESSS likes this.
  14. Offline

    undeadmach1ne

    i just tried it with default config and it seems to be fine. great fun btw, i am testing sphereworld right now too so its pretty awesome jumping around like that.
     
  15. Offline

    ostepop2211

    When will Blinking to moon be implemented???
    I hope you will make a feature like this, even if it was just a joke
     
  16. Offline

    tustin2121

    The consume item function was kind of half-assed and, admittedly, never tested. Yes, quite embarrasing, actually, but um.... Thank you for testing it! :D

    I'll fix this when I get the chance. :oops:

    Yes it does. I tested it with the latest and got too distracted playing with pistons to update the thread. :p

    Short answer: Yes it is.
    Long answer: Essentially, yes. This plugin is geared towards those who don't have the blinking functionality in another plugin and is meant to be comparatively light weight. It may be a little different - Blink uses three different blinking algorithms which can be switched between, whereas most plugins that provide blinking functionality use only one, which is likely similar to Blink's "local" algorithm. I've never used WorldEdit's compass, so I can't give a direct comparison (though I did get WorldEdit recently, so I will get back to you on this).

    :D
    The "Blinking to the moon" message is an error message in the same vein as "Location too far away", except in the specific case where you are attempting to blink upward and selecting a block at the very top of the world. (Trivia: the block above the highest block in minecraft is, in fact, the lowest block - according to bukkit. -_-)

    The message is a joke, and likely won't ever be implemented. :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  17. Offline

    undeadmach1ne

    just got this error. its the first time blink has ever had a problem for me. right after i got this i was kicked for moving to fast/hacking or something along those lines.

    Show Spoiler
    04:32:21 [SEVERE] Blink has thrown an java.lang.IllegalStateException while calc
    ulating a blink!
    java.lang.IllegalStateException: Start block missed in BlockIterator
    at org.bukkit.util.BlockIterator.<init>(BlockIterator.java:170)
    at org.bukkit.util.BlockIterator.<init>(BlockIterator.java:257)
    at org.bukkit.util.BlockIterator.<init>(BlockIterator.java:292)
    at org.bukkit.craftbukkit.entity.CraftLivingEntity.getLineOfSight(CraftL
    ivingEntity.java:93)
    at org.bukkit.craftbukkit.entity.CraftLivingEntity.getLastTwoTargetBlock
    s(CraftLivingEntity.java:124)
    at org.digiplex.bukkitplugin.blink.BlinkPlugin.blink(BlinkPlugin.java:34
    0)
    at org.digiplex.bukkitplugin.blink.BlinkPlugin.blink(BlinkPlugin.java:33
    5)
    at org.digiplex.bukkitplugin.blink.BlinkPlugin$PlayerInteractListener.on
    PlayerInteract(BlinkPlugin.java:306)
    at org.bukkit.plugin.java.JavaPluginLoader$10.execute(JavaPluginLoader.j
    ava:307)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:321)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEven
    t(CraftEventFactory.java:168)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEven
    t(CraftEventFactory.java:139)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:520)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:84)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  18. Offline

    tustin2121

    Blink was at one point causing a server kick for flying in strange cases where blinking would put you at the very top of the world with nothing to land on. That case as since been fixed.

    First, can you reproduce it? Sometimes computers hiccup, and the IllegalStateException is one of those Exceptions to catch hiccups. If you can reproduce it, what you were doing, what you were blinking to, blinking from (a screen cap if possible) and what mode where you using when the exception was thrown?

    EDIT: There's a known case where the line of sight does not work at the very top of the world. Were you by chance attempting to blink from above the highest possible block location?

    EDIT2: Have you changed the configuration file any? Some configurations are not valid and will cause errors to occur (such as, for example, if the water block is in the list of landable blocks but not in the list of transparent blocks).
     
  19. Offline

    undeadmach1ne

    i doubt i could reproduce the error. i was testing mob rider and ended up riding a chicken off the edge of a skylands map. i have inception installed too so that just sent me to a normal world (minus chicken btw) and i fell safely to the ground. the error msg popped up once i hit the ground and tried to blink again, but there is a good chance i was spamming it while falling from the top of the map too.
     
  20. Offline

    tustin2121

    Ok, well, an un-reproducible error is one I cannot fix (as is the case with any software). As for your situation, I can say that I have never tested Blink from beyond the bottom of the map, since that is a situation that usually never comes up in normal gameplay (aside from falling off the edge of a skylands map). It is likely, however, that being beyond the bottom of the map will cause the same errors as being beyond the top of the map.

    Beyond that, and the fact that this Inception plugin sounds neat, I can't really offer any suggestions as to what might have caused the problem. But thanks for reporting it. :)
     
  21. Offline

    undeadmach1ne

    yeah i am pretty sure whatever happened there was my fault and not blinks fault. im also pretty sure that something along the lines of 'blink has generated an error, please report this to the proper authorities' msg came up (in game) just as the game was crashing out, which compelled me to come and make my report.
     
  22. Offline

    tustin2121

    Yes, such a message appears to the blinker if there was an error calculating a blink. The fact that the game crashed, however, is probably not a good thing. :oops:
     
  23. Offline

    undeadmach1ne

    well i think it was a fluke or just a bad series of events because i totally abused blink last night and never experienced another issue with it =)
     
    tustin2121 likes this.
  24. Offline

    yipiyip

    What are the permissions for blink? I dunno if I'm just missing it, but I can't seem to find it and I don't want everyone having it. :oops:
     
  25. Offline

    undeadmach1ne

     
  26. Offline

    yipiyip

    Ah, my bad xD
     
  27. Offline

    jckmcgraw

    It works great and I use it all the time on my server. However, I do not use permissions, and would like it to automatically allow only ops to use it.
     
  28. Offline

    tustin2121

    This is a good point. I will add that to the things to do. As a side note, I've been kind of busy recently, but I sense a gap in the business coming soon, so I'll probably be able to work on permissions for this thing shortly. What I'll do is add a Permission system option in the configuration that has the following options: none (what it is right now), ops, Permissions3, or BukkitPermissions (assuming the latter two don't merge shortly).
     
  29. Offline

    tustin2121

    :)

    Version 1.0.0:
    - Added Permissions Support! YAY! :D[diamond][cake]:p
    - Fixed and completed consuming an item, incorporating it into command blinking as well
    - Fixed bug where you could blink to above a torch or other pass-through wall-mounted block, causing you to fall
    - Fixed a bug where blinking back into a tight space could land you in a wall, causing suffocation
    - Fixed a bug where you could not land in a ladder block; added ability to blink halfway up a ladder.
    - Fixed a bug where you could not set your personal settings (useitem, default) because of a mixup in counting the number of arguments in a command
    - Added more precise blinking, including blinking onto a trap door only when it is closed and blinking to the right height above a fence
    - Added list of interact blocks - clicking on them within interaction range will not blink you
    - Updated config processing, versioning
    - Code cleanup
     
    undeadmach1ne likes this.
  30. Offline

    mistersquirrle

    Either your permissions don't work correctly, or it's not compatible with PermissionsEx... any idea?
     

Share This Page