Inactive [EDIT/FUN] BlastPick - Clear your path. [1.1-RB]

Discussion in 'Inactive/Unsupported Plugins' started by gnftoxic, Mar 3, 2011.

  1. Offline

    Xathzcraft

    Forever blastpickless... :(
     
  2. Offline

    ArmEagle

    Isn't the only problem with this plugin right now that it will only remove one block when you aim south?

    Edit:
    Ok, this is weird. I downloaded the code and added the 'logging' of when a block is going to be removed by the plugin. Then the blocks are removed just fine. But when I remove those lines again, to the south only one block is removed. Very strange.
     
  3. Offline

    gnftoxic

    Sorry guys I've been having a ton of issues with my game server that had to be dealt with first.
    First it was lag, then we had to switch hosts, host suspends us for 'over usage of disk i/o' even though they offer minecraft services, so we move back and we can't get things working right ... it's all a damn hassle. I'm going to do the plugins now while I am waiting for my new dedicated server to be provisioned.

    This has been updated for CB #740, simply redownload from the first post (or here: https://github.com/downloads/gnftoxic/BlastPick/BlastPick.jar)

    The one-block thing seems to have gone away after rebuilding.

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

    ArmEagle

    It doesn't seem to have fixed it permanently for me yet.

    I was actually working on my own TradeCraft (modded) plugin and decided to test yours too.

    The first time I started the server with your version, the first hit (bp set to 2) to the south, only one block was removed. I then turned around and tried the other directions. When I tried towards the south again, it suddenly started working just fine, removing 2 blocks.

    I needed to test another build of my script and again I decided to test your script. But this time, even after trying other directions, moving around, whenever I tried to use BP to the south, it only removed one block.

    I only had my own two scripts installed. And only TradeCraft could cancel block breaking. But if it does, it gives a warning when the event is canceled. So that cannot be the cause either.

    Something really weird is going on here. Since, as I said before. When I tried my own build, where I print a message with the block coordinated before every call to "replaceBlock(nb);", then it worked just fine from the get-go. But maybe that was a fluke too.
     
  5. Offline

    ArmEagle

    You might also want to prevent bedrock from being removed. Since you already prevent furnaces, chests and workbenches from being removed, it shouldn't be hard to add bedrock to that list.
     
  6. Offline

    gnftoxic

    Right. I keep forgetting to add that. Or add it where it wont remove the last layer of the world.
     
  7. Offline

    Lioele

    thank you so much for blastpick :)
     
  8. Offline

    MrX00

    Please do this as our server is using bedrock to protect some stuff and would like admin to be able to remove it if required. I know there are other plugins that protect stuff but this is easier.
     
  9. Offline

    ArmEagle

    I don't get why it took me so long to figure this one out.. But the following code at bpbl.java:53 makes it so that when you turn around to the left to get a negative yaw/direction, north and south get reversed (yaw -90 is north).

    Code:
    if (dir < 0)
      {
        dir *= -1;
      }
    
    This turns -90 into +90, switching north and south.

    I'll look into fixing that myself in a fork and adding bedrock protection later I guess.

    Ok, there I go

    Download link here: http://dl.dropbox.com/u/20956285/Bukkit/BlastPick/BlastPick.jar (BlastPick vAE1.1)
    Source here: https://github.com/ArmEagle/BlastPick

    * Cleaned up some code:
    - Only register event listener once
    - Do not act event handler when disabled
    - One function to log them all
    - Use plugin description class to grab plugin name and version from
    plugin.yml (also for Permissions)

    * Fixed north-south inversion issue
    * Do not remove dispensers
    * Only remove Bedrock when it's above level 8

    I'm gone for 4 days now. But feel free to let me know what you think.

    Another thing I might change (yes after this I'm really gone...), though it could be optional, is not to just set the block to air, but create block break events. That way permission mods can cancel it and plugins like BigBrother should be able to log it.

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

    Minecrafter9001

    Awesome mod, now I can make easy tunnels.
     
  11. Offline

    ArmEagle

  12. Offline

    Necromek

    Update main link for plugin. didn't scroll through thread so only got the original.
     
  13. Offline

    ArmEagle

    I can't since I'm not the original developer. I will probably start my own thread soon though. Then that will show up in the Bukkit plugins list again.
     
  14. Offline

    gnftoxic

    I'll update the first post. I wanted to thank you for taking over development / updates while I was gone / busy. :)
    I'll be taking over development on all my plugins again and restoring an old one soon enough.
     
  15. Offline

    ArmEagle

    Welcome back! :)

    You're welcome to use any of my code on my fork for the continuation of BlastPick, I'll submit a new pull request for my current code, I had one before, but I think a few small things changed. Oh, looks like my pull request was the latest already and you already accepted that :).

    Two things about my latest addition; the firing of the BlockBreak event. I had thought about making it optional, but didn't feel like making a config file yet. Another way to do that would be to use a separate command for that case.
    Second, I do send the event, but maybe we should let any protection plugins block the breaking. I didn't have time yet to see how to do that. But I guess you'd have to register a listener at one of the later priorities, compare the break event to our own (object comparison I guess) and only break the block if the event wasn't canceled.

    Funny, I only recently installed that breakevent version on our own server a few days ago. And the day after there were already two people who messed up, a little bit. I could rollback their mistakes with BigBrother without a problem!
     
    gnftoxic likes this.
  16. Offline

    gnftoxic

    Yeah I have been watching my email for any updates and stuff :p

    I think as far as the block break event, I think we just have to set the priority to Highest or Monitor, and do:
    if(event.isCancelled()) return; (I had to do this for Paid2Mine today)

    If I missed something, don't mind me, it's 5 am in the morning and I haven't slept yet :)
     
  17. Offline

    ArmEagle

    Heh didn't miss mutch. And if you've done it for another plugin before, then it shouldn't be hard to change it to that for BlastPick too.
     
  18. Offline

    gnftoxic

    Implemented, working fine on my test server. Only problem is that the user gets spammed with "You don't have permission for this area." At least they'll get the point. :p

    BlastPick 1.3.1 has been released, check the first post for the changelog. :)

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

    ArmEagle

    ... forgetting a break ... *blush* :)

    I didn't know that createEvent caused all other plugins to be called synchronously. It seemed logical to me that the event would 'disappear' into CraftBukkit and be handled eventually by all registered plugins. It being synchronous does of course allow for this very simple checking though :)

    Hmm, never thought to check before. But if Permissions is not present BlastPick will cause an exception at bpm.java:49:
    Code:
    12:46:22 [SEVERE] Error occurred while enabling BlastPick v1.3 (Is it up to date?): com/nijikokun/bukkit/Permissions/Permissions
    java.lang.NoClassDefFoundError: com/nijikokun/bukkit/Permissions/Permissions
            at me.pwnage.bukkit.BlastPick.bpm.registerPermissions(bpm.java:49)
            at me.pwnage.bukkit.BlastPick.bpm.onEnable(bpm.java:37)
    
    You do catch NPE, but that's not the exception thrown. I myself check whether perms is null or not and that seems to suffice, so it is a bit weird that it doesn't just throw an NPE. I just modified the given example a bit for my own scripts:

    Code:
    private void setupPermissions() {
    		if (this.permissionHandler == null) {
    			Plugin permissionsPlugin = this.getServer().getPluginManager().getPlugin("Permissions");
    			if (permissionsPlugin != null) {
    				this.permissionHandler = ((Permissions) permissionsPlugin).getHandler();
    				SheepFeed.log("Permission system detected.");
    			} else {
    				SheepFeed.log("Permission system not detected, anyone can feed, only OPs can info.");
    			}
    		}
    	}
    
    And not that it matters much, but you only need to keep the permissionsHandler at a global level, you can check that for null instead of perms.

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

    The Zephyr Kid

    Is 20 the maximum :(
     
  21. Offline

    ArmEagle

    Right now, yes. You can of course change the code and 'compile' it yourself. But to be honest you're then probably better off just using WorldEdit.
     
  22. Offline

    gnftoxic

    I'd have to agree.
    I'll add a configuration soon, I'm just a little caught up with making a few new plugins at the moment, only one which I'll be releasing (and still needs a little bit more work). Probably add it tonight and update my other plugins as well.
     
  23. Offline

    zawmbee42

    Strange problem here...I have no other way to put it except...I type in the command /bp 10 or whatever number, then try right clicking...NOTHING happens.
     
  24. Offline

    gnftoxic

    What build?
     
  25. Offline

    zawmbee42

  26. Offline

    polux7

    look good for mining i'll try it when i can ^
     
  27. Offline

    gnftoxic

    Any protection on the area(s) you're trying, such as WorldGuard? Are there any plugins that would limit the breaking of blocks?
     
  28. Offline

    ArmEagle

    When you try to break a note block with BlastPick you get the following error and the player is disconnected:
    Code:
    14:18:07 [WARNING] Failed to handle packet: java.lang.NullPointerException
    java.lang.NullPointerException
            at net.minecraft.server.BlockNote.interact(SourceFile:34)
            at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:221)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:550)
            at net.minecraft.server.Packet15Place.a(SourceFile:57)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    I guess you should add note blocks (id 25) to the excluded list.
     
  29. Offline

    gnftoxic

    I'll certainly look into that. More than likely just the standard function attempting to take over.
     
  30. Offline

    christley

    would it be possible to reverse everything?
    no no like undo, but like add something in that many squares like blastpick does.
    for example, /bp 20 dirt (or id) would add 20 dirt at the way im pressing
     

Share This Page