Commit Graph

25 Commits

Author SHA1 Message Date
Olof Larsson
c88847bd3e Rename P --> Factions. 2013-04-09 13:00:09 +02:00
Olof Larsson
971d2004f2 Renaming Permission --> Perm and moving to main package. 2013-04-09 12:56:29 +02: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
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
28269b7455 a bit of cleanup 2012-03-13 07:47:54 -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
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
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
99e8acd79f Streamlined the faction arg descriptores 2011-10-24 11:11:53 +02:00
Olof Larsson
46161f61db Started to implement special faction behavior 2011-10-24 02:33:30 +02:00
Olof Larsson
ac6870b770 Merge with master 2011-10-23 20:53:56 +02: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
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
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
f25daa228a Some of the bugs are fixed. 2011-10-12 18:48:47 +02:00
Olof Larsson
1d44aa0c9c Renamed sendMessageParsed to msg 2011-10-10 13:40:24 +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