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
Brettflan
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
...
also updated Spout API lib
2012-03-19 01:28:10 -05:00
Brettflan
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.
2012-03-14 13:06:50 -05:00
Brettflan
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.
...
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:31 -05:00
Brettflan
30c2eaeac3
(donington) Fixes for compiler warnings & minor .gitignore enhancement, completed the last of the creatureType/entityType renaming (a few imports and functions)
2012-03-13 08:43:55 -05:00
Brettflan
03fe63cda0
Cleaning sweep, mainly for various stray "4 spaces" indentions to tabs
2012-03-13 08:26:54 -05:00
Brettflan
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.
2012-03-13 07:58:51 -05:00
Brettflan
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.
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:51 -05:00
Brettflan
90e9f35fea
Fix for "econClaimUnconnectedFee" not working correctly
2012-03-11 22:44:39 -05:00
Brettflan
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
Also switched several HashSets in Conf.java to LinkedHashSets. LinkedHashSets do have slower insertion and deletion than HashSets, but importantly they have faster lookup speed (at least until you get up to several hundred entries).
2012-03-11 13:36:07 -05:00
Brettflan
6931b3e204
Connected standard command handler getCommand("f"), for it to work with other plugins which directly execute commands using that interface.
2012-03-11 11:41:56 -05:00
Brettflan
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
2012-03-11 07:39:31 -05:00
Brettflan
fbfdf8fe23
(donington) Consolidated chat event listeners into a single chat listener class.
...
(Brettflan) Fixed slashless commands not being logged if player was in faction chat or alliance chat mode. Also cleaned up chat code a bit, nothing major.
2012-03-09 21:24:58 -06:00
Brettflan
d7f5ee581e
New setting "logPlayerCommands" (default true) which can be disabled to prevent player commands from being logged.
2012-03-09 19:26:42 -06:00
Brettflan
a999f50966
Replaced deprecated CreatureType references with EntityType
2012-03-09 14:46:46 -06:00
Brettflan
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.
...
An example: if you loaded 1.6.6 (not 1.6.6b) on CB 1.1-R6 or newer, it would trigger an exception at startup and cause this problem.
2012-03-09 14:44:18 -06:00
Brettflan
460c382699
Fix for fatal error at startup in CraftBukkit 1.1-R5 and above
...
Updated Bukkit lib
2012-03-01 09:40:29 -06:00
Brettflan
e1a3d8bffb
Final attempt to fix rare non-fatal NPE from Player ending up returning null while updating Spout appearance features
2012-03-01 09:38:46 -06:00
Brettflan
a4ee13ebbe
Release 1.6.6
...
Also I'm sneaking in another minor fix for the coloring of the faction limit error message
2012-02-26 21:34:56 -06:00
Brettflan
e86b436c60
fix for faction limit error message
2012-02-26 20:49:50 -06:00
Brettflan
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.
2012-02-26 16:55:57 -06:00