Commit Graph

92 Commits

Author SHA1 Message Date
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
Olof Larsson
7f228b648a Some servers might want to disable territorial warfare alltogether. 2012-07-30 23:28:23 +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
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
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
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
patrickfreed
021bf52c62 Added Event System 2012-03-01 20:16:45 -05:00
Brettflan
c208658cab update default GSON jar version to 2.1 2012-02-19 08:32:50 -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
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
Brettflan
f0eae47164 Merge branch 'master' of github.com:MassiveCraft/Factions 2012-01-28 12:02:39 -06: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
c248d419bb Panic fix to remove infinite loop 2012-01-28 17:15:20 +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
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
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
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
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
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
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
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
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
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
0c46809952 Some refactoring and better messages 2011-10-24 11:07:06 +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
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
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
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
3e8faad156 Updated Spout features to improve consistency (of code, and of displayed information) 2011-10-23 09:03:28 -05: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
e6d45a6aa2 Spout overlay support is missing for the new relation coloring. Otherwise done. 2011-10-21 20:08:54 +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