Commit Graph

324 Commits

Author SHA1 Message Date
Brettflan 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. 2013-01-29 19:21:32 -06:00
Brettflan 19178d2875 (by jastice) Handle EconomyResponse objects from Vault on all transactions.
Vault's EconomyResponse was ignored for some cases, such as money transfers and deposits.
This would cause money to get lost if a transfer failed. This change refunds the initiatior of a transfer and notifies them of the failure.

Failing transfers can happen often when using economy plugins based on physical currency, such as Gringotts, for example when no space is available in an account.
2013-01-04 09:54:00 -06:00
Brettflan 7a8fa0266a tiny performance optimization to last commit 2013-01-04 09:13:28 -06:00
Brettflan fc6e80ecbe Update to our obsidian generator exploit prevention code (via config option "handleExploitObsidianGenerators") to address newer method involving tripwire strings instead of redstone 2013-01-04 09:06:57 -06:00
Brettflan e6dcfcdb38 Release 1.6.9.4 beta
and sneaking in a typo fix
2012-12-19 06:43:24 -06:00
Brettflan 214b87edd8 (by alkarinv) Added a new Factions event for power loss named PowerLossEvent. PowerLossEvent happens after each player death.
Backported from 1.7 branch.
2012-12-19 06:18:56 -06:00
Brettflan 98db1ee2c4 Release 1.6.9.3
Also fix for improper message being sent to person who changes a faction description if "broadcastDescriptionChanges" is disabled
2012-11-30 20:14:30 -06:00
Brettflan 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) 2012-11-30 19:43:01 -06:00
mbax 98d3b8cf0d How about we declare async commands as async 2012-11-25 00:38:44 -05:00
Brettflan 1e9cf01e23 Fix for pistons being able to push blocks into protected territory through water or lava 2012-11-11 13:05:59 -06:00
Brettflan 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.
Also added witch and wither boss to monster list, missed that for last release.
2012-11-09 18:22:41 -06:00
Brettflan 25cf3b5bbc Update deprecated PlayerPreLoginEvent to PlayerLoginEvent; backported from main branch 2012-11-08 00:07:53 -06:00
Brettflan ade3c6b320 Fix for crop trampling and pressure plates not being protected due to bug introduced in recent performance overhaul 2012-11-06 15:01:34 -06:00
Brettflan c11d9b03a3 Fix for slashless commands triggering errors in CraftBukkit on rare occasions due to being run async 2012-11-06 14:23:16 -06:00
Brettflan 8288cfc44a minor cleanup of hanging explosion protection code 2012-11-06 12:35:48 -06:00
Brettflan 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 2012-11-06 11:58:16 -06:00
Brettflan 7a31fb8217 updated known badPotionEffects to include wither potion 2012-11-06 11:04:10 -06:00
Brettflan 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 2012-11-06 11:01:21 -06:00
Brett Flannigan 5ad6886d46 Merge pull request #179 from Tahkeh/1.6.x-fix
Protecting Beacon and Anvil use by default and protecting Hanging entities from explosions
2012-11-06 07:54:44 -08:00
Brettflan 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
2012-11-06 09:43:30 -06:00
John Veres dce2e7d266 Added config protection defaults for Beacon and Anvil. Added Hanging
protection for explosions.
2012-11-04 01:52:33 -05:00
Brettflan ee6c7c07d2 Updated old painting events to new hanging events so that item frames are also protected.
Added wither boss initial explosion to our fireball explosion protection (only needed in 1.6 branch).

Also updated CraftBukkit lib and (hopefully) further clarified error message for GSON libs not being found in CB 1.3.2+ location.
2012-10-31 16:16:19 -05:00
Brettflan 1707582e80 Wither skull explosions are now blocked by fireball explosion protection (territoryBlockFireballs etc.)
only needed in 1.6.x branch since 1.7 branch handles all explosions the same
2012-10-29 19:24:31 -05:00
Brettflan 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 2012-10-19 01:50:36 -05:00
Brettflan 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 2012-10-19 00:11:37 -05:00
Brettflan ea2da7ea9f Fix for crash on startup if Worldguard integration is enabled ("worldGuardChecking" or the new "worldGuardBuildPriority") but Worldguard plugin isn't loaded on server
Also updated SpoutPlugin lib
2012-10-09 17:36:59 -05:00
Brett Flannigan 6c5e9cbdc8 Merge pull request #169 from flatbmx/1.6.x
Allow users to build/destroy in safezone if they can build in a worldguard region.
2012-10-09 15:19:23 -07:00
FlyingPikachu de258a529d Removed spammy "boardclearat / clearclaim" message
Pretty straightforward. Factions broadcasted pointless message whenever LWC locks were reset.
2012-10-07 15:19:23 -03:00
flatbmx 909f605343 fixed default build if there was no region at location. 2012-09-08 11:22:18 -05:00
flatbmx 774d013cd0 Added WorldGuard region building overriding safezone build rules if enabled. 2012-09-08 11:02:36 -05:00
Brettflan 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 2012-09-05 03:43:39 -05:00
Brettflan e8b66ac8cd Fix for players being able to use /f sethome for other factions when they shouldn't be able to 2012-08-26 18:28:48 -05:00
Brettflan 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.

Surprisingly, this seems to vastly speed up startup time. I tested on a ~2 MB data set which is now loading in just over 1 second where it was previously loading in ~95 seconds.
2012-08-26 04:44:55 -05:00
Brettflan 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.
In line with that, I've removed the Bukkit and GSON libs and added in CraftBukkit as a lib.
2012-08-26 01:02:21 -05:00
Brettflan 5841106bea (by ammaraskar) Fixes an ender pearl clipping exploit with blocks that occupy less than 1 block in width or length 2012-08-07 22:32:34 -05:00
Brettflan d29c7f22fa Update version to 1.6.9_pre, fix for invalid comparison 2012-08-07 21:58:46 -05:00
Brettflan 6059ee0b0b Update for remaining old PlayerChatEvents, update EssentialsChat libs and integration accordingly 2012-08-07 21:51:31 -05:00
Brettflan 5a558a2f0f Merge branch '1.6.x' of github.com:MassiveCraft/Factions into 1.6.x 2012-08-05 19:57:11 -05:00
Brettflan ca61860d7b Switch PlayerChatEvent to AsyncPlayerChatEvent for bleeding-edge 1.3.1 Bukkit builds to prevent persistent nag from Bukkit, update Bukkit lib
UNTESTED, please confirm working... looks like chat event cancellation might be bugged in Bukkit at the moment but will hopefully be fixed soon if so
2012-08-05 19:56:07 -05:00
basicsensei 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
2012-07-16 18:25:31 +02:00
Brettflan 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 2012-05-16 23:06:16 -05:00
Brettflan 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 2012-05-08 14:25:18 -05:00
Brettflan 66a7685bf7 /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:10 -05:00
Brettflan dd0789cda1 Relation commands will now cancel out if the same relation is already set with the target faction. 2012-04-06 13:27:21 -05:00
Brettflan dcee1f5232 fix for /f power command used on self incorrectly also requiring factions.power.any permission 2012-04-06 13:23:05 -05:00
Brettflan 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.
TNT in water/lava doesn't normally destroy any surrounding blocks, which is usually desired behavior. That's the reason this setting is disabled by default. However, it is available because it provides a method to get through waterwalls with enough persistence, and it makes cheap (non-obsidian) TNT cannons require minor maintenance between shots. Both are useful things for my server.
2012-03-19 11:18:40 -05:00
Brettflan 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. 2012-03-19 08:24:01 -05:00
Brettflan 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.
Also removed our old workaround fix code for the bug where half-step placement wasn't detected, since the Bukkit team fixed that in 1.1-R4.
2012-03-19 07:59:44 -05:00
Brettflan 03b0a2bb5f Optional prevention of a couple of exploits.
1. Obsidian generator exploit, which converts redstone wire to obsidian. New setting "handleExploitObsidianGenerators" (enabled by default) to determine whether it's prevented or not. Some servers might want to disable this prevention, to keep it as a viable obsidian creation method. Thanks to ObGenBlocker and WorldGuard plugins for the prevention method.
2. Ender pearl exploit, which could be used to clip through doors, glass, and probably a few other things if just the right spot was targeted. New setting "handleExploitEnderPearlClipping" (enabled by default) to determine whether it's prevented or not.

Also removed our TNT exploit prevention code, since they did get it fully fixed in 1.1-R4 and it doesn't look to be coming back from the dead again like it did when they released 1.1-R2.
2012-03-19 06:54:59 -05:00
Brettflan 500a3d2819 Add fireball/"fire charge" to default territoryDenyUseageMaterials list, to prevent them from being used to set things on fire like flint&steel 2012-03-19 04:19:05 -05:00