cec9422a13
AutoLeaveTask is now throttled to only spend a certain amount of time per server tick on removing inactive players, to prevent it from potentially choking very large servers. This amount of time can be specified by the new setting "autoLeaveRoutineMaxMillisecondsPerTick" (default 5ms, ~10% of a tick).
Brettflan
2013-04-21 20:26:19 -05:00
63837691ce
Additional safety check to make sure EntityCollection.saveToDisc() can't run multiple iterations simultaneously; this might have been the cause of some reports of corrupted data
Brettflan
2013-04-18 03:24:23 -05:00
f7d57efe0b
Made SaveTask routine's repeat rate configurable through new setting "saveToFileEveryXMinutes" (default 30.0, as it was previously hardcoded). Routine can be disabled by setting it to 0 or lower. Also added in flag to make sure the routine doesn't try to run more than one iteration simultaneously if a previous iteration is still running.
Brettflan
2013-04-18 03:02:40 -05:00
d8564a050f
Additional Exception catching for errors which might occur when loading JSON files
Brettflan
2013-04-18 02:08:41 -05:00
8487bafac0
Many possible sync related problems with 1.6.x chat handling; switching back to using deprecated PlayerChatEvent instead of AsyncPlayerChatEvent. Not the best solution, but since 1.6.x is only really maintained for compatibility and bugfixes at this point...
Brettflan
2013-04-18 02:03:21 -05:00
a4e06db112
made "worldGuardBuildPriority" apply in Wilderness and WarZone, not just SafeZone
Brettflan
2013-04-12 11:59:33 -05:00
96dafe4327
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.
Brettflan
2013-01-29 19:21:32 -06:00
19178d2875
(by jastice) Handle EconomyResponse objects from Vault on all transactions.
Brettflan
2013-01-04 09:54:00 -06:00
7a8fa0266a
tiny performance optimization to last commit
Brettflan
2013-01-04 09:13:28 -06:00
fc6e80ecbe
Update to our obsidian generator exploit prevention code (via config option "handleExploitObsidianGenerators") to address newer method involving tripwire strings instead of redstone
Brettflan
2013-01-04 09:06:57 -06:00
214b87edd8
(by alkarinv) Added a new Factions event for power loss named PowerLossEvent. PowerLossEvent happens after each player death.
Brettflan
2012-12-19 06:18:56 -06:00
3a653e39db
update craftbukkit lib to fix CB dev build breaking EntityChangeBlockEvent, and add "b" to version for recompile
Brettflan
2012-12-05 21:12:47 -06:00
9e4cc676ea
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)
Brettflan
2012-11-30 19:43:01 -06:00
98d3b8cf0d
How about we declare async commands as async
mbax
2012-11-25 00:38:44 -05:00
1e9cf01e23
Fix for pistons being able to push blocks into protected territory through water or lava
Brettflan
2012-11-11 13:05:59 -06:00
8aa9e18be6
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.
Brettflan
2012-11-09 18:22:41 -06:00
25cf3b5bbc
Update deprecated PlayerPreLoginEvent to PlayerLoginEvent; backported from main branch
Brettflan
2012-11-08 00:07:53 -06:00
ade3c6b320
Fix for crop trampling and pressure plates not being protected due to bug introduced in recent performance overhaul
Brettflan
2012-11-06 15:01:34 -06:00
c11d9b03a3
Fix for slashless commands triggering errors in CraftBukkit on rare occasions due to being run async
Brettflan
2012-11-06 14:23:16 -06:00
8288cfc44a
minor cleanup of hanging explosion protection code
Brettflan
2012-11-06 12:35:48 -06:00
a71e1bf8b2
Wither boss second stage will no longer be able to destroy blocks in territory which has fireball protection; a bit crude just using fireball protection for Wither boss too, but I'd rather not add in a whole new set of xxxBlockWitherExplosion settings
Brettflan
2012-11-06 11:58:16 -06:00
7a31fb8217
updated known badPotionEffects to include wither potion
Brettflan
2012-11-06 11:04:10 -06:00
165fbe03a1
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
Brettflan
2012-11-06 11:01:21 -06:00
30d9bbf138
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. * 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
Brettflan
2012-11-06 09:43:30 -06:00
dce2e7d266
Added config protection defaults for Beacon and Anvil. Added Hanging protection for explosions.
John Veres
2012-11-03 07:21:28 -04:00
ee6c7c07d2
Updated old painting events to new hanging events so that item frames are also protected.
Brettflan
2012-10-31 16:16:19 -05:00
1707582e80
Wither skull explosions are now blocked by fireball explosion protection (territoryBlockFireballs etc.)
Brettflan
2012-10-29 19:24:31 -05:00
53de526151
Update CraftBukkit lib to 1.4.2 dev build 2421
Brettflan
2012-10-29 19:21:27 -05:00
c7b4184e1d
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
Brettflan
2012-10-19 01:50:36 -05:00
1a4286c379
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
Brettflan
2012-10-19 00:11:37 -05:00
ea2da7ea9f
Fix for crash on startup if Worldguard integration is enabled ("worldGuardChecking" or the new "worldGuardBuildPriority") but Worldguard plugin isn't loaded on server
Brettflan
2012-10-09 17:36:59 -05:00
909f605343
fixed default build if there was no region at location.
flatbmx
2012-09-08 11:22:18 -05:00
774d013cd0
Added WorldGuard region building overriding safezone build rules if enabled.
flatbmx
2012-09-08 11:02:36 -05:00
1751702dc1
re-release of 1.6.9.1: 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
Brettflan
2012-09-05 03:43:39 -05:00
3c5a5300fd
Release 1.6.9.1 ... any possible final 1.6.x branch releases will be made solely for bugfixes and CraftBukkit compatibility updates, and will be numbered 1.6.9.x
Brettflan
2012-08-26 18:32:20 -05:00
e8b66ac8cd
Fix for players being able to use /f sethome for other factions when they shouldn't be able to
Brettflan
2012-08-26 18:28:48 -05:00
f99e1b0e89
Partial backport of Olof's file handling changes made in the main 1.7.x branch. Reworked a bit to use older file handling methods which don't require Java 1.7. Main change is that files as a whole are read into (and written from) an array of bytes, which is converted to/from UTF-8 encoded text. Previously files were read line-by-line as text from a BufferedReader.
Brettflan
2012-08-26 04:44:55 -05:00
3bcdb87bf3
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.
Brettflan
2012-08-26 01:02:21 -05:00
5841106bea
(by ammaraskar) Fixes an ender pearl clipping exploit with blocks that occupy less than 1 block in width or length
Brettflan
2012-08-07 22:32:34 -05:00
d29c7f22fa
Update version to 1.6.9_pre, fix for invalid comparison
Brettflan
2012-08-07 21:58:46 -05:00
6059ee0b0b
Update for remaining old PlayerChatEvents, update EssentialsChat libs and integration accordingly
Brettflan
2012-08-07 21:51:31 -05:00
5a558a2f0f
Merge branch '1.6.x' of github.com:MassiveCraft/Factions into 1.6.x
Brettflan
2012-08-05 19:57:11 -05:00
ca61860d7b
Switch PlayerChatEvent to AsyncPlayerChatEvent for bleeding-edge 1.3.1 Bukkit builds to prevent persistent nag from Bukkit, update Bukkit lib
Brettflan
2012-08-05 19:56:07 -05:00
e18cfb4529
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
basicsensei
2012-07-16 18:25:31 +02:00
73898673f6
Release 1.6.8 - one final minor detail, default position for Spout territory faction display is now in upper left since Spoutcraft client now has minimap in upper right
Brettflan
2012-05-16 23:06:16 -05:00
0bafdb5512
Release 1.6.8 - likely the last 1.6 release
Brettflan
2012-05-16 19:10:52 -05:00
ba16a202ba
fix for rare case where faction home location's world being removed or renamed (world with specified name not existing) could lead to NPE
Brettflan
2012-05-08 14:25:18 -05:00
66a7685bf7
/f show|who command will no longer reveal players as online if they are hidden from the viewer by the Vanish API
Brettflan
2012-04-26 08:08:10 -05:00
dd0789cda1
Relation commands will now cancel out if the same relation is already set with the target faction.
Brettflan
2012-04-06 13:27:21 -05:00
dcee1f5232
fix for /f power command used on self incorrectly also requiring factions.power.any permission
Brettflan
2012-04-06 13:23:05 -05:00
e71a09b6e2
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.
Brettflan
2012-03-19 11:18:40 -05:00
0eaffd7aef
Double-space (or more) after command alias is no longer accepted, i.e. "f--home" (replace "-" with " " since GitHub is combining multiple spaces). 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.
Brettflan
2012-03-19 08:24:01 -05:00
d31bac8da8
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.
Brettflan
2012-03-19 07:59:44 -05:00
03b0a2bb5f
Optional prevention of a couple of exploits.
Brettflan
2012-03-19 06:54:59 -05:00
500a3d2819
Add fireball/"fire charge" to default territoryDenyUseageMaterials list, to prevent them from being used to set things on fire like flint&steel
Brettflan
2012-03-19 04:19:05 -05:00
67fce0b6ca
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
Brettflan
2012-03-19 01:28:10 -05:00
1ffa3b952c
Release 1.6.7 (sorry, forgot I hadn't pushed this version change)
Brettflan
2012-03-17 00:38:30 -05:00
68f1319a98
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.
Brettflan
2012-03-14 13:06:50 -05:00
2dbaee836b
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.
Brettflan
2012-03-13 09:48:31 -05:00
30c2eaeac3
(donington) Fixes for compiler warnings & minor .gitignore enhancement, completed the last of the creatureType/entityType renaming (a few imports and functions)
Brettflan
2012-03-13 08:43:55 -05:00
03fe63cda0
Cleaning sweep, mainly for various stray "4 spaces" indentions to tabs
Brettflan
2012-03-13 08:26:54 -05:00
554a7a42c6
(patrickfreed) (bladedpenguin) (donington) Custom Event System - custom events are provided for other developers to hook into to create their own plugins based around Factions! Check the factions/event folder for the currently implemented events.
Brettflan
2012-03-13 07:58:51 -05:00
47756a9216
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.
Brettflan
2012-03-13 05:54:51 -05:00
90e9f35fea
Fix for "econClaimUnconnectedFee" not working correctly
Brettflan
2012-03-11 22:44:39 -05:00
4db904182e
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
Brettflan
2012-03-11 13:36:07 -05:00
6931b3e204
Connected standard command handler getCommand("f"), for it to work with other plugins which directly execute commands using that interface.
Brettflan
2012-03-11 11:41:56 -05:00
b51ea3020d
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
Brettflan
2012-03-11 07:39:31 -05:00
fbfdf8fe23
(donington) Consolidated chat event listeners into a single chat listener class.
Brettflan
2012-03-09 21:24:58 -06:00
d7f5ee581e
New setting "logPlayerCommands" (default true) which can be disabled to prevent player commands from being logged.
Brettflan
2012-03-09 19:26:42 -06:00
2aca034c8c
If plugin failed to load correctly for various reasons, it could end up wiping the board or faction list. This should now be prevented.
Brettflan
2012-03-09 14:44:18 -06:00
1f39fc36a0
Release 1.6.6b for compatibility with CB 1.1-R5 and above
Brettflan
2012-03-01 09:41:34 -06:00
460c382699
Fix for fatal error at startup in CraftBukkit 1.1-R5 and above
Brettflan
2012-03-01 09:40:29 -06:00
e1a3d8bffb
Final attempt to fix rare non-fatal NPE from Player ending up returning null while updating Spout appearance features
Brettflan
2012-03-01 09:38:46 -06:00
84ee922ac1
"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.
Brettflan
2012-02-26 16:55:57 -06:00
cbd2507676
(Olof) Added command logging for commands used by players
Brettflan
2012-02-26 16:42:12 -06:00
7138e8d5f8
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.
Brettflan
2012-02-26 12:29:46 -06:00
503233b916
UNTESTED: fix for chatspy not working with CAPI chat integration
Brettflan
2012-02-25 04:44:26 -06:00
c1f5475d0c
New setting factionMemberLimit (default 0, no limit), which will prevent players from joining any faction that has reached this membership limit.
Brettflan
2012-02-24 06:30:18 -06:00
967870a582
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.
Brettflan
2012-02-23 00:09:19 -06:00
3ff3e61dd9
Hopeful fix for rare errors where location world somehow changes in the middle of trying to show a smoke effect
Brettflan
2012-02-22 23:52:38 -06:00
02fa6ab2c1
(Olof) (backported from 1.7 branch) New setting "homesTeleportCommandEssentialsIntegration" (default true) which, if enabled, will integrate /f home teleports with the Essentials plugin's teleport handler if Essentials is on the server. This provides teleport cooldown and/or delay to /f home based on your Essentials configuration.
Brettflan
2012-02-22 13:41:47 -06:00
5452a7cf91
Clean up integration methods with other plugins a bit
Brettflan
2012-02-22 11:43:56 -06:00
11a4162981
Updated SpoutAPI, handled deprecated Spout AppearanceManager code, updated Spout event listener to new Bukkit event system
Brettflan
2012-02-20 17:03:43 -06:00