[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

    InsaneParrot

    Ah, I figured out the problem. Some other plugin is stopping people from being able to step on pressure plates. Thanks for responding so fast and being so helpful though!
     
  3. Offline

    DemmyDemon

    Glad to hear it got solved!
     
  4. Offline

    alex_markey

    Hey i am using this plugin on my server LavaCraft (200 Player Server, Rank 4 PlanetMC) and i am having one problem. When i have users passing over them (More than 1 person) The pressure pads sometimes seem to manage to get stuck down so when players walk over them it wont teleport then (Since they are stuck down). Once i perform the command /kg reload all of the Telepads will pop back up and will be functioning normally. Please fix this bug as it is quite annoying, Besides that Great Plugin!
     
  5. Offline

    DemmyDemon

    Are you running the latest version?

    I've had my eye on this bug for a while, and I thought I had fixed it...
    If not, then yes, I'll be putting down some more devtime on it, as it is annoying as hell.

    Note that if one player steps on the telepad, and while he's still pending teleportation (1/20th of a second or so) another player steps on it, then it might not trigger. Still, that shouldn't mean it's stuck down, it just means the second player needs to step off it and back on.

    Have you noticed any pattern in when this happens, for example when there are a lot of players on, or whatever?
    Anything you can tell me to help resolve this is very welcome information!
     
  6. Offline

    alex_markey



    Is there a command to check what version you are running?

    EDIT: Ok i just downloaded and replaced with the newest one, This fixed my problem, TYSM. I really hope you do not discontinue with this plugin as it is one of the best working teleport plugins.
     
  7. Offline

    scopulus

    EDIT: I didn't read the comment before mine until after I posted, but my situation is the same.

    Can you please make a list of all the permission nodes you have? The OPs are the only ones able to freely walk from portal to portal, while others have the ability to walk into one, but not walk back, or walk into another gate after they arrive at a new teleport place. I've tried konseptgate.*, konseptgate.teleport.*,.admin, etc etc and nothing works. For now, they have to use /kg jump NAMEHere and that's a bit annoying and time consuming.
     
  8. Offline

    DemmyDemon

    Great to hear it worked!

    I'll be discontinuing ALL my bukkit plugins when Minecraft 1.4 happens, provided the modding API is viable. I'll be moving to Minecraft then, dropping Bukkit.
    I really don't have time to maintain two versions.
    Still, it's Open Source, and will continue to be so. Anyone that wishes to take over is welcome to do so, and under an extremely liberal license.

    Like I said in the first post:
    Are you sure you're linking the target gate back to the origin one?
    /kg create foo bar
    /kg create bar foo
    or
    /kg create foo
    /kg create bar
    /kg link foo bar
    /kg link bar foo

    As for a complete list of permissions:
    • konseptgate.*
    • konseptgate.command.*
    • konseptgate.command.command_name_here
    • konseptgate.teleport
    • konseptgate.info
    That's all of them.
    [edit] Ooops, except I forgot the konseptgate.* node.

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

    alex_markey

    Ok after updating the plugin this bug does still happen just a lot less. It seems to happen when someone stands on the teleport and teleports to the destination, Then another player runs up and stands on it whilst it is still pressed down from the first person teleporting.

    If you would, please come on my server and have a look, I do not have these telepads set out the way a normal person would use them.

    IP: 66.85.148.130:25616
    Once in game type /Warp Build
     
  10. Offline

    DemmyDemon

    Yes, that's because Minecraft hasn't popped it back up yet, so a "pressure pad pressed down" event doesn't happen for the second user. Take a step back, go again.

    Only way to solve this would be to react to the player moving into the block where the pressure pad is, and for that I would have to check every movement of every player against the location of every telepad.
    Sure, it's doable, but it costs WAY more CPU, especially with a lot of players and a lot of telepads.

    I'm considering it a non-bug for that reason. Behaving as intended.
     
  11. Offline

    alex_markey


    Taking a step back and then going back onto it doesnt do anything. The pressurepad is stuck down therfore when they walk over it, Nothing happens. I have however noticed that they do pop back up after some amount of time
    (5 - 10 Minutes)
     
  12. Offline

    DemmyDemon

    Well, then that is a bug... I guess my "pop back up, dammit" fix doesn't work if someone is standing on it.
    When I get the time, I'll certainly look into that. Right now, however, I'm very busy :(
    Should have some time to poke about with it this weekend. If you send me your GTalk or Skype ID in a private message I'll try and keep you updated, and if you could help me beta-test fixes that would be super-helpful!
     
  13. Offline

    alex_markey

    Yer sure, I cbf doing the personal Message so here it is.

    Skype:

    alex.markey (Australia, Melbourne)
    Just put a message in saying its for this plugin when u add me =).
     
  14. Offline

    DemmyDemon

    Done and done.
    I'd never ever put my skype ID public here :-P You're a brave man.
     
  15. Offline

    HunterTTP

    Awesome plugin! There seems to be a little problem (1.2.5). The pads seems to "stick" down sometimes and will not let you teleport?

    HunterTTP
     
  16. Offline

    DemmyDemon

    Yep, that old bug is still going around, and I've put on my deerstalker and gone hunting for it.
    I KNOW YOU'RE OUT THERE, SILLY BUG!!!

    As of yet, I've been unable to find it, and debugging-by-guesswork is not the best way to go about it.
    I'll keep hunting for it until it's solved, of course, but it might be awhile unless someone can let me on a server with The Actual Problem so I can try and reproduce. It seems to happen only when there is a little load on the server, which is very hard to synthesize on my dev server :-/

    Anyway, please help me by answering these few questions:
    • What version are you running?
    • What other plugins do you have kicking about?
    • How many users are on when it happens, typically?
    • How far away is the destination, roughly?
     
  17. Offline

    HunterTTP


    -Latest

    -Plugins
    AmbientSpout
    AntiCreeper
    Essentials
    EssentialsChat
    EssentialsGroupManager
    EssentialsProtect
    ForeverNight
    NoIce
    NoLagg (possible contender)
    NoWeather
    PickBoat-0.4
    Plugman
    ReEnder
    RightOnSpawn
    Spout
    StainedGlass
    SuperCauldrons
    UnderWaterTorch
    WorldEdit

    -Around 4 players

    -Around 30 - 70 blocks
     
  18. Offline

    DemmyDemon

    "Latest" is not a version number, so pretty please, be specific.

    Yeah, Spout and NoLagg come up a lot in these reports, and I'm curious as to what ForeverNight might be doing to "timed" events such as plates popping up. Can you possibly test with a bunch of non-teleporter pressure pads that are not connected to anything, and see if the same happens?

    Well fsck. There goes THAT theory.

    ...which would NOT cause the offending plate to unload due to being in an invisible or otherwise unused chunk.
    Dammit.

    Oh well, I guess I'll have to do more tests with NoLagg and dig up my Spoutcraft again.
    Sadly, I don't have hardly enough time for this, but with 1.3 coming I'm going to be forcing some time into all my bukkit plugins for that "one last release before I migrate to Official Mojang Minecraft API"
     
  19. Offline

    HunterTTP

    If you promise me your undying love, I will go one by one on my plugins and figure out what the problem is. ;)

    Hunter
     
  20. Offline

    DemmyDemon

    I've already given it for the offer alone.
    Pretty please, with sugar on top?
     
  21. Offline

    HunterTTP

    I found the culprit! ForeverNight is messing it up. Well that took forever but I'm glad I can use your plugin now! :)

    Hunter
     
  22. Offline

    DemmyDemon

    Yep, as I expected, messing with time causes timed events (like water flowing, buttons and pressure pads popping out etc) to occationaly fail.
    I think it's because the event happens so-and-so many ticks in the future, but with halted/looped time that tick may never come. Don't know enough about the Minecraft internals to be sure, of course.

    Still, I'm going to keep at this and see if I can't fix it anyway.
     
  23. Offline

    HunterTTP

    Alright, well I'm glad that its all fixed. I found a plugin called "NightLand" that did the same thing without messing up your plugin.

    Hunter
     
  24. Offline

    DemmyDemon

    Yes, it probably lets more time pass between "loops". You can see it in how far the moon moves before it jumps back.
     
  25. Offline

    LHammonds

    I have just verified that KonseptGate 0.5.1 works with CraftBukkit 1.3.1-R1.0 (and bPermissions 2.9.14).

    Thanks again for an awesome plugin!
    LHammonds
     
  26. Offline

    DemmyDemon

    Thank you.
    I've had the same experience, but I'm trying to pin down the "plate doesn't pop back up" issue for good before releasing a new version.

    Thanks again for your support.
     
  27. Offline

    attabui

    Thanks to the community for verifying that everything still works, and thank you to DennyDemon for continued development. Too many good mods go abandoned, and I consider KonseptGate to be a gem among mods.
     
  28. Offline

    DemmyDemon

    Thank you for your support!

    I'm not too far off releasing an updated version now, that should solve the "not popping up again" problem for ever.
    It does this by having it never be pressed down in the first place.

    Not an optimal solution because it breaks any redstone-stuff hooked up to it and makes redstone lamp as an "underblock" completely silly. The problem is that I really can't find any viable solution that will work all the time. Even setting the block data to "not pressed" after teleporting sometimes fails to update it, and I can't figure out why.

    Oh well, I'll keep at it for a little bit longer, but if I can't find an improved method I'll have to release with the event cancellation solution, because it's annoying as Nether when the plates get stuck.
     
  29. Offline

    dico200

    Could you please update? :D
     
  30. Offline

    DemmyDemon

    It should be working just fine, except for the not-popping-up issue.

    [edit]
    Released 0.5.3 now, confirmed and working very well with the current RB.
     
  31. Offline

    puffnuget

    I added konseptgate.teleport to my permissions but my users still cant TP
     

Share This Page