Commit Graph

213 Commits

Author SHA1 Message Date
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
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
ca6b185bd1 New cape system and refactored spout appearances. 2012-05-09 03:24:07 +02: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
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
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
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
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
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
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
patrickfreed
021bf52c62 Added Event System 2012-03-01 20:16:45 -05: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
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
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
50572b388c Moved Essentials teleport integration handling to EssentialsFeatures.java 2012-02-22 13:35:26 -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
0a6991a997 Fix for error when disbanding faction from server console with economy enabled 2012-02-07 14:56:57 -06:00
Brettflan
ed83711493 Protection against radius claim attempts which might overload the server 2012-01-31 10:58:22 -06:00
Olof Larsson
fafad0f590 Improved the seechunk command. 2012-01-28 19:49:01 +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
92bddb0f9a Add optional essentials integration for /f home delay and cooldown (enabled by default). 2012-01-27 22:22:32 +01: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
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
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
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
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
23f55ee753 /f list sorting method performance boost 2012-01-11 19:11:10 -06: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
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
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
Harry Jeffery
5bf3161cf0 Added chat spy feature for admins 2011-11-29 22:40:16 +00:00
Olof Larsson
3d929138a5 Removed debug output. 2011-11-27 23:52:15 +01:00
Olof Larsson
5db20e9625 Added radius claim 2011-11-27 22:47:40 +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
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
Olof Larsson
da15de2b52 moderator -> officer rename in messages in the officer command. 2011-11-06 09:12:38 +01: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
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
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
3e8faad156 Updated Spout features to improve consistency (of code, and of displayed information) 2011-10-23 09:03:28 -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
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
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
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
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
04074bc2b4 Minor changes 2011-10-14 15:40:03 +02:00
Olof Larsson
3967579884 Merge branch 'master' of github.com:MassiveCraft/Factions 2011-10-13 22:49:52 +02:00
Olof Larsson
618c5fceed Fixed a bug with the smoke effect for the faction home and one NPE. 2011-10-13 22:49:41 +02:00
Brettflan
d7a2a88f95 Merge branch 'master' of github.com:MassiveCraft/Factions 2011-10-13 14:10:04 -05:00
Brettflan
1a38007d64 With Spout, the territory indicator now also has an ownership indicator below it (but only if the current territory has any owners set), and a larger centered territory notice below which goes away after a couple of seconds.
These effectively replace the related chat notices if enabled.
Also, updated libs.
2011-10-13 14:09:47 -05:00
Olof Larsson
98260c75de Bugfixes and awesome probably complete money commands. 2011-10-13 16:07:07 +02:00
Olof Larsson
0888e027ad Econ messages improved. All money commands is now under the money parent command. 2011-10-13 14:41:07 +02:00
Olof Larsson
0039370f05 Some effect for the f home teleport command 2011-10-13 12:17:23 +02:00
Brettflan
4ec086e4fa Fix for faction creation sometimes causing an NPE; hopefully a fix for the cause of the null value as well, from an ID clash in the entity collection of factions
Fix for disband command causing an NPE if run from the console
Additionally, disband command use is now logged
2011-10-13 04:10:29 -05:00
Olof Larsson
f25daa228a Some of the bugs are fixed. 2011-10-12 18:48:47 +02:00
Olof Larsson
2566edfd8c Merged some changes 2011-10-12 17:28:00 +02:00
Olof Larsson
b202acb685 Almost finished money refactoring 2011-10-12 17:25:01 +02:00
Brettflan
0326a6e938 Fixed ownerlist command (though not sure just why it was failing as written, I need to investigate further), working on restructuring and fixing ownership handling for block placement/destruction/interaction/usage. Will finish that up in the next day or two. 2011-10-11 20:14:59 -05:00
Brettflan
1d8e06796f fix for /f config not working due to extra blank required parameter 2011-10-10 21:46:59 -05:00
Olof Larsson
80d132af70 Added forgotten type adapters. 2011-10-10 14:21:22 +02:00
Olof Larsson
1d44aa0c9c Renamed sendMessageParsed to msg 2011-10-10 13:40:24 +02:00
Olof Larsson
aceeea8b0e Fixed better color handling system 2011-10-10 13:31:25 +02:00
Olof Larsson
27c45bf7f3 Fixed who command and detatched the argument reading a bit. 2011-10-10 01:43:21 +02:00
Olof Larsson
3cc7766fa7 Some bugs fixed. 2011-10-10 01:21:05 +02:00
Olof Larsson
a5c8e2de49 glerp 2011-10-09 21:57:43 +02:00