Protect Block
Protect Block
Protect the blocks you place with Protect Block - V1.5
Development re-initiated.
Protect Block stops other users from breaking the block you place, turn it on using /ProtectBlock-On and off using /ProtectBlock-Off.
- Refer to our commands page for more info on Protect Block commands.
- Refer to our Permission Nodes page for more info on Protect Block's permission Nodes.
The latest version of Protect Block is compatible with CraftBukkit 1.4.2-R0.1, and should be with any later releases. Please comment any features that you want.
Also, why not checkout my Youtube channel? - YouTube.com/TheYianniG
Found any problems? Feel free to create a new ticket highlighting your problems.
Also check out the bukkit.org page for more info!
@RulingKyle1496
I got that too all you have to do is delete config and friend save pull out the save file and delete everything elese start it back up and put the save file back in and it should work let me know if it doesnt.
I got this on load up
21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=72,z=242,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=72,z=242,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=242,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=73,z=242,type=REDSTONE_WIRE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-315,y=71,z=245,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-314,y=71,z=245,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=71,z=245,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=71,z=245,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=71,z=242,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=71,z=242,type=DIAMOND_ORE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=71,z=243,type=ENCHANTMENT_TABLE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=71,z=243,type=ENCHANTMENT_TABLE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-315,y=71,z=244,type=ENCHANTMENT_TABLE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-314,y=71,z=244,type=ENCHANTMENT_TABLE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=71,z=244,type=ENCHANTMENT_TABLE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=71,z=244,type=ENCHANTMENT_TABLE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-314,y=71,z=243,type=ENCHANTMENT_TABLE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=73,z=241,type=REDSTONE_WIRE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-314,y=73,z=242,type=REDSTONE_WIRE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=73,z=245,type=REDSTONE_WIRE,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=247,type=DIODE_BLOCK_OFF,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=246,type=DIODE_BLOCK_OFF,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=241,type=DIODE_BLOCK_OFF,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=244,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=243,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=72,z=244,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-315,y=72,z=244,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-314,y=72,z=244,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-313,y=72,z=243,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-314,y=72,z=243,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-315,y=72,z=243,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=243,type=AIR,data=0} 21:19:49 [INFO] [ProtectBlock] Have added location: CraftBlock{chunk=CraftChunk{x=-20z=15},x=-312,y=73,z=244,type=AIR,data=0} 21:19:49 [WARNING] Could not properly handle event BLOCK_PHYSICS:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.yianni000.ProtectBlock.BBADBevents$1 at org.bukkit.event.Listener.onBlockPhysics(Listener:0) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.World.k(World.java:510) at net.minecraft.server.World.applyPhysics(World.java:493) at net.minecraft.server.World.update(World.java:459) at net.minecraft.server.World.setTypeId(World.java:434) at org.bukkit.craftbukkit.block.CraftBlock.setTypeId(CraftBlock.java:92) at org.bukkit.craftbukkit.block.CraftBlock.setType(CraftBlock.java:88) at com.yianni000.ProtectBlock.BBADBevents$1.run(BBADBevents.java:185)
21:19:49 [INFO] This error is logged only once: it could have occurred multiple times by now. 21:19:49 [INFO] Please contact one of the authors of plugin 'ProtectBlock': yianni000 21:19:49 [WARNING] Could not properly handle event BLOCK_PHYSICS:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.yianni000.ProtectBlock.BBADBevents$1 at org.bukkit.event.Listener.onBlockPhysics(Listener:0) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.World.k(World.java:510) at net.minecraft.server.World.applyPhysics(World.java:494) at net.minecraft.server.World.update(World.java:459) at net.minecraft.server.World.setTypeId(World.java:434) at org.bukkit.craftbukkit.block.CraftBlock.setTypeId(CraftBlock.java:92) at org.bukkit.craftbukkit.block.CraftBlock.setType(CraftBlock.java:88) at com.yianni000.ProtectBlock.BBADBevents$1.run(BBADBevents.java:185)
21:19:49 [INFO] This error is logged only once: it could have occurred multiple times by now. 21:19:49 [INFO] Please contact one of the authors of plugin 'ProtectBlock': yianni000 21:19:49 [WARNING] Could not properly handle event BLOCK_PHYSICS:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.yianni000.ProtectBlock.BBADBevents$1 at org.bukkit.event.Listener.onBlockPhysics(Listener:0) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.World.k(World.java:510) at net.minecraft.server.World.applyPhysics(World.java:495) at net.minecraft.server.World.update(World.java:459) at net.minecraft.server.World.setTypeId(World.java:434) at org.bukkit.craftbukkit.block.CraftBlock.setTypeId(CraftBlock.java:92) at org.bukkit.craftbukkit.block.CraftBlock.setType(CraftBlock.java:88) at com.yianni000.ProtectBlock.BBADBevents$1.run(BBADBevents.java:185)
21:19:49 [INFO] This error is logged only once: it could have occurred multiple times by now. 21:19:49 [INFO] Please contact one of the authors of plugin 'ProtectBlock': yianni000 21:19:49 [WARNING] Could not properly handle event BLOCK_PHYSICS:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.yianni000.ProtectBlock.BBADBevents$1 at org.bukkit.event.Listener.onBlockPhysics(Listener:0) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.World.k(World.java:510) at net.minecraft.server.World.applyPhysics(World.java:497) at net.minecraft.server.World.update(World.java:459) at net.minecraft.server.World.setTypeId(World.java:434) at org.bukkit.craftbukkit.block.CraftBlock.setTypeId(CraftBlock.java:92) at org.bukkit.craftbukkit.block.CraftBlock.setType(CraftBlock.java:88) at com.yianni000.ProtectBlock.BBADBevents$1.run(BBADBevents.java:185)
21:19:49 [INFO] This error is logged only once: it could have occurred multiple times by now. 21:19:49 [INFO] Please contact one of the authors of plugin 'ProtectBlock': yianni000 21:19:49 [WARNING] Could not properly handle event BLOCK_PHYSICS:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.yianni000.ProtectBlock.BBADBevents$1 at org.bukkit.event.Listener.onBlockPhysics(Listener:0) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.World.k(World.java:510) at net.minecraft.server.World.applyPhysics(World.java:498) at net.minecraft.server.World.update(World.java:459) at net.minecraft.server.World.setTypeId(World.java:434) at org.bukkit.craftbukkit.block.CraftBlock.setTypeId(CraftBlock.java:92) at org.bukkit.craftbukkit.block.CraftBlock.setType(CraftBlock.java:88) at com.yianni000.ProtectBlock.BBADBevents$1.run(BBADBevents.java:185)
please make this plugin support MySQL as soon as possible, in two days it's already occupying about 30GB of my HDD just for data
@DarkSkript
Ok, sure. Sounds great, it makes sense to stop people from using chests (that are protected) and opening doors (that are protected) and furnaces now I think about it. I'm happy to put that in, thanks for the suggestion :D . If you can think of another blocks that might be usefull to stop people using/opening tell me and I'll put it in.
Recently my LWC database with chest protections got corrupted.. But your plugin blocks people breaking the chests and prints the name, I ask one very big favour if possible.
Could you please make it so people can't open chests that don't belong to them, this will stop my server from being destroyed from people stealing items. I am lost at the moment as to how to go about this. But on chest open if you can make a method of checking who owns the block and stopping the chest from being opened if it belongs to somebody else you will be a life saver.
Thanks so much for this wonderful plugin, I hope I have not asked too much!
Hi Yianni000, I am hoping that you are still developing this plugin. It is by far the easiest individual player block protection scheme that I have come across. The only suggestions I can make that might improve this is to use SQL in some form for the data storage and if you can, make the plugin run on a thread in a CPU core not running the server. I have seen the plugin dump some exceptions, nothing to make me worry and didn't seem to stop the plugin from running, but it does hang the system for minutes periodically. Thanks to you for this plugin and you're time.
@lukecfairchild
Hi, At the moment all the data for this plugin is stored into log files - you'll only see them when you reload/stop your server. I don't like this method much, as it is quite inefficient but I'm hoping to change this.
@jigga_jones
Yes, it should do.
if i use perms on just one world would it work just for that world , like if its named RPG and i give it the perms on that world is it going to work for just that one ?
So i have a question. How is your plugin storing who owns what blocks. I didnt see any mention of sql and I didnt see any sort of log file. So far it seems to do as advertized so I approve.
Also