Commit Graph

238 Commits

Author SHA1 Message Date
Olof Larsson
882bdf4c88 Thanks @AEtherSurfer, changed the order of faction and radius in the claim command and added a maximum radius. 2013-04-24 20:17:20 +02:00
Olof Larsson
5eed71fc67 Rename Faction Tag to Faction Name. What did tag ever mean? Name makes more sense. 2013-04-24 19:01:17 +02:00
Olof Larsson
aa989db8f7 Working on auto claim 2013-04-24 15:14:15 +02:00
Olof Larsson
e0c6e71b91 Removed WorldGuard integration. Can be readded later in a proper manner if anyone need it. Also moved some more Econ stuff to the listener. 2013-04-24 13:26:59 +02:00
Olof Larsson
05da06594a Unifying, simplifying and messing around with land claiming and the related costs. 2013-04-24 11:16:37 +02:00
Olof Larsson
825d937c84 Moved the last stuff away from ConfServer. 2013-04-24 08:39:26 +02:00
Olof Larsson
3dc2691bea Moving home config from ConfServer --> UConf 2013-04-23 18:07:17 +02:00
Olof Larsson
f802307056 Messing arund a bit with defaults 2013-04-23 14:00:18 +02:00
Olof Larsson
3c60f75bbd Rethinking power calculation some. 2013-04-23 12:14:36 +02:00
Olof Larsson
90d819ab18 Allergy reaction kicked in. This commit removes the Spout features. I have nothing against spout but if we are going to have them we should do them properly. They should be coded in such a way that they could be in an external plugin alltogether. Also removed netbeans stuff from IDE that should not be in the github repo. 2013-04-22 21:00:00 +02:00
Olof Larsson
19f9834210 Starting to rename fplayer --> uplayer since we will need an mplayer. 2013-04-22 17:59:51 +02:00
Olof Larsson
9a324d572e Try moving some core configuration over to UConf. 2013-04-22 16:58:22 +02:00
Olof Larsson
390ad76fa6 Patched away the errors with ugly meassures. 2013-04-22 14:16:07 +02:00
Olof Larsson
61e8730495 Quickfixed everything easy. 2013-04-22 13:03:21 +02:00
Olof Larsson
9fc75b1fcf Halfway through adding in universe support 2013-04-22 12:26:13 +02:00
Olof Larsson
e901cae995 Moving more stuff and removing useless lwc integration config option. 2013-04-22 10:05:03 +02:00
Olof Larsson
41bb3f6e05 Moving files around 2013-04-22 09:37:53 +02:00
Olof Larsson
d1cebc351e Rename mods --> officers in souce code and minor touches to the economy integration. 2013-04-19 15:51:41 +02:00
Olof Larsson
2299949a4a Fix a couple of old cases where it said Admin instead of Leader. 2013-04-19 15:32:16 +02:00
Olof Larsson
c2063a47b2 Some indent style and comment management. 2013-04-19 15:01:53 +02:00
Olof Larsson
9770cb8983 Minor messaround with land claiming. 2013-04-19 14:24:35 +02:00
Olof Larsson
c6739c4aa9 More econ event moves 2013-04-19 14:08:45 +02:00
Olof Larsson
87ee57e004 Achieve some minor symmetry increase and use listener for the home command. 2013-04-19 12:44:28 +02:00
Olof Larsson
61baf70ed1 Major messaround with the internal events and payForCommand logic. Not done just yet though. 2013-04-19 12:27:39 +02:00
Olof Larsson
d3488311de It makes no sense to charge for purely informational commands does it? If it does we can add them in later again. Also adding in a in progress listener to show how internal events should be used for integration with other plugins 2013-04-19 10:07:53 +02:00
Olof Larsson
2f8f0713e8 Minor touches to the Econ integration 2013-04-19 09:50:33 +02:00
Olof Larsson
170edc5811 Pass 1 at adding in better chat formating 2013-04-18 14:57:56 +02:00
Olof Larsson
bc0a8da76f Remove LazyLocation and declare that Tasks are not Utils. 2013-04-18 12:29:56 +02:00
Olof Larsson
10455c7acd Remaking PR 229 by squidicuzz 2013-04-18 08:00:18 +02:00
Olof Larsson
109d6059ce Get rid of Essentials integrations, use MCore teleporter for now and PS homes. As for chat I need to rewrite the chat system. Essentials integration can be readded later if needed. 2013-04-17 11:47:48 +02:00
Olof Larsson
4449b56246 MCore use CommandSender above Player. Adhere to this standard. 2013-04-17 10:41:38 +02:00
Olof Larsson
299316a915 Use FPerm for invite and deinvite as opposed to checking ranks. 2013-04-17 10:34:48 +02:00
Olof Larsson
1ccefc93b5 Removing player index to reduce complexity since I doubt its required. Decouble and nullify faction descriptions. 2013-04-17 08:55:08 +02:00
Olof Larsson
6ef15bc2db Fixing the comparator and starting to use the standardized version command. 2013-04-16 13:17:42 +02:00
Olof Larsson
4b9bdf0d94 No compiletime errors anymore, how kewl. Let's test. 2013-04-16 12:04:12 +02:00
Olof Larsson
97a2ed1fd8 No More ZCore 2013-04-16 11:27:03 +02:00
Olof Larsson
e874ea60df Even more command fixes. 2013-04-16 11:05:49 +02:00
Olof Larsson
a84582ba21 More work at streamlining the command constructor content 2013-04-16 10:30:21 +02:00
Olof Larsson
4c0adc523a Fixing adding aliases to commands. 2013-04-16 10:11:59 +02:00
Olof Larsson
3d9847e4a6 Starting to convert the faction commands. 2013-04-16 09:48:57 +02:00
Olof Larsson
03c058483c MCore Change 2013-04-16 09:28:07 +02:00
Olof Larsson
958155e43c This would be all ArgReaders? 2013-04-16 08:35:20 +02:00
Olof Larsson
4e9d963c67 added FPerm arg reader. 2013-04-16 07:45:20 +02:00
Olof Larsson
96954e4eb2 Fixing some comments. 2013-04-14 21:20:34 +02:00
Olof Larsson
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
e45592432a rename getOpen --> isOpen and remove old money migration code. 2013-04-11 11:44:55 +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
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
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
61b526e387 First pass at using Txt. 2013-04-10 10:32:04 +02:00
Olof Larsson
879e8b4170 Taking a look in FCommand. 2013-04-10 10:00:40 +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
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
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
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
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
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
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
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
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
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
a57132aa7d Update version to 1.7.6_pre, fix for invalid comparison 2012-08-07 21:58:41 -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
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