[FUN] MobArena v0.96.8 - Become a mob-fighting gladiator! [1.7.x, 1.8.x]

Discussion in 'Archived: Plugin Releases' started by garbagemule, May 30, 2011.

  1. Offline

    garbagemule

    [​IMG]

    MobArena - Become a mob-fighting gladiator!
    [​IMG] Latest build: v0.96.7 (1.7.x)
    [​IMG] Wiki
    [​IMG] IRC Channel
    [​IMG] Source

    BukkitDev Project Page - Find MobArena on dev.bukkit.org here: LINK.

    ------------------------------

    Old description (open)
    If you enjoy fighting monsters for glorious prizes or just the sheer thrill of battle, you and your friends can now join forces against hordes of Minecraft evils in the exciting gladiator-style survival mini-game MobArena!

    Heavily inspired by Deminetix' Fight-plugin, MobArena is a PvE-take on arena-gameplay, with a similar class-based system. Instead of fighting other players, you team up with them to beat oncoming waves of monsters, earning rewards in the process. MobArena can be played alone, or with as many friends as you like!


    Features:
    • Fight oncoming waves of monsters
    • Play alone or team up with friends
    • Earn glorious prizes
    • Customizable classes, rewards and waves
    • Easy to set up
    • Extremely easy to use
    • Very few user commands
    • Supports Permissions and all major economies
    • Supports Spout
    • Supports Heroes
    Note: When you post a bug report, please provide a stacktrace/error from the server log/console window. Post this stacktrace in either a pastebin, a pastie, or a CODE-block! The same applies for config-files, permissions-files, etc! Please don't put them directly in your posts, as they become gigantic and annoying to read. If you don't follow this guideline, I might ignore your post!


    Wiki - Instructions, commands, FAQ, etc.
    I have set up a Wiki for MobArena. It contains a bunch of information and guides on how to set up and customize arenas, an overview of all the commands, how to set up Permissions, as well as frequently asked questions.

    New: MobArena now has its own IRC channel (#mobarena @ EsperNet). Click here for a web-based IRC client. Feel free to stop by to get help setting everything up if you really don't understand the Wiki and the instructional video, or to have a chat about MobArena (or anything else, for that matter) :)

    Relevant links:
    Videos:
    Getting started with MobArena, by Flamers
    Flamers made this really easy-to-follow, simple video of how to get started with MobArena. It covers installing the plugin, defining an arena region and setting up basic leaderboards, as well as a few pointers for arena design.
    Old instructional video (open)
    Instructional video for setting up MobArena:

    Note: This video was made for v0.67, but all the in-game instructions still work the same for the latest versions. The config-file has changed, so make sure to read the Wiki on how to set it up.
    More Videos (open)
    Review of MobArena by plugin reviewer jamescosten (v0.84):

    Note: My nickname "garbagemule" is pronounced "garbage mule", as in "trash donkey" ;)

    Hilarious showcase of MobArena by Daniel James and Daniel Cherry (v0.92.3):


    Delios showing off his beautiful arena setup:


    slowmonkey1227 in his interesting "island" arena: YouTube
    French video by avalondrey (v0.87.3): YouTube
    German video by blutherz and his friends (v0.91.2): YouTube



    Troubleshooting:
    To avoid wasting not only your own time, but mine as well, I expect everyone to do some extensive troubleshooting before posting bug reports. What does this mean?

    Try MobArena on a fresh server.
    MobArena works perfectly fine when I release it. Sure, there are a few bugs, but it works. If it doesn't work for you, something is most likely wrong on your end. Set up a local test-server, and verify that MobArena works before claiming that it doesn't. When you have verified that MobArena does indeed work, you can start adding other plugins and settings until something conflicts.

    Disable other plugins.
    The first thing you need to do is disable all other plugins. If you can't reproduce the bug with other plugins disabled, you know that you have a conflicting plugin. Now perform a binary search on the other plugins, or if you don't know how to do that, just add a couple of plugins back to the plugins-folder, try to reproduce the bug, and if you can't, the conflicting plugin must be in the remaining set of plugins.

    Write down reproduction steps.
    Figure out the exact steps to reproduce/trigger the bug. I need precise steps, and as much information as possible, because there are often many things that could be going on. An example of reproduction steps could be:
    1. Type /ma join
    2. Punch the Archer class sign
    3. Wait for someone else to join
    4. Punch the iron block
    5. Type /ma leave before the other player picks a class

    Check the console window/server.log
    Make sure you check the server.log file for any MobArena errors or exceptions. If you find any, copy the ENTIRE exception (including all the lines that say "at com.garbagemule.MobArena...") and paste it (with the other information) in a CODE-tag here in the thread.


    Donations:
    I develop MobArena for the fun of it and the positive feedback is all it takes to make me happy, but a few people have asked for a link, so if you're one of them, here's a link: Donate - You can donate as much as you want, even down to a few cents! If I get enough donations, I will spend the money on an extra Minecraft account to aid me in developing/testing/debugging MobArena :)


    Changelog:

    Version 0.94.3.24
    • Updated for CB 1337.
    • The repair-delay node is now unused! The reason for this is that it is now possible (with the release of 1317) to cancel block damage in explosions, and still retain the animation and sound! This also means that arenas should be fully pistons-compatible (for arenas that don't use soft-restore or force-restore)! I'm hoping to see some screenshots and videos of shifting arenas! :)
    • You can now right-click signs in the lobby! I finally found a super easy solution to the improperly updating inventory issue with right-clicking class signs. The result is that players can now left- or right-click as they please. This should solve all issues related to players not being able to choose classes, due to spawn region and WorldGuard/Factions/whatever conflicts.
    • It is no longer possible to warp out of the lobby.
    • New per-arena setting: final-wave - Allows for setting a final wave, meaning on that wave, the arena will end, regardless of how many players are alive.
    Version 0.94.3.11 (open)

    • v0.94.3.11 - Updated Register, built against CB 1240.
    • v0.94.3.8 - Added basic leaderboards.
    • v0.94.3.6 - Fixed MagicSpells support - MobArena no longer supports MagicSpells pre-v1.1!
    • v0.94.3.5 - Fixed a bunch of bugs introduced with CB 1185, as well as a couple of minor MobArena bugs.
    • Updated for CraftBukkit #1185
    • Updated economy support (now supports iConomy 6).
    • Added the three new mob types, Enderman/Endermen, CaveSpider/CaveSpiders, Silverfish. They can be used just like the other mob types in the waves.
    • Endermen cannot pick up arena blocks (this is why).
    • Endermen cannot place blocks in arena regions.
    • The per-class permission syntax has been fixed and changed slightly. The Wiki has been updated (clicky).
    • Fixed MagicSpells issues.
    Version 0.94.2 (open)

    • Redstone circuits now work properly in arenas.
    • Lightning now properly strikes on spawnpoints on special waves.
    • Fixed an issue where players somehow warping/cheating out of the arena world get kicked from the server when discovered.
    • Added MagicSpells support. Use the magicspells.yml file to ban certain spells from the arena either for the whole session, or only during boss waves.
    • Fixed the Heroes death conflict. MobArena and Heroes should now play nice together. Further Heroes support is planned for upcoming releases.
    • [COLOR=#1000000]MobArena will no longer support the discontinued Permissions 2.x and 3.x permission systems.[/COLOR] Recommended permissions systems include PermissionsBukkit (defacto standard) or PermissionsEX.
    Version 0.94.1 (open)

    • Added two new boss abilities: 'shuffle-positions' and 'flood'. Try them out!
    • Players disconnecting/crashing during an arena session no longer get corrupted data files due to economy rewards.
    • Weapon durability is now correctly set to "unlimited".
    • Item sub-types (cocoa beans, bonemeal, colored wool, etc.) now work again.
    • Players can no longer join the arena without first picking a class.
    • MobArena now works with spawn-monsters=false again.
    Version 0.94 (open)

    • Completely revamped the waves system! Undeniably the biggest feature in MobArena since multiple arenas in v0.92, the new customizable waves are guaranteed to bring much more awesomeness to your MobArenas. The waves system brings two new wave types, swarm waves and boss waves. The latter is a very elaborate feature, and the whole waves system has been given its own page on the Wiki. Note: MobArena will ignore all old wave settings, but use sane defaults.
    • Revamped the logging system. Instead of logging: true, you can now use logging: yml/xml. The logging system will now keep track of the last session only, but also maintain a collection of 'totals' for each arena. The idea behind these easy-to-parse files is making the stats available on server web pages.
    • Added SuperPerms/PermissionsBukkit support. Note that specifying mobarena.arenas.* and mobarena.classes.* probably won't work, but these nodes are given to everyone by default.
    • Added Spout support. Currently, the only Spouty thing MobArena does is print (some) announcements as notifications/achievements. This should limit the amount of "chat spam" that MobArena produces. Other Spout-features are planned, but don't expect something crazy. Note that MobArena does NOT require Spout!
    • Monsters will no longer target pet wolves. This is a major nerf to pet classes, but they were very overpowered as it was.
    • Fixed item amounts greater than 64 sometimes bugging out. You should now be able to put arrow:1024 for your Archer classes :)
    • Fixed players losing their stored items and/or earned rewards upon disconnecting from the arena.
    • Fixed blocks not restoring when burned by fire.
    • Fixed an issue with entry fees. They should no longer cause any problems.
    • Fixed slimes. That's right! Slimes that spawn as a result of bigger slimes splitting upon death are now considered arena monsters. This also means that Slimes no longer drop slime balls; as intended.
    • Revamped the repairing algorithm. It is now MUCH more sophisticated, and is capable of repairing not only signs and containers, but also torches, doors and beds. Redstone -should- repair properly as well, but it is still slightly buggy.
    • Added support for restorable containers. Registered chests, dispensers, and furnaces will have their contents stored upon arena start, and restored at arena end. This is useful for providing the arena players with chests with e.g. upgrades or food.
    • Added new commands (for the feature above) - /ma addcontainer <name>, /ma delcontainer <name>, /ma containers. These commands work much like the the spawnpoint commands. To add a container, simply look at the container and type /ma addcontainer <name>.
    Changelog (continued)
     
    apes, chakyl, Steffion and 64 others like this.
  2. Offline

    Bobcat00

    Let me know if you find a way to prevent creeper explosions from putting out the fires.
     
  3. Offline

    garbagemule

    Hi guys, just checking in to attack you with a wall-of-text, and to say that...

    MobArena v0.96.3 is out!

    Get it right here: CLICK FOR GLORY

    v0.96.3 is another so-called "minor" update (saving v0.97 for something special), but do NOT let that fool you! This update is jam-packed with fixes and features, so you'll most likely want to grab this as soon as you can. A rundown of some of the more important aspects of this update:
    • To accompany (or replace, your choice) the auto-start-timer, a new start-delay-timer has been introduced. This timer effectively puts a hard lower bound on the time between the first player joining the lobby, and the actual start of the arena, meaning you can give all players a fair time window to join the arena in, after a session has finished. The timer is, of course, optional, and is compatible with the auto-start-timer in a way that the auto-start-timer only starts after the start-delay-timer has finished.
    • Due to popular request, it is now possible to pick classes with the new command /ma pickclass (or just /ma class for short). Use this in combination with the auto-ready feature, and you can wave goodbye to lobbies full of signs and iron blocks, and use something cooler to represent the class options.
    • Arena containers now properly restore their contents and support all items supported by class chests (yes, that means named items with lore and all that jazz), i.e. all items support by Bukkit's ItemStack class.
    • The per-arena 'protect' flag has been fixed after many years of not working. This means that you can now make MobArena care more about monsters and less about blocks, and have something like WorldGuard take full responsibility for the health of the region. Setting this flag to false will void your (non-existent) warranty.
    • Obsidian Bomb no longer destroys half-blocks and other non-fully-obstructive blocks (like water and lava). The boss ability will now only place bombs in air blocks, and if no air block is found at the target location or 3 blocks above, the ability fails. Use this to create interesting environments where players can hide from the ability!
    • All mobs now properly check if the player they are about to target is still in the arena, i.e. no more strange bugs with mobs going after spectators, and no more boss abilities being cast on players who left the arena just before the ability was about to go off.
    • The per-wave spawnpoints-node has been given a slight revamp. It now expects a semicolon-separated list of spawnpoint names (x,y,z), instead of a comma-separated list. You can guess why this was a big issue.
    • Finally, an extremely elusive bug that caused warps and points translate incorrectly to the config-file has been fixed. This bug usually manifested as players being warped to the bottom of the world when joining the arena.

    Always make sure to read the full changelog, though. There may be changes you didn't expect, which may surprise you in good or bad ways. Stay informed!


    Now, about those updates...

    Since I don't have a lot of spare time, which causes a rather large delay between updates, I'm going to be a little more transparent about what I'm planning on working on, and why it may take a while.

    First of all, I'm a very busy guy. My education is consuming about 50-60 hours per week, and even moreso during exams. Outside of that, just like any other regular Joe, I like to spend time with friends and family. MobArena is important to me, but a couple of other things come first, and I'm sure that most of you (who actually read this) understand. But here it is anyway.

    Secondly, MobArena is currently in a state where the list of suggestions and ideas has become so big and so versatile that it is no longer feasible to simply chuck feature after feature at the code base. The code is too tangled up in itself, and it becomes increasingly difficult to troubleshoot issues and meet everyone's requests. There are three reasons I still add features to the plugin: A) the features are a result of a big or small overhaul of the underlying code that actually make the features possible and much simpler to implement, B) the features are already simple to implement and cause no conflicts with setup archetypes, C) I get a generous donation and a request from a friendly person. With C, I'm just being honest. Since I'm busy, my time has a non-insignificant value (woo, double-negatives!), and if someone matches that value, I can justify spending some time on their request, depending on the request, of course. So don't expect to donate $1 and have me implement an entire dungeon system and features that allow you to recreate Icecrown Citadel from World of Warcraft (SPOILER: which is actually something I have planned for v1.0 already). But if you have a small request and want to buy me a pizza, I'm likely to be open to the idea, if I have the time. Of course, inconsiderate, rude, or people with otherwise bad attitudes get nothing but a virtual slap in the face ;)

    Finally, where is it all going? Well, v1.0 is a bit of a mythical being at this point in time; some say it may never come! I'm hopeful, however. Until then, there are quite a few things I would like to do with the project, though, which include the following:
    • Fix all bugs related to inventory/gamemode/multiworld stuff. There are still some bugs dwelling in the shadows, and I'm having a hard time squashing them. However, I have a small refactoring of a major part of the source code planned, which ought to make things a little simpler to manage, in that regard. This is of top priority for v0.96.4.
    • Make the "pet items" configurable, i.e. make it so you can choose which items should trigger wolves and ocelots, such that incompatibilities with other plugins can be avoided. Along with this, add support for other pets, such as iron and snow golems. This is medium priority for v0.96.4.
    • Revamp the boss ability system slightly. I want to make bosses even more configurable. I want to allow you guys to set various cooldowns and timers for the abilities, and I want to make the abilities easy to configure. The biggest problem with this is how it should be done - how should things look in the config-file(s)? I am open to suggestions, but please make a ticket on DBO for it. This is low priority for v0.96.4.
    • Add support for Mo' Creatures and other Forge plugins (they're not mods, they're plugins). One of the developers of MCPC already implemented this feature in a custom build of MobArena after tinkering with some stuff in MCPC, so there is a chance this will be what tips MobArena's version numbers over to v0.97.
    • Following the necessary refactoring steps for the above feature, I'd like to finally implement jockeys. That's right, it's time for zombie pigmen to ride silverfish, and for skeletons to ride something other than spiders. This is an example of an otherwise great feature being added as a result of a little elbow grease. Just imagine what will be possible in v1.0!
    • Finally, I want to make some updated tutorial videos, and perhaps showcase some of the amazing builds of various servers. Stay tuned for more information if you'd like to showcase your server's arena(s)! I'll make an update everywhere (here, DBO, IRC, TV, radio, you name it) when/if it starts, so make sure to keep yourself up-to-date :)
    So if you made it down this far, kudos! I hope you don't feel like you wasted your time, and I hope you're as excited as I am about it all!
    Cheers,
    mule
     
  4. Offline

    Bobcat00

    Here's my list of demands for the next version:

    (just kidding, of course)

    Actually, what would be nice (and I've seen other people asking for this) would be support for multiple leaderboards. That way we could have a leaderboard in each arena lobby, plus a central area with leaderboards for all the arenas. In other words, coords.leaderboard would contain a list instead of a single entry.

    I also have some ideas for arena status signs, but given your comments on the codebase, this is probably more appropriate for a plugin. I assume it's possible for a plugin to get the state of each arena, number of players, current wave, etc.

    I haven't had any problems regarding multiple worlds and inventories, but I avoid the whole problem by blocking the /mobarena command in my creative world and forcing everyone to leave via a common exit spawnpoint. That keeps things simple, plus I have a method that prevents people from using /back to get back into an arena.
     
    garbagemule likes this.
  5. Offline

    garbagemule

    Bobcat00
    Cheeky monkey ;)

    Multiple leaderboards is a fine idea, but I think I dived into it once and had to bail due to some issues with other parts of the code depending on there being only a single leaderboard. I'll give it another whirl sometime.

    As for status signs, I have written a private plugin that adds join signs with information like whether or not the arena has started, and how many players are in the lobby or currently alive in the session, so yeah, it's definitely possible to make it as an extension plugin, and it wasn't that difficult either. The problem is generalizing these types of features to make them useful to everyone (only signs, signs + commands, only commands, only signs created by admins, etc.?) without making it "configuration hell". For instance, join signs would have to be "registered" (node in the config-file) if you only want specific signs to work (i.e. players can't make a join sign in their base and just use that as they please), because otherwise MobArena wouldn't be able to distinguish them from the non-specific ones. The reason the class signs work without registration is because they only work for lobby players anyway, but there's no such "state configuration" for players and join signs. At the end of the day, though, it probably wouldn't hurt to split the config-file into actual configuration files, and arena-specific setup files (something I've been planning for 1.0 for a while).

    The multiworld/multi-inventory problems can all be solved in the way you describe, but people usually want easier, better, simpler, etc. which is perfectly understandable. But again, the various types of setups makes it very difficult to make everyone happy without forcing people to fork the source code and make the necessary modifications for their server :p
     
  6. Offline

    Bobcat00

    I'm a little disappointed with show-death-messages. I was hoping for a way to restrict death messages to other players/spectators in the same arena (like isolated chat, I guess). It appears the setting cancels the death messages for everyone.
     
  7. Offline

    garbagemule

    Bobcat00
    The relevant ticket: Clicky. I guess this underlines my point about "configuration hell". Now we need either two options ('show-death-messages' and 'isolated-death-messages'), or some sort of multi-valued setting. I'll try to see if I can add a simple 'arena' value for the option that'll make it work like 'isolated-chat'.
     
  8. Offline

    Bobcat00

    Well, it's not a big deal if it turns out to be too much trouble.
     
  9. Offline

    garbagemule

    Bobcat00
    Yeah, semi-bad news :( The death event only has options for setting the value of the death message (setting it to NULL means it won't be shown), not the recipients of the broadcast. One way around this would be to set the message to NULL after extracting it, and then manually broadcasting it to a specific audience.

    Now, the viability of this approach comes down to whether or not people want support for other plugins changing the death messages. MobArena has to listen for the death event on lowest priority (first pick) to cancel out the effects of other death plugins, such as death chests. If customized death messages is not an issue, however, it turns out to be a simple change. With this build, if 'show-death-messages' and 'isolated-chat' are both true, MobArena should only display the death messages to the same audience as 'isolated-chat', but there is no guaranteed support for customized death messages.

    Let me know if it works as expected.
     
  10. Offline

    Bobcat00

    But I don't want isolated chat. (I know, I know, some people are never satisfied.) I think I'm just going to leave well enough alone.

    Thanks for adding the start delay timer.
     
  11. Offline

    garbagemule

    Bobcat00
    Configuration hell, right there. However, now that I think about it, it kind of makes sense to always isolate the death messages, regardless of the chat being isolated or not - spectators will see them as well, so it really should only be "interested parties" that should see them. So I've done it (same link as before). Unless someone objects to it when (or before) v0.96.4 is out, I'll just leave it like that.
     
  12. Offline

    Bobcat00

    So I'm mucking around with a plugin to do stuff like this. I want to update a sign after a player joins the lobby, but the ArenaPlayerJoinEvent occurs before the player joins. So when I check in my listener, there's no one in the lobby.

    What would be a good way to handle this so I can see the arena status after the player has actually joined? A time delay of some sort? Periodic task while the lobby and/or arena has players in it?
     
  13. Offline

    garbagemule

    Bobcat00
    If you listen for the event on MONITOR, the event contract says that the event will not change state at that point (i.e. it will not be cancelled). Thus, you can simply take the number of players currently in the lobby + 1, since the player will, if the event was not cancelled, join the lobby, because all of the sanity checks (permission, entry fee, etc.) happen before the join event is fired (if the command is used, otherwise, call canJoin before playerJoin). This is the most robust way to handle it, and it requires no brittle timers/delays.
     
  14. Offline

    Bobcat00

    OK, thanks. I was hoping to have one routine that would return a comprehensive status for one arena for everything I wanted to do. e.g., state of arena, number of players in lobby, list of not-ready players, number of players in the arena, wave number.

    I have 33 years of software engineering experience (yes, I'm an old guy), but none with OOP and none with Java. So I'm blundering around a lot (saying, "I don't know how to do this") and learning as I go. I'll figure it out.

    I did create a ticket for a new ArenaPlayerReadyEvent, as there is currently no way to tell when someone hit the iron block and goes from not-ready to ready status.
     
  15. Offline

    garbagemule

    Bobcat00
    Sounds like a good idea. Good luck with it, and happy hacking :) Oh, and I know all about the troubles of starting in a new paradigm. My first encounter with functional programming was frustrating, because I kept wanting to do things like I was used to from imperative programming. Knowing what you want to do, but not being able to properly express it in the language you're using is extremely frustrating - just like with spoken languages and asking for the location of a bathroom when you've had a very bean-filled chili the day before.

    Thanks for the ticket. I'll look into it after exams.
     
  16. Offline

    Bobcat00

    I finally got to test this. It works, except that players don't see their own death messages.

    Tested with:
    isolated-chat: false
    global-join-announce: true
    global-end-announce: true
    show-death-messages: true
     
  17. Offline

    garbagemule

    Bobcat00
    Turns out all the arena logic was done before the messaging (meaning the player was no longer considered "in the arena" during messaging). Switched things around, so it ought to work just fine now. Same link as before.
     
  18. Offline

    Bobcat00

    Tested this today. Works fine AFAICT. Tested it within one arena, and across two different arenas. Death messages are local to an arena, and the player sees his own death messages.

    I got my plugin basically working with the status of the arena. Now I need the ArenaPlayerReadyEvent. :cool:
     
  19. Offline

    garbagemule

    Yep, it's still alive...

    MobArena v0.96.4 is out!

    Grab it here: Click

    Unlike v0.96.3, the fourth "minor update" of v0.96 truly is a minor update. However, it fixes a problematic and somewhat dire bug with arena containers, which means the aforementioned planned changes for v0.96.4 will have to be pushed to v0.96.5 (sorry). Besides this important bug fix, v0.96.4 also fixes a harmless bug with the start-delay-timer, and tries to keep uninterested players calm by limiting the death message spam to arena players at all times. Aside from that, a new event was added to the API for when players ready up (this should keep Bobcat00 happy for a while).

    If you don't use arena containers, or if you are 100% certain that your players never Shift-click items out of them, you can ignore this update. Otherwise, go ahead and grab it.
     
  20. Offline

    Bobcat00

    Cool. I actually got my plugin working by using the player join event to schedule a repeating task, and canceling it when all players have left the lobby. But the new event will make it a lot cleaner, so I'll switch over in a couple days.
     
  21. Offline

    Bobcat00

    OK, the new event works. Thanks!
     
    garbagemule likes this.
  22. garbagemule

    Please add support for worldguard, I want to have an arena under spawn but the spawn is flagged as mob-spawning deny
     
  23. Offline

    garbagemule

    CreepersControlU
    How is "support for WorldGuard" going to help if you're denying mob spawning? I'm not adding more unnecessary dependencies to the project - WorldGuard and MobArena have coexisted for 3 years with all related issues being self-induced and solvable by proper WorldGuard configuration.
     
  24. Offline

    garbagemule

    Here's another one, guys...

    MobArena v0.96.5 is out!

    Grab yourself a copy here: Clicky

    Another "minor" minor update. This one fixes a couple of minor (major to some people) bugs, including, but not limited to:
    • an apparently long-standing bug where splash potions of harming and poison would damage other players despite PvP being disabled.
    • a silly bug with the auto-start-timer complaining in the console (harmless, but annoyingly spammy)
    • a somewhat dire bug with Setup Mode where MobArena commands were still accessible (resulting in a buggy state if /ma setup was entered twice)
    • an issue with "special" helmets (e.g. wool blocks and skulls), where they would reset to the "default" block on hit, if unbreakable-armor was set to true
    Outside of bug fixes, this build also introduces gray-colored names of dead players on the scoreboards. Wooo! As always, read the changelog on the download page (link at the top), take a backup of your config-file(s), and have fun :)

    Let's talk current plans...

    This build will most likely be the last build before the dreaded UUID update, which will not affect MobArena at all. MobArena does not persist any information (aside from inventories when the occasional crash occurs, which in most cases end up solving themselves) based on player names, so you don't have to worry about it. As always, unless the Bukkit API is released for 1.8 with breaking changes, MobArena will continue to work, even if the build number on DBO says 1.7.2 - that's the beauty of programming to an interface.

    On to something more interesting!

    I've been working on support for arbitrary "grantables". A grantable is anything that can be given to and/or taken from a player, and checked if the player has. The most obvious grantable is an item - they can be added to or removed from the player inventory, and we can figure out if the player has a given item. Economy plugin money is another grantable, and so are permissions and potion effects. All of these are currently supported by the framework I've been working on (developers, you can check it out here - I'd love some feedback), but the cool thing about it is that it will make it possible to support very specific things from other plugins or mods via simple plugin extensions.

    So why does this matter? It matters because a lot of you (or at least a lot of people) have been asking for the possibility of rewarding players with permissions and giving classes potion effects. Both of these will be trivial with this framework, but since I don't run a server myself, I would love to have some guinea pigs :) If you want to help test out this framework, please send me a PM either here or on DBO (I prefer DBO) with the subject "MobArena Grantables" (so I can find it again once I have a build ready for testing).

    In other (lame) news, my exams are approaching very quickly, and I'm currently taking three project courses at uni, with code freezes, presentations and reports coming up even sooner, so I will most likely not be working on MobArena for the next month or so (aside from dire bug fixes or breaking changes, i.e. no new features will be worked on).

    Enough with the wall-of-text. Go download v0.96.5 already!
     
  25. Offline

    Bobcat00

    I wonder if that was related to my leave the lobby, go back, and the player join event was flakey?
     
  26. Offline

    garbagemule

    Bobcat00
    I'm not sure exactly what you mean by flakey. Are you talking about the API event (as in ArenaPlayerJoinEvent) or the announcement when a player first joins? I think the auto-start-timer bug was just a matter of the timer getting an extra tick that it shouldn't have gotten (in which case it would stop itself), so unless you went back in before the message was printed, I'm not sure there's any causal link between the two issues (depending on what you mean by flakey).
     
  27. Offline

    garbagemule

    Guys, I made a boo boo...

    MobArena v0.96.6 is out!

    Grab it while it's hot: Cookies

    Probably the most minor update MobArena has ever had, this version fixes a dire bug for those of you who have 'use-scoreboards: false' in your config-files. With the wonderful new grayed out player names, I refactored a bit of the scoreboard code and introduced a new method - a method that was not overridden for the no-scoreboards case; whoops. I'll be using this issue as learning material for my students next year when I'm teaching software design :p

    Anyway, update if you're not using scoreboards. Otherwise, you don't have to yet. But do it anyway, because a higher version number automatically means a better plugin, right? ;)

    *slides back into the shadows of eternal exam preparations*
     
  28. Offline

    JosephMA

    How do I make custom abilities for my bosses?
     
  29. Offline

    garbagemule

    JosephMA
    You have to know your way around Java and the Bukkit API, but you simply have to have a JDK on the computer running your server, and then place your source files in the plugins/MobArena/abilities/src folder (create it if it doesn't exist). You can find inspiration in the source code for the core abilities.
     
  30. Offline

    Bobcat00

    Hey, on that topic, is there any way to remove the log entries for the default abilities? They just get a little annoying.
    Code:
    2014-06-08 12:26:10 [INFO] [MobArena] Enabling MobArena v0.96.6
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Chain Lightning'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Disorient Distant'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Disorient Nearby'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Disorient Target'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Fetch Distant'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Fetch Nearby'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Fetch Target'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Fire Aura'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Flood'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Lightning Aura'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Living Bomb'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Obsidian Bomb'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Pull Distant'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Pull Nearby'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Pull Target'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Root Target'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Shoot Arrow'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Shoot Fireball'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Shuffle Positions'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Throw Distant'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Throw Nearby'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Throw Target'
    2014-06-08 12:26:10 [INFO] [MobArena] Loaded custom ability 'Warp'
    
     
  31. Offline

    garbagemule

    Bobcat00
    The core abilities are included in the plugin and loaded silently before the custom abilities are loaded. If you haven't tinkered with the abilities or added any new ones, simply removing the entire abilities-folder ought to do the trick. Chances are you've got the core abilities lying around from an earlier version of MobArena that extracted them for the sake of easier customization. Nowadays, the abilities-folder is empty by default.
     

Share This Page