Commit Graph

1168 Commits

Author SHA1 Message Date
Brettflan
b8aaeb1053 Fix for slashless commands triggering errors in CraftBukkit on rare occasions due to being run async 2012-11-06 14:23:17 -06:00
Brettflan
20b359c11a Wither boss second stage will no longer be able to destroy blocks in territory which has explosion protection (explosion faction flag turned off) 2012-11-06 11:58:14 -06:00
Brettflan
174320c278 updated known badPotionEffects to include wither potion 2012-11-06 11:04:08 -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
a783dc33cf Protect hanging entities (paintings and item frames) from explosions; thanks to Tahkeh for the method 2012-11-06 10:06:37 -06:00
Brettflan
e83ac76b2c Added anvil and beacon to list of list of protected container materials 2012-11-06 10:00:19 -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
d31741fb34 Updated old painting events to new hanging events so that item frames are also protected.
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:21 -05:00
Brettflan
41cd9484d3 Update CraftBukkit lib to 1.4.2 dev build 2421 2012-10-29 19:21:25 -05:00
Brettflan
ef56ce9a51 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:37 -05:00
Brettflan
7bbb4fbf44 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:28 -05:00
Brettflan
5f33e51fae Fix for crash on plugin startup if Worldguard integration is enabled ("worldGuardChecking") but Worldguard plugin isn't loaded on server
Also updated SpoutPlugin lib
2012-10-09 17:37:01 -05:00
Brettflan
619e52a5d4 fix for pistons not working (via pistonProtectionThroughDenyBuild) if faction doesn't have build rights in its own territory 2012-09-30 18:01:42 -05:00
Brettflan
56cb2becde 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:42:59 -05:00
Brettflan
de9ac6cc1f Release 1.7.7_beta 2012-08-26 18:49:14 -05:00
Brettflan
f65f3a0e9e Fix for factionless players being unable to hurt each other, and fix for factionless players taking reduced damage in Wilderness (was being treated as their faction territory by damage reduction routine) 2012-08-26 18:48:49 -05:00
Brettflan
7aa4fa12f2 Modified readBytes() and writeBytes() methods in DiscUtil.java to use older file handling routines which don't require Java 7. The vastly improved file loading speed which came from Olof's recent update to this file has been retained. 2012-08-26 15:23:45 -05:00
Olof Larsson
b588d355b4 Fix crash when HeroChat was not present. 2012-08-26 12:20:56 +02:00
Brettflan
e3bfaec642 Merge branch 'master' of github.com:MassiveCraft/Factions 2012-08-26 01:02:54 -05:00
Brettflan
28206b1c25 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:31 -05:00
Olof Larsson
bc0647e51b Fixing the recipients for HeroChat integration. 2012-08-26 02:12:02 +02:00
Olof Larsson
48c5131ea4 New beta herochat integration and fixing the slow load time. This may require Java7. 2012-08-26 00:54:15 +02:00
Brettflan
b0823dc5a8 Release 1.7.6 beta 2012-08-09 22:11:00 -05:00
Brettflan
3be1ecf63c nitpicking myself 2012-08-07 22:33:23 -05:00
Brettflan
8e64c7c137 clean up code from last commit a bit 2012-08-07 22:28:21 -05:00
Brett Flannigan
98f20a4ec6 Merge pull request #138 from ammaraskar/master
Fixes an ender pearl clipping exploit with blocks that occupy less than 1 block in width or length
2012-08-07 20:09:59 -07:00
Brettflan
a57132aa7d Update version to 1.7.6_pre, fix for invalid comparison 2012-08-07 21:58:41 -05:00
Brettflan
af6c4952fa Add default permissions for all members of SafeZone/WarZone factions to use territory access commands; this way, players trusted enough to be added to either system faction will be able to grant access to their claims as desired 2012-08-07 21:58:04 -05:00
Brettflan
124a46c791 Update for remaining old PlayerChatEvents, update EssentialsChat libs and integration accordingly 2012-08-07 21:51:22 -05:00
Brettflan
ddd17830c0 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:58:50 -05:00
Olof Larsson
7f228b648a Some servers might want to disable territorial warfare alltogether. 2012-07-30 23:28:23 +02:00
Olof Larsson
a380b86a71 Bug fix for that wilderness painting on dynmap. 2012-07-19 02:56:05 +02:00
Brett Flannigan
17e0701ecb Merge pull request #146 from basicsensei/master
fix #145 for master branch (1.7) (thanks)
2012-07-16 14:06:27 -07:00
basicsensei
94816a6e52 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:11:27 +02:00
Ammar Askar
0b2e9e340d Fixes an ender pearl exploit allowing players to clip through blocks who occupy less than 1 block in width or length 2012-06-10 14:22:50 +05:00
Brettflan
d7a5970b85 Release 1.7.5 alpha: one last minor fix to EssentialsChat integration needed 2012-05-16 20:34:38 -05:00
Brettflan
0966d3579d Release 1.7.5 2012-05-16 18:06:16 -05:00
Brettflan
af1024e5a4 Changed default Spout territory faction display to upper left, since Spoutcraft client now has minimap in upper right 2012-05-16 15:31:42 -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
01d9f62bdd Removed bit of code which was apparently intended to optimize movement event code but which was actually slowing the process down a bit overall 2012-05-16 12:57:44 -05:00
Brettflan
a0909ddb5c Added back a FactionsBlockListener.playerCanBuildDestroyBlock() method which references Location instead of Block, mainly for backwards compatibility 2012-05-16 11:52:47 -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
Brettflan
d2b0fee335 Delete a couple of files which are no longer used 2012-05-14 19:53:08 -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
2c5438bf70 Some minor fixes to the previous commit. 2012-05-09 03:32:04 +02:00
Olof Larsson
ca6b185bd1 New cape system and refactored spout appearances. 2012-05-09 03:24:07 +02:00
Brettflan
1f51ee9699 Improved explosion handling speed 2012-05-08 15:14:16 -05:00
Brettflan
c32736f3f1 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 12:47:46 -05:00