[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

    Good to hear! Have fun!
     
  3. Offline

    ckent741

    I want to allow everyone to use koncept gates but i want only 1 gate not accessible for a VIP world, but i cant allow default users to use the rest of the gates without being able to use the VIP only warp...

    HELP!
     
  4. Offline

    DemmyDemon

    KG doesn't do selective gate permissions. I suggest you use some other plugin to lock the pressure plate, like SimpleChestLock or whatever.
     
  5. Offline

    ckent741

    KK THANKS
     
  6. Offline

    DemmyDemon

    YOU'RE WELCOME!
     
  7. Offline

    LHammonds

    I've been using KonseptGate 0.5.1 on my CraftBukkit 1.1-R4 server for a while now. Just upgraded to CraftBukkit 1.2.4-R1.0 and it still works like a champ.

    EDIT 2012-04-10: Upgraded to CraftBukkit 1.2.5-R1.0 and KonseptGate 0.5.1 is still working great!

    Thanks,
    LHammonds
     
  8. Offline

    xtrea

    Hey, I'm getting these errors in the console. http://pastebin.com/WML0Xf1U
    I've been using this plugin for so long and don't want to stop now. Does this still work for 1.2.4?
    I have quite a lot of plugins please reply if it is a confliction so I can message them. I generally think its to do with the version though :S

    Thanks :)
     
  9. Offline

    DemmyDemon

    I've finished doing all my various tests for Craftbukkit 1.2.5-R1, and there are no problems at all with KonseptGate.
     
  10. Offline

    guyag

    Brilliant plugin, does exactly what I want perfectly, thanks! One tiny thing, would it be possible to make a type of gate that would send you to a location but then not have the option to go back? So you make a gate and use it as normal, but at the end there is no gate to go back? I don't think this is really warping as you said in the OP, so it should be fine?

    Thanks!
     
  11. Offline

    DemmyDemon

    Glad you enjoy it!

    To make a one-way KG:

    /kg create foo bar
    (walk to where you want to go)
    /kg create bar
    (note the lack of "foo")
    As long as you don't link the bar gate to any other gate, it can't be used for a return journey.
     
  12. Offline

    guyag

    The only thing is, if you then stand on 'bar' you get spammed with "No destination is set for this gate" :/
     
  13. Offline

    DemmyDemon

    Hmm, perhaps I should make that error message optional, then. Is that close enough to your needs?
    As for the spamming, I have an idea on exactly how to avoid that, so it only fires once and gives the message once.

    Edit:
    Oh, hang on, it does fire exactly once. "Spammed"? Seriously?
    Anyway, the message is optional now.
     
  14. Offline

    guyag

    Yep, but I don't think there's a lot that can be done about it as it appears that a pressure plate trigger event is fired continuously as the player stands on a pressure plate. Thanks for that option:)

    Edit: It does indeed only fire once - it was a conflict with vanish no packet which means that when you're vanished and you stand on a plate you get loads of messages :)
     
  15. Offline

    DemmyDemon

    That's odd. The event does NOT fire continuously for me, just the one time. What Craftukkit version are you running?
     
  16. Offline

    guyag

    See edit, I was mistaken.
     
  17. Offline

    DemmyDemon

    Aaaah, yes, tested that and you are in deed right. It's because VNP cancels the event, but you're still on the pad, making it fire again, and be canceled again etc etc ad nauseum.
     
  18. Offline

    mdcollins05

    Love the plugin, the only thing I'd suggest is to change it so the gates file is saved after each change and not in onDisable. Reason is my server has crashed 2 times (out of memory- trying to fix it) and both times the gates file is empty after a restart. Anyways, I love the simplicity of the plugin!

    Thanks!
     
  19. Offline

    DemmyDemon

    Glad you like it. The simplicity is it's very reason for existence.
    It does save on every gate generation, but with an OOM error there will always be strange side-effects as the object it tries to save is already removed, for example.

    As it DOES save on every gate generation, I guess it's silly that it also saves onDisable, and that could be causing some grief... I'll do some testing and see if perhaps it does better without that final (and useless) save.
     
  20. Offline

    jinx0rs

    So I'm enjoying this plugin quite a bit. I like how it's implemented. I have been having the issue of the button not popping up so I put some around just to test things out. I have one button that does not pop up on one side of the teleport, and the button on the other side never has the issue. I also have placed two different pads next to the one that does not pop back up immediately to see if it was the room that was the issue, and those (which are only a couple blocks apart) have no issue. The block that does not pop up has had the issue from the start. Further testing if I turn on /kg ignore I can walk on and off the pad with no issue of not popping up. Also, if I step on to the pad with /kg ignore on, and then issue the command and step off, no issues with not popping up. It seems that the issue only occurs when I've teleported to the pad and stepped off. Wondering if this will help at all. /wallotext

    Also, there is another teleport mod called telepad. I like this one better but the ability to have a delay before teleportation in that one sure is nice. hint hint :)
     
  21. Offline

    DemmyDemon

    Thanks, that's very helpful. I'm going to re-open this and have yet another look at it.
    Please, speak plainly. What do you mean? Is it a delay between teleportations, or a delay where you have to stay on the teleporter before it triggers?

    Please elaborate, or I don't know what you want, and can't ever implement it.
     
  22. Offline

    jinx0rs

    I apologize. What i meant is that there is a delay before you are teleported. It is configurable for variable times and when you step on the pad it says to stay on for X seconds to transport. Not only does it make it feel like its "working" to get you somewhere, but it also helps to prevent accidental teleporting. Sorry if I was confusing.

    Anyways, if you need any help with testing I am happy to help.
     
  23. Offline

    DemmyDemon

    That's not trivial, considering the way I'm doing things, but I agree it might be a good idea to implement.
    I have an idea on how I might do it... I'll let you know about testing.
     
  24. Offline

    awesomer

    hi just got you plugin and i thought...wow this is going to be the first one that actually works...it does, but i go into a free fall every time i teleport anywhere, its like the ground disappears... help?
     
  25. Offline

    DemmyDemon

    This is because where you are teleporting to hasn't been loaded yet.
    Not much I can do about that, I'm afraid. I can try to move the target chunk to the top of the "waiting to load" list, I guess, but I don't fully understand that part of Bukkit and shouldn't be messing with it.

    Just wait, and it will load.
     
  26. Offline

    noobneedhelp

    ok i need help when i try linking the gates together (only 2) i get a message saying it cannot find the gate or the 2 gate cant be connected.
     

    Attached Files:

  27. Offline

    DemmyDemon

    Code:
    /kg create gate1 gate2
    /kg create gate2 gate1
    ooor
    Code:
    /kg create gate1
    /kg create gate2
    /kg link gate1 gate2
    /kg link gate2 gate1
     
  28. Offline

    noobneedhelp

    ok thanks that helped alot
     
  29. Offline

    DemmyDemon

    No problem, always glad to help out my favorite animal.
     
  30. Hello, I am using KonseptGate currently but no one can use the gates. I have the permission konseptgate.teleport set for my Guest and have every rank inherit from it, but no one but ops can use these teleport pads.

    Here is the current permission for my guest node.

    groups:
    Guest:
    default: true
    prefix: '&7'
    permissions:
    - konseptgate.teleport

    I can not seem to find the reason why, any help would be appreciated.
     
  31. Offline

    DemmyDemon

    That's odd. What permissions manager is this?
    Also, if you could set verbose: true in the config and give me some log data on what happens when someone steps on a telepad, that would be exceedingly helpful!
     

Share This Page