RegenBlock
Part of the Minds of Chimera Project (dev)
CodeBlocks | MOCPlaytimeTracker | MOCDBLib | RegenBlock | MOCGoodEats | MOC3DImporter | ImageImport | MOCKiosk | MOCRater | MOCFizziks | GravitySheep | MOCChemistry | MOCRegistry
RegenBlock allows a creation of regions within Minecraft worlds that have a certain re-spawn timer assigned to them. Once a block in the region is destroyed by a player or a new block is placed it will regenerate to the old state after the timer is up.
Example uses
Regeneration of natural resources in certain areas, resetting of region to an earlier state - in a tutorial area on my server, there is a broken bridge that has to be repaired by the player, but after the player does so the bridge would normally remain fixed for the next player that does the tutorial, with RegenBlock I am able to "regenerate" old broken bridge. Can be possibly used as anti-griefing to some degree, but it will only check events associated with played placing or destroying blocks, not tnt, lava fire etc.
Permissions
regenblock.self - all or nothing permission for the use of any commands
Commands
(all at op level)
- Selection
- /rb select (ex,ey,ez) - Starts/stops player's selection mode. ex/ey/ez will expand selection in that direction. Y is vertical.
- /rb listselection - Lists player's current selection points.
- Editor
- /rb edit - Puts you into editor mode that allows you to change blocks in a region without triggering the re-spawn.
- Info
- /rb info - Print out information about the region in front of the character
- /rb list - lists all regions
- Global Blacklist
- /rb blacklist add/remove (id id id ...) - adds/removes supplied block IDs. Blacklisted blocks will be ignored by the plugin and not regenerated.
- Reload
- /rb reload - Reloads the configuration file. Use this if you updated regions through config.yml and have to reload it.
- Region management
- /rb create (name) [re-spawn time] - Creates a region based on your selection from /rb select
- /rb remove (name) - removes region from the list
- /rb type [typeId] - sets region type, 0 for normal, 1 for mine. Mine will regenerate only upwards and with random blocks that you specify with /rb spawnblock
- /rb sync [0/1/2/3] - sets region to regenerate all at once or not, 0 - normal operation, 1 - all blocks re-spawn at once based on first block broken, 2 - same as 1, but based on last block broken, 3 - blocks re-spawn in normal order, but shifted in time based on last block broken.
- /rb modify (name) [re-spawn time] - modify existing region
- /rb modify time (name) (re-spawn time) - modify existing region's re-spawn time
- /rb alarm time/message/radius (name) (value)- changes the region's alarm settings. Alarm will go off before blocks are due for re-pop to warn players.
- /rb rblacklist (name) add/remove (id id id ...) - adds/removes supplied block IDs for region. Blacklist blocks for a specific region.
- /rb feedback (name) (type) - sets feedback type for the region. 0 - none, 1 - on place, 2 - on place/remove
- /rb feedback set (string) - sets string sent to player during region feedback. Use TIME to show re-spawn time.
- /rb spawnblock (name) - lists region's spawn blocks.
- /rb spawnblock add (name) [id chance id chance...] - adds new blocks with spawn chance. Chances do not need to add up to 100.
- /rb spawnblock remove (name) [id id id...] - removes blocks.
- /rb repop (name) - Re-spawns all blocks in a given region
API
Method available directly from RegenBlock class.
public void regenBlock(Location location, Material material, byte data, Player player, Boolean isBreakEvent) location - block's location material - what material block should be set to once restored data - data value for the restored block player - player that broke/placed the block isBreakEvent - test if this is a BlockBreak of BlockPlace event.
good
@nightfire187
Do you have issues with fluids flowing in regenerating regions, or is it just me?
your plugin just stopped regening.. I tried to delete the whole thing from my server but when i re install it comes back with ALL the info. Wut is going on??
@chris_king
Or you could give them - -regenblock.self in the permissions
la ben Türküm hani Ling 0c
With latest dev version of Spigot, the console spam errors. It happens the same as @psirusa, sometimes fails to block regeneration and some are not update, leaving holes.
It's mostly OK, I get some console errors occasionally, and it seems periodic block updates fail in the regenerating regions (no water flow, sand fall, etc.) Other than that it works well. If someone could update it, that would be awesome though.
Works like a boss on 1.7.2 NO ISSUES.........And RisenKingdoms now Loves you!
Please update this! this would be amazing to have in 1.7
I'm using a plugin called OtherDrops with this plugin. It allows certain blocks to drop custom items. However, the custom OtherDrops blocks in the RegenBlock regions don't regenerate like the normal blocks. Why is this?
Doesn't work.
Could not pass event RegenBlockEventRespawn to RegenBlock vBeta 5.7
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:482) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:467) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at net.dmg2.RegenBlock.RegenBlockQueue.checkQueue(RegenBlockQueue.java:178) [RegenBlock.jar:?]
at net.dmg2.RegenBlock.RegenBlockQueue.run(RegenBlockQueue.java:38) [RegenBlock.jar:?]
at java.lang.Thread.run(Thread.java:744) [?:1.7.0_51]
Caused by: java.lang.IllegalStateException: Asynchronous block remove!
at net.minecraft.server.v1_7_R1.Block.remove(Block.java:441) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at net.minecraft.server.v1_7_R1.Chunk.a(Chunk.java:452) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at net.minecraft.server.v1_7_R1.World.setTypeAndData(World.java:345) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at org.bukkit.craftbukkit.v1_7_R1.block.CraftBlock.setTypeIdAndData(CraftBlock.java:130) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
at net.dmg2.RegenBlock.Listener.RegenBlockEventListenerBlock.onEvent(RegenBlockEventListenerBlock.java:114) [?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_51]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) [craftbukkit-1.7.2-R0.2-20131218.060421-1.jar:git-Spigot-1259]
... 7 more
@chris_king
Don't op. Just give them permissions. That's what i did and everything is working fine, just op yourself and only yourself.
Please add these features i suggested! PLEASE! Even owners need to be protected and i heard many stories of owners who oped people thinking they could trust thier op and their own op turns against them and griefs their whole server! Can you imagine? This plugin could really gaurd a server owner from his own op turning against him if you add these features. It would be a huge blessing. There isn't a plugin anywhere out there i searched and nothing protects owners from their own operators. So please do this.
i actually thought of another idea
make it so commands can only be used int he console rather than the in-game console. So only the OWNER of the server can use this plugin. I mean there is absolutly NO plugins out there that protect a server owner from his or her own ops from griefing and this plugin is the closest thing to owner protection from their own ops turning against them.
One last idea possibly make this plugin compatible with world edit. To prevent world edit griefing too. So even if they cut the blocks with world edit then those blocks regenerate or if they try to fill command and, with the fill command, create blocks in a region those blocks will get removed. or whatever else world edit could be used for griefing.
Great plugin i mean its the best. Only one problem. It don't remove lava or water blocks that are newly added into a region. This plugin would be great to keep an opped griefer from griefing. I had ops before that griefed my server. But not even an op can edit my work. Heck yeah man. But you need to make it so it removes lava and water too. Otherwise.... cuz lava is like a griefer's favorite tool.
FINALLY removed the lighter prevention thingy (: Now I can play with my flint and steel all day :p
I do believe this exactly what I have been looking for.. but is the project this active? Many have been slowed by the 1.7.x.
PLS Update For 1.6.4 it doesnt work on 1.6.4 !!