Commit Graph

884 Commits

Author SHA1 Message Date
Olof Larsson
7c10a6c83f MCore changes 2013-05-03 09:58:43 +02:00
Olof Larsson
cf03bd5b8a Fixing one permission check bug and adding some debug output in hope to find that bug. 2013-04-29 16:29:10 +02:00
Olof Larsson
709c1fe80d Work on TerritoryAccess and permissions. 2013-04-29 12:48:11 +02:00
Olof Larsson
3a6bca872f Allow people with permission to manage access to deny themselves access. How else should these people feel confident they can setup the access correctly? Personally my reaction was to try to deny myself and I was confused when I couldnt. 2013-04-29 10:42:33 +02:00
Olof Larsson
cea9a85f2b Fix an nPE 2013-04-29 10:35:35 +02:00
Olof Larsson
1d951fb5cf Let's allow the allowed people 2013-04-29 10:26:15 +02:00
Olof Larsson
66b4eb4b92 Pass 1 at reworking the Territory Access system. 2013-04-29 10:23:39 +02:00
Olof Larsson
03684c78f1 Testing out the new PSFormat called HumanSpace. 2013-04-26 20:22:12 +02:00
Olof Larsson
3d50e84360 Improvements to info commands. 2013-04-26 17:54:06 +02:00
Olof Larsson
1609a7cfea Renaming show --> faction and power --> player 2013-04-26 14:01:28 +02:00
Olof Larsson
7cbc99bdd6 Remove the interact spam check. I think it was only useful back in the old days where the denied messages where broadcasted to other players and not only yourself. 2013-04-26 11:07:29 +02:00
Olof Larsson
7ce0100e73 Minor changes to npe detection and denied commands 2013-04-26 11:06:07 +02:00
Olof Larsson
7626aed06a Fixing a few bugs, and adding in some debug output for unsolved ones. 2013-04-26 10:32:02 +02:00
Olof Larsson
f6d601446e Some bugfixes 2013-04-26 08:02:32 +02:00
Olof Larsson
684974b336 Minor tweaks to default config values 2013-04-25 20:21:23 +02:00
Olof Larsson
99f6087536 Typo-fix 2013-04-25 17:22:22 +02:00
Olof Larsson
71bf3e9f72 Adding in the pow command again. It should be noted that the whole information display system needs a rewrite. Perhaps one command for player and a few for faction? 2013-04-25 17:17:23 +02:00
Olof Larsson
21c7742dcb Added missing enabled requirement for sethome. 2013-04-25 17:00:22 +02:00
Olof Larsson
fffdf07178 More minor tweaks 2013-04-25 16:54:55 +02:00
Olof Larsson
ea06c468fc Fix some more small bugs 2013-04-25 16:02:37 +02:00
Olof Larsson
c6757fae60 Removing some f and adding some u. 2013-04-25 14:15:25 +02:00
Olof Larsson
7a99005f7b Tweaking requirements, removing declaim aliases and shortening the author list by using minecraft name only. 2013-04-25 13:53:22 +02:00
Olof Larsson
5047439756 More universe disabled checks. 2013-04-25 13:25:15 +02:00
Olof Larsson
ac2c7c705c Just started adding in the universe toggle. 2013-04-25 12:18:39 +02:00
Olof Larsson
8fd088e291 A few minor bugfixes and tweaks. 2013-04-25 12:04:01 +02:00
Olof Larsson
18e6c778b9 Fixing a couple of NPE 2013-04-25 11:00:17 +02:00
Olof Larsson
0fd21575e4 Adding in Faction creation timestamp. You can now see how old the faction is. 2013-04-25 10:51:11 +02:00
Olof Larsson
0ed104279f Change order in UPlayer.detachId to avoid NPE. 2013-04-25 10:27:39 +02:00
Olof Larsson
09a23353a7 Drop old special factions upon migration. 2013-04-25 09:59:25 +02:00
Olof Larsson
638ba4ca7f Thanks @Brettflan, Adding HOPPER and DROPPER to the material constant. 2013-04-25 09:54:20 +02:00
Olof Larsson
c10b6f5edc Adding in a preprocessor to avoid using the SerializedName annotation. 2013-04-25 09:49:39 +02:00
Olof Larsson
8e59017cb1 Working on the setter pattern some more. The inited check is now built into the entity changed method. 2013-04-25 08:34:10 +02:00
Olof Larsson
26af25f1c5 Improve the UPlayer setters to follow a standardized format and avoid triggering the changed method on nochange. 2013-04-25 08:01:26 +02:00
Olof Larsson
8070cc5579 Readd the powerboost for players and the proper maximum power per faction calculation. 2013-04-25 07:53:26 +02:00
Olof Larsson
8382d39409 Thanks @LiLChris, a cosmetic change. 2013-04-25 07:32:33 +02:00
Olof Larsson
e32a741b3b Renaming sender vars in the command system to more proper names. 2013-04-25 07:29:19 +02:00
Olof Larsson
882bdf4c88 Thanks @AEtherSurfer, changed the order of faction and radius in the claim command and added a maximum radius. 2013-04-24 20:17:20 +02:00
Olof Larsson
aea6c38eaf Nah lets not create a built in badword list. Its not doable due to the scunthorpe problem. 2013-04-24 19:04:53 +02:00
Olof Larsson
5eed71fc67 Rename Faction Tag to Faction Name. What did tag ever mean? Name makes more sense. 2013-04-24 19:01:17 +02:00
Olof Larsson
82e380cd3d these changes fixes a few startup errors related to non-attached factions lacking universe. 2013-04-24 18:22:52 +02:00
Olof Larsson
80eb506499 Fixing one typo and a minor bug. 2013-04-24 16:50:19 +02:00
Olof Larsson
0992c403b5 minor stuff 2013-04-24 16:40:35 +02:00
Olof Larsson
7e33bd0bf1 Add an intermediate Colls class for that shared universe-get logic. 2013-04-24 16:27:47 +02:00
Olof Larsson
643d6ba3c7 Adding TRAPPED_CHEST to the set of container materials 2013-04-24 16:12:55 +02:00
Olof Larsson
9b932cb1c6 Permission node cleanup and removal of the commented out deprecated API. 2013-04-24 16:10:16 +02:00
Olof Larsson
da2cc0f052 Whatever, lets just move the last listener stuff over 2013-04-24 15:37:17 +02:00
Olof Larsson
8fce53b4fc Recruits should per default not be allowed to build 2013-04-24 15:30:08 +02:00
Olof Larsson
521218cd6d Chunk change logic is now good enough. Moving it to the MainListener. 2013-04-24 15:19:49 +02:00
Olof Larsson
aa989db8f7 Working on auto claim 2013-04-24 15:14:15 +02:00
Olof Larsson
f6da2d397b Specifying meanings for null in Faction fields and removing the getAccountId method alltogether. 2013-04-24 14:42:52 +02:00
Olof Larsson
6846c426c4 Minor touches to player defaults. 2013-04-24 14:31:10 +02:00
Olof Larsson
0eb121c444 The Special Factions are now unique per universe. 2013-04-24 13:50:02 +02:00
Olof Larsson
e0c6e71b91 Removed WorldGuard integration. Can be readded later in a proper manner if anyone need it. Also moved some more Econ stuff to the listener. 2013-04-24 13:26:59 +02:00
Olof Larsson
bd8d945c7b Decoupled LWC integration. This is a good example of what integrations should look like. We are using events only. For this reason the LWC integration could be placed in another plugin and this is good practice. Im not saying we should move the LWC integration to another plugin but its good practice that its possible. 2013-04-24 11:30:00 +02:00
Olof Larsson
05da06594a Unifying, simplifying and messing around with land claiming and the related costs. 2013-04-24 11:16:37 +02:00
Olof Larsson
8ac19453b6 MCore change 2013-04-24 08:59:43 +02:00
Olof Larsson
cb1926c5c1 Rename task classes to correspond to config values and use minutes as the unit for human readability and thinking. 2013-04-24 08:48:35 +02:00
Olof Larsson
825d937c84 Moved the last stuff away from ConfServer. 2013-04-24 08:39:26 +02:00
Olof Larsson
d9a23241ec Move some more stuff from ConfServer --> UConf 2013-04-24 07:51:48 +02:00
Olof Larsson
3dc2691bea Moving home config from ConfServer --> UConf 2013-04-23 18:07:17 +02:00
Olof Larsson
29e05fd54d Introducing a power Mixin since Bukkit does not allow permissions for offline players and we want to know for offline players. Servers wanting individual power rules can implement and inject this mixin. 2013-04-23 17:01:43 +02:00
Olof Larsson
f802307056 Messing arund a bit with defaults 2013-04-23 14:00:18 +02:00
Olof Larsson
f8c3c6a911 Dynamic event priority. Thanks @riking. 2013-04-23 12:54:34 +02:00
Olof Larsson
ea18f1dd0d Refactor denied commands 2013-04-23 12:31:51 +02:00
Olof Larsson
3c60f75bbd Rethinking power calculation some. 2013-04-23 12:14:36 +02:00
Olof Larsson
6b7312bcf8 Move deny commands from ConfServer to UConf. 2013-04-23 09:17:30 +02:00
Olof Larsson
90d819ab18 Allergy reaction kicked in. This commit removes the Spout features. I have nothing against spout but if we are going to have them we should do them properly. They should be coded in such a way that they could be in an external plugin alltogether. Also removed netbeans stuff from IDE that should not be in the github repo. 2013-04-22 21:00:00 +02:00
Olof Larsson
bc194efc9b more variable renames for FPlayer --> UPlayer 2013-04-22 19:57:11 +02:00
Olof Larsson
19f9834210 Starting to rename fplayer --> uplayer since we will need an mplayer. 2013-04-22 17:59:51 +02:00
Olof Larsson
e30c652759 Moving the power configuration from MConf to UConf. 2013-04-22 17:20:34 +02:00
Olof Larsson
9a324d572e Try moving some core configuration over to UConf. 2013-04-22 16:58:22 +02:00
Olof Larsson
6d2db1930c We need UConf as well as MConf. 2013-04-22 16:26:44 +02:00
Olof Larsson
26fa7e8b95 Minor startup fixes 2013-04-22 15:05:00 +02:00
Olof Larsson
390ad76fa6 Patched away the errors with ugly meassures. 2013-04-22 14:16:07 +02:00
Olof Larsson
61e8730495 Quickfixed everything easy. 2013-04-22 13:03:21 +02:00
Olof Larsson
9fc75b1fcf Halfway through adding in universe support 2013-04-22 12:26:13 +02:00
Olof Larsson
de703d3461 The Derpy overrides are MConf for sure. 2013-04-22 10:43:40 +02:00
Olof Larsson
c43bfbe537 Moving stuff around in ConfServer and adding properm methods to the enums for DefaultDefaults. 2013-04-22 10:37:04 +02:00
Olof Larsson
e901cae995 Moving more stuff and removing useless lwc integration config option. 2013-04-22 10:05:03 +02:00
Olof Larsson
b0871b0ee6 Moving prefixes and chat from ConfServer to MConf 2013-04-22 09:51:19 +02:00
Olof Larsson
ec8be2d2c0 Moving colors to MConf 2013-04-22 09:41:48 +02:00
Olof Larsson
41bb3f6e05 Moving files around 2013-04-22 09:37:53 +02:00
Olof Larsson
ae61ef4c37 Testing the new money interface 2013-04-19 18:34:21 +02:00
Olof Larsson
d1cebc351e Rename mods --> officers in souce code and minor touches to the economy integration. 2013-04-19 15:51:41 +02:00
Olof Larsson
2299949a4a Fix a couple of old cases where it said Admin instead of Leader. 2013-04-19 15:32:16 +02:00
Olof Larsson
c2063a47b2 Some indent style and comment management. 2013-04-19 15:01:53 +02:00
Olof Larsson
afe944d3c4 For some reason I like ...Change events. The power loss event is now converted to a power change event. 2013-04-19 14:40:28 +02:00
Olof Larsson
9770cb8983 Minor messaround with land claiming. 2013-04-19 14:24:35 +02:00
Olof Larsson
c6739c4aa9 More econ event moves 2013-04-19 14:08:45 +02:00
Olof Larsson
f22ea3300f Move the temporary spout stuff to a temporary listener like we did with Econ. 2013-04-19 12:48:29 +02:00
Olof Larsson
87ee57e004 Achieve some minor symmetry increase and use listener for the home command. 2013-04-19 12:44:28 +02:00
Olof Larsson
61baf70ed1 Major messaround with the internal events and payForCommand logic. Not done just yet though. 2013-04-19 12:27:39 +02:00
Olof Larsson
d3488311de It makes no sense to charge for purely informational commands does it? If it does we can add them in later again. Also adding in a in progress listener to show how internal events should be used for integration with other plugins 2013-04-19 10:07:53 +02:00
Olof Larsson
2f8f0713e8 Minor touches to the Econ integration 2013-04-19 09:50:33 +02:00
Olof Larsson
1df5638903 Adding in friend-state into the Rel enum and removing the config option. 2013-04-19 08:20:38 +02:00
Olof Larsson
bf22f9e289 I think this rename makes sense. 2013-04-18 21:03:38 +02:00
Olof Larsson
18da8c1250 Moved canCombatDamageHappen logic to the main listener. 2013-04-18 21:00:46 +02:00
Olof Larsson
f70cc283db Fixing some NPE and similar small issues. 2013-04-18 20:28:12 +02:00
Olof Larsson
5ddfb19861 Make some notes in the source saying that we should use event based integration. 2013-04-18 17:47:42 +02:00
Olof Larsson
26a59fb01c Clean up some LWC stuff. 2013-04-18 17:42:49 +02:00
Olof Larsson
ede66bac6b Move out and clean even more listener content. 2013-04-18 17:20:42 +02:00
Olof Larsson
7c2dacce7c Some more work to the potion damage checker. Moved stuff to MCore infact. 2013-04-18 17:12:46 +02:00
Olof Larsson
5f18ef6d0c Clean up the denyCommands logic. 2013-04-18 16:35:45 +02:00
Olof Larsson
3ac432ac3d Clean up the Monsters flag logic. 2013-04-18 16:11:45 +02:00
Olof Larsson
86b143573d Working on the listeners some more. 2013-04-18 15:59:20 +02:00
Olof Larsson
9e6006e7d6 These should in no way be required anymore 2013-04-18 15:44:47 +02:00
Olof Larsson
1ee9f2bba3 Modernizing the Herochat integration, it may still be outdated with newer Herochat versions though. 2013-04-18 15:40:58 +02:00
Olof Larsson
5e481d4120 Only handle faction tags. No standard ones. 2013-04-18 15:31:05 +02:00
Olof Larsson
e9b2b4ee66 Adding in chat listener content. 2013-04-18 15:18:47 +02:00
Olof Larsson
170edc5811 Pass 1 at adding in better chat formating 2013-04-18 14:57:56 +02:00
Olof Larsson
c098171759 Decouple and put all exploit fixes in their own listener. 2013-04-18 14:02:39 +02:00
Olof Larsson
af094b6647 Make the recurring tasks non-tps-dependent. 2013-04-18 13:36:52 +02:00
Olof Larsson
1c5c5557b0 Yeah, all the stuff in Factions.java at the bottom is related to invalid task-logic. This is what I should fix next. 2013-04-18 12:39:20 +02:00
Olof Larsson
bc0a8da76f Remove LazyLocation and declare that Tasks are not Utils. 2013-04-18 12:29:56 +02:00
Olof Larsson
9a8f2071e0 Removing the feature where there is no PVP for a few seconds after login. We do not handle teleportation which could also be a form of suprise-attack. For this reason more complex logic should be implemented in a sepparate plugin. Not in Factions. 2013-04-18 12:25:05 +02:00
Olof Larsson
8c00268015 A few I missed 2013-04-18 11:11:18 +02:00
Olof Larsson
9e6904b564 Make use of ignoreCancelled = true 2013-04-18 11:09:31 +02:00
Olof Larsson
2b11bc1042 Working on the player listener slightly and trying to figure out how to handle the lastLoginMillis through Mixin instead of locally stored. 2013-04-18 11:02:58 +02:00
Olof Larsson
2ddef9f499 Recode the fplayer power calculation 2013-04-18 10:35:40 +02:00
Olof Larsson
10455c7acd Remaking PR 229 by squidicuzz 2013-04-18 08:00:18 +02:00
Olof Larsson
3938c92740 Merged block listener into main listener 2013-04-17 16:21:25 +02:00
Olof Larsson
003afbf108 Add in some ASCII-art and make sure the adapters have premade instances. 2013-04-17 15:49:29 +02:00
Olof Larsson
f4d799e978 Starting to clean up FPlayer 2013-04-17 15:30:21 +02:00
Olof Larsson
6ad243c014 Optimized indexer but that was not enough. Added back the cached index again but with new technology. 2013-04-17 14:44:08 +02:00
Olof Larsson
0776e5ae55 Fixing faction permOverides and making use of a predictate to send faction messages. 2013-04-17 13:16:22 +02:00
Olof Larsson
818c051ae1 Write some comments and reorder fields 2013-04-17 12:08:30 +02:00
Olof Larsson
109d6059ce Get rid of Essentials integrations, use MCore teleporter for now and PS homes. As for chat I need to rewrite the chat system. Essentials integration can be readded later if needed. 2013-04-17 11:47:48 +02:00
Olof Larsson
4449b56246 MCore use CommandSender above Player. Adhere to this standard. 2013-04-17 10:41:38 +02:00
Olof Larsson
299316a915 Use FPerm for invite and deinvite as opposed to checking ranks. 2013-04-17 10:34:48 +02:00
Olof Larsson
2689bad8a0 Messing around with Faction source code style and default values. 2013-04-17 10:22:51 +02:00
Olof Larsson
1ccefc93b5 Removing player index to reduce complexity since I doubt its required. Decouble and nullify faction descriptions. 2013-04-17 08:55:08 +02:00
Olof Larsson
6ef15bc2db Fixing the comparator and starting to use the standardized version command. 2013-04-16 13:17:42 +02:00
Olof Larsson
4b9bdf0d94 No compiletime errors anymore, how kewl. Let's test. 2013-04-16 12:04:12 +02:00
Olof Larsson
97a2ed1fd8 No More ZCore 2013-04-16 11:27:03 +02:00
Olof Larsson
e874ea60df Even more command fixes. 2013-04-16 11:05:49 +02:00
Olof Larsson
a84582ba21 More work at streamlining the command constructor content 2013-04-16 10:30:21 +02:00
Olof Larsson
4c0adc523a Fixing adding aliases to commands. 2013-04-16 10:11:59 +02:00
Olof Larsson
3d9847e4a6 Starting to convert the faction commands. 2013-04-16 09:48:57 +02:00
Olof Larsson
03c058483c MCore Change 2013-04-16 09:28:07 +02:00
Olof Larsson
958155e43c This would be all ArgReaders? 2013-04-16 08:35:20 +02:00
Olof Larsson
4e9d963c67 added FPerm arg reader. 2013-04-16 07:45:20 +02:00
Olof Larsson
96954e4eb2 Fixing some comments. 2013-04-14 21:20:34 +02:00
Olof Larsson
c8d60a8298 Remove three commented out rows. 2013-04-13 11:28:14 +02:00
Olof Larsson
ba88f34ef9 Let's use UUID instead. 2013-04-12 15:10:11 +02:00
Olof Larsson
0402d4456a Migrate the auto increment id as well. 2013-04-12 10:42:37 +02:00
Olof Larsson
cfd172b7b9 Remove a comment we no longer need. 2013-04-12 09:52:23 +02:00
Olof Larsson
f2b24003bf Do use the faction id constants 2013-04-12 09:51:14 +02:00
Olof Larsson
3036b0a157 Moved Faction entity to useage of MStore as well. 2013-04-12 09:47:43 +02:00
Olof Larsson
76f3f044ca Possible converted FPlayer 2013-04-12 08:56:26 +02:00
Olof Larsson
3e68c38861 Group up the transient FPlayer fields. 2013-04-12 08:11:11 +02:00
Olof Larsson
7693ac2010 Some minor changes before making bigger ones. 2013-04-12 07:21:38 +02:00
Olof Larsson
ea7d0f8305 Adding in future load method. 2013-04-11 12:32:38 +02:00
Olof Larsson
6f897e15ff Starting to preparation of Faction entity. 2013-04-11 12:22:35 +02:00
Olof Larsson
e45592432a rename getOpen --> isOpen and remove old money migration code. 2013-04-11 11:44:55 +02:00
Olof Larsson
bdd71fa86e Remove unused import 2013-04-11 11:33:10 +02:00
Olof Larsson
75a5764b4f Rename .getLastLocation --> .getCurrentChunk 2013-04-11 11:27:04 +02:00
Olof Larsson
a34e2be362 Getting rid of FLocation all together. 2013-04-11 11:18:04 +02:00
Olof Larsson
4a63d50cbb Use PS instead of FLocation in a few places. 2013-04-11 11:11:31 +02:00
Olof Larsson
4cc36b8d96 Creating a BoardMapAdapter as well to fix the GSON handling of Baord keys. 2013-04-11 10:11:14 +02:00
Olof Larsson
18b38d4320 First draft at migration routine. 2013-04-11 09:50:48 +02:00
Olof Larsson
2c12fb7739 Make an adapter for the board to serialize the one and only inner map only 2013-04-11 09:38:08 +02:00
Olof Larsson
1ebb6a3f69 Make both Board and BoardColl implement the same BoardInterface. 2013-04-11 09:25:26 +02:00
Olof Larsson
b06d5f5e55 Working some on the new Board system. Far from done. 2013-04-11 08:49:14 +02:00
Olof Larsson
926f6e7e9c Add in collection names in Const 2013-04-11 07:04:45 +02:00
Olof Larsson
9d347715d5 Rename Board --> BoardOld 2013-04-11 07:01:30 +02:00
Olof Larsson
828c149cb0 Adding a ReqRoleIsAtLeast for future use. 2013-04-10 13:33:17 +02:00
Olof Larsson
01585801b9 Rename command files 2013-04-10 13:12:22 +02:00
Olof Larsson
75c6257000 Rename CmdCape --> CmdCapeAbstract 2013-04-10 13:01:41 +02:00
Olof Larsson
c4868935ed Dont confuse constants and configuration options. 2013-04-10 12:52:22 +02:00
Olof Larsson
44493bbea3 Removing chached plugin refferences and got rid of another listener. 2013-04-10 12:32:21 +02:00
Olof Larsson
75ec92fb7d Add main listener and move the first listener content into it. 2013-04-10 12:25:46 +02:00
Olof Larsson
fc64136380 Some more edits to the config. 2013-04-10 11:07:47 +02:00
Olof Larsson
bd69e854eb Another file not required. 2013-04-10 10:55:03 +02:00
Olof Larsson
24270e7929 Geting rid of persist and prepare ConfServer for SimpleConfig usage. 2013-04-10 10:53:53 +02:00
Olof Larsson
262ec248f5 More Txt. 2013-04-10 10:45:47 +02:00
Olof Larsson
f6aa6f63ac Remove some unused zcore files. 2013-04-10 10:35:35 +02:00
Olof Larsson
3b61a2be9b Using MCore DiscUtil is easy enough since it was backported. 2013-04-10 10:34:12 +02:00
Olof Larsson
61b526e387 First pass at using Txt. 2013-04-10 10:32:04 +02:00
Olof Larsson
433d45ae4c Add MCore as a dependency, remove CraftBukkit and use Bukkit. MCore and Bukkit libs should be manually maintained for now. 2013-04-10 10:18:34 +02:00
Olof Larsson
c6ea2016cb Instance and construct pattern for Colls does not seem to work before full mcore migration. 2013-04-10 10:10:28 +02:00
Olof Larsson
879e8b4170 Taking a look in FCommand. 2013-04-10 10:00:40 +02:00
Olof Larsson
14715d1cfc Rename adapter classes. 2013-04-10 09:54:42 +02:00
Olof Larsson
3ef3492c68 Fix indentation style and note invalid approach in EconLandRewardTask. 2013-04-10 09:47:32 +02:00
Olof Larsson
d2e261a275 Get rid of old CB refference trick to get creature type. 2013-04-10 09:44:15 +02:00
Olof Larsson
57f5372d43 Removing some deprecated stuff and fixing some ASCII art. 2013-04-10 09:40:39 +02:00
Olof Larsson
27cee7d6f7 Event cleanup pass 1. 2013-04-10 09:34:14 +02:00
Olof Larsson
363a63bf3a No outer API plox. The inner classes should be improved to be good enough. 2013-04-10 08:56:10 +02:00
Olof Larsson
6d75465938 Remove warning since it won't be required after MCore introduction. 2013-04-10 08:51:37 +02:00
Olof Larsson
56ae5b9c70 Move the adapter to the adapter folder. 2013-04-10 08:48:21 +02:00
Olof Larsson
1f303aef91 More minor tweaks to TerritoryAccess 2013-04-10 08:47:52 +02:00
Olof Larsson
ab498b9f60 Use .get() method always. 2013-04-10 08:40:41 +02:00
Olof Larsson
00774087d3 Some minor cleanup to TerritoryAccess source code. 2013-04-09 14:05:00 +02:00
Olof Larsson
a891fc8a0a Decouple TerritoryAccess and it's adapter. 2013-04-09 13:53:37 +02:00
Olof Larsson
936c28d5a9 Move all in the struct package to main package. 2013-04-09 13:24:55 +02:00
Olof Larsson
a726e1c49f Rename FPlayers --> FPlayerColl 2013-04-09 13:22:23 +02:00
Olof Larsson
e3d6a4ec8e Put instance and construct logic in the top of ConfServer. 2013-04-09 13:18:05 +02:00
Olof Larsson
1b0c0a4b72 Rename Conf --> ConfServer. 2013-04-09 13:15:25 +02:00
Olof Larsson
c8870d10d4 MCorify the MPlugin class Factions slightly. 2013-04-09 13:12:13 +02:00
Olof Larsson
ecefb44d10 Remove CAPI integration since that plugin is abandoned. 2013-04-09 13:03:47 +02:00
Olof Larsson
f119fbb6f6 Remove old Essentials chat integration features. 2013-04-09 13:02:40 +02:00
Olof Larsson
c88847bd3e Rename P --> Factions. 2013-04-09 13:00:09 +02:00
Olof Larsson
8a4b26cbd9 Rename Factions --> FactionColl 2013-04-09 12:58:39 +02:00
Olof Larsson
ff4b85fcf4 Add in comment sepparators like in other MCore based plugins. 2013-04-09 12:57:33 +02:00
Olof Larsson
971d2004f2 Renaming Permission --> Perm and moving to main package. 2013-04-09 12:56:29 +02:00
Brettflan
4e6c12d995 New permission factions.claim.radius (granted to all players by default), which is now required in order to specify a radius with the claim command. 2013-01-29 19:21:33 -06:00
Brettflan
15024bf880 Added missing new permissions, and minor cleanup; switched Rel enum values back to previous values, for the sake of other plugins which might check against the actual enum value (for better compatibility with both 1.6.x and 1.7.x+ versions)
IMPORTANT NOTE:
Existing plugin users who are upgrading to this version will likely need to grant default permissions for recruits, like so:
f config factionPermDefaults door recruit
f config factionPermDefaults button recruit
f config factionPermDefaults lever recruit
f config factionPermDefaults build recruit
2013-01-26 20:38:04 -06:00
Brett Flannigan
5da296e8ca Merge pull request #207 from jastice/recruit-pr
Add recruit role for factions
2013-01-26 18:25:03 -08:00
Brettflan
8fdd07b08f minor cleanup; made econLandReward default to 0, disabled 2013-01-26 19:59:00 -06:00
Brett Flannigan
204c78886f Merge pull request #193 from AEtherSurfer/land_reward
Land reward
2013-01-26 17:54:09 -08:00
Justin Kaeser
4743c1821a Add recruit role for factions
The recruit role's goal is to enable factions to invite new members without being afraid of getting griefed instantly.

Adds a configuration option "factionRankDefault" for default rank of newly joined faction members. By default this is RECRUIT, but it can be set to any supported rank.

Adds the /f promote and /f demote commands, which leaders and officers can use to increase or decrease the rank of a faction member by one level, up to officer, or down to recruit.
This version of the recruit feature preserves the /f officer command for backward compatibility.
2013-01-06 21:44:29 +01:00
Brett Flannigan
755a957b12 Merge pull request #200 from blha303/master
Closed a possible resource leak (in currently unused code), updated README.md to point to DBO instead of Github's deprecated downloads section
2013-01-04 08:11:29 -08:00
Brett Flannigan
04d808e54d Merge pull request #201 from jastice/econfix
Handle EconomyResponse objects from Vault on all transactions.
2013-01-04 07:48:10 -08:00
Brettflan
21409a05bb tiny performance optimization to last commit 2013-01-04 09:13:27 -06:00
Brettflan
fb2a5a9a44 Update to our obsidian generator exploit prevention code (via config option "handleExploitObsidianGenerators") to address newer method involving tripwire strings instead of redstone 2013-01-04 09:06:56 -06:00
Olof Larsson
16c69d67cd Use the standard Bukkit command handling system.
Doing so will remove the possiblility for dynamic command alias assignment but makes factions compatible with all other
plugins doing stuff like blocking commands from being used (AntiGuest, NoCheatPlus, War etc) and plugins that log command
useage (Hawkeye etc).
2013-01-03 08:23:46 +01:00
Justin Kaeser
e57e9b7105 Handle EconomyResponse objects from Vault on all transactions.
Vault's EconomyResponse was ignored for some cases, such as money transfers and deposits.
This would cause money to get lost if a transfer failed. This change refunds the initiatior of a transfer and notifies them of the failure.

Failing transfers can happen often when using economy plugins based on physical currency, such as Gringotts,
for example when no space is available in an account.
2012-12-28 23:46:32 +01:00
Steven Smith
d9ca9c62cb Closed a possible resource leak, updated README.md to point to DBO instead of Github's deprecated downloads section 2012-12-28 04:54:13 +08:00
Brettflan
31faf605dc Release 1.8.0
and sneaking in a typo fix
2012-12-19 06:43:25 -06:00
Brettflan
657305a5fe fix imports for new PowerLossEvent 2012-12-19 06:15:31 -06:00
alkarin
efcf97d375 Fix for PowerLossEvent Messages 2012-12-17 11:43:57 -06:00
alkarin
6eb23a200e Fix for PowerLossEvent Messages 2012-12-17 11:34:19 -06:00
alkarin
1f5dc830be Added a new Factions event for power loss named PowerLossEvent.
PowerLossEvent happens after each player death
2012-12-17 10:10:13 -06:00
ÆtherSurfer
2f883455ee Land Reward Task up and running.
Conflicts:
	src/com/massivecraft/factions/Conf.java
	src/com/massivecraft/factions/listeners/FactionsPlayerListener.java
2012-12-01 14:23:49 -05:00
ÆtherSurfer
ca219a1fb2 Reward faction members with money every day for every plot they control divided among all the players in the faction 2012-12-01 14:16:29 -05:00
Brettflan
47f23b93da Release 1.7.9 Beta
Also fix for improper message being sent to person who changes a faction description if "broadcastDescriptionChanges" is disabled
2012-11-30 20:14:32 -06:00
Brettflan
857892738f fix for /f list command throwing an error if an invalid page number was specified (ex. 5 pages available and they run /f list 6) 2012-11-30 19:43:04 -06:00
Brettflan
9c7ed3bf38 Fix for pistons being able to push blocks into protected territory through water or lava 2012-11-11 13:05:58 -06:00
Brettflan
1c8d6919bd New setting "broadcastDescriptionChanges" (default false) which can be enabled to have faction description changes broadcast to everyone on the server. Previously description changes were always broadcast.
Also added witch and wither boss to monster list, missed that for last release.
2012-11-09 18:22:39 -06:00
Brettflan
95289e1411 fix for piston retraction not working if faction doesn't have build rights in its own territory; missed this when fixing the same thing for piston extension recently 2012-11-09 17:47:53 -06:00
Brettflan
5c45ea5ee2 Fix for command prevention routine treating Wilderness areas as neutral faction territory in 1.7 branch 2012-11-09 07:44:46 -06:00
Olof Larsson
675505e6fd Using PlayerLoginEvent instead of PlayerPreLoginEvent to fix a warning. 2012-11-07 11:39:59 +01:00
Brettflan
2f80787edd Fix for crop trampling and pressure plates not being protected due to bug introduced in recent performance overhaul 2012-11-06 15:01:37 -06:00
Brettflan
b8aaeb1053 Fix for slashless commands triggering errors in CraftBukkit on rare occasions due to being run async 2012-11-06 14:23:17 -06:00
Brettflan
20b359c11a Wither boss second stage will no longer be able to destroy blocks in territory which has explosion protection (explosion faction flag turned off) 2012-11-06 11:58:14 -06:00
Brettflan
174320c278 updated known badPotionEffects to include wither potion 2012-11-06 11:04:08 -06:00
Brettflan
3055e68e86 fix for economy check that made sure player/faction could afford specific commands not working correctly; thanks to spaceemotion for pointing out the problem and fix 2012-11-06 11:01:16 -06:00
Brettflan
a783dc33cf Protect hanging entities (paintings and item frames) from explosions; thanks to Tahkeh for the method 2012-11-06 10:06:37 -06:00
Brettflan
e83ac76b2c Added anvil and beacon to list of list of protected container materials 2012-11-06 10:00:19 -06:00
Brettflan
3e0a68fd6e Performance overhaul sponsored by rockxz3, using his large server's data for reference to help with testing and tuning. Timing numbers below are based on this data set on my test server.
* PlayerMoveEvent performance boost (from 0.047ms to 0.015ms in testing, ~313% as fast): now more thrifty in determining whether player has actually moved between chunks before doing anything else; important since this event triggers extremely quickly
* PlayerInteractEvent performance boost (from 0.068ms to 0.034ms in testing, ~200% as fast): now ignores left-clicks for interaction checks, since in CraftBukkit 1.4 left-clicks no longer open doors or activate buttons/levers/etc.; not as important as above, but still triggers quite often as people are digging or interacting with blocks
* "/f list" command performance boost (from 234ms to 30ms in testing, ~780% as fast): code was getting information for all factions, narrowed it down to only getting info for displayed page range
* "/f show" command performance boost (from 132ms to 28ms in testing, ~470% as fast): tweaked the ally & enemy listing code used
2012-11-06 09:43:27 -06:00
Brettflan
d31741fb34 Updated old painting events to new hanging events so that item frames are also protected.
Also updated CraftBukkit lib and (hopefully) further clarified error message for GSON libs not being found in CB 1.3.2+ location.
2012-10-31 16:16:21 -05:00
Brettflan
ef56ce9a51 Backups are now created of bad factions.json and players.json files if they fail to load due to a JSON parse error; same as we already do for bad conf.json 2012-10-19 01:50:37 -05:00
Brettflan
7bbb4fbf44 Update to "handleExploitTNTWaterlog" method to not destroy Ender chests or portals; sadly there's still no method provided by Bukkit to get a block's blast resistance, so we have to go by a list of block type IDs which are supposed to be TNT-proof 2012-10-19 00:11:28 -05:00
Brettflan
5f33e51fae Fix for crash on plugin startup if Worldguard integration is enabled ("worldGuardChecking") but Worldguard plugin isn't loaded on server
Also updated SpoutPlugin lib
2012-10-09 17:37:01 -05:00
Brettflan
619e52a5d4 fix for pistons not working (via pistonProtectionThroughDenyBuild) if faction doesn't have build rights in its own territory 2012-09-30 18:01:42 -05:00
Brettflan
56cb2becde added some (apparently absolutely necessary) idiot-proofing for CB version support due to changed GSON lib package name; we were getting a flood of invalid error reports because of it 2012-09-05 03:42:59 -05:00
Brettflan
f65f3a0e9e Fix for factionless players being unable to hurt each other, and fix for factionless players taking reduced damage in Wilderness (was being treated as their faction territory by damage reduction routine) 2012-08-26 18:48:49 -05:00
Brettflan
7aa4fa12f2 Modified readBytes() and writeBytes() methods in DiscUtil.java to use older file handling routines which don't require Java 7. The vastly improved file loading speed which came from Olof's recent update to this file has been retained. 2012-08-26 15:23:45 -05:00
Olof Larsson
b588d355b4 Fix crash when HeroChat was not present. 2012-08-26 12:20:56 +02:00
Brettflan
e3bfaec642 Merge branch 'master' of github.com:MassiveCraft/Factions 2012-08-26 01:02:54 -05:00
Brettflan
28206b1c25 The latest CraftBukkit builds have changed their compiled-in GSON lib's package name. Rather than us switching back to using a separate GSON lib again (with two effectively identical copies of GSON ending up loaded and wasting server resources), I'm simply switching Factions to point to CraftBukkit's refactored GSON package name instead.
In line with that, I've removed the Bukkit and GSON libs and added in CraftBukkit as a lib.
2012-08-26 01:02:31 -05:00
Olof Larsson
bc0647e51b Fixing the recipients for HeroChat integration. 2012-08-26 02:12:02 +02:00
Olof Larsson
48c5131ea4 New beta herochat integration and fixing the slow load time. This may require Java7. 2012-08-26 00:54:15 +02:00
Brettflan
3be1ecf63c nitpicking myself 2012-08-07 22:33:23 -05:00
Brettflan
8e64c7c137 clean up code from last commit a bit 2012-08-07 22:28:21 -05:00
Brett Flannigan
98f20a4ec6 Merge pull request #138 from ammaraskar/master
Fixes an ender pearl clipping exploit with blocks that occupy less than 1 block in width or length
2012-08-07 20:09:59 -07:00
Brettflan
a57132aa7d Update version to 1.7.6_pre, fix for invalid comparison 2012-08-07 21:58:41 -05:00
Brettflan
af6c4952fa Add default permissions for all members of SafeZone/WarZone factions to use territory access commands; this way, players trusted enough to be added to either system faction will be able to grant access to their claims as desired 2012-08-07 21:58:04 -05:00
Brettflan
124a46c791 Update for remaining old PlayerChatEvents, update EssentialsChat libs and integration accordingly 2012-08-07 21:51:22 -05:00
Brettflan
ddd17830c0 Switch PlayerChatEvent to AsyncPlayerChatEvent for bleeding-edge 1.3.1 Bukkit builds to prevent persistent nag from Bukkit, update Bukkit lib
UNTESTED, please confirm working... looks like chat event cancellation might be bugged in Bukkit at the moment but will hopefully be fixed soon if so
2012-08-05 19:58:50 -05:00
Olof Larsson
7f228b648a Some servers might want to disable territorial warfare alltogether. 2012-07-30 23:28:23 +02:00
Olof Larsson
a380b86a71 Bug fix for that wilderness painting on dynmap. 2012-07-19 02:56:05 +02:00
basicsensei
94816a6e52 fix evil bug with getPlayer matching online players
if the offline player had similar name with the online player
ie. online "s2", offline "s", then "s" would show as online because
getPlayer("s") will return getPlayer("s2")
this is why getPlayerExact should be used
2012-07-16 18:11:27 +02:00
Ammar Askar
0b2e9e340d Fixes an ender pearl exploit allowing players to clip through blocks who occupy less than 1 block in width or length 2012-06-10 14:22:50 +05:00
Brettflan
d7a5970b85 Release 1.7.5 alpha: one last minor fix to EssentialsChat integration needed 2012-05-16 20:34:38 -05:00
Brettflan
af1024e5a4 Changed default Spout territory faction display to upper left, since Spoutcraft client now has minimap in upper right 2012-05-16 15:31:42 -05:00
Brettflan
4460438365 Brief access info is now displayed under two circumstances: if you have been granted explicit access to the territory you are in ("access granted"), or if you are a normal member of the faction which owns the territory and access is denied to you ("access restricted"). This info will be displayed through Spout under the faction tag if possible, otherwise it will be displayed through chat.
New conf.json setting:
"spoutTerritoryAccessShow": true,  - whether to show brief access info using Spout
2012-05-16 15:29:00 -05:00
Brettflan
01d9f62bdd Removed bit of code which was apparently intended to optimize movement event code but which was actually slowing the process down a bit overall 2012-05-16 12:57:44 -05:00
Brettflan
a0909ddb5c Added back a FactionsBlockListener.playerCanBuildDestroyBlock() method which references Location instead of Block, mainly for backwards compatibility 2012-05-16 11:52:47 -05:00
Brettflan
58bec9d6dc New "access" system to replace old ownership system. Access can be granted to build, destroy, and fully interact within any chunk for specific players or factions. Access can also optionally be denied to normal members of the host faction.
Some further info display to go with this feature is yet to come, and further testing for possible bugs is also needed.

Related info:

New FPerm "ACCESS" which is granted to faction leaders and officers by default. This FPerm allows you to bypass access restrictions throughout your faction territory, and (along with the "factions.access" Bukkit permission below) allows you to change access settings for any chunk owned by your faction.

New permissions:
factions.access - Ability to grant territory access for your faction, if you have the proper "ACCESS" FPerm (defaults to leaders and officers only). Added to factions.kit.halfplayer permission kit.
factions.access.any - Ability to grant territory access for any faction on the server. Added to factions.kit.mod permission kit.
factions.access.view - Ability to view territory access info for your own faction. Added to factions.kit.halfplayer permission kit.

New command:
/f access [view|p|f|player|faction=view] [name=you] - view or change the access information for the chunk you are in. If "view" or nothing is specified, it will simply display the info. If "p" or "player" is specified, a player will be granted access, or removed from the list if they were already granted access. If "f" or "faction" is specified, the same will be done for the specified faction. The name defaults to yourself or your faction if not specified. If your own faction is specified, you will toggle restricted access for the chunk so that normal faction members can be denied access, unless they are in the access list.
Examples:
/f access - view access list, if in your own territory
/f access p SomePlayer - grant access to player "SomePlayer" for the current chunk, or remove them from the access list if already there
/f access f - toggle restricted access for the current chunk (since faction name isn't specified, uses your own faction), assuming you're in your own factions territory
2012-05-14 21:41:13 -05:00
Brettflan
d2b0fee335 Delete a couple of files which are no longer used 2012-05-14 19:53:08 -05:00
Olof Larsson
5988e8e5af Simplified the perm command. 2012-05-09 06:29:52 +02:00
Olof Larsson
a0a163056d Now using automated help. Fixed SeeChunk issues. 2012-05-09 05:56:37 +02:00
Olof Larsson
67e5aa8464 Fixing a few apperance bugs and stopped updating apparance if it was the same. 2012-05-09 05:21:21 +02:00
Olof Larsson
2c5438bf70 Some minor fixes to the previous commit. 2012-05-09 03:32:04 +02:00
Olof Larsson
ca6b185bd1 New cape system and refactored spout appearances. 2012-05-09 03:24:07 +02:00
Brettflan
1f51ee9699 Improved explosion handling speed 2012-05-08 15:14:16 -05:00
Brettflan
c32736f3f1 fix for rare case where faction home location's world being removed or renamed (world with specified name not existing) could lead to NPE 2012-05-08 12:47:46 -05:00
Olof Larsson
1459c9c057 Reworked chat completely. Added Herochat integration. New tag-parsing system. Non-monitor-breaking relation colored chat. 2012-05-02 04:45:10 +02:00
Olof Larsson
06d22549e2 Added in some deprecated methods for backwards-compat. 2012-04-27 20:29:41 +02:00
Brettflan
e3a7188b0d /f show|who command will no longer reveal players as online if they are hidden from the viewer by the Vanish API 2012-04-26 08:08:11 -05:00
Brettflan
1defa2984b Relation commands will now cancel out if the same relation is already set with the target faction. 2012-04-06 13:27:23 -05:00
Brettflan
ffa4806af4 fix for /f power command used on self incorrectly also requiring factions.power.any permission 2012-04-06 13:23:01 -05:00
Olof Larsson
10522e7048 Made a sepparate health bar listener, reduced duplicate code and added respawn listener. 2012-04-01 15:08:20 +02:00
Olof Larsson
3eed72783b Added a healthbar feature :) 2012-03-25 21:07:11 +02:00
Brettflan
6d75fa39cc New setting "handleExploitTNTWaterlog" (default false/disabled) which, if enabled, will cause TNT which explodes in liquid to actually destroy a single adjacent block in all 6 directions. This will only apply to blocks which can be destroyed by TNT normally, specifically anything other than air, bedrock, water, lava, obsidian, and enchanting tables. The destruction of these blocks will be handled as if they had been mined, dropping the appropriate item.
TNT in water/lava doesn't normally destroy any surrounding blocks, which is usually desired behavior. That's the reason this setting is disabled by default. However, it is available because it provides a method to get through waterwalls with enough persistence, and it makes cheap (non-obsidian) TNT cannons require minor maintenance between shots. Both are useful things for my server.
2012-03-19 11:18:39 -05:00
Brettflan
d77cf1fa18 Double-space (or more) after command alias is no longer accepted, i.e. "f home". Otherwise, command prevention routines (in Factions itself and in other plugins) can be bypassed. For example, preventing the "f home" command wouldn't prevent anyone from using "f home" or "f home" instead. 2012-03-19 08:21:06 -05:00
Brettflan
8333354926 New setting "handleExploitInteractionSpam" (defaults to true). If enabled, players will begin to take injury if they rapidly try interacting with anything in another faction's territory. This is to prevent people from spam-clicking on doors and chests and such in the hopes that they'll get one through. After 10 rapid interaction attempts in a row, every click will cause them damage; the damage amount is a half heart of damage for every 10 clicks (up to 1 heart at 20 clicks, 1.5 hearts at 30, etc.). After the player has stopped trying for 2 seconds, their failed interaction counter will reset.
Also removed our old workaround fix code for the bug where half-step placement wasn't detected, since the Bukkit team fixed that in 1.1-R4.
2012-03-19 07:59:41 -05:00
Brettflan
8f2e587eb9 Optional prevention of a couple of exploits.
1. Obsidian generator exploit, which converts redstone wire to obsidian. New setting "handleExploitObsidianGenerators" (enabled by default) to determine whether it's prevented or not. Some servers might want to disable this prevention, to keep it as a viable obsidian creation method. Thanks to ObGenBlocker and WorldGuard plugins for the prevention method.
2. Ender pearl exploit, which could be used to clip through doors, glass, and probably a few other things if just the right spot was targeted. New setting "handleExploitEnderPearlClipping" (enabled by default) to determine whether it's prevented or not.

Also removed our TNT exploit prevention code, since they did get it fully fixed in 1.1-R4 and it doesn't look to be coming back from the dead again like it did when they released 1.1-R2.
2012-03-19 06:55:00 -05:00
Brettflan
2df8ca0df9 Add fireball/"fire charge" to materialsEditTools list, to prevent them from being used to set things on fire like flint&steel 2012-03-19 04:18:59 -05:00
Brettflan
f3239cd9ed Should finally completely fix problem where player location world changes in the middle of the /f home smoke effect, triggering an error from trying to calculate distance between worlds
also updated Spout API lib
2012-03-19 01:28:06 -05:00
Brettflan
d8a39140fc Faction homes should no longer be lost if their target world isn't already loaded when Factions loads at server startup. This is done using a new lazy-load Location container class which only initializes the Location when it's actually needed. 2012-03-14 13:06:38 -05:00
Brettflan
7b9674dc4b Ability to pay for commands (through economy) is now checked before firing events which can be canceled, and actual payment made after making sure the event isn't canceled.
Added Econ.hasAtLeast(EconomyParticipator ep, double delta, String toDoThis) method to check if an account has at least a specified amount of money in it. Also added related FCommand.canAffordCommand(double cost, String toDoThis).
2012-03-13 09:48:34 -05:00
Brettflan
fd8ca30af6 (donington) Fixes for compiler warnings & minor .gitignore enhancement, completed the last of the creatureType/entityType renaming (a few imports and functions) 2012-03-13 08:43:45 -05:00
Brettflan
18b10ce8f9 Cleaning sweep, mainly for various stray "4 spaces" indentions to tabs 2012-03-13 08:27:03 -05:00
Brettflan
28269b7455 a bit of cleanup 2012-03-13 07:47:54 -05:00
Brett Flannigan
a53a556594 Merge pull request #103 from donington/CustomFactionEvents
Custom faction events
2012-03-13 04:31:52 -07:00
Brettflan
2856411594 Remake of radius claim method. It now starts in the current chunk and spirals outward, in a repeating task designed to keep from overloading the server. The old method tried to put together a list of chunks, and then tried to claim them immediately starting from one corner of the overall area.
New setting "radiusClaimFailureLimit" (default 9). If claims are unsuccessful that many times in a row during a radius claim, the task will cancel out. There is no longer a limit to the specified radius since the process should no longer cause major server stress, and due to the process canceling out after several failures as just described.

Added some new methods to FLocation to quickly convert between block/chunk/region positions, and rewrote the FLocation hashCode() method to make it faster.
2012-03-13 05:54:48 -05:00
donington
e2f0d049f9 Merge remote-tracking branch 'origin/master' into CustomFactionEvents 2012-03-13 04:51:32 -04:00
Brettflan
fbdc0503ba Fix for "econClaimUnconnectedFee" not working correctly 2012-03-11 22:44:38 -05:00
Brettflan
b88430a628 New setting "playersWhoBypassAllProtection" (default empty), which is a list of player names that should always bypass normal faction protections such as block destruction and placement. This is primarily for use with other plugins/mods which use a fake player to take action, which shouldn't necessarily be subject to protections provided by Factions. Note that case is important; you must preserve the exact capitalization of the name.
As with every other setting, you are advised to use /f config to modify it. Example: /f config playersWhoBypassAllProtection fakePluginPlayerName  - add/remove the specified player name

Also switched several HashSets in Conf.java to LinkedHashSets. LinkedHashSets do have slower insertion and deletion than HashSets, but importantly they have faster lookup speed (at least until you get up to several hundred entries).
2012-03-11 13:36:03 -05:00