Commit Graph

947 Commits

Author SHA1 Message Date
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
donington
cc772b00ce Merge remote-tracking branch 'origin/master' into CustomFactionEvents 2012-03-11 13:29:37 -04:00
donington
9314b4e298 Updated Faction Event System -- Land Events
Changes:
----------
 * changed internal storage of faction from String Id to Faction for LandClaimEvent and LandUnclaimEvent
 * added getFactionId(), getFactionTag(), getPlayer() to LandClaimEvent
 * added getFactionId(), getFactionTag(), getFPlayer(), getPlayer() to LandUnclaimEvent
 * removed LandUnclaimEvent from unclaimAll() in Board.java
 * created LandUnclaimAllEvent (uncancellable) and hooked into cmdUnclaimall

Notes:
--------
 * LandUnclaimAllEvent currently only returns calling faction and fplayer information.  Location data is unavailable as it is determined in Board.java's unclaimAll().  Realistically this should be enough information for anyone hooking this event to determine what is being altered.

On branch CustomFactionEvents

	modified:   src/com/massivecraft/factions/Board.java
	modified:   src/com/massivecraft/factions/FPlayer.java
	modified:   src/com/massivecraft/factions/cmd/CmdUnclaim.java
	modified:   src/com/massivecraft/factions/cmd/CmdUnclaimall.java
	modified:   src/com/massivecraft/factions/event/LandClaimEvent.java
	new file:   src/com/massivecraft/factions/event/LandUnclaimAllEvent.java
	modified:   src/com/massivecraft/factions/event/LandUnclaimEvent.java
2012-03-11 13:28:31 -04:00
Brettflan
c0308940c8 Connected standard command handler getCommand("f"), for it to work with other plugins which directly execute commands using that interface. 2012-03-11 11:41:56 -05:00
Brettflan
2c6191b73f Removed dependence on external GSON lib in lib/gson.jar, since GSON 2.1 is now embedded in CraftBukkit itself, used by their auto-updater added shortly before 1.1-R5 was released:
0ed1d1fdbb
2012-03-11 07:39:31 -05:00
Brettflan
a888a9c5b5 Updated /f config to support modifying "factionFlagDefaults" and "factionPermDefaults". Both of these settings require an additional argument more than other settings.
Examples:
/f config factionFlagDefaults firespread false  - set default "FIRESPREAD" faction flag to false
/f config factionFlagDefaults monsters true  - set default "MONSTERS" faction flag to true
/f config factionPermDefaults build ally  - for default "BUILD" faction permission, add/remove permission for allies
/f config factionPermDefaults withdraw member  - for default "WITHDRAW" faction permission, add/remove permission for regular faction members
2012-03-11 07:33:47 -05:00
Brettflan
fd44983ae2 (donington) Consolidated chat event listeners into a single chat listener class.
(Brettflan) Fixed slashless commands not being logged if player was in faction chat or alliance chat mode. Also cleaned up chat code a bit, nothing major.
2012-03-09 21:25:01 -06:00
Brettflan
a5bb25eb44 New setting "logPlayerCommands" (default true) which can be disabled to prevent player commands from being logged. 2012-03-09 19:26:40 -06:00
donington
88bdadcb2b Merge remote-tracking branch 'origin/master' into CustomFactionEvents 2012-03-09 17:49:10 -05:00
donington
6329fd0eaf updated patrickfreed's custom event system
Patrick's Custom Event System Changes:
----------------------------------------
  * FPlayerLeaveEvent now fires for all faction players in cmdDisband()
  * FPlayerLeaveEvent removed from cmdJoin()
  * FPlayerJoinEvent now only fires when the faction is different in cmdLeade
  * Added FactionRenameEvent, firing on cmdTag()
  * Added FactionRelationEvent, firing on FRelationCommand extensions
  * Fixed FPlayerJoinEvent to fire after tag is set in cmdCreate()
  * Added getFactionId() to FactionCreateEvent

TODO:
-------
  * cmdLeader() might need a FPlayerLeaveEvent for the same reason it needs
    a FPlayerJoinEvent?

On branch CustomFactionEvents

	modified:   src/com/massivecraft/factions/cmd/CmdCreate.java
	modified:   src/com/massivecraft/factions/cmd/CmdDisband.java
	modified:   src/com/massivecraft/factions/cmd/CmdJoin.java
	modified:   src/com/massivecraft/factions/cmd/CmdKick.java
	modified:   src/com/massivecraft/factions/cmd/CmdLeader.java
	modified:   src/com/massivecraft/factions/cmd/CmdTag.java
	modified:   src/com/massivecraft/factions/cmd/FRelationCommand.java
	modified:   src/com/massivecraft/factions/event/FPlayerLeaveEvent.java
	modified:   src/com/massivecraft/factions/event/FactionCreateEvent.java
	new file:   src/com/massivecraft/factions/event/FactionRelationEvent.java
	new file:   src/com/massivecraft/factions/event/FactionRenameEvent.java
	modified:   src/com/massivecraft/factions/event/LandClaimEvent.java
2012-03-09 17:09:33 -05:00
Brettflan
1ca93948a3 Replaced deprecated CreatureType references with EntityType 2012-03-09 14:46:45 -06:00
Brettflan
0a048d6553 If plugin failed to load correctly for various reasons, it could end up wiping the board or faction list. This should now be prevented.
An example: if you loaded 1.6.6 (not 1.6.6b) on CB 1.1-R6 or newer, it would trigger an exception at startup and cause this problem.
2012-03-09 14:44:17 -06:00
patrickfreed
021bf52c62 Added Event System 2012-03-01 20:16:45 -05:00
Brettflan
2954fa621f Fix for fatal error at startup in CraftBukkit 1.1-R5 and above
Updated Bukkit lib
2012-03-01 09:40:28 -06:00
Brettflan
3af6f2737a Final attempt to fix rare non-fatal NPE from Player ending up returning null while updating Spout appearance features 2012-03-01 09:38:47 -06:00
Brettflan
460d280387 Release 1.7.3 alpha
Also I'm sneaking in another minor fix for the coloring of the faction limit error message
2012-02-26 21:34:59 -06:00
Brettflan
3c4e766ba2 fix for faction limit error message 2012-02-26 20:49:49 -06:00
Brettflan
de3c7436fe "autoLeaveAfterDaysOfInactivity" routine now runs only once every few minutes instead of running every time a player logs in. New setting "autoLeaveRoutineRunsEveryXMinutes" (default 5 minutes) to determine just how often the routine is run.
The routine is also slightly more careful about how it calculates how long a player has been offline.
2012-02-26 16:55:58 -06:00
Brettflan
d71bd15a79 Added possibility to specify a player in the /f join command (/f join <faction> [player=you]), to make a player other than yourself join the specified faction. The new permission factions.join.others (added to factions.kit.mod and above) is required to be able to specify a different player.
Note that the player cannot currently already be in another faction; if they are, you'll need to /f kick them first. Also note that if the faction isn't open (with no invitation required), the player isn't invited, and you don't have the factions.join.any permission or have admin bypass mode on, the attempt will also fail.

Also, added new log method which accepts arguments (like the msg method).
2012-02-26 12:29:44 -06:00
Brettflan
02200e5793 UNTESTED: fix for chatspy not working with CAPI chat integration
If it's still not working correctly, let me know
2012-02-25 04:44:28 -06:00
Brettflan
817a43b5e0 New setting factionMemberLimit (default 0, no limit), which will prevent players from joining any faction that has reached this membership limit. 2012-02-24 06:30:28 -06:00
Brettflan
2a667a294d Damage protection is now extended to being set on fire (by flaming arrows, for instance) and receiving harmful splash potion effects. Beneficial splash potion effects are unaffected, and prevention of harmful splash potion effects is handled on a player-by-player basis, so you can still be harmed if you're not careful where you throw them. 2012-02-23 00:09:09 -06:00
Brettflan
a0fa3863d4 Hopeful fix for rare errors where location world somehow changes in the middle of trying to show a smoke effect 2012-02-22 23:52:39 -06:00
Brettflan
8607f1c22d Merge branch 'master' of github.com:MassiveCraft/Factions 2012-02-22 13:36:35 -06:00
Brettflan
50572b388c Moved Essentials teleport integration handling to EssentialsFeatures.java 2012-02-22 13:35:26 -06:00
Olof Larsson
92116bc929 Fix some warnings in Eclipse 2012-02-22 19:08:17 +01:00
Brettflan
546ecd6a45 Clean up integration methods with other plugins a bit 2012-02-22 11:43:53 -06:00
Brettflan
c8d6d06f90 Updated SpoutAPI, handled deprecated Spout AppearanceManager code, updated Spout event listener to new Bukkit event system 2012-02-20 17:03:37 -06:00
Brettflan
e918bc0d91 Compatibility with upcoming CB 1.1-R5 and above: updated Enderman block monitors to use EntityChangeBlockEvent, removed register event convenience methods from MPlugin (no longer working or needed)
Updated Bukkit lib to newest dev version
2012-02-20 16:59:33 -06:00
Brettflan
c208658cab update default GSON jar version to 2.1 2012-02-19 08:32:50 -06:00
Brettflan
03a45784c7 Fix for potential NPE in CraftBukkit caused by LWC location world returning null 2012-02-19 08:23:13 -06:00
Brettflan
4ba73af883 fix for command prevention routine (used by territoryEnemyDenyCommands and such) not properly covering commands with uppercase letters in them 2012-02-19 08:20:22 -06:00
Brettflan
8e96a75b56 Update our MCore event handlers to use the newer Bukkit event system 2012-02-07 17:02:54 -06:00
Brettflan
fbbf0a12af Add back support for older EssentialsChat versions
also reword leader command's "you must be leader" error message
2012-02-07 15:31:35 -06:00
Brettflan
296c783627 Try again 2012-02-07 15:23:19 -06:00
Brettflan
589e4417c7 Major bugfix: leaders of factions should no longer be able to promote members of other factions to leader of that faction (unless of course they have factions.leader.any permission) 2012-02-07 15:15:25 -06:00
Brettflan
1a109fa589 "worldsIgnorePvP" setting no longer ignores PvP damage in SafeZones and PvP damage done by players who just logged in, no matter the world it happens in 2012-02-07 15:04:19 -06:00
Brettflan
0a6991a997 Fix for error when disbanding faction from server console with economy enabled 2012-02-07 14:56:57 -06:00
Olof Larsson
c74e4baab2 Minor change to support NoCheat protection 2012-02-05 19:51:51 +01:00
Olof Larsson
37169dc6ec Added command logging as for default commands and temporairly removed Essentials old features as it does not compile in Eclipse :/ sorry about this. How would we go about getting this compile in Eclipse and Netbeans at the same time? 2012-02-05 18:55:26 +01:00
Brettflan
c8558f7bbb Release 1.7.2c: Most TNT explosions were being prevented due to a mistake on my part when I re-implemented our TNT+redstone exploit workaround fix, sorry about that. That's fixed, and the X/Z coordinates for such prevented attempts are no longer sent to players, only sent to the server console/log. 2012-02-04 16:22:55 -06:00
Brettflan
7965fcdc00 Re-enabled WorldGuard support. It actually was working, who knew? I don't use WorldGuard, and I'd only seen multiple failure reports lately and not a single indication from anyone that the integration was actually working for them, so... 2012-02-03 00:16:03 -06:00
Brettflan
4f4b988b42 Preemptive EssentialsChat 3.x support, since they'll be removing the old local chat integration method; new implementation will need improvement to support relation coloring, but for now it otherwise works.
When chat event hits an UnknownFormatConversionException which requires better chat configuration, the quick dirty fix of setting chatTagInsertIndex to 0 is now automatically applied.
2012-02-02 19:31:33 -06:00
Brettflan
dcd167d4e0 WorldGuard integration is now disabled, since it has been broken for quite some time now and nobody who used it has been interested enough to actually fix it.
The code is left in though, just in case somebody finally decides to fix it. We'll probably strip the code out eventually if it remains unfixed.
2012-02-02 15:20:43 -06:00
Brettflan
9eef2d13d6 Adding TNT exploit workaround fix back; they finally fixed the exploit in CraftBukkit 1.1-RC1, but broke it again in 1.1-RC3. :( 2012-02-02 15:13:56 -06:00
Brettflan
b33b24943a make sure max land setting doesn't apply to factions with infinite power (such as SafeZone and WarZone) 2012-02-02 13:09:43 -06:00
Brett Flannigan
9bc6d01a4b Merge pull request #90 from first4ever/master
Max Faction Land

Added a "claimedLandsMax" option in config

(answering to issue "Max Faction Land" :
https://github.com/MassiveCraft/Factions/issues/88 )
2012-02-02 11:03:05 -08:00
Brettflan
1cd392f256 Workaround fix for EssentialsChat integration not working on Essentials 2.8+. "chatTagReplaceString" setting now defaults to "[FACTION]" instead of "{FACTION}" since Essentials now converts curly-braces to square-braces for any tags specified in their chat format setting which Essentials doesn't recognize.
For those using Essentials 2.8.x, this should hopefully be handled automatically.
2012-02-02 07:29:00 -06:00
first4ever
a1fcda003d Added a "claimedLandsMax" option in config
(answering to issue "Max Faction Land" :
https://github.com/MassiveCraft/Factions/issues/88 )
2012-01-31 23:30:24 +01:00
Olof Larsson
0abc3f397a Using latest CAPI for integration 2012-01-31 21:14:05 +01:00
Brettflan
900f05c62f zero-value economy gains/losses are now skipped over ("X gained 0.0 for claiming this land" and similar is a bit odd)
CLeaned up warning given for UnknownFormatConversionException chat exception; the debug info is no longer useful for us, and a distraction for users.
2012-01-31 11:07:47 -06:00
Brettflan
ed83711493 Protection against radius claim attempts which might overload the server 2012-01-31 10:58:22 -06:00
Brettflan
d639a4a93e Removed direct Permissions and PermissionsEx plugin support. Problems with PermissionsEx integration had been reported.
Now permissions are solely handled directly through Bukkit's built-in "superperms" permission system, since all modern permission plugins should be interfacing through that at this point.
2012-01-31 10:52:34 -06:00
Brettflan
848d0463db Delayed Vault economy integration not necessary after all; reverting added delay 2012-01-29 23:11:39 -06:00
Olof Larsson
d3645d3c95 Merge branch 'master' of github.com:MassiveCraft/Factions 2012-01-28 19:49:16 +01:00
Olof Larsson
fafad0f590 Improved the seechunk command. 2012-01-28 19:49:01 +01:00
Brettflan
70af217de7 Merge branch 'master' of github.com:MassiveCraft/Factions 2012-01-28 12:11:52 -06:00
Brettflan
4348d2c35e Fix for storing player data in factions.json unnecessarily, and FPlayer add/remove methods are now marked as protected 2012-01-28 12:11:12 -06:00
Olof Larsson
87dc76716e deleted an unused import. 2012-01-28 19:09:50 +01:00
Brettflan
f0eae47164 Merge branch 'master' of github.com:MassiveCraft/Factions 2012-01-28 12:02:39 -06:00
Olof Larsson
8a13cd8cdc reverting the revert (sorry) 2012-01-28 19:00:13 +01:00
Brettflan
9a6c15edd1 New command /f powerboost <p|f|player|faction> <name> <#>, which will apply a permanent power bonus/penalty to a specified player or faction. When applied to a player, it will affect their max power and min power. When applied to a faction, it will be applied to current and max power levels. Whether it is a bonus or a penalty depends on whether the number you specify is positive or negative.
New permission factions.powerboost which is required to use the above command. This permission is added to the factions.kit.mod permission kit.

example usage:
/f powerboost p Player1 1.5  (give player "Player1" a bonus of 1.5 power)
/f powerboost faction SomeFaction -6  (give faction "SomeFaction" a penalty of -6 power)
2012-01-28 11:56:51 -06:00
Olof Larsson
ba760b69ae Reverting... wtf 2012-01-28 18:10:19 +01:00
Olof Larsson
c248d419bb Panic fix to remove infinite loop 2012-01-28 17:15:20 +01:00
Olof Larsson
7575cfcafc merege fix 2012-01-28 17:03:47 +01:00
Olof Larsson
dfb36a9e43 Noted a possible npe 2012-01-28 17:02:18 +01:00
Brettflan
30b3facc19 Players no longer regain power while dead; no more waiting to respawn in order to regain power
Also added AuthDB to softdepend list, so it has first shot at Factions commands in case it needs to cancel one
2012-01-28 05:59:07 -06:00
Brettflan
5ac0baf84a Fix for Vault economy integration bugging out if the target economy plugin loaded after Factions (really seems like a Vault issue, but we'll work around it)
Fix for users who have Vault but don't use economy getting an NPE
2012-01-28 05:24:39 -06:00
Brettflan
fb92fb7c68 Update to new Bukkit Event system
Also remove leftover TNT exploit prevention code which I missed earlier
2012-01-28 04:37:56 -06:00
Brettflan
1dc5a0f226 removed TNT exploit handling code, since they did finally fix the bug in the CraftBukkit 1.1-RC1 release 2012-01-28 04:07:21 -06:00
Brettflan
319be71102 Merge branch 'master' of github.com:MassiveCraft/Factions 2012-01-28 03:16:57 -06:00
Brettflan
7144da54c7 Workaround fix for half-step placement on existing half-steps not being prevented; it's caused by a CraftBukkit bug:
https://bukkit.atlassian.net/browse/BUKKIT-646

Fix for a potential NPE in FPlayer autoLeaveOnInactivityRoutine.

Added CaptureThePoints and CombatTag to our softdepend list so they can potentially cancel Factions commands.
2012-01-28 03:16:25 -06:00
Olof Larsson
92bddb0f9a Add optional essentials integration for /f home delay and cooldown (enabled by default). 2012-01-27 22:22:32 +01:00
Patrick
23e970bc60 Fixed NPE that occurs when a player is offline when chests are cleared. 2012-01-26 17:19:00 -05:00
Brettflan
1196d74140 Fix for error when deleting a faction if Vault wasn't present;
Fix for slashless Factions commands not working for player in faction chat or alliance chat modes
2012-01-20 11:19:34 -06:00
Brettflan
0209d69814 removed extra /f claim alias ("claim" was in there twice) 2012-01-19 00:41:10 -06:00
Brettflan
663a7e9454 New conf.json setting "permanentFactionMemberDenyCommands" (list, default empty), which can be used to prevent members of permanent factions from using specific commands.
Also, a minor fix for the help page regarding faction banks being shown if "bankEnabled" setting was enabled but "econEnabled" setting was false (economy as a whole disabled).
2012-01-18 23:31:33 -06:00
Brettflan
b4450b3bdb fix for factions-specific commands not being prevented properly if they were in "territoryNeutralDenyCommands" or "territoryEnemyDenyCommands"
also got rid of a command preprocess listener which is now unnecessary
2012-01-18 22:42:58 -06:00
Brettflan
960aca6240 fix for /f config not accepting values with spaces in them (i.e. "/f config territoryEnemyDenyCommands f home") 2012-01-18 22:24:12 -06:00
Brettflan
19b9bffc43 New conf.json setting "permanentFactionsDisableLeaderPromotion" (default false) which, if enabled, will circumvent the promotion routine for permanent factions so that they can exist without a faction leader, only regular members and/or officers. 2012-01-18 21:21:26 -06:00
Brettflan
a330931cd5 New conf.json setting "econClaimUnconnectedFee" (default 0.0), which can be set as an additional economic cost for claiming land which is not connected to existing claims. This additional cost is only added if the faction has at least 1 existing claim somewhere in the current world, and is added to the cost after all other calculations are done.
This fee is not refunded from unclaiming land or even considered in actual land values.
2012-01-18 21:10:40 -06:00
Brettflan
bc40f3b751 Server admins can now promote or demote any member of any faction to/from faction leader or officer using the existing /f leader and /f officer commands, with two new permissions added to allow that. A third permission is also added to allow server admins or moderators to join any faction without the need of /f bypass mode.
Also, a couple more minor bugfixes are included for /f home payment giving the wrong message, player/faction descriptions being wrong for console messages, and potential NPE in new faction leader promotion routine if faction was permanent with no current leader.

New permissions:
factions.leader.any - allows use of /f leader on any player in any faction
factions officer.any - allows use of /f officer on any player in any faction
factions.join.any - allows player to join any faction, bypassing invitation process for closed factions (the same as players with /f bypass enabled can do)
2012-01-18 06:01:50 -06:00
Brettflan
46d7e9f4c5 self-inflicted damage (such as ender pearl usage) is no longer prevented with a message like "you cannot hurt you" 2012-01-17 02:56:38 -06:00
Brettflan
8142e1c28f improved TNT exploit prevention
Now, canceled exploit attempts don't injure players or mobs as if the TNT had successfully exploded, and if it's the case of an existing TNT block which a redstone torch is attempted to be placed next to, it no longer drops a free TNT item. In that case, the existing TNT block is still destroyed itself, but... oh well, it's close enough to perfect.
2012-01-17 01:57:16 -06:00
Brettflan
2a9b475012 Economy integration is now handled through Vault instead of Register. You will need to download and install the Vault plugin now if you want to use any Economy-related features. If you're not using the Register plugin for anything other than Factions, it should be safe to remove it from your server.
Vault: http://dev.bukkit.org/server-mods/vault/

Note: for proper faction bank support, if you're using iCo5 or EssentialsEco, I recommend waiting for Vault 1.2.5 to be released which addresses faction account creation issues related to those.
2012-01-16 19:38:14 -06:00
Brettflan
de14985d1e (courtesy of patrickfreed) LWC Chest Protection Integration
When a claimed territory is captured by another Faction, all LWC chests that are not occupied by members of the person who is claiming the territory's faction lose their protection.
2012-01-15 12:41:33 -06:00
Brettflan
c19f3405bf when redstone torches or TNT were attempted to be placed in protected territory but prevented, it could previously still trigger a TNT explosion due to a longstanding unfixed CraftBukkit exploit. A workaround is now in place to prevent this, and any such attempts are logged and announced to everyone on the server.
For reference: https://bukkit.atlassian.net/browse/BUKKIT-89
2012-01-15 11:41:14 -06:00
Brettflan
e8baaa2460 Minor tweaks to chatspy, added it to /f help 2012-01-15 01:41:03 -06:00
Brett Flannigan
9ff68301e5 Merge pull request #60 from eXeC64/spy
Added chat spy feature for admins
2012-01-14 22:58:39 -08:00
Brettflan
8027e87078 Errors loading conf.json are handled better now, allowing Factions to continue on to loading board.json instead of losing it
Also, the bad conf.json file is backed up to conf.json_bad so it can potentially be recovered
2012-01-13 05:48:03 -06:00
Brettflan
47ba56de9e Optimization: Factions (as objects) now maintain a list of FPlayers in the faction for faster lookup
INTEGRATION NOTE: getFPlayers() and getFPlayersWhereOnline(boolean online) now return Set<FPlayer> instead of ArrayList<FPlayer>, so other plugins which hook into those methods will probably need to be updated.
2012-01-13 03:46:31 -06:00
Brettflan
4b4d26ed29 updated the map orientation to match the new compass north orientation 2012-01-13 03:18:34 -06:00
Brettflan
23f55ee753 /f list sorting method performance boost 2012-01-11 19:11:10 -06:00
Brettflan
78a62bc25c Updated /f map compass to use new official north 2012-01-11 18:19:31 -06:00
Brettflan
65f16b74bd Players auto-removed due to inactivity or due to being banned now have their data deleted immediately; this should fix the log spam of the same players repeatedly being marked for deletion 2012-01-09 21:37:16 -06:00
Brettflan
1c918ad52e Merge branch 'master' of github.com:MassiveCraft/Factions 2012-01-07 15:57:01 -06:00
Brettflan
324455cdde fix for potential infinite loop when cleaning data
As reported:
at com.massivecraft.factions.Factions.get(Factions.java:99)
at com.massivecraft.factions.FPlayer.getFaction(FPlayer.java:43)
at com.massivecraft.factions.integration.SpoutFeatures.updateSingle(SpoutFeatures.java:218)
at com.massivecraft.factions.integration.SpoutFeatures.updateAppearances(SpoutFeatures.java:154)
at com.massivecraft.factions.FPlayer.resetFactionData(FPlayer.java:188)
at com.massivecraft.factions.FPlayer.resetFactionData(FPlayer.java:194)
at com.massivecraft.factions.FPlayers.clean(FPlayers.java:45)
<repeat>
2012-01-07 15:56:17 -06:00
Olof Larsson
f0627017b5 Found a bug I did NOT FIX. 2012-01-04 00:30:07 +01:00
Olof Larsson
81d24ecbc4 Leaders can now not be kicked by their officers. Improved leader command. 2011-12-23 01:13:55 +01:00
Olof Larsson
3dc70e82d9 Unused imports cause warings in eclipse. 2011-12-18 22:47:48 +01:00
Brettflan
c02c5702b4 Added soil to the default "materialsEditOnInteract" setting, so people who aren't allowed to build in a territory won't be able to trample crops in it (soil trampling is handled as an Interact event, for whatever reason)
For servers with existing conf.json files, you can use this command to update them: /f config materialsEditOnInteract SOIL
2011-12-18 08:28:28 -06:00
Brettflan
6ea54cb7ac When a faction leader is kicked from his faction for whatever reason (not logging in for too long, a server admin running the /f kick command on him, the player being banned from server), another player will now be promoted to faction leader in his place. If the faction has at least one officer, one of them will be chosen. Otherwise, a normal member will be promoted. If the faction leader was the last/only member, the faction will of course be disbanded.
Also, players being kicked due to inactivity is now logged.
2011-12-18 07:50:41 -06:00
Brettflan
bbc7c48408 Added new conf.json setting "powerPlayerStarting" (default 0.0) for the power level which new players will now start at; previously new players would start with max power, now it's configurable 2011-12-18 03:05:22 -06:00
Brettflan
07e2721ccd Merge branch 'master' of github.com:MassiveCraft/Factions 2011-12-18 02:38:09 -06:00
Brettflan
accf718120 New conf.json setting "removePlayerDataWhenBanned" (default true), which can be disabled to prevent Factions from deleting player data for players when they are banned from the server 2011-12-18 02:37:40 -06:00
Olof Larsson
0bbb7ddfdd Merge pull request #61 from sp1ky/master
Power regeneration rate increase as power decreases
2011-12-16 02:41:05 -08:00
Brettflan
e19b16931d Color tags shouldn't work in descriptions any more; no more purple "[SERVER]" description messages to impersonate the console 2011-12-16 04:21:21 -06:00
Brettflan
064abfe16c Added MagmaCube to monster list 2011-12-16 00:27:08 -06:00
Brettflan
a8ed55c215 fix for Spout faction labels not updating for players who have /f map on 2011-12-15 23:50:37 -06:00
Brettflan
f1114848ff fix for Spout's questionable new "no default height" warning for variable-sized text labels
also updated Bukkit lib
2011-12-15 23:48:15 -06:00
Olof Larsson
1e1925b43e Performance boost? And fixed capi integration once again. 2011-12-16 00:19:01 +01:00
Olof Larsson
2c5a8872f2 Fixed capi integration 2011-12-15 16:49:47 +01:00
Olof Larsson
e9c8988ec6 Fix for containers 2011-12-04 22:48:30 +01:00
Olof Larsson
d9bfd7d38b Protecting noteblocks and blocking warp command from enemy territory. 2011-12-04 19:49:50 +01:00
Olof Larsson
8661672f14 Adding jukebox as a container. 2011-12-03 22:30:49 +01:00
Harry Jeffery
5bf3161cf0 Added chat spy feature for admins 2011-11-29 22:40:16 +00:00
sp1ky
486fce400f Power regeneration rate increase as power decreases 2011-11-28 23:24:46 +00:00
Olof Larsson
3d929138a5 Removed debug output. 2011-11-27 23:52:15 +01:00
Olof Larsson
87e7dd52d7 Merge branch 'master' of github.com:MassiveCraft/Factions 2011-11-27 23:13:58 +01:00
Olof Larsson
b4ea5228ec Backwards compat for Dynmap-Factions 2011-11-27 23:13:43 +01:00
Olof Larsson
5db20e9625 Added radius claim 2011-11-27 22:47:40 +01:00
Brettflan
72d5a8ea59 Added new 1.0 monsters; still missing magma cube mob, which isn't in Bukkit CreatureTypes yet 2011-11-27 13:03:16 -06:00
Olof Larsson
bf2ff7f0ed Allies can build per default. 2011-11-27 19:21:24 +01:00
Olof Larsson
5b64a62f6b Added protection to cauldron and brewingstand. Updated bukkit library. 2011-11-27 19:18:00 +01:00
Olof Larsson
907492e8f7 MassiveCraftCore update 2011-11-25 21:09:03 +01:00
Olof Larsson
686986eeb9 Fixes to the show command. 2011-11-24 16:53:59 +01:00
Olof Larsson
fc6bfcf061 Merge branch 'master' of github.com:MassiveCraft/Factions 2011-11-24 16:27:23 +01:00
Olof Larsson
e935a56ff9 New SeeChunk command and cleanup of the show command. 2011-11-24 16:27:14 +01:00
Brettflan
101aa8cabe Hopefully fix a couple of economy integration problems 2011-11-23 00:11:30 -06:00
Brettflan
047a03af44 Modified description change message from being purple to yellow, to prevent exploit of color to spoof official server messages 2011-11-11 13:27:04 -06:00
Brettflan
95bdac3d86 Fix for command payment and land claiming/unclaiming payments not checking if faction banks are actually enabled, but instead only checking the individual bank-related settings; Fix for command costs being charged incorrectly based on "land costs" setting 2011-11-11 13:10:18 -06:00
Brettflan
e390c67bde formatting 2011-11-06 15:29:14 -06:00
Brettflan
dedb282498 Fix for minor NPE causes by null player when updating Spout-based appearances
also updated Spout lib
2011-11-06 15:27:18 -06:00
Olof Larsson
c43d34af79 Fix the nofaction wilderness invuln bug. 2011-11-06 09:20:03 +01:00
Olof Larsson
da15de2b52 moderator -> officer rename in messages in the officer command. 2011-11-06 09:12:38 +01:00
Olof Larsson
9c678965be The special factions must be closed. 2011-11-05 11:15:37 +01:00
Brettflan
d614dec781 Fix for faction chat referring to all speakers as "you"
Fix for faction account being null from Register and triggering NPE with some economy plugins
Updated Register lib
2011-10-27 08:48:14 -05:00
Olof Larsson
7ab784f02e Another reason to be saved 2011-10-26 14:50:34 +02:00
Olof Larsson
f76311c492 Claiming now works again :P 2011-10-25 22:18:54 +02:00
Olof Larsson
72db45e45e Updated readme, Fixed admin bypass command and corresponding permissions, Swapped colors for ally and truce, added new faction permissions, improved explosion protection and implemented firespread protection, fixed painbuild check order, flags can only be changed by server admins now and implemented type adapters for some enumerations for future changes to be non breaking. That it \:D / 2011-10-25 21:18:08 +02:00
Olof Larsson
57c4b70dad Merge with master 2011-10-25 17:52:14 +02:00
Olof Larsson
ee59a904a0 Removed line from help 2011-10-25 17:49:52 +02:00
Brettflan
d44ccda211 autoclaim will now cancel beforehand if player isn't able to claim land for the specified faction 2011-10-25 01:27:58 -05:00
Olof Larsson
451d9570e4 The friendlyfire flag now works 2011-10-24 14:54:37 +02:00
Olof Larsson
8eec55e37e asdf 2011-10-24 13:02:48 +02:00
Olof Larsson
5f437b1862 Changed permission view. Bank withdraw permission in the works 2011-10-24 11:56:41 +02:00
Olof Larsson
99e8acd79f Streamlined the faction arg descriptores 2011-10-24 11:11:53 +02:00
Olof Larsson
0c46809952 Some refactoring and better messages 2011-10-24 11:07:06 +02:00
Olof Larsson
bb5a676430 Changes to the ascii map and minor tweaking 2011-10-24 09:28:08 +02:00
Olof Larsson
1ec7842ed4 Removed the strange usage of selective saving and implemented a good simple one. 2011-10-24 03:15:08 +02:00
Olof Larsson
074be07510 Some dead code elimination 2011-10-24 03:02:25 +02:00
Olof Larsson
46161f61db Started to implement special faction behavior 2011-10-24 02:33:30 +02:00
Olof Larsson
e3821a8d4e REMOVED owned plots 2011-10-24 01:37:51 +02:00
Olof Larsson
958a1e0d9f Working permdelta parser 2011-10-23 23:38:26 +02:00
Olof Larsson
371261a07f Working on the faction perms as well now 2011-10-23 23:17:02 +02:00
Olof Larsson
21783ef9d4 Woop 2011-10-23 22:08:57 +02:00
Olof Larsson
ac6870b770 Merge with master 2011-10-23 20:53:56 +02:00
Olof Larsson
98c5230655 Wheeerp 2011-10-23 20:50:49 +02:00
Brettflan
136b69b07f Swapping money commands back to using EconomyParticipator instead of Faction/FPlayer 2011-10-23 13:14:51 -05:00
Brettflan
f8f3704cd4 Additional logging, with new conf.json settings to enable/disable logging of specific events:
"logFactionCreate": true,  - log faction creation
"logFactionDisband": true,  - log factions being disbanded, by command or by circumstance
"logFactionJoin": true,  - log player joining a faction
"logFactionKick": true,  - log player being kicked from a faction
"logFactionLeave": true,  - log player leaving a faction
"logLandClaims": true,  - log land being claimed (including safe zone and war zone)
"logLandUnclaims": true,  - log land being unclaimed (including safe zone and war zone)
"logMoneyTransactions": true,  - log money being deposited, withdrawn, and otherwise transferred in relation to faction banks

Also a fix for a potential NPE from players logging out and Spout appearance handler referencing them afterwards
2011-10-23 12:50:02 -05:00
Olof Larsson
842844969b Merged Relation and Role into one enum 2011-10-23 17:55:53 +02:00
Brettflan
46cae5a664 Updating help info a bit 2011-10-23 10:41:47 -05:00
Olof Larsson
e6ff84ad9a Merge branch 'master' into seven 2011-10-23 17:31:30 +02:00
Olof Larsson
d280f9409d In the middle of refactoring to merged role and relation as one enum 2011-10-23 17:30:41 +02:00
Brettflan
83f690c9c5 Fix for unclaimall command not working if Economy was disabled 2011-10-23 10:04:36 -05:00
Brettflan
9710ec911e Further improved safe zone and war zone auto-rename process courtesy of Olof 2011-10-23 09:36:37 -05:00
Brettflan
2e34079a8e Fix for nonworking war zone and safe zone renaming 2011-10-23 09:11:37 -05:00
Brettflan
3e8faad156 Updated Spout features to improve consistency (of code, and of displayed information) 2011-10-23 09:03:28 -05:00
Brettflan
a9b1aad956 Existing safe zones and war zones are now renamed to remove the extra " " if they have it, mainly for better /f claim compatibility but also to comply with the modified default names 2011-10-23 08:12:09 -05:00
Olof Larsson
4f7fd6dd96 Possibly solved the faction creation issue. Changed the best id match to something more reasonable 2011-10-23 12:07:20 +02:00
Olof Larsson
32624e0339 Fixing a string format error and possibly solving a money rights issue 2011-10-23 02:43:25 +02:00
Olof Larsson
2ac96f4278 Added a permanent power command 2011-10-22 18:12:15 +02:00
Olof Larsson
7ebed6db9c Improving the faction tag matching 2011-10-22 17:42:13 +02:00
Olof Larsson
75cd9b5e18 Indentation fixes and comment cleanup 2011-10-22 17:18:44 +02:00
Olof Larsson
a78a4dff98 Managed to get rid of some commands. This needs to be rethought even more though. 2011-10-22 17:03:49 +02:00
Olof Larsson
45d6a6628a Claim command refactoring in progress. 2011-10-22 16:00:24 +02:00
Olof Larsson
5bf38ab0aa Adding match mode for id search to MassiveCraftCore and improving the faction argument readers. 2011-10-22 14:39:01 +02:00
Olof Larsson
e6d45a6aa2 Spout overlay support is missing for the new relation coloring. Otherwise done. 2011-10-21 20:08:54 +02:00
Olof Larsson
89b53a577a Missed one 2011-10-21 19:23:05 +02:00
Olof Larsson
46f5849f9f Moving over to the use of describeTo. 2011-10-21 19:20:33 +02:00
Olof Larsson
51161bbb55 Adding a couple of admin bypass commands. 2011-10-21 18:20:31 +02:00
Olof Larsson
f42fb8e8bf Removing some old code and try to read colors in the listeners. 2011-10-21 18:14:04 +02:00
Brettflan
38e128010c Fix for /f permanent and /f peaceful commands giving an NPE if run from console
Fix for rare NPE when Spout territory info update is run and affected player disconnects at precisely that moment
Clarified "cannot attack neutral faction" messages to indicate enemy status is needed
Updated Bukkit lib to correspond with CB 1337
2011-10-20 18:08:55 -05:00
Brettflan
e3284a5ee1 Fix for /f money command not being shown in help, and some other minor cleanup 2011-10-16 09:11:29 -05:00
Brettflan
0b04c95990 Merge branch 'master' of github.com:MassiveCraft/Factions 2011-10-16 08:26:09 -05:00
Brettflan
1c02b35193 Fix for "allianceChatFormat" not actually being used, updated default format for it 2011-10-16 08:25:56 -05:00
Olof Larsson
aad9819ae9 herp 2011-10-16 12:12:49 +02:00
Olof Larsson
3d33088f47 Merge branch 'master' of github.com:MassiveCraft/Factions 2011-10-16 11:58:21 +02:00
Brettflan
f5450886f1 Fix for Bukkit "unknown command" error when using console commands
handling for extra commas in "baseCommandAliases" in conf.json adding null values
2011-10-16 04:02:29 -05:00
Brettflan
61bd37c99b A bit of command help menu cleanup 2011-10-15 12:46:44 -05:00
Brettflan
3981ca4dde Added fence gates to default "territoryProtectedMaterials" list.
Existing users should run these commands to add it to an existing config, if desired:
/f config territoryProtectedMaterials FENCE_GATE
/f config territoryProtectedMaterialsWhenOffline FENCE_GATE

Also changed first letter of "canLeaveWithNegativePower" setting to lowercase, to fit with Java standards. If you had previously changed this setting to false, you'll need to do so again.
2011-10-15 12:46:09 -05:00
Olof Larsson
3de70b6db8 Changes to the default configuration 2011-10-14 23:45:39 +02:00
Olof Larsson
04074bc2b4 Minor changes 2011-10-14 15:40:03 +02:00
Olof Larsson
00f6f4ab05 Support for the CAPI plugin. 2011-10-14 15:03:23 +02:00