MobArena
MobArena copied to clipboard
Destructible sub-regions
Summary
- This issue is a…
- [ ] Bug report
- [X] Feature request
- [ ] Documentation request
- [ ] Other issue
- [ ] Question
- Describe the issue / feature in 1-2 sentences: This optional feature would be a part of the MA setup command, allowing for users to set specific regions where blocks/entities can be affected by players/mobs and other entities. (TNT and creepers for example)
Background
Feature request
-
Feature type:
- [X] Arena configuration
- [ ] Classes
- [ ] Documentation
- [ ] Economy integration
- [ ] Leaderboards
- [ ] New config settings
- [ ] Other (please explain)
- [ ] Rewards
- [ ] Third-party plugin support
What does it do?: Allows you to set specific regions (from the MA setup) that can be destroyed by players/mobs and other entities during matches, which will then regenerate to their original state when a match finishes (or if a wave ends, boss is killed or player dies etc. it could be configurable for when the regeneration occurs)
The setting of regions would be accessible through the "/ma setup" command, which provides the user with another item that can be used to set regions. When two points are selected for the "destructible" region, it would add the selection to a GUI list which could be viewed and removed by attempting to drop the "destructible" region tool.
Does it need new or changed commands? What are they?: It could potentially require a new item in the "/ma setup" command, as that is where regions for arenas are defined.
Does this feature affect other parts of MobArena?: This feature would be an optional addition for arenas in the "/ma setup" command.
The idea of making only some parts of the arena region destructible is pretty good. The suggested setup, however, is quite complex and far from intuitive. I don't think setting sub-regions is the way to go for this kind of thing to work out.
How about this: during arena setup, you can switch between two "snapshots" of the arena. One snapshot defines the indestructible part of the arena, and the other defines the indestructible snapshot + the destructible parts, i.e. how the arena looks at the start of a session. The difference between these two snapshots will be the blocks that can be destroyed during the arena session. This could probably be implemented with a spatial search tree to reduce the memory overhead, although the actual parsing/diffing could be a heavy operation.
I think we need to get some more discussion going on this before we can settle on anything. The suggestion is fine, but it needs more feedback/debate.
At any rate, this won't happen until a rework of setup mode. There's just no way to properly accommodate this kind of functionality in the current code base, and trying to weave it in would make refactoring even harder.
Allow worldguard and their priority flag option to override mobarena and this could be easily done!
@SoraShiunin it's unfortunately not that simple. If all you want is a sub-region that can be destroyed, then yes, disabling MobArena's own protection and using WorldGuard regions can work. In fact, that would work right now. The problem is that you probably want the sub-region to regenerate when the session ends. This means that MobArena has to know about the blocks that are being destroyed.
Actually, would it not work if you just enabled soft-restore but used WorldGuard to override MobArena in the regions that shouldn't be destructible? I know that people have had issues with WorldGuard overriding soft-restore in the past, so maybe this is the way to go?
I've tried to allow players to break wheat blocks. I basically did so by disabling Mob Arena protection, then I protected the arena with WorldGuard, paired WorldGuard with ExtraWorldGuardFlags: https://www.spigotmc.org/resources/worldguard-extra-flags.4823/ and you can do quite a lot basically.