Inactive [TP] PrivateWarp 1.7.4 - Private Warping suite [1.4.4-R0.1]+

Discussion in 'Inactive/Unsupported Plugins' started by The_Wrecker, Jan 14, 2011.

  1. Offline

    The_Wrecker

    PrivateWarp - The Private Warping plugin

    Warping since Dec 2010 ! Proven to last.
    Current Version: v1.7.4
    Download PrivateWarp
    Download PluginControl (v1.2.8)
    Compatible with:
    Tekkit (1.3.2) (Bukkit for minecraft 1.2.5)
    Bukkit 1.3.2-r1.0
    Bukkit 1.4.4-r0.1
    Other stuff:
    Download Waypoint Converter (to convert and maintain warp files)
    Download Full zip (Including PublicWarp 0.65!)
    Current, all downloads page (Includes instruction videos)

    I made one of the apps I have compatible with the format.
    It's a gui which lets you peak inside of the private warp files. Some parts are not yet finished, might not finish it completely, but you'll have a way to get the contents.
    Download here: GUI Editor

    Converter:
    The converter can read your waypoints.txt (former hmod plugin) and create PrivateWarp database files. Those database files can be copied/moved to the privatewarp player directory to once again have your old warps back.
    PrivateWarp:
    You can use my plugin to create private warps. Every player can have his or her own set of warps. You can also set categories so you can divide your warps in a logical list. For example: you can list builds other people have built in a separate category (ie "Other_Builds).
    PluginControl:
    The PrivateWarp plugin has a dependency with PluginControl. PluginControl is a plugin which handles not only permissions, but also plugin configuration (flatfile) based on groups. PrivateWarp now has per group based limitations (maxwarp and so on). This is not another Permissions system since it can use multiple Permission systems.

    This plugin has also been ported from the hmod mod. You can find the old thread here: hmod forum. The old plugin can still be used as a Canary plugin, you can find the link in the Canary forums. The plugin is also mentioned on my website here: Wrecker Technologies.

    Supported Permissions:
    -PEX
    -Essentials
    -Vault (support for bPermissions and several others indirectly)
    -Built-in permission system (Groups.txt, built in PluginControl)

    Features:
    • Ability to create personal private warps
    • Divide your warps into categories
    • Admin can access other warps through the /pwa command
    • A vault system with the /pwv command
    • Some other stuff not yet mentioned
    • Limit the amount of warps a user in a group can have
    • Group manager compatible
    • Permissions compatible
    • Built in fall back permission system
    Commandlist (in chat):
    • /pw
      Display your currently set private warps and categories. Only displays warps in the current category selected.
    • /pw set <name>
      Set/add/overwrite a private warp in your selected category
    • /pw del <name>
      Delete a private warp in your selected category
    • /pw goto <name>
      Use the warp , goto the location where you have set it (warp has to exist)
    • /pw catselect <name>
      Select the category (has to exist). Leave empty to return to default
    • /pw catcreate <name>
      Create categorie with given name
    • /pw catdelete <name>
      Delete the categorie (including the underlying private warps)
    • /pw help
      Displays usage and commands
    • /pwa
      All the commands of /pw except you can pretend to be another player. For example /pwa <name> set home. Sets the warp home to the player <name>. Should be an admin/mod command on most servers.
    • /pwv
      An admin can create a template(or set) of warp categories and names. These cannot be used(del, set) by the players. An admin can set a warp in the template to a player which the player can use. Should be an admin/mod command on most servers.
    • /pwv put "player" "warp"
      Set the templated warp to the player
    • /pwv rem "player" "warp"
      Removes the warp from the player
    The rest of the commands for /pwv are the same as /pw except they don't store any coordinates and it functions as a template for the vault system.

    • /pwr <nr>
      Recall previous used warps. Start at 0 (0 is the most recent)
    Configuration:

    Locations:
    Configuration of the plugin(s) is done in the PluginControl data directory.
    For example:
    • bukkit/plugins/PluginControl/PrivateWarp/<groupname> (properties for that group)
    Following 2 files are only there when the built-in permission fallback is used:

    bukkit/plugins/PluginControl/
    • Users.txt contains the users
      A user is defined like so: The_Wrecker=admingroup
    • Groups.txt contains the groups (first line is the default group)
      A group is defined like so: admingroup=pw;pwa;pwv <- changed due to onCommand()
      A new line is for another group or user.
    Permissions nodes :
    • PrivateWarp.pw
    • PrivateWarp.pwa
    • PrivateWarp.pwv
    • PrivateWarp.pwr
    Configuration file:

    Private warp configuration file (under the PluginControl data directory)
    • max_warp=10 Maximum of total warps
    • max_categories=3 Maximum categories a player can create
    • max_warp_categorie=3 Maximum warps in a category (excluded the main/default category)
    • max_cache_minute_timeout=30 Amount of time data is considered useless (0 not ecommended)
    • cleanup_cache_minute_timeout=5 Amount of time between cleanup runs (0 not recommended)
    • Warp_timeout // configurable timeout before warping
    Todo (featurelist)
    • DynamicMap warplocations
    • Sharing warps with other players (/pws)
    • TimeStamping warps (create/modified)
    • Add comments/descriptions to warps
    • Data dir cleanup (--fixed useles creation of files, just needs a cleanup run)
    • Initial starting warp list (a list you get when you first enter the server)
    • Calculate distance to a warp from current position (possibly including height)
    • Changing on the fly config with a new plugin
    • Zones where warps cannot be set (PluginControl feature actually)
    • Cool down function for commands (suggestion from ethood1999)
    • Warp maintenance tool
    • Fix up warp count versus vault warps (partly coded)
    • Add fully qualified warp names (category/warp) Suggested by Ture
    • Warpname Template
    • Redo configuration (add warmup message)
    Having problems?
    try this:
    Loading error 1
    Loading error 2
    Try to pay attention to what the log says when starting Bukkit. Might contain some important hints.


    Changelog:

    Version 1.7.4 RC
    • Built against 1.4.4 R0.1
    • Fix when using /pwa (out of bounds error in thread)
    Version 1.7.1 RC
    Missing some versions because those were officially released as unstable. Below changes sums up some of the changes.
    • Built against 1.2.5 R0.1
    • Upgraded permission detection (direct support, PEX and Essentials)
    • Vault Support
    • Message that you'll warp when using a warmup - timeout
    • Some internal structure changes
    Changelog (open)


    Version 1.6.4 RC
    • Built against Bukkit 1370
    • Use of new Event system
    • Beware of Permission systems (I expect a few problems due to changes/breaking of the other plugins)
    Version 1.6.3
    Does not exist (skipped)

    Version 1.6.2
    • Fix to get material type from block
    • A way to force the built-in permission system regardless of other systems installed (checks for existance of groups.txt under the PluginControl directory)
    Version 1.6.1
    • Built against #1578 for 1.0.1 support
    • JDK7 support update
    • Fix for the race condition when warping/teleporting
    Version 1.6.0
    • Fixed crash due to multi byte character reading
    • Added multithreading for every command passed through PluginControl (Meaning the whole set of commands currently available for PrivateWarp)
    • Fixed the error message when you have no rights to use the command
    • Java JRE 7 supported
    • Updated building path to create new Jar
    • Better code to read configuration property readings
    • Support for Permissions updated (bPermission, PermissionEx, SuperPerms)
    • New detection system to detect Permissions (1.5.1 fix)
    • Splitted code for handling commands
    • Player cache managing code reorganized
    • Better file handling (should disable the creation of empty PrivateWarp files)
    • Removed seperate quick and dirty warmup code
    • Refactored AbstractPlugin OO layer
    Version 1.4.9 > 1.5.0
    • Fixed default warping timeout
    • Fixed bug where warpname was passed to permissions
    • Added softdepend loading to yml
    Version 1.4.8 > 1.4.9
    • Added warping delay (default 5 seconds, adjustable in config)
    • Added rename command (/pw ren <old> <new>)
    • Added move command (move warp to another category /pw mv <warp> <cat>)
    • Added shorter aliases for known commands (see help)
    • Refactored the code base a bit for future changes
    • Built against CraftBukkit 953 (minecraft 1.7.2)
    Version 1.4.7 > 1.4.8
    • Added configbit to config files
    • Built against CraftBukkit 818 (minecraft 1.6.6)
    Version 1.4.6 > 1.4.7
    • Fix on help sub command
    • Check for blocks before warping
    • Check alternative warp location
    • Warn and notices when your warp is not quite right (warping yourself half into a step stone for ex.)
    Version 1.4.5 > 1.4.6
    • Updates towards the latest Bukkit releases
    • Fix for built-in permissions (AGAIN!)
    • Smarter cache system
    • Update for Public Warp
    Version 1.4.4 > 1.4.5
    • Updates towards the latest Bukkit releases
    • Fix for built-in permissions
    • Added Essentials Group Manager plugin
    Version 1.4.2a > 1.4.4
    • Updates towards the latest Bukkit releases
    • Still has a known issue with built-in permission system (PluginControl)
    • Seems Bukkit changed the way namespacing works... This threw errors around (IllegalAccess Exceptions)
    Version 1.4.1 > 1.4.2a
    • Built with PluginControl(0.52a)
    • /pwr change
    • Recommended build #602 update and fixes
    • Previous release is revoked(1.4.2), hence the added 'a' in this release.
    Version 1.4.0 > 1.4.1
    • Built with PluginControl(0.51)
    • Fixed /pwv put command
    Version 1.3.9 > 1.4.0
    • Built with PluginControl(0.5)
    • Changed the way how the plugin(s) output text
    • PublicWarp might be independent now
    • Removed the default_world check
    • Removed Warp converting from old PrivateWarp version
    • Did an auto updating page (see link previous versions)
    Version 1.3.8 > 1.3.9
    • Built with PluginControl(0.49)
    • Compatability update for build 522
    Version 1.3.7 > 1.3.8
    • Built with PluginControl(0.48)
    • Nothing special added or fixed for PW
    • Support for PublicWarp (test-released plugin)
    Version 1.3.6 > 1.3.7
    • Built with PluginControl(0.47)
    • Fixed null when no default group in fallback
    • Added GroupManager support
    Version 1.3.5 > 1.3.6
    • Built with PluginControl(0.46)
    • Lazy warpname matching in goto subcommand
    • Code cleanup (mainly init stuff)
    Version 1.3.4 > 1.3.5
    • Built with PluginControl(0.45)
    • Update to use Phoenix permissions 2.4
    • Constructor fix
    • Shifted to onCommand
    Version 1.3.3 > 1.3.4
    • Built with PluginControl(0.44)
    • Less IO
    • Fix to /pwv put command
    • HACKY FIX considering the constructor stuff, but works for now.
    Version 1.3.2 > 1.3.3
    • Built with PluginControl(0.43)
    • Added /pwr to help
    • Redid some logging
    • Only show conversion log when it's 'interesting'
    • Teleport hook code for pwr (probably not yet functional)
    • Some more minor fixes
    Version 1.3.1 > 1.3.2
    • Built with PluginControl(0.42)
    • MAJOR Fixes to the plugin loading thing (I hope I got it nailed this time, I haven't seen errors while testing).
    • MultiWorld!!! (For conversion to new format add: "default_world=<world_name>" in config. The Plugin will ask you to do this.)
    Version 1.3.0 > 1.3.1
    • Built with PluginControl(0.41)
    • Added /pwr command
    Version 1.2.9 > 1.3.0
    • Built with PluginControl(0.4)
    • Made calls to Nijikokun's permission static
    Version 1.2.8 > 1.2.9
    • Built with PluginControl(0.3)
    • Code for Nijikokun Permissions through PluginControl
    • Fallback to basic mode when plugin can't be loaded somehow (which was the case for me)
    Version 1.2.7 > 1.2.8
    • Built with PluginControl(0.2)
    • Removed a potential memory leak
    • Better handling when dependency is not found
    Version 1.2.6 > 1.2.7
    • Added permissions with PluginControl(0.1)
    • Per group based limitations
    • /pwv, /pwa available again
    Version *.*.* > 1.2.6
    • Removed the /pwa and /pwv command (temporarily)
     
    findus1994 and DoomLord like this.
  2. Offline

    The_Wrecker

    I've identified a problem with latest unstable version. I'm working on a release. Strangely this only happens when running the jar (and not from my IDE).

    It looks like the error/traces posted above btw.

    * Seems to be a problem with the built-in Permission system within PluginControl. I've managed to fix it. Not sure if Permissions and or GroupManager suffers from the same error.
     
  3. Offline

    Skrolan

    what is the diffrent whit warp and teleport???????????????
     
  4. Offline

    The_Wrecker

    Uhm, What do you mean.

    Btw RC2 is out in the Unstable releases

    Promoted last RC as a stable release. V 1.4.6

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jan 8, 2016
  5. Offline

    oliverw92

    Would you be willing to let me have a look at the source? I'd like to see how you are storing private warps
     
  6. Offline

    d3x

    Some of my users are saying when warps are built over and they try and goto them they get teleported into the void and lose all their stuff. Should it not be looking UP for a safe place to teleport to not down?
     
  7. Offline

    The_Wrecker

    They will be teleported to the exact spot where the warp was created. Not above or below that. If there is a void there or other blocks... or that part does not get loaded. If they warp into blocks, they'll probably suffocate...

    @oliverw92,

    I'm not releasing my source, but I'm willing to help. Seems you wan't to store locations, what kind and how many? And you should think about who or what accesses them. I chose a filebased system, you can do the same with an OutputStream or PrintWriter class. What ever you write to that stream ends up in the file.
     
  8. Offline

    d3x

    Test it yourself, I set a PW cover it and am teleported below it even though there is space above it unless there is nothing below it then you are teleported into the void. You should check that the blocks are air and if not teleport them to UP to air not down.
     
  9. Offline

    The_Wrecker

    d3x,

    Than that's a new behaviour of minecraft. I'm pretty sure I'm not tleporting people into the void (lol).

    I'll test it out and look around a few blocks for a spot to teleport to. UP, N,S,W,E,DOWN. radius of five blocks or something.

    btw. Have you guys already seen the video? (My first try at an instructional video)
     
  10. Offline

    ledhead900

    @The_Wrecker
    Latest Stable Build 1.4.6
    Breaks WP

    I go to use "/wp goto" it now apprently says to do "/wp warpname", Doing something like "/wp miningtown" trigger a event could not be handled error, you know the Red text that appears when an event screws up.

    CB 740

    PW seems to working as normal.
     
  11. Offline

    The_Wrecker

    Thanks for the report, I'll look into it.
     
  12. Offline

    ledhead900

    PHP:
    22:12:53 [SEVEREnull
    org
    .bukkit.command.CommandExceptionUnhandled exception executing command 'w
    in plugin PublicWarp v0.43
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java
    )
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.jav
    55)
            at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandl
    java:677)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:6

            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:634)
            at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:370)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
            at wrecker.tech.r.a(Unknown Source)
            at wrecker.publicwarp.PublicWarp.onCommand(Unknown Source)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
     
  13. Offline

    The_Wrecker

    @ledhead900,

    Seems you actually caught a bug there. Index out of bounds. First thing when I get home I'm going after it...
     
  14. Offline

    ledhead900

    At least I'm usefull sometimes :p
     
  15. Offline

    The_Wrecker

    I had to run out of bounds to get to the bug. The bug had the index and I needed that. So I took it back and gave the bug to my sister as a pet. I hope it won't escape ;)

    Just kidding. I fixed it and uploaded a new PublicWarp version (0.44). Only a PublicWarp update is needed.
     
  16. Offline

    ledhead900

    cheers about to test it but a new reco build just came out 766 - don't you love coding :p
     
  17. Offline

    The_Wrecker

    Lolz, yeah I saw that. Haven't tried it yet.

    wth Bukkit exploded to over 7 megs??? HOw what? :eek:


    btw. I think 766 should work fine
     
  18. Offline

    The_Wrecker

    New release candidate released. You can find it under the Unstable.
    Has block detection before warping to it...
     
  19. Offline

    oliverw92

    I was planning on modifying PrivateWarp to use MySQL (can just use the built in Bukkit Persistence, works well) instead of flatfile. If you won't release the source, would you add MySQL support in? Our server has automated backups of our database, so we now store as much as possible in there. Our next step is to try and get peoples private warps in there. There has always been an underlying worry between the other admins and I that say for some reason you were to stop developing this plugin, there would be no way for anyone to fix it and since we don't know the exact way you have encrypted or compressed the files we wouldn't be able to restore the privatewarps of our server users.
     
  20. Offline

    MacG32

    Error at startup with CB #773 and PW v1.4.6:
    Code:
    [SEVERE] wrecker.control.PluginControlPlugin cannot be cast to wrecker.control.PluginControlPlugin loading PrivateWarp v1.4.6 (Is it up to date?)
    java.lang.ClassCastException: wrecker.control.PluginControlPlugin cannot be cast to wrecker.control.PluginControlPlugin
        at wrecker.tech.PrivateWarp.b(Unknown Source)
        at wrecker.tech.PrivateWarp.onEnable(Unknown Source)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:677)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:249)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:131)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:109)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  21. Offline

    The_Wrecker

    @MacG32

    I can't yet tell why it does that yet. It's not an incompatibility API wise. It might be Bukkit returning something else from its pluginmanager. Even my unstable doesn't work on that Bukkit build.

    @oliverw92
    I understand your worries, except I put too much time into this plugin to abandon it without notice. About the MySQL and or persistence... Not too sure yet. I had the question before though, but maybe I can do an interface. Btw. I don't really care for the persistence in Bukkit (it won't be faster and or better), but if I'd do something like an interface it'll probably be Bukkits persistence...

    MacG32,

    I did a quick fix(unstable build RC2). Probably does not solve much and your console gets spammed.. :(

    built in permissions will work, but not others, seems that PluginControl is not instantiated right or not returned the right way (Thinking the latter).

    btw. build 771 does seem to work as expected....

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jan 8, 2016
  22. Offline

    MacG32

    Thanks for such quick responses, working to get it compatible, and sorry about that The_Wrecker. Seems it's been fixed in the next commit by stevenh:
    Fixed java plugin class loader so it works with plugins that contain classes also
    present in other plugins. This also removes the changes from commit 1c4bde50bc12d130f6c8 which was added in order
    to fix this issue but wasn't ideal as it required plugins to be updated which isnt
    required with this fix

    Edit: CB #774 is still breaking plugins. :oops:
     
  23. Offline

    oliverw92

    If you were to ever abandon it, would you make it open source and unobfuscated?
     
  24. Offline

    The_Wrecker

    When I'm abandoning the project/plugin:

    -I will make the warps readable text so you can port import it into another plugin. At least make it accessible to you.
    -I don't want to rule out the option to look at the source with an agreement, but I won't opensource it to the public. Just not entirely sure about the opensource part since I have copyrighted code in there.
     
  25. Offline

    oliverw92

    Ok, thanks :)
     
  26. Offline

    ledhead900

    @The_Wrecker

    Request

    1. Add command Alias support in the plugin.yml file :D plox

    We wanted to add /warp and /home as alias's but the plugin.yml does not seem to support it like essentials does.
     
  27. Offline

    The_Wrecker

    @ledhead900

    I'll do some coding later this week. Had to do some studying this weekend. Sorry for not getting back to you earlier. Maybe it's an easy thing to add. If it is I'll add support.
     
  28. Offline

    MacG32

    Everything's working normal again using CB #784. :)
     
  29. Offline

    ledhead900

    Np I kinda forgot I asked. I don't think it would be mind boggoling pretty sure bukkit plugin.yml has native support for it you just need to add it.

    I'ts probably something like adding an alias and then makeing it so where ever alias is used u call the command if it detects an appropriate alias in the aliases[word,word2,etc] that would be associated to each command in the plugin file.

    I forgot what you guys call it w8 w8 its comming back a "Function" I think ?
     
  30. Offline

    The_Wrecker

    Thanks for the heads up.

    And ledhead, I'll check it out.
    Function function, alright :)
     
  31. Offline

    Sh4d0w

    where are the created warps saved?
     

Share This Page