Commit Graph
100 Commits
Author SHA1 Message Date
garbagemule 3b47ca407e Fix upgrade waves. 2013-08-18 00:28:00 +02:00
garbagemule 9c411a21ad replaceAll => replace for dollar sign compatibility. 2013-08-16 17:52:32 +02:00
garbagemule 22a8f43fce Add missing wrapper for classchest location setter. 2013-08-16 05:48:18 +02:00
garbagemule a2328c7271 Avoid NPE with Locations in config files. 2013-08-16 05:31:32 +02:00
garbagemule 8793bd6cef Backwards compatibility for leaderboard coords. 2013-08-16 03:27:54 +02:00
garbagemule 186fc498cf Make root-target a littler rootier. 2013-08-16 01:18:00 +02:00
garbagemule b0c630df36 Fix color code gibberishing for announcements. 2013-08-16 01:09:39 +02:00
garbagemule e1feb5172c Fix config reloading. 2013-08-16 01:09:23 +02:00
garbagemule b9e3a5df0b Fix typo in error message. 2013-08-15 18:11:41 +02:00
garbagemule ef9fd267c1 Revamp the announcements system.
This commit transforms the announcements system in the following way:
- announcements.yml makes it easier to add missing nodes and remove
  obsolete ones. This way, users don't have to delete their previous
  announcements-file to get the new keys.
- Color codes are supported in the fact that when an announcement
  message is "set()", the string value has all of its &-symbols
  translated.
- No need for a defaults-file, because the enum is very easy to
  compile into a YAML file.
2013-08-15 17:55:21 +02:00
garbagemule 22723d883a Bye bye, Spout. 2013-08-15 15:12:37 +02:00
garbagemule a3ab2203be Get rid of config adapter.
This change involves many classes because the adapter was relied upon
heavily throughout the project. The change is motivated by the fact
that the wrapper created more problems than it solved. Those problems
(listed here) are solved by this commit. Some classes have undergone
notable changes (e.g. ArenaRegion).

- The config-file will no longer overwrite and regenerate itself
  seemingly randomly.
- The config-file will now save correctly when setting points and
  expanding regions.
- The "no class items in lobby" problem has been fixed.
- The "must be inside region" problem has been fixed.
2013-08-15 14:37:10 +02:00
garbagemule 2475ae3633 Add support for arbitrary filenames... 2013-08-15 04:45:07 +02:00
garbagemule e99a2f3d44 Fix double-print for loaded arenas. 2013-08-15 04:30:19 +02:00
garbagemule d92e3e8925 Let's leave out the printlns... 2013-08-15 03:46:49 +02:00
garbagemule 03c0ecc651 Up. 2013-08-15 03:46:02 +02:00
garbagemule d73a0ed707 Fix "no class items on class selected".
The fix is simply a reload of the config-file after initially loading
the config-file. For some reason it works. No clue why >_>
2013-08-15 03:44:47 +02:00
garbagemule b6f81e0823 World-change code for set(lobby)region. 2013-08-15 03:41:21 +02:00
garbagemule a87831a12f Set world-node when world changes. 2013-08-15 03:40:58 +02:00
garbagemule a15f60b761 Lazy initialization of selected arena.
This fixes issues with having to restart the server for "not ready"
type messages.
2013-08-15 03:39:26 +02:00
garbagemule 8a45e0c953 Make sure we can force worlds. 2013-08-15 00:45:26 +02:00
garbagemule f1b94fbbcc Correct leaderboards error message. 2013-08-14 22:53:36 +02:00
garbagemule 63ff94b04f Multiworld leaderboards. 2013-08-14 22:37:42 +02:00
garbagemule f98fe0b78f Multiworld exit-warp and location formatting. 2013-08-14 22:36:12 +02:00
garbagemule b3cb258d0b Fix lobby region expansion command. 2013-08-14 22:33:44 +02:00
garbagemule 0fa22589e3 Make sure we load AFTER Multiverse, just in case. 2013-08-14 22:22:45 +02:00
garbagemule 80f091acaa Add world name to coords. 2013-08-13 15:27:33 +02:00
garbagemule a3cef8339e StringBuffer => StringBuilder, thanks IntelliJ ^_^ 2013-08-13 14:59:11 +02:00
garbagemule c500c4f80e Remember to add the actual command class ;) 2013-08-13 14:56:10 +02:00
garbagemule 1673078df5 Add classchest command.
The classchest command can be used to link a chest to a class directly
(although still in the same world) without having to position them in
a specific pillar under the signs.
2013-08-13 14:54:34 +02:00
garbagemule c24f9f8ccc Switch to floating point numbers for locations.
This allows spawnpoints and warps to be specified more precisely.
2013-08-13 14:51:16 +02:00
garbagemule a5fea824b7 Tossing IntelliJ a bone. 2013-08-10 16:57:24 +02:00
garbagemule c282fe7000 Add baby zombie villagers 2013-08-10 16:38:44 +02:00
garbagemule 76330f06d3 Add unbreakable-weapons and unbreakable-armor. 2013-08-08 18:23:33 +02:00
garbagemule 345efc9136 ArenaCompleteEvent: s/winners/survivors 2013-08-08 17:58:19 +02:00
garbagemule 544fd91de9 Introduce "last player standing" to death event.
It is now possible to check if an arena player who died was the last
player alive in the arena. Useful for special rewards and stuff.
2013-08-08 06:09:07 +02:00
garbagemule e3381e895d Some null checks for pet spawner. 2013-08-07 02:00:17 +02:00
garbagemule 54b3df5eec [Ant] Add remote dist target. 2013-08-07 01:57:48 +02:00
garbagemule 3ae69f6cf4 ACTUALLY add the event >_> 2013-08-07 00:10:56 +02:00
garbagemule 1f91dde9e5 Add ArenaCompleteEvent
This event is fired when the final wave was completed and contains
a set of all the players who survived until the end.
2013-08-06 23:59:19 +02:00
garbagemule 0b6a017c32 Include arena in ArenaKillEvent. 2013-08-06 23:58:42 +02:00
garbagemule 2b5291b593 Fix multi-arena join/spec interleaving issues.
- When a player attempts to join or spec an arena while they are
in an arena (arena or lobby), they will be denied access.
- When a player attempts to join or spec an arena while they are
spectating an arena, they will be force-left first.
2013-08-06 12:21:06 +02:00
garbagemule d57f47fb05 Add ArenaKillEvent
This event is fired whenever an arena player kills either a monster
or another player. Useful for plugin extensions.
2013-08-06 10:33:02 +02:00
garbagemule 312ef3c55a Expose command interface. 2013-08-05 12:42:34 +02:00
garbagemule 48686aafcb Add support for minor economy values. 2013-08-03 04:16:31 +02:00
garbagemule 029a976dc7 Uncancel sign interaction in lobby. 2013-08-03 01:14:14 +02:00
garbagemule e6a0f30993 Add per-class lobby-permissions node. 2013-08-03 01:13:18 +02:00
garbagemule dbe5f4d20f Add optional per-arena exit warp. 2013-08-01 16:13:24 +02:00
garbagemule f43293a376 Attempt to fix multiworld inventory issues. 2013-07-30 23:37:03 +02:00
garbagemule 13948e7554 Add global first-join announce feature. 2013-07-30 23:04:49 +02:00
garbagemule ea4031b0ed Add isolated chat option. 2013-07-30 22:07:57 +02:00
garbagemule 9230f823fb More task scheduling. Fixes #199 2013-07-30 21:57:36 +02:00
garbagemule 7d27e52d7c Allow flint and steel fire in edit mode. 2013-07-30 13:48:04 +02:00
garbagemule a5fb96a880 Prevent task scheduling on disable. 2013-07-30 13:31:11 +02:00
garbagemule 859baf7b71 Add global end announcement feature. 2013-07-28 14:21:40 +02:00
garbagemule 77899a4e7f Update plugin.yml towards next release. 2013-07-24 14:50:51 +02:00
garbagemule 9d4d704626 Version 0.95.5
- Add missing monster type: baby pigmen
- Fix class chest bones not spawning pets
- Make auto-start kick message customizable
2013-07-24 14:36:13 +02:00
garbagemule d926d99298 Make auto-start kick message customizable. 2013-07-24 14:29:31 +02:00
garbagemule b643cce511 Fix class chest bones not giving pets. 2013-07-22 19:10:11 +02:00
garbagemule d6fe6ade4c Add monster type: baby pigmen 2013-07-22 18:26:41 +02:00
garbagemule 5a3ff900fc Update plugin.yml towards next release. 2013-07-17 15:21:42 +02:00
garbagemule 053c686ec4 Version 0.95.4
- Fix auto-ready not working with class chests
- Fix custom boss abilities not loading
2013-07-17 15:20:34 +02:00
garbagemule de5f21ca1d Fix custom boss abilities not loading. 2013-07-17 15:19:17 +02:00
garbagemule b6b2ecc168 Fix auto-ready not working for class chests. 2013-07-17 15:15:48 +02:00
garbagemule 805096c777 Update plugin.yml towards next release. 2013-07-09 04:56:26 +02:00
garbagemule 6a246a9a77 Version 0.95.3
- Make the region setup more intuitive
- Fix the lobby region issue
- (Hopfully) fix the setup process
2013-07-09 04:53:51 +02:00
garbagemule bd095dafd5 Change the way region setting works.
The region now contains two location references per region point for
the bounding boxes where p1, p2, l1 and l2 remain the same (min/max),
but also additional locations for the player's actual location, such
that e.g. moving back and re-setting a point has the more intuitive
behavior of expanding regardless of the optimized points.

This also (hopefully) finally fixes the previous issues with the setup
process *knock on wood*.
2013-07-09 04:37:19 +02:00
garbagemule 8027fa3d5f Update plugin.yml towards next release. 2013-07-05 15:08:40 +02:00
garbagemule b650a0316d Version 0.95.2
Hotfixing region issues.
2013-07-05 15:07:22 +02:00
garbagemule ed69606388 Fix the region setup bug.
Previously, the set() method would overwrite coordinates completely
without min/max'ing the values to preserve the invariant that p1 is
the lowest point and p2 the highest.
2013-07-05 14:59:09 +02:00
garbagemule 075531517e Update plugin.yml towards next release. 2013-07-03 14:19:15 +02:00
garbagemule 55bbd4ff85 Leave out 1.6 stuff until a stable release. 2013-07-03 14:00:03 +02:00
garbagemule 4a267f5ab5 Use item number for hay bales until 1.6 2013-07-03 13:57:28 +02:00
garbagemule 9b236587da Merge branch 'bleeding' of github.com:garbagemule/MobArena into bleeding 2013-07-03 13:36:48 +02:00
garbagemule 0a6a49410d Some 1.6 updates... 2013-07-03 13:36:41 +02:00
garbagemule 97e9bbc923 Fix default fixed waves. 2013-07-03 13:35:27 +02:00
garbagemule 0fdffedf85 Merge pull request #194 from acstache/bleeding
Keep track of which players picked which class

- Change MutableInt counters to String sets of player names
- Add getPlayersWithClass() method
2013-07-02 16:29:29 -07:00
garbagemule 22762bf521 Fix setup issue and remove region expansion
This commit consists of two components:
- Restarts are no longer required after setting up the first arena
- Regions no longer auto-expand

The restart requirement is fixed by preventing the ArenaMaster from
actually creating an Arena object and assigning it to the selected
arena upon generating the default arena node in the config-file. The
problem was that the selected arena was set to this initial Arena
object, but another Arena object was created afterwards, which due
to the equals() method of ArenaImpl overwrote the previously created
Arena object in the arenas-list, but didn't change the reference in
the selected arena. In other words; two identical Arena objects were
created, but used in different places (arena list vs. selected arena).

The auto-expansion is removed by simply never auto-expanding regions
upon setting the arena warp or spawnpoints. Instead, setting these
warps throws an error, if p1 and p2 have not yet been set, or if the
location is outside the region.
2013-07-01 19:29:38 +02:00
garbagemule 821f3d776c Update plugin.yml towards next release. 2013-06-27 01:08:40 +02:00
garbagemule 4af4c67baf Version 0.95 2013-06-27 01:07:48 +02:00
garbagemule e8837edd2e Get rid of that echo. 2013-06-27 00:55:06 +02:00
garbagemule 62eebaa134 Cleanup. 2013-06-27 00:41:54 +02:00
garbagemule 243d0b00fb Add fixed setting for default waves. 2013-06-27 00:29:23 +02:00
garbagemule 65c5ea05b3 Add per-arena setting to enable/disable scoreboards. 2013-06-27 00:05:14 +02:00
garbagemule 97c54855d4 Attempt to fix some XP issues. 2013-06-25 01:58:28 +02:00
garbagemule e2bae68db1 Ability cleanup.
- All the core abilities have been moved into the project folders
  such that they no longer require any extraction. As such, all
  servers should have the abilities already installed and ready
  to use, regardless of setup-retardation.
- An attempt at fixing the "invisible bosses" issue; a call to
  removeBoss was replaced with getBoss - hopefully this fixes
  all the issues.
2013-06-25 01:53:45 +02:00
garbagemule 255908a7aa Update .gitignore 2013-06-25 00:38:06 +02:00
garbagemule 534ddbb6e9 Clean up build file. 2013-06-25 00:37:43 +02:00
garbagemule 5e42887049 Remember permissions in the plugin.yml file. 2013-06-24 22:53:32 +02:00
garbagemule 1320c34f67 Major revamp of Upgrade Waves.
Using a node setup similar to that of the classes-section, it is
now possible to make complex Upgrade Waves that update weapons
and armor on-the-fly. This also means 'permissions' upgrades.
2013-06-24 22:24:01 +02:00
garbagemule adb8ee1668 Add checkspawns command. 2013-06-24 22:10:07 +02:00
garbagemule 325b252696 Add showspawns command. 2013-06-24 21:44:18 +02:00
garbagemule 4d95b67cb1 Fix reload issues! Woooo! 2013-06-24 14:48:33 +02:00
garbagemule 3386ba3794 Use ChatColor in ScoreboardManager. 2013-06-24 11:15:52 +02:00
garbagemule 069394c9f5 Add per-arena setting: display-timer-as-level 2013-06-22 13:06:44 +02:00
garbagemule fe8a8ffa80 Fix the all-node for upgrade waves. 2013-06-22 12:06:13 +02:00
garbagemule 52599319c1 Attempt at fixing reload issues. 2013-06-22 12:02:45 +02:00
garbagemule 8294a4db95 Bye bye, jar! 2013-06-22 11:41:34 +02:00
Andreas Troelsen db953285c5 Add per-arena setting 'auto-ready'. 2013-06-10 10:43:03 +02:00
Andreas Troelsen ffe270511c Let Bukkit serialize (some) inventories...
Since ConfigurationSerializable, there's no need to manually serialize
items anymore, and thus we let Bukkit serialize player inventories for
when players join arenas.

However, the "repairables" in the soft-restore mechanism still use the
now obsolete SerializableItem and SerializableInventory classes, and
should perhaps be rewritten.

Note that for 1.0, it may still be necessary to write a custom means
of serializing items, since we don't know if a given implementation
supports native serialization (however it should be possible to rely
on Bukkit's in the Bukkit-specific classes).
2013-06-10 00:44:56 +02:00