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.
another good idea is a framework regenerator (container block and its content item) for arena rooms :D
This is working great, thank you. Only feature I would like to see added is ability to have a placeholder block instead of just air.
can you add some work for regen bloks damaged by ANY explosion? creeper, tnt, wither, unknown... etc
@Raidendex
problem solved by installing java for 64 and 32 both
@midbifroid
That's what I get. with latest version of RB from here and beta version of bukkit. Seems fine.
http://pastebin.com/BY13jrKZ
nope :( i got the followin error http://pastebin.com/TgUJkdE3
Bukkit 1.4.7 under windows 7 ultimate 64
@midbifroid
Works fine for me.
Is there an error log or just "dont work" =.=
any alternative to regenblock? more of the same, timed terrain regeneration on mining/explosion/grief/etc... all, i am creating a boss-room with wither and i dont want let him esacpe :D (bedrock bug)
dont work for 1.4.7 :(
i tried it wont work on 1.4.6 :(
oh i installed it second time and it works !! :D
P.S thx u for this plugin its amazing :D
@gwidas78
Im guessing you haven't tried just using it. Versions should not matter that much
well you see im using 1.4.6 version and this plugin are only for 1.4.5
@gwidas78
Does it not work?
Really nice job, i very need this plugin please can you update it to 1.4.6 ? :)
@mc_raftee
Yeah. Main reason I didn't include tnt explosion revert was that when I tried it with bukkit few versions ago for whatever reason I was not able to catch an event for every block that was destroyed. So while most of the blocks would be regenerated, there would be some holes in the area. I'd say about 10% of blocks were missed at the time.
@spacedestroy
Was asked before, but the only way to do it is to create a giant region. Use /rb select ex|ey|ez to expand in those directions from -1000000 to 1000000 for x,z and 0 to 254 for y.
Not sure how performance of that will be though, might see slow downs on a busy server. Try it and see I guess.
how can i get it work in the full map of the server?
@Raidendex
awww. tnt was the main reason i was interested in this plugin D:
@twisted067
You can make region's regen time really long and just use /rb repop command to regenerate everything when needed.
@mc_raftee
Plugin does not record those kind of event, it is not a bug.
I have no plans to add support for them as my earlier testing with things like TNT produced low quality results. Server would not throw event for each block destroyed etc. so in the end some holes still would exist. As a purpose of this addon was to regen some simple regions of wood etc I've decided to not bother with weird things like that.
Most regenblock will do to prevent some of non-player actions is to cancel some events like leaves fading etc.