[TP] KonseptGate v0.6.2 - Stone telepads [1.5.1-R0.2]

Discussion in 'Archived: Plugin Releases' started by DemmyDemon, Jul 12, 2011.

  1. Offline

    DemmyDemon

    Version v0.6.2

    Simplified/stripped-down teleport/gating plugin using stone pressure pads as telepads.

    Why pressure pads?
    Because it's a very easy event to detect without spending any resources listening for them.
    Why stone?
    Because wooden ones don't look as cool. No, really, it's because an item placed on a stone one won't press it down.
    Why at all?
    Ever since my favorite teleport plugin ever, EpicGates, went into inactivity and disrepair, I have wanted to provide a relatively similar mode of transportation as simple as possible.
    I built it for my own server over at minecraft.webkonsept.com, hence the odd name. "Konsept" is Norwegian, and means "Concept". As I've seen people lamenting the inactivity of EpicGates I decided to release KonseptGate to the general public.

    Features:
    • Simple, uncomplicated use.
    • Multiworld-capable (thanks to Bukkit being Multiworld-awesome!).
    • Each gate can have any number of sources, but just one target.
    • Relatively nice on the resources.
    • Origins and destinations easily recognizable as teleport pads, but do not take up a lot of room.
    • Automatically places a configurable block with a stone pressure pad on it for you.
    • Right-click the pressure pad to find out where it leads.
    • The telepad is protected against harm.
    Note that EpicGates does not, and probably never will, support gate "ownership" or restrictions.
    In stead, use something like SimpleChestLock to lock the origin pressure pad.

    Commands:
    /kg - Takes the selected action (see below) against the indicated gate(s)

    Actions with and their [required] and <optional> arguments. (open)

    create [name] <target gate name> <teleport command>
    Creates a KonseptGate with the name [name] that is optionally already linked to <target gate name>. The target gate does not have to exist yet.​
    Will create a glowstone block (unless otherwise configured) with a stone pressure plate on it.​
    It will also turn the two blocks directly ahead of you to air so that you won't suffocate when you emerge from the gate.​
    Be mindful of what way you are facing, as that is the way people will exit the gate when they arrive.​
    If the <target gate name> is not given, the gate will go to the default gate as set in the configuration file. If that configuration is blank, or that gate does not exist, the gate will inform any attempted user of this.​
    If you don't want a command to be executed by the player when he/she teleports, simply omit the <teleport command> part.​

    command [gate] [command]
    Executes that [command] as the teleporting user when he/she steps on [gate]​

    delete [name]
    Deletes the KonseptGate with the name [name], removes the pressure plate and tries to guess the correct block to have underneath.​

    move [name]
    Same as create in many ways, but the KonseptGate called [name] must already exist, and will be moved here.​
    Be mindful of what way you are facing, as that is the way people will exit the gate when they arrive.​

    link [origin] [destination]
    When people step on the gate at [origin] they will emerge at [destination]​
    Both gates must exist.​

    list <name piece|page>
    Shows a list of all the gates.​
    Give an additional argument to search for gates who's name contains that string.​
    For example "/kg list foo" will match the gates "food_room" and "kung_foo"​
    It matches against both source and destination.​
    If the argument is an integer, it will show the page of that number. For example, "/kg list 3" will show page 3.​

    reload
    Discards all the gates in memory, and loads a new set from gates.txt​
    This will also refresh all the teleport blocks (including the underblock and pressure pad), and clears out the emergence blocks, setting them to Air.​
    It will also reload the configuration.​
    This, of course, happens automagically when you start or reload the server.​

    jump [name]
    Jump to the KonseptGate called [name] right now.​
    Suggested use for this is for admins to quickly move around. It is not the intention of this plugin to become Yet Another Warping Plugin, so it's not intended for public use.​

    ignore
    Tells KonseptGate to ignore you when you step on a pressure plate. This allow you to step onto a pressure plate and use /move to change the direction of that KG, for example.​
    Lasts until the server is restarted, reloaded or you issue the command again.​

    Configuration:
    Example:
    Code:
    verbose: false
    underblockID: 89
    defaultTarget: 'warpzone'
    gatesPerPage:9
    verbose decides whether or not the plugin nags at you to try and turn you insane.
    underblockID is the ID number of the block you want below the stone pressure pad.
    defaultTarget is the name of the KonseptGate you want newly created gates to be linked to unless another name is given. You can say '' if you want it blank. When listing and giving a page number, gatesPerPage decides how many gates per page.

    Permissions:
    For simplicity, all the commands/actions use konseptgate.command.<commandname> permission.
    For example, if you want to /kg jump someGate you need the konseptgate.command.jump permission.
    To use a gate to teleport, you need the konseptgate.teleport permission.
    If you have the konseptgate.info permission, right-clicking a KG will tell you what it's called and where it leads (if linked). Note that if you lack the permission, it does nothing, so you can "hide" KonseptGates in between other blocks with stone plates on them...

    Download KonseptGate
    Source code

    Changelog:
    Version 0.6.2
    • Fixed wonky list output when /kg list-ing gates with no command.
    • Updated the missed deprecated async tasks and reverted the one I made synced to be async again. Makes no sense to sync it.
    • Thanks a bunch to guyag again for the work put in. Even if I didn't end up using his actual commits, it's still his code, pretty much.
    Version 0.6.1
    • Merged guyag's pull request, fixing NPEs when giving silly command arguments.
    • Updated use non-deprecated tasks (synced) to track who's considered "in transit".
    Version 0.6.0
    • Correct "northness", so you come out facing the right way again.
    • Added COMMANDS to gates.
    • Made the source code jump through hoops to get rid of some odd encoding issues.
    • Some minor performance tweaks.
    Version 0.5.3
    (0.5.2 never made it past beta)
    • Fixes the "plates don't pop up" issue by not having them be pressed down in the first place.
      NOTE: This breaks any redstone currents you're expecting from the plate!
    Version 0.5.1
    • Fixed tiiiny little plugin.yml problem that was conflicting with 1.1-R6
    • Tested and found working with 1.1-R6
    Version 0.5
    • Moved to new and improved Bukkit Events system
    • Much improved /kg list, with support for paging.
    Older releases (open)

    Version 0.4.1
    • Tells you why a gate doesn't work when the target world is not loaded. NPE fix.
    • Creates the teleporter after registering it, so the stone plate doesn't plop if it's on a block that doesn't "vanilla" support it, like glass or glowstone.
    Version 0.4
    • Loading or creating a KonseptGate is no longer as destructive to it's vicinity. Non-hindering blocks such as signs, grass, ladders and torches will be ignored and not considered in the way of teleportation.
    Version 0.3
    • Much improved gate protection. Protection against, for example, pistons.
    • Threw out obsolete Permissions support and moved to the new configuration API
    • Allows the underblock to be pretty much anything, even air, and makes it "physics proof" so it doesn't pop.
    • Improved gate file reading, lessening the chance of the gate file being corrupted/emptied.
    Version 0.2
    • Fixed where multiworld-support would be purely theoretical if a gate was loaded before the world it was in.
    Version 0.1
    • First public release
     
  2. Offline

    DemmyDemon

    Depending on your permissions system, your guest might need a permission to use stone plates. Modifyworld that comes with PermissionsEx, for example, needs modifyworld.use.stone_plate or something.
     
  3. Offline

    jabsu

    Thanks for the response.

    My server seems to be underpowered, too, as it's giving the "Can't keep up!" warning pretty often. I need better components for my computer, especially more memory. Anyway, I will try to change the underblocks, thanks for the tip. And somehow I forgot the existence of that /kg reload command. Feeling a bit silly now!

    If the sign check is easily implemented and you're bored, feel welcome to do that :) No need to worry about that, though, as it's so minor flaw, if a flaw at all.
     
  4. Offline

    DemmyDemon

    Sure thing!
    It's been a thorn in my eye for a while, so I got my act together and fixed it.
    It's in 0.4 that I just uploaded. I'm gonna update the post now.

    It's not just signs, it's most (all?) non-hindering blocks, like grass, flowers, ladders, torches, tracks etc etc.
     
  5. Offline

    TRBrown

    Hi, I just downloaded this plugin, and it's not working for me. Every time that I create a gate, it destroys the pressure plate and gives it to me, simply leaving the glowstone. Help?
     
  6. Offline

    DemmyDemon

    Do a /kg reload and it should be fine.
    Sometimes it doesn't have time to register the gate properly before the game pops the pressure plate. Upon a reload, however, it comes back and stays.
     
  7. Offline

    jabsu

    Wow, that was quick. Thanks, gonna download the updated version right now :)
     
  8. Offline

    DemmyDemon

    In a flash of inspiration, it came to me how stupidly easy it would be to fix. Done and done. ^_^
    Enjoy.
     
  9. Offline

    Kannibale

    I'm having a problem, when ever I create a gate the pressure pad is thrown on the ground and I always pick it up almost instantly. Any idea? Perhaps I skipped something in the config.

    EDIT: I fixed this with a relog/server restart.

    The multi-world is not working, but I do believe it is a bukkit problem.


    Code:
    2011-12-27 11:31:04 [SEVERE] Could not pass event PLAYER_INTERACT to KonseptGate
    java.lang.NullPointerException
        at com.webkonsept.bukkit.konseptgate.KGate.getLocationForTeleport(Unknown Source)
        at com.webkonsept.bukkit.konseptgate.KGPlayerListener.onPlayerInteract(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:338)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:178)
        at net.minecraft.server.BlockPressurePlate.g(BlockPressurePlate.java:109)
        at net.minecraft.server.BlockPressurePlate.a(BlockPressurePlate.java:71)
        at net.minecraft.server.Entity.move(Entity.java:614)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:332)
        at lishid.orebfuscator.utils.NetServerHandlerProxy.a(NetServerHandlerProxy.java:60)
        at net.minecraft.server.Packet10Flying.a(SourceFile:126)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
        at lishid.orebfuscator.utils.NetServerHandlerProxy.a(NetServerHandlerProxy.java:44)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    
     
  10. Offline

    DemmyDemon

    Yeah, that's the general fix for it. I might look into that bug soon-ish to avoid the workaround.
    "Not working" is very unhelpful.
    When does this happen? What were you doing at the time?
     
  11. Offline

    Kannibale

    Sorry about that. This error appears inside the log upon using gate1 going to gate2, where gate1 and gate2 are on different worlds.

    Hope this clears things up a little bit.
     
  12. Offline

    DemmyDemon

    Ah, yes, it does.
    It tells me the other world is probably not loaded yet, making the destination gate's Location a null.
    That should be a fairly easy fix, but I'm not going to get into loading/managing worlds as it's out of scope for this plugin.
    In stead, I'll have it tell you "The destination world is not loaded. Take a chill pill and try again later."

    What multiworld plugin are you using?
     
  13. Offline

    Kannibale

    @Demmy, I got it working, just updated my multi-world plugin. Thanks for your time!
     
  14. Offline

    DemmyDemon

    0.4.1 should be producing a usable error message, too :)
     
  15. Offline

    Astralord224

    this is not a problem really, at all but for some reason when i teleport the burning animation screen pops onto my screen for less that a millesecond. i dont really mind if you dont fix it or if its meant to happen, because actually its quite funny :D.
     
  16. Offline

    DemmyDemon

    It's on purpose. You can turn it off in the options.
     
  17. Offline

    Errored

    This plugin lets anyone use the gates even when they don't have the permissions.

    Does this with the most recent version on both 1597 and 1818.
     
  18. Offline

    DemmyDemon

    That's odd, I haven't had that issue at all.
    What permissions does the relevant user have, please?
     
  19. Offline

    Errored

    The only users that have all permissions are myself and admins. Regular users don't have these permissions at all.

    Here is the permissions for Guest (they can use the gates and are default rank in-game), the ranks AFTER Guest have inherited permissions from Guest. I'm using PermissionsEx 1.17

    Code:
    Guest:
            default: true
            prefix: '&f[&7Guest&f] '
            options:
                rank: '1000'
            permissions:
            - admincmd.server.help
            - admincmd.server.motd
            - admincmd.server.news
            - admincmd.server.rules
            - admincmd.spawn.tp
            - admincmd.player.msg
            - admincmd.player.list
            - admincmd.player.loc
            - admincmd.player.afk
            - admincmd.player.reply
            - admincmd.tp.home
            - mcmmo.item.chimaerawing
            - mcmmo.commands.ability
            - mcmmo.regeneration
            - mcmmo.commands.party
            - mcmmo.chat.partychat
            - mcmmo.commands.ptp
            - mcmmo.ability.*
            - mcmmo.skills.*
            - iConomy.holdings
            - iConomy.holdings.others
            - iConomy.help
            - iConomy.payment
            - lwc.protect
     
  20. Offline

    DemmyDemon

    It defaults to on, so you have to revoke the permission.
    - '-konseptgate.use' should do it.
     
  21. Offline

    longshotfoxx

    Just a suggestion for those that use a TON of different gate links (like me 8D), but could you add pages to /kg list? It'd be really helpful in keeping track of gates and their linkage. I kinda want to make a pokemon-style warp gate maze, but the kg list is already clogged lol. I'd appreciate it a ton if you could add pages to the /kg list.

    Thanks for the great plugin. ^^
     
  22. Offline

    DemmyDemon

    It doesn't have paging support, but it might in the future.
    There is a search function, however. /kg list foo will list all gates with foo in their name, or that link to a gate with foo in their name.
    This feature, is broken at the moment, however, and when I fix it I'll look into adding paging as well. That means if the argument is an integer it will be the page, and if it's not then it'll be searched for.

    Is that what you wanted?
     
  23. Offline

    longshotfoxx

    Right, so for example "/kg list 2" would give the second page of kg gates. It would work like paging of the /help command. I noticed that there was the search feature, but it wouldn't help me much if I couldn't remember all of the gates names.
    If you could do that whenever you get the chance that'd be great.
     
  24. Offline

    DemmyDemon

    There is a release currently being tested, so I'll tack this on for that release, as it will take very little testing to get right. Shouldn't be long.

    [edit] Yeah, expect 0.5 shortly. Just making sure there are no regressions in the latest RB that affects this.
    [edit again] Delayed due to an imminent RB release. Awaiting that.
     
  25. Offline

    KablooieKablam

    For some reason, my users cannot use Konsept Gates. When they walk over the pressure plate, the plugin returns "You don't have access to go there..."
    They have the konseptgate.teleport and konseptgate.use permissions.
    I use PermissionsEx, but not ModifyWorld. Any ideas?

    EDIT: Resolved! Don't listen to me, guys! I figured out that it was a problem with my MultiVerse configuration, not this plugin. KonseptGate is ultra-legit and you should all use it!
     
  26. Offline

    DemmyDemon

    Hehe, I just saw the e-mail about this post (which didn't include your edit) and thought to myself "Oy! That's a Multiverse error message, I'm not taking the blame for that!", but you figured it out :p

    Enjoy to the extent possible.
     
  27. Offline

    Turitafo

    cant find the commands.

    hey,
    your page doesnt make any sense
    how to use it?
    commands?

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

    DemmyDemon

    My page? What are you talking about?
    The original post has the commands and all they do. It's /kg, and then a spoiler tag stuffed full of it's options.
    I could copy/paste it here, but if you didn't read it in the first post, how would I expect you to read it here?
     
  29. Offline

    Turitafo

    ok,
    i have anothere problem
    i can now do /kg
    but if i do /kg create spawn
    and /kg create survival
    and i link them
    i step on the pressure plate and nothing happens
     
  30. Offline

    DemmyDemon

    How do you link them, and which one did you step on?

    It works -fine-. It's used thousands of times every day on at least 10-15 servers.
    Please be more specific, or I can't help you.
     
  31. Offline

    Turitafo

    i've linked them both to eachother and if i step on Survival to spawn it doesnt work and if i step on spawn to survival it doesnt work

    oh and i have multiverse,
    is that a problem?

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

Share This Page