Inactive [TP] xWarp v3.1.7 - MyWarp fork (w/ prices, economy, visibility) [1.2.5-R1.0]

Discussion in 'Inactive/Unsupported Plugins' started by xZise, Jan 17, 2011.

  1. Offline

    xZise

    Hello everyone,
    I forked the MyWarp project and added some functionality. In basic it is the same as the MyWarp.

    Now on BukkitDev
    This plugin is already on BukkitDev. I will transfer this post to BukkitDev.

    Download
    3.1.7 + marker (Tested: 1.2.5-R1.0)
    3.1.7 (Tested: 1.2.5-R1.0)
    2.12.0 (Tested: cb819, Should run ≥ cb691)
    All downloads

    The versions for other builds are normally only compatibly updates. So they don't provide other features. This means version “a-cb684” is the same (in basic) as “a-cb556” or simply “a”.
    Notice: With version 2.3.0, 2.6.0, 2.8.0, 2.9.0, 3.0.0 (or later) I changed the database layout. Previous versions of xWarp couldn't read this database. So backup it for sure.

    Ressources

    Changes
    Changelog moved to BukkitDev. The full changelog is still on github.

    Prices
    Since 2.8.0 it is possible to use prices for warp and creation. It uses the Permissions nodes to change define basic prices. Also it is possible to define a price for each warp. At the moment iConomy version 4 and 5, Essentials Economy (at least Dev build 2.2.104) and BOSEconomy supported.
    Global/Public/Private warps
    With the Version 2.0.0 beta 13 I introduce the new state of global warps. Every user can create warps for its own (public/private) like before and hasn't be aware of already existing one's from others. So Player “A” could create a warp named “foo” and another Player “B” could also create a warp called “foo”. Now to access these warps you have to specify which warp do you want to use.
    Therefore I added a parameter to specify the owner of the warp. To warp to the “foo” warp of Player “A” you simply type:
    /warp foo A
    You could exchange the second parameter (= A) with a B to warp to B's warp “foo”.
    Now to shorten the warps you could globalize a warp with
    /warp global <name> <owner>
    Now you don't have to add the owner of the warp. For example if somebody globalized the warp “foo” of player “A” you now can simply type:
    /warp foo
    There is one rule: “If you don't define the owner it searches the global warps.”
    But a global warp also has a owner (in our case Player “A”) so you also define the owner.
    So there is one major change: If your warp contains a space you have to escape it, otherwise it will guess the second part as a owner (to escape see the section above).
    For further information visit the wiki.
    Sign Warps
    Creating a sign warp is really easy. You have 3 layouts: MyWarp, Single Line and xWarp.
    In MyWarp your sign has two lines. In the first place only “MyWarp” and in the second the name of the warp. This works only if the warp is in the global map.
    The “Single Line” layout only needs a line with “Warp: <name>”. If there are more than one lines with this layout on one sign it won't work. The colon is optional, the W could be lowercase and the spaces between “Warp:” and the name have to be at least one.
    With xWarp layout you could place “xWarp” in the first line (case-insensitive) or “Warp”/“warp” and optional a colon.
    In the second line is the name of the warp and in the third the owner (optional)
    Upcoming changes
    Backups? (unknown)
    If possible I maybe make it possible to backup the warps with others backup plugins. It is only an idea at a moment, but maybe sometimes xWarp supports this.
    tkelly's suggestion system (Suspended)
    tkelly created a system, that can get a warp similar named if you didn't spell it right.

    Fabian aka xZise
     
    RazorFlint, Taranis01 and uitology like this.
  2. Offline

    xZise

    Hmmm okay, at the moment, I fear nothing. Although your workaround will do the trick (if the warp owner has enough money). You could change the warp owner to somebody who will never on the server. And I have no idea, why you have to pay 250, when the global price is 250 and the warp price -500. I will look into that.

    Also I will add a feature, to make warps free.

    Fabian
     
  3. Offline

    Phinary

    How do I use my existing MyWarp db with this?
     
  4. Offline

    xZise

    Copy the database to the xWarp plugins directory (by default “plugins/xWarp/”) and rename the file to “warps.db”.

    Fabian
     
  5. Offline

    Chojin

    Hello,

    I tested with these permissions only:
    - warp.sign.create.*
    - warp.sign.to.*

    My players cannot use sign to teleport, until I also add warp.to...

    Bug ? Or feature ?
    I would like my players only create sign and warp with signs.

    Info:
    [INFO] [xWarp]: 1 warps loaded
    [INFO] [xWarp]: Linked with permissions: Permissions v2.5.1 (it is Essentials Permissions)
    [INFO] [xWarp]: The plugin "iConomy v4.65" is not iConomy 5 compatible.
    [INFO] [xWarp]: Linked with economy system: iConomy v4.65
    [INFO] [xWarp]: xWarp 2.10.1 enabled

    CraftBukkit #759.

    Thank you :)
     
  6. Offline

    Wanderer89

    Thanks for the quick reply! Here's my config:

    Code:
    #Wed May 11 18:20:54 CDT 2011
    show-free-price-message=false
    cancel-warm-up-on-movement=false
    warmup-notify=true
    data-connection=sqlite
    cancel-warm-up-on-damage=true
    economy-base-account=
    cooldown-notify=false
    use-force-to=true
    economy=
    Nothing weird in the console, claims it links to iConomy & Permissions (v5 and 2.7 respectively) Still not being charged unless specified manually with /warp price
     
  7. Offline

    xZise

    @Chojin: Neither a bug nor a feature :) Only … “misconfigured” (no offense).
    @Wanderer89: If you specify the price manually, have the player to pay both (manually price & permissions price).

    Also I want to implement, that you can define a warp as free. But one question to the users: How do you acomplish that? My idea at the moment is, add a property which defines if the warp is free. Would this do it?

    Fabian
     
  8. Offline

    Chojin

    Hmm I read again your wiki Permissions page and I don't see what I miss :)
     
  9. Offline

    xZise

    Then read the quote: With “warp.to.*” you give “warp.to.world.within.*” and “warp.to.world.to.*”.

    Fabian

    Okay maybe somebody get's confused by this. But everything is okay with “not iConomy 5 compatible”. Because I want to support prior versions of iConomy 5 but the name wasn't changed, I first test if the iConomy plugin is compatible with the API of iConomy version 5. iConomy 4 obviously isn't compatible with iConomy 5, so it will say:
    The line below make this more clearer, as it is now linked. But not via the iConomy 5 interface, instead with the iConomy 4 interface. Maybe this answers your question Bashoogers?

    What is strange is the “(it is Essentials Permissions)”. Was this added my you Chojin?

    @Wanderer89: I finally wrote a separated wiki page about Creation limits.

    To the development: I planed to update xWarp. I added the list legend to the /warp help list command. And I'm working on two new features: Listed and Gratis warps. Fortunatly they don't change the database layout, so I planed to support them in the next release. At the moment gratis warps means: If the price is lower 0 nobody have to pay anything to warp to this warp. I think this should be enough feature. With listed it is possible to hide warps from the list (nobody will see them, except they have a special admin permission).

    Fabian

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

    TheTrueBenis

    i would like the same functionality. is this a bug?
     
  11. Offline

    xZise

    Okay here for you too:
    A more pragmatic comparison: You want to drive with the car from Mainland Europe to England. Now by default you want them only drive with the car and using the Channel Tunnel. So you grant them those permissions. But in England you need a passport which you don't have. So you now grant them all transportation permissions. Now they could visit England via car because you have the passport now (because it is included in the permission). But they could also use the plane, because you give them the transportation permissions.

    The solution? Give them only those permissions they need! Nothing else does my quote tell. I will move the permissions in a future update, so hopefully it is more clearer, why granting the needed permissions work.

    And no: It is neither a bug nor a feature. Simply misconfigured.

    @Wanderer89: Have you maybe something in the console?

    Fabian

    PS: Would be nice, if somebody has a problem, found somebody already ask it, to watch for my reply. In this case there was only one post between.
     
  12. Offline

    Sevenos

    Feature request: A command which updates the position of a warp and creates a private one if it isn't already defined. Or just make update behave like that.

    I want to throw out my home plugin and just define aliases for /sethome and /home to use xWarp with a private "home" warp. I could just do create and update on every /sethome, but that would show errors :/

    Please tell me if you would do that and if yes, when you could release such. Otherwise I would try to implement it myself ;)
     
  13. Offline

    xZise

    It could be possible, to execute create on a warp which already exists and just updating the position. Maybe it will be in 2.11.0 but I couldn't promise it.

    Fabian
     
  14. Offline

    TheTrueBenis

    my problem is that if i only give them Warp.sign.to.* they can not use warps at all
    it only starts to work when i give them warp.to permissions
     
  15. Offline

    xZise

    Oh man, read my first post:
    No offense, but the last 2 (?) pages are only about this problem. Hopefully this problem will be gone with the update.

    Fabian
     
  16. Suggestion: Add the ability to say only incomplete names of the warps, and still warp there.
    eg - /warp Free would warp me to /warp freebuild
    Like the system implemented in GiveTo.
    Thanks.
     
  17. Offline

    TheTrueBenis

    To have them only be able to use signs their permissions have to look like this
    -'warp.to.*'
    -'warp.sign.*'
    -"-warp.command.to"
    ??
    it is difficult to understand you at times, sorry if this is frustrating.
     
  18. Offline

    xZise

    Look in the first post. At the moment this is suspended, because there are others problems I have to fix, but I planned to implement this at least with 3.0.

    Yep same for me:
    Is this so bad english? At first there is no warp.command.to permission and I won't add this permission. Why? Because warp.to.* is the wrong (!) permission you gave! It is no bug or feature it is only a side effect! You accidentally granted the needed permissions but the biggest problem: You granted also permissions you don't want. I mean it's like granting warp.* and I'm wondering why they could delete every warp, but I wanted they to delete their own warps. It is simply misconfigured.

    Sorry if this sound hard, but it is frustrating for me to explain the basic of set/subsets:
    There is a set of warp permissions: Warp permissions set = { warp.to.own, warp.to.invited, warp.to.others, warp.to.global, warp.to.world.to.world, warp.to.world.within.world, warp.sign.to.global. … }
    You see there are many permissions and I don't listed all. But I listed all required:
    A subset is a set which is “contained” in the superset. For example … lets see at warp.to.*: This subset contains every permission from the complete set beginning with “warp.to.” : warp.to.* = { warp.to.own, warp.to.invited, warp.to.others, warp.to.global, warp.to.world.to.world, warp.to.world.within.world }
    You see, you have permissions you don't want (I highlighted them) and some permissions which you don't “know”.
    Now it is working. Why? To answer this we have to know what a user need to warp:
    1. The required permission to warp within/to the world (warp.to.world.…)
    2. The required permission for the warp (warp.(sign.)to.own, warp.(sign.)to.invited, warp.(sign.)to.others, warp.(sign.)to.global, warp.admin.to.all)
    3. If you want to warp others the warp.admin.warp.others permission.
    Maybe in another order, but the order is not relevant, as you couldn't now where it stops.
    So lets check:
    Do we have the first permission? Check!
    Do we have the second permission? Check!
    The third isn't used here, as via sign warping it is only possible to warp you himself.
    Now lets check the case you couldn't warp.
    Do we have the first permission? No.
    Do we have the second permission? Check!
    So here we have our problem: The specific permissions to warp within/to world is missing. Now let's look in the warp.to.* subset and … oh! There it is. So you fixed it. You added 6 permissions to add 2 required.
    Okay now what to do? The easiest way which will work anytime: Remove the large subset (warp.to.* in this case) and adding only those permission you need (warp.to.world.…).
    Done it is working as intended.

    So your Todo list:
    Remove (!) warp.to.*
    Add warp.to. – No then no asterisk – world.* (warp.to.world.*)

    I know it sounds hard, but either my English is so bad, that you don't understand what I meant, or something other is missing. I don't want to bother anybody here I mean you use my plugin and that's make me proud but to see the same questions on the last two pages about a “bug” that doesn't exists is annoying. Hopefully the 2.11.0 will remove this.

    Apropos: If you don't understand it until here: Wait for the 2.11.0 update. There I moved the permissions, so warp.to.* won't work anymore and nobody get's confused.

    Fabian

    Okay there is new 2.11.0! It now could make a warp completely free, listed/unlisted and I moved some permissions! So if you update, please check your permissions first. Hopefully the “warp.to.*”-problem will be gone.

    The builds for 684 and 556 maybe come later today.

    Fabian

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

    Phinary

    Link is broken. Please fix
     
  20. Offline

    xZise

    Fixed
     
  21. my 2 cents about this "warp to" question

    from what you wrote :
    warp.to.* = {
    warp.to.own,
    warp.to.invited,
    warp.to.others,
    warp.to.global,
    warp.to.world.*
    }

    I believe most people understand "warp.to.something permissions" is "permission to warp to something"
    Since there is no "command.to" permission, you would naturally tend to think that the ability to use "warp to" command is linked to "warp.to" permission.
    I clearly thought not allowing "warp.to.whatever" permission would prevent me from using a sign. I tested and indeed, I couldn't use a sign.

    I mean, there really is something unclear about this setup.
    What I understand of it.
    If I have only "warp.signs.* + warp.to.world.*" My tests show that I will be able to warp to public warps with a sign. I can warp to a public warp even thoug I have no permission for warp.to.others or warp.to.own.
    If, with a sign, I can teleport to my own personnal warp without the permission to teleport to my own warp (no warp.to.own), then I would tend to think that I will also be able to teleport to other players' private warps. There may be a 'security' breach here that's I'll try to test.

    Conclusion anyway : warp.to.own, .invited, .others and .global are permissions to use "/warp to" command with own-invited-others-global warps. They are of no other use right now.


    You can consider I don't see things the good way (yours), but the number of people trying to use "warp.to.*" in order to make signs work would tend to show how people logic works differently than yours... and if there really is a breach, I would really consider separating my "to" permissions in two main groups : "what command can I use" / "where can I teleport".
     
  22. Offline

    xZise

    1.) I renamed the permissions so you either have warp.to.… or warp.sign.… or both to allow both.
    2.) My idea was: warp.to.… permissions are to allow to warp to something. It doesn't interact with the sign warp permissions, because previous you needed the warp.to permission to use sign warps. But somebody requested to allow warping only with signs (and as we see it is not only one). So I added the permission like the warp.to permissions.

    Now I wanted to limit to which worlds you can warp. And there was now the question: What to do. I thought warp.to.world.… sounds good. Especially is the warp.to.… permission the only permission which sounds like the command itself. All others commands are “hidden” behind “command”, “edit” or “admin”.

    By now I know it was a mistake to implement this in that way. Although I don't know, why the first answer (which works) is to grant “warp.to.*”. I mean I listed all permissions I use, and there are clearly the world limit permission stated. Now if something isn't working my approach would be, to see in the documentation (wiki permissions page) and look if I need special permission. And at least their you should see: I need a permission to warp within a world or into a world.
    Okay maybe it wasn't clear, what the error message “no permission to warp” means. What xWarp check and when it prints out the message. I will add some text, so it is more clearer.

    Fabian
     
  23. Offline

    Donny

    Code:
    2011-05-16 08:18:51 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'go' in plugin xWarp v2.10.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:278)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:682)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:645)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:639)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:372)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:287)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.NullPointerException
        at org.bukkit.craftbukkit.entity.CraftPlayer.teleport(CraftPlayer.java:168)
        at de.xzise.xwarp.warpable.WarpablePlayer.teleport(WarpablePlayer.java:21)
        at de.xzise.xwarp.timer.WarmUp.sendPlayer(WarmUp.java:88)
        at de.xzise.xwarp.timer.WarmUp.addPlayer(WarmUp.java:41)
        at de.xzise.xwarp.WarpManager.warpTo(WarpManager.java:610)
        at de.xzise.xwarp.WarpManager.warpTo(WarpManager.java:577)
        at de.xzise.xwarp.commands.WarpToCommand.internalExecute(WarpToCommand.java:58)
        at de.xzise.xwarp.commands.SubCommand.execute(SubCommand.java:47)
        at de.xzise.xwarp.commands.SubCommand.onCommand(SubCommand.java:99)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        ... 12 more
    happens when I try to "/go warpname ownername playername"
     
  24. Offline

    xZise

    Seems to be already posted. I already tried an update (second (2.11.1 b1)) which should fix this. I couldn't reproduce this. So would be nice if it work. I will post additional informations about the 2nd update there.

    I didn't test the update itself. Use at your own risk.

    Fabian
     
  25. Offline

    xMagicMonkeyx

    When i create a warp it says you do not have perdition to create this warp and i cant telaport from them if we do anything to do with the warps apparently we dont have perdition even though im a op?
     
  26. Offline

    xZise

    Do you use a permissions system? And I don't understand your post completely. To summarize:
    • You couldn't create a warp?
    • After the failed creation you couldn't warp/teleport anymore?
    • You couldn't modify any warp?
    Fabian

    PS: Ops forgot to update the settings wiki. It contains now the new setting (update a warp if it exists and you tried to create a new).
     
  27. Offline

    xMagicMonkeyx

    No we used to be able to create warps and now we cant and we cant warp to our old warps :/
     
  28. Offline

    xZise

    Okay: Which permissions plugin do you use (if you use any)? And which permissions do you have.

    And maybe you couldn't warp to your old warps, because I renamed the permission, which allows you to warp within the same world and into other worlds. So you need some permission from “warp.world.…”. Look into section “Warping” on the Permissions wiki.

    Fabian
     
  29. Offline

    xMagicMonkeyx

    We dont use any permitions plugins :/
     
  30. Offline

    xZise

    Okay I will test, where the problem is.

    Fabian
     
  31. Offline

    xMagicMonkeyx

    DONT WORRY WE FIXED IT 1 OF MY ADMINS FIDDELED WITH THE CONFIG SORRY :/
     

Share This Page