[INACTIVE][MECH/MISC] ComPassionate v0.2.4 - A Compilation of Useful Compass Features [953]

Discussion in 'Inactive/Unsupported Plugins' started by DrBoweNur, Jun 6, 2011.

  1. Offline

    DrBowe

    ComPassionate - Bringing usefullness back to the compass!
    Version: v0.2.4
    Download: ComPassionate v0.2.4 (JAR)

    THIS VERSION IS NO LONGER SUPPORTED. PLEASE CHECK THE NEW THREAD RIGHT HERE
    ComPassionate v0.2.4 (Bounty Hunter Release)
    So you can stalk her in-game, too...

    Quick video showcasing ComPassionate:


    Development Resumed.

    Shout outs:
    - Huge thanks to Adamki11s for his plugin-making tutorial
    - Huge thanks to rockbeatspaper and Azimuth's source, which helped me figure out how to properly set up HashMap and accesss it via a new class.

    Ever wondered why Notch took the time to add the compass, and then destroyed its use by the creation of beds? If so, then you've been wondering the same thing as me.
    ComPassionate is my very first plug-in, and because of this, it is going to have some bugs to be ironed out. What will it do, exactly? Well, it is going to revolutionize compasses and make them more practical (and immersive) to use. However, as I've only just begun development on this plugin, its current feature is to allow the player to set 'compass nodes', that they can then direct their compass towards. There will be more to come, and fast. :)

    Features:
    • Currently 4 Unique Compass Modes to make your compass experience more enjoyable and practical!
    • Completely internal control (no commands, simply left/right click!)
    • (NEW) Mob Scanner (Compass Mode) Read further down to find out more!
    • (NEW) Bounty Hunter (Compass Mode) Read further down to find out more!
    Commands:
    • /compassionate - lists instruction on how to use the plug-in
    • (NEW) /mobscanner - lists info on how to use the Mob Scanner aspect
    Permissions:
    - None, at the moment

    Usage:

    Compass Mode: Node Tracker
    Show Spoiler

    The Node Tracker was the first feature to be implemented into ComPassionate, but it is certainly not working 'as intended'. What node tracker allows you to do, is set a location that you can then have your compass target at any moment in time. However, in the future, this mode will be expanded to allow multiple nodes, and even names for each location you set! It's like warps, but more immersive, and (of course) more 'hardcore'!
    • Switch to Node Tracker Mode by right clicking with a compass
    • Set a node by left clicking (this can be done while in default, as well)
    • Shift-Left Click will update your compass to follow a new node, and activating Node Tracker Mode will do this as wel

    Compass Mode: Mob Scanner
    Show Spoiler

    The Mob Scanner mode is a feature that was recently implemented in v0.2. In essence, it will scan an area around you (30 x 30) for mobs, select a mob at random, tell you what type of mob it is, and set your compass to follow that mob.
    Usage:
    • Right Click until Mob Scanner Mode is selected
    • Left Click once to scan mobs in the surrounding area
    • Left Click again to update your targets position (this is to keep your compass from leading you to where the mob WAS, as opposed to where it is NOW)
    • If you dont like the mob type its scanning, or dont feel like going to find it, Crouch and Left Click at the same time. This will clear the compass' target, and allow you to start again

    Compass Mode: Bounty Hunter (NEW)
    Show Spoiler

    The Bounty Hunter mode is extremly similar to the Mob Scanner mode, except it will scan players instead of mobs. For this reason, I'm not really gonna give much use info for it. All the steps for the mob scanner, are the same for this. (Just pretend each 'mob' is replaced with 'player'

    There is one difference, however:
    The player-tracking area is 100x100, as opposed to the mob scanner area of 30 x 30.

    Known Issues:
    - Reloading/Restarting the server reverts your node (Issue with HashMap saving/loading
    - Once the direction of the compass is set, you cant go back to having it point at spawn (RESOLVED)
    - Plug-in conflict with (I think) WorldEdit, which has a tool for warping with the compass in hand. To bypass this, simply change the tool in the worldedit config, or make sure you dont have the permission node for it.

    TODO:
    Show Spoiler

    • Fix data-saving on restarts/reloads [Coming up in v0.2.5]
    • Add permissions support [Coming up in v0.2.5]
    • Add ability to create more than one compass node, and cycle through them [Coming up in v0.3]
    • Add ability to cycle between spawn and node [v0.1.1]
    • Add command to instruct players on how to use ComPassionate [v0.1.1]
    • Add new mode 'MonsterHunter' that picks up a mob in a 30 block radius and sets the compass' target to the mob. (would also give a display message saying a mob has been picked up) [v0.2]
    • Add treasure hunter mode. This will be very complex, and most likely a difficult task for me! I'll do my best to code it ASAP, but don't expect a release anytime soon!
    • Fix NPE being thrown into console if a player doesn't have a node registered upon logging on

    Suggestions/Requests:

    Have something you want added that's compass related? Let me know, and I'll be glad to give it a shot! Just post your request here in this thread, or send me a PM. I'm having fun learning the Bukkit API, so I'd love to figure out what you need to be done :)

    Changelog:
    Version 0.2.4
    • Bounty Hunter no longer tracks NPCs (if using Citizens plugin)
    • Node Tracker now has the feature to Shift-Left Click in order to update to your most recent node (a feature it SHOULD have had before, but wasn't properly implemented in the coding!)
      • To elaborate further, the only way to 'update' your compass target before, was to switch all the way around until you hit Node Tracker again, which updates to the node by default. Now, you can simply shift-left click in order to do this!
    • Any and all NPE's have been fixed. Go ahead. Try to get some spammed. I dare ya'. (But seriously, I *think* I got rid of them all with a little code re-working, let me know if it works or not ;) )
    • Players are now loaded into the Compass Database via logging in, as opposed to their first 'right-click' (this is what was causing NPEs before)
    Version 0.2.3
    • Bug fix to multiple unforseen issues with Mob Scanner and Bounty Hunter
    • Added new Compass Mode (Bounty Hunter)
    • Additional code clean-up (not much)
    • Basis for permission's support (not implemented, but should be in 0.2.5)
    Older Changelogs:

    Show Spoiler


    Version 0.2

    • Improved Compass Mode toggling
    • Added new Compass Mode (MobScanner)
    • Added new command /mobscanner (I'm aware that it should be branched off of /compassionate, fixing later ;)
    • Improved overall message display, to make things clearer and neater
    Version 0.1.1

    • Added command /compassionate
    • Added ability to cycle through spawn and the player's waypoint/node
    Version 0.1
    • Releasing ComPassionate to the public


    Ack, 0.1.1 has a bug where it spams each message twice. Working on a hotfix. I guess this is why I should test things on my public server and test server BEFORE posting a new version >.<

    EDIT:
    As it turns out, I had two of my own plugin on my live server. There's nothing wrong with 0.1.1, just my common sense.

    Just thought I'd give an update about version 0.2 (not sure if anyone's downloading since its such a simple plugin, but hey! It's nice to keep things organized!)
    Development for the new Mob Hunter mode is coming along nicely.
    Features of the new Mob Hunter mode(Everything is coded except for features in red):
    • Right Click (cycle compass mode) to reach 'Mob Hunter' mode
    • Once on this mode, left click to 'scan' the area for mobs (currently a 20 radius, subject to change)
    • Why 'player activated scans'? It leaves less of a memory footprint if its not constantly scanning based on player movement. In addition, it adds another level of user-interaction.
    • Displays amount of mobs in area (if 0, displays that there are no mobs around)
    • Picks a mob (at random) from the list of nearby mobs and sets the compass to follow that mob (updating movement every 5 seconds) <-- Again, to lessen the memory footprint User Sneak-Left-Clicks to update the mobs location.
    • Tells the player what type of mob it is tracking
    • After the selected entity has died, prompts user to left-click and scan again.
    • After the selected entity has moved a certain distance away from the player, prompts user to left-click and scan again. Might be added later, out of my league at the moment.
    Now, my goal here is to provide some legitimate USES for the compass, so allow me to list some uses of this:

    • Can be used to hunt down and kill certain types of mobs. AKA, scan until it locates a pig, then go hunt down your pork!
    • Can be used to help find expansions in caves without senseless digging! Hear a zombie moaning in a nearby area? Use your compass to dig straight to the bastard!
    • Can be used to run FROM the mobs (emergency situations). If you activate your tracker and you get 4-5 mobs in your area, odds are, you best be running faster!
    Anyways, I plan on releasing 0.2 sometime tommorow! Will feature a re-written compass-toggling algorithm, mob hunter (The main reason this is getting bumped to 0.2), and (possibly) permissions support!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
    Darkaegis likes this.
  2. Offline

    gameswereus

    oh haha :p I thought that's what you meant. Hope they allow you to use their API!
     
  3. Offline

    DrBowe

    I mean, it can still be used as a tracking method of players with bounties, it just doesnt 'specifically' target those players
     
  4. Offline

    gameswereus

    Ok that's cool :p
     
  5. Offline

    DrBowe

    New Version (0.2.4) is out
    I'd be more enthusiastic, but this one was more of a bug-fix update, and doesnt really add new content. Certain things weren't acting as they should be, so I fixed 'em. :)

    Changes:
    • Bounty Hunter no longer tracks NPCs (if using Citizens plugin)
    • Node Tracker now has the feature to Shift-Left Click in order to update to your most recent node (a feature it SHOULD have had before, but wasn't properly implemented in the coding!)
      • To elaborate further, the only way to 'update' your compass target before, was to switch all the way around until you hit Node Tracker again, which updates to the node by default. Now, you can simply shift-left click in order to do this
    @Joy

    • Any and all NPE's have been fixed. Go ahead. Try to get some spammed. I dare ya'. (But seriously, I *think* I got rid of them all with a little code re-working, let me know if it works or not ;) )
    • Players are now loaded into the Compass Database via logging in, as opposed to their first 'right-click' (this is what was causing NPEs before)
    I still don't have much time to mess around with the multiple-nodes feature, because it would require MAJOR design changes in my coding. And my server is still hectic, which doesn't help. However, I figured I owed a little bugfix update, for anyone waiting :p

    EDIT:
    Also, tested against 928. Still works (not expecting it to break based on changes, but a little reassurance never hurt)
     
  6. Thanks! testing :D
     
  7. Offline

    DrBowe

    *crosses fingers*

    EDIT:
    So funny story, I just managed to get an NPE (realized I might have potentially forgotten something, and as luck would have it, I did!)
    Shift-Left clicking when the player hasn't set a node yet, will (unfortunately) thrown exceptions. However, this is much less likely to be spammed.

    Either way...
    Working on a hot fix :p

    EDIT:
    And, done. NOW try to get NPEs! :x
     
  8. Hah just came here to post NPEs :p

    Testing newer version now.

    ===

    Edit: same issue on newer version, spams errors after a /reload, before that I saw none :/
     
  9. Offline

    DrBowe

    Argh, reloads. Should have seen that coming. My plugin isnt really built to be reload friendly, much less restart friendly (since I havent been able to make anything serializable yet)

    I'll look into it, but I'm not too sure if I'll be able to fix this one as easily as others :X
     
  10. "Steal" code, usually works best :p
     
  11. Offline

    DrBowe

    Incase anyone's wondering, I haven't abandoned this plugin. I'll go ahead and give a little status update:
    I've implemented the following features for the next release of ComPassionate (It will be a major release):
    • Configuration for:
      • MobScanner range
      • PlayerTracker range
      • Switches for each node (You can choose which ones players can use/can't use globally)
      • A few more things (being kept secret, for now ;) )
    • Permissions Support for all of the compass modes
    • Saving a location to a file (Yes, this means that a full-featured Node Tracker (as suggested by @Mentioum ) is in the works)
    Things I'm still working on:
    • In-Game commands to configure which compass modes you can cycle through (provided you have the permissions to use them in the first place)
    • A few timer-related functions to make things a bit more...nifty ;)
    • As stated above, I'm working on a full-featured Node Tracker
    • (Possible) implementation of HeroBounty with 'Bounty Hunter' mode (Waiting for a response from its developer)
    Unfortunately, I go on yet another trip in 2 days, so I can't guarantee a release before I leave. I will (at the very least) try to push out the configuration/permission update before I go.
     
  12. Offline

    gameswereus

    I really happy to see me reading the plugin description wrong and it turned into a suggestion. That's badly worded but you get the point :p
     
  13. Offline

    yourock129

    This plugin seems to be amazing. I will be getting this on my server very soon. Thanks for making it!
     
  14. Offline

    gameswereus

    Is this going to be updated to the latest RB ?
     
  15. Offline

    DrBowe

    @gameswereus
    It probably already works on the latest RB, as nothing has changed in the API. If you want to test and confirm that, I'd appreciate it. Sorry about the inactivity on this plugin, though. I've been very busy with this

    Once that's out into Releases, I'll come back to this and sort everything out. But yes, this should be fine on 1000.
     
  16. Offline

    gameswereus

    I'll test it as soon as I can. I'd rather you work on that then this though :p it's looking great.
     
  17. Offline

    TheTennessee

    The player tracker doesn't seem to be working, but aside from that, it's pretty sweet. I am however mostly waiting on permissions. I want to give my rangers this... not everyone.
     
  18. Offline

    DrBowe

    @TheTennessee
    What about it is functioning wrong? This was my very first plugin, so I havent applied any of my newly-learned techniques to it yet. Its possible I overlooked something.
     
  19. Offline

    TheTennessee

    Last time I checked, it wouldn't track players nearby me, even when I tested up close to another player. I followed what the video said, and mobs are working, just not players.
     
  20. Offline

    DrBowe

    @TheTennessee
    That's...odd.
    Are there any errors that display in the console? I just tested this again on my live server and it worked fine.

    And to clarify, you've switched the compass modes around until it lands on Bounty Hunter, right?
     
  21. Offline

    TheTennessee

    I'll have to test it again pretty soon here, but yes, I was on bounty hunter.
     
  22. Offline

    richdaddyy89

    when ever i left click with the compass to set my node it gives me this.

    21:53:19 [SEVERE] Could not pass event PLAYER_INTERACT to ComPassionate
    java.lang.NullPointerException
    at me.DrBoweNur.ComPassionate.ComPassionatePlayerListener.onPlayerInteract(ComPassionatePlayerListener.java:151)
    at org.bukkit.plugin.java.JavaPluginLoader$10.execute(JavaPluginLoader.java:307)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:168)
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:63)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:458)
    at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  23. Offline

    TheTennessee

    Oh, well crap... I forgot to test this before. Good reminder I guess. So, I tried it. It just says "Searching for players..." and then never does anything else, no errors or anything.
     
  24. Offline

    DrBowe

    For anyone interested, I've begun a massive overhaul of the coding for this plugin. I made this as my first plugin a while back...and I think its time to re-do everything for the better.

    Expect several new features, particularly the ones I promised a long time ago.
     
  25. Offline

    DrBowe

Share This Page