Commit Graph

240 Commits

Author SHA1 Message Date
Brettflan
68e1313776 New "peaceful" status for factions which can only be set by server admins/moderators. Members of peaceful factions cannot deal or receive PvP damage (unless in a war zone which has friendly fire enabled), cannot claim land from another faction and likewise can't have their land claimed, and cannot be considered as ally or enemy of any other faction. Faction admins and moderators of peaceful factions can enable/disable all explosions inside their faction's territory at will. The main purpose of this is to provide a way for more peaceful players who don't want to take part in faction wars (or just want to take a break from them) to still have fun on the server. It is also meant to allow groups of players to make protected buildings, monuments, grand constructions, and so forth without having to worry about another faction destroying them.
New conf.json settings:
"peacefulTerritoryDisablePVP" (default true) prevents PvP damage for anyone inside a peaceful faction's territory
"peacefulTerritoryDisableMonsters" (default false) provides protection against monsters spawning or attacking inside a peaceful faction's territory
"peacefulMembersDisablePowerLoss" (default true) which keeps members of peaceful factions from suffering power loss when they die.

New commands:
/f peaceful [faction tag] - toggle the indicated faction's "peaceful" status
/f noboom - enable/disable explosions inside your faction's territory; only available to faction admin and faction moderators for peaceful factions

New permission nodes:
factions.setPeaceful - ability to use the /f peaceful command (admins)
factions.peacefulExplosionToggle - ability to use /f noboom (everyone)
2011-08-05 03:50:47 -05:00
Brettflan
4ad9829fd4 Removing /f worldnoclaim and /f worldnopowerloss commands; they're redundant now that you can use /f config worldsnoclaim [world name] and /f config worldsnopowerloss [world name] respectively to set those options. Also removing factions.worldOptions permission node since it was only used for those commands. 2011-08-04 02:35:48 -05:00
Brettflan
523d3216c5 /f config [setting] [value] command now accepts setting names which are inside quotation marks, to prevent confusion since they're also in quotation marks in conf.json 2011-08-04 02:27:58 -05:00
Brettflan
e6ac1c0f98 Economy integration now works for EssentialsEco as well 2011-08-04 02:25:12 -05:00
Brettflan
100a1ffb1e improved command prevention from last commit to also monitor slashless Faction commands, for full coverage 2011-08-04 00:34:52 -05:00
Brettflan
699c22f655 New conf.json settings "territoryNeutralDenyCommands" and "territoryEnemyDenyCommands", which can have lists of commands added to them that will be denied while in the territory of a neutral or enemy faction. It is recommended you use /f config to add/remove such commands, for example /f config territoryEnemyDenyCommands spawn would prevent players from using /spawn in enemy territory. You can add the slash to the command string or not, it will work either way. If the used command starts with one of your denied commands, it will be prevented. For example, if you deny "time", both "/time night" and "/time day" will be prevented. However, if you deny "time n", /time night will be prevented but /time day won't. (thanks for some code contribution from Cal27) 2011-08-04 00:07:38 -05:00
Brettflan
7d3cdfdc20 removed need for "is it initialized" checks done on claimOwnership by simply making sure it's initialized with the class instance 2011-08-03 23:53:10 -05:00
Brettflan
2900bf372f changed findFactions() method to try matching faction tags before trying to match player names, instead of the other way around 2011-08-03 21:49:11 -05:00
Brettflan
f9d39271c0 Modified locutus' Pain feature so that all conf.json settings related to it default to false, so that the damage amount can be specified through "actionDeniedPainAmount" in conf.json, and so that DenyBuild doesn't override PainBuild but instead both will be used if both are enabled 2011-08-03 21:47:49 -05:00
Brett Flannigan
e02abf3380 Merge pull request #29 from bladedpenguin/master
PainBuild
2011-08-03 16:13:42 -07:00
Brettflan
a38267fe74 Error handling for user entering non-integer value for radius of safeclaim and warclaim, along with usage info 2011-08-03 15:38:54 -05:00
locutus
51a05a1e86 Added Territory Pain Protection
added options
ownedAreaPainBuild
territoryPainBuild
territoryPainBuildWhenOffline
territoryEnemyPainBuild
territoryEnemyPainBuildWhenOffline

Signed-off-by: locutus <bladedpenguin@gmail.com>
2011-08-03 02:29:51 -04:00
Brettflan
3bcfd5cff5 Release 1.4.4 2011-08-01 21:09:45 -05:00
Brettflan
92448ca4d2 New conf.json setting "worldsIgnorePvP" as a list of worlds which you don't want Factions to pay any attention to PvP in. No new command has been added to set this, since we now have the /f config command. So, to add/remove worlds, simply use /f config worldsIgnorePvP [YourWorldHere]. 2011-08-01 20:22:16 -05:00
Brettflan
f38651ca94 New conf.json settings "showNeutralFactionsOnMap" and "showEnemyFactionsOnMap" (both default to true) which, if disabled, will hide neutral and enemy factions on the faction map. However, if a player is standing inside territory claimed by a neutral or enemy faction, all of that faction's nearby claims will be shown on the faction map regardless. 2011-08-01 19:59:48 -05:00
Brettflan
ad2bb5f4d0 "disablePVPForFactionlessPlayers" is now overridden if "warZoneFriendlyFire" is enabled and the PvP is occurring inside a War Zone 2011-08-01 18:28:34 -05:00
Brettflan
2154b89005 Added basic support for iConomy, where most Factions commands can be made to cost (or give) money. For claiming land, there are some extra features. Each additional land claimed by default costs more than the last, with the multiplier being configurable. For example, the first claim might cost $30, the 2nd $45, the third $60, and so forth. When land is claimed from a weakened faction, there is a configurable bonus amount of money deducted from the cost of claiming the land, as an incentive; this number can be changed to a negative value to instead make it cost more to claim such land. When land is unclaimed, a configurable percentage of the cost of claiming the land can be refunded (defaults to 70% of the cost). The total value of a faction's claimed land is now shown in the info given by /f who [faction tag], along with the depreciated (refund) value. 2011-08-01 18:05:01 -05:00
Brettflan
c0676c3548 Fix for error that could occur when unclaiming land 2011-08-01 17:54:05 -05:00
Brettflan
3f6dc590d4 Release 1.4.3 2011-07-30 20:33:32 -05:00
Brettflan
508f953ce9 Faction admins can now mark already claimed areas as owned by specific faction members. Ownership can include multiple members. New command /f owner *[player name], to set/remove ownership. This command is only available to the faction admin and optionally the faction moderators. If no player name is specified, it will either set ownership to the player running the command (if no owner is currently set) or completely clear ownership of the territory. New command /f ownerlist, to view a list of owners for the current area. Only works inside your own faction's territory. New conf.json options "ownedAreasEnabled", "ownedAreasModeratorsCanSet", "ownedAreaModeratorsBypass", "ownedAreaDenyBuild", "ownedAreaProtectMaterials", and "ownedAreaDenyUseage" (all defaulting to true) to determine whether faction moderators can set or bypass ownership (faction admin always can), and what sort of protection these owned areas have against normal members of the faction (members other than the owner(s), faction admin, and probably faction moderators). New conf.json option "ownedAreasLimitPerFaction" to limit how many owned areas can be set. New permission node "factions.ownershipBypass" which allows a player to bypass ownership protection, but only within the person's own faction.
various little tweaks and improvements to other code
moderate speed boost to FLocation code
made commandDisable permissions work for any command alias of a command, instead of just the first one
2011-07-30 20:17:00 -05:00
Brettflan
63ab41f933 New conf.json option "safeZonePreventAllDamageToPlayers" (default false) which will prevent all damage to players while they're in a Safe Zone; note that attack damage from other players and monsters is still prevented regardless 2011-07-29 06:39:20 -05:00
Brettflan
e3cb829e6b If "autoLeaveAfterDaysOfInactivity" is set to 0.0 or a negative number, it's now effectively disabled
Renamed "disablePVPBetweenNeutralFaction" to "disablePVPBetweenNeutralFactions" because the grammar nazi in me calls for it
a couple of minor optimizations
finally, include gson.jar in the lib folder
2011-07-29 05:12:14 -05:00
Amrac
aaa56ec40a New setting in conf.json:
"disablePVPBetweenNeutralFaction":
false whether PvP damage will be
disabled between neutral
faction

Change-Id: I08eee177fbe69d1466a267e67ec3fd0389f83499
2011-07-28 16:04:11 +02:00
Olof Larsson
ee0fc3b47b space to tabs 2011-07-27 23:03:16 +02:00
Olof Larsson
6e9fd72612 Soon to be used JarLoader. 2011-07-27 22:56:45 +02:00
Brettflan
71922b7be3 Release 1.4.1 2011-07-25 13:58:31 -05:00
Brettflan
06f8082599 New conf.json option claimsRequireMinFactionMembers (defaults to 1, effectively disabled) which can be increased to prevent small (potentially one player) factions from claiming land until they have more members 2011-07-25 13:16:32 -05:00
Brettflan
080ea3363b New command /f power [player name] to check either your own power (if no name is specified) or another player's power (if a player name is specified). The ability for a player to view their own power is based on the standard factions.participate permission, but to check the power of other players, the new permission node factions.viewAnyPower needs to be granted. If you aren't using a Permissions plugin (instead defaulting to the built-in Bukkit permission system), the factions.viewAnyPower permission is granted by default. Otherwise, you'll need to configure your Permissions plugin to grant the new permission as needed. 2011-07-25 13:16:14 -05:00
Brettflan
b97eaf175e When adding relational colored faction tags to chat, Factions now pays better attention to whether the recipient list has been altered by another plugin 2011-07-24 17:38:58 -05:00
Brettflan
066415e752 "claimsMustBeConnected" land claim requirement is now ignored for players who have enabled bypass mode 2011-07-24 06:12:01 -05:00
Brettflan
bc56ff6651 new conf.json option "powerFactionMax" (default 0) for maximum power limit for all factions. If set to anything above 0, factions will have their power capped at this amount. As a result, any players adding power beyond the faction's limit will effectively just be adding a buffer of sorts. (feature added thanks to donation from Magesblood) 2011-07-24 06:10:48 -05:00
Brettflan
c3f57d5105 added a secondary low priority event listener for chat events, to try and make sure Factions is able to handle slashless commands and faction chat before other plugins do anything 2011-07-24 06:09:58 -05:00
Brettflan
c818ddff99 New command /f config [setting] [value] which can be used to change any conf.json setting. This is mainly for people who have trouble editing the file manually, for whatever reason. It even fixes any capitalization errors, and saves the conf.json file immediately after an option is changed. Can be run by player or from server console. Uses new permission node "factions.config". 2011-07-22 07:25:12 -05:00
Brettflan
5dc6dcd9ed Bugfix Release 1.4.0 2011-07-20 19:32:13 -05:00
Brettflan
bd5d7e185e Well, this is an odd and kludgy fix... only thing I can find that allows the integration to work correctly and not give an error whether EssentialsChat is present or not 2011-07-20 19:31:28 -05:00
Brettflan
b650387dbc Release 1.3.9 2011-07-20 16:24:11 -05:00
Brettflan
1e9c83decc New permission nodes to disable any command, factions.disableCommand.<command>, along with factions.disableCommand.none node which forcibly makes none disabled (for * permission users or similar); for <command>, you must use the first command alias given in the /f help information (for example, "show" instead of "who" for that particular command) 2011-07-20 16:22:54 -05:00
Brettflan
5b73ebc456 New conf.json option "homesTeleportIgnoreEnemiesIfInOwnTerritory" (default true). If disabled, players will no longer be able to teleport to their faction home while close to an enemy even if they are in their own territory 2011-07-20 15:45:36 -05:00
Brettflan
66bc427454 Added optional faction tag entry to /f sethome command to set the home of any faction, which is only allowed if the user has adminBypass permission 2011-07-20 15:42:51 -05:00
Brettflan
0b8a33e44a Added diodes to the default "territoryProtectedMaterials" and "territoryProtectedMaterialsWhenOffline" lists. 2011-07-20 14:59:10 -05:00
Brettflan
16053d0008 New conf.json option "claimsCanBeUnconnectedIfOwnedByOtherFaction" (default true) which, will allow claims to bypass the "claimsMustBeConnected" option if the attempted claim is vulnerable land controlled by another faction 2011-07-20 14:45:18 -05:00
Brettflan
5686c4db9d Piston movement is now prevented if it encroaches across into territories which have the relevant DenyBuild option set (whether faction territory, safe zone, or war zone). This covers piston extension if it pushes across unacceptable borders or even if the piston head itself would cross over, and also prevents sticky pistons from pulling blocks back across such borders.
There is also a new conf.json option "pistonProtectionThroughDenyBuild" (default true) which can be disabled to turn off piston protection. This option is available due to the (untested) potential that a world with many pistons constantly repeatedly firing could result in additional lag from these piston protection events
2011-07-20 12:22:03 -05:00
Brettflan
c79692940e Update to new integration method for EssentialsChat; needs up-to-date Essentials (2.5.1 or newer)
NOTE: if Essentials is too old, this error will occur at server startup (sadly impossible to catch or otherwise handle due to how Bukkit loads plugins):
java.lang.NoClassDefFoundError: com/earth2me/essentials/chat/IEssentialsChatListener
2011-07-20 08:48:14 -05:00
Olof Larsson
bf8e3b361d Releasing 1.3.8 2011-07-18 22:36:51 +02:00
Olof Larsson
fc1d6af824 forgot the namespace in plugins.yml 2011-07-18 22:16:19 +02:00
Olof Larsson
8aefae5679 changed namespace to com.massivecraft 2011-07-18 22:06:02 +02:00
Olof Larsson
10e79ede5a Removed old files and updated a readme link 2011-07-18 21:15:15 +02:00
Brettflan
19176ada2f Update to support newly available built-in Bukkit "superperms" permission system, though it will still use the Permissions plugin instead if that's available
Updated Bukkit JAR
Added LocalAreaChat plugin to the softdepend list so it's loaded first
2011-07-18 11:46:14 -05:00
Brettflan
2730fa1253 Release 1.3.7 2011-07-11 00:58:55 -05:00
Brettflan
14145f1782 New conf.json option "homesTeleportAllowedFromDifferentWorld" (defaults to true) which can be used to prevent people from teleporting to their faction home if in a different world from it 2011-07-09 07:21:47 -05:00
Brettflan
d69b278728 New options in conf.json which will now treat enemy factions differently: "territoryEnemyDenyBuild", "territoryEnemyDenyBuildWhenOffline","territoryEnemyDenyUseage", and "territoryEnemyProtectMaterials" (all default to true). If someone in an enemy faction tries any of those (builsing/destroying, using certain inventory items, or interacting with certain blocks such as doors), these new values will be checked; otherwise, for neutral and allied factions the existing values will be used.
Also slightly simplified the code used for checking relations.
2011-07-09 01:36:18 -05:00
Brettflan
787e6b867a Made /f kick command work on any player in any faction, if the person using the command has the admin-level "disband" permission 2011-07-08 22:06:55 -05:00
Brettflan
232ae5dce1 Added "BURNING_FURNACE" to default "territoryProtectedMaterials" and "territoryProtectedMaterialsWhenOffline" lists, since lit furnaces otherwise are not protected 2011-07-08 21:28:53 -05:00
Brettflan
839a03d8d1 Fix for /f autosafe and /f autowar commands not working properly if the user was not in a faction 2011-07-04 08:36:30 -05:00
Brettflan
a90e87ea24 Release 1.3.6 2011-07-03 15:26:55 -05:00
Brettflan
bfcfbe4cc8 Update for new Bukkit version; fix for movement between different territory claims not always reporting the correct territory owner, which appears to be caused by event.getTo() for PlayerMoveEvent currently (as of RB 953) not always giving the correct location 2011-07-03 15:25:50 -05:00
Brettflan
7f67ca0cd6 Release 1.3.5 (bugfix release) 2011-06-30 11:51:30 -05:00
Brettflan
dba406e52b Fix for NPE on /f who command by in-game player 2011-06-30 11:50:54 -05:00
Brettflan
a6d2a292aa Release 1.3.4 (quick bugfix release) 2011-06-30 09:52:53 -05:00
Brettflan
dc96767dff Fix for NPE on player respawn when faction home isn't set 2011-06-30 09:51:14 -05:00
Brettflan
80bead2ad6 Release 1.3.3 2011-06-30 08:30:49 -05:00
Brettflan
94d1dc210c When you have the "claimsMustBeConnected" option enabled, it now works on a world-by-world basis, so if you have claims in one world you can still make claims in other worlds 2011-06-30 06:13:47 -05:00
Brettflan
8f1606beba /f disband, /f list, and /f who <tag> commands can now be used from the server console; /f list now shows "Factionless" instead of "Wilderness" for factioness players; fix for some potential NPEs 2011-06-30 05:56:02 -05:00
Brettflan
24e85e0e77 Faction homes are now un-set if the territory they are set in is lost (unclaimed, or claimed by another faction), but only when someone tries to /f home or dies and would normally respawn there 2011-06-30 05:17:34 -05:00
Brettflan
8f9de1d2d5 New conf.json option "homesRespawnFromNoPowerLossWorlds" (defaults to true) to go with Oli's recent commit, so server owners have an option whether or not players should respawn to faction homes when they die in "worldsNoPowerLoss" worlds 2011-06-30 05:15:16 -05:00
Brettflan
86112380da fix for StringIndexOutOfBoundsException caused by overlong string passed to titleize(String str) 2011-06-30 01:46:12 -05:00
Oli
8ff84019ee Made faction home respawning obey the 'worldsNoPowerLoss' config 2011-06-29 14:45:51 +01:00
Brettflan
69d1427552 after testing, found that these changes cause encoding problems on some setups when the JSON files are read; tried for a bit to find a solution, but gave up since I was having to test on my live server (test VM server was working fine)
so, reverting for now
2011-06-28 22:43:28 -05:00
Brettflan
a8c84c5d6d tweaked hook functions a bit more, de-crapped server log messages for faction chat 2011-06-28 20:00:08 -05:00
Brettflan
24362d38e9 moving additional JAR contents into src folder, adding my complete NetBeans project files so others have an easier time working with the source 2011-06-28 18:49:42 -05:00
Brettflan
b66b102333 New conf.json option "homesTeleportCommandEnabled" which can be used to disable the /f home command, while possibly leaving faction homes enabled for the "homesTeleportToOnDeath" functionality 2011-06-28 18:29:14 -05:00
Brettflan
a9619a73c0 some changes to the file reading routine, to speed it up and also to hopefully be more tolerant of user changes to file encoding (intentional or more likely unintentional) from the default UTF-8 encoding 2011-06-28 18:27:35 -05:00
Brettflan
c80f6d803c one more hookable utility function for other plugins to use, to determine the support version for the hook functions (will increment whenever new hooks are added) 2011-06-28 18:25:00 -05:00
Brettflan
f79831d3d6 added another simplified function for chat plugins to hook, ShouldLetFactionsHandleThisChat(PlayerChatEvent event) to see if chat event is a special case which should be left alone for Factions to handle (Faction Chat enabled player, or factions f command without slash used) 2011-06-27 12:25:02 -05:00
Brettflan
a7676429fe removed "preloadChatPlugins" option and related code, since that method could cause problems and since we've switched to using softdepend in the plugin.yml for preloading plugins 2011-06-27 03:06:09 -05:00
Brettflan
071e8b7b6b further improved hookable functions for use by other plugins, added softdepends for appropriate chat plugins 2011-06-22 20:12:37 -05:00
Brettflan
094486676a Added conf.json option "noPVPDamageToOthersForXSecondsAfterLogin" (defaults to 3 seconds) which keeps players from being able to do PvP damage for a few seconds after logging in (to counteract the exploitable 3-second PvP protection given to players when they log in); Fix for "claimsMustBeConnected" bug which prevented factions from making their initial first claim 2011-06-22 20:10:42 -05:00
Brettflan
6035b204dc updating built-in GSON to 1.7.1 release 2011-06-22 18:40:56 -05:00
Brettflan
55dd858be9 A bit of cleanup and odds and ends, adding missing @Override annotations and such 2011-06-21 00:38:31 -05:00
Brettflan
60227b6dc4 Added option "considerFactionsReallyOfflineAfterXMinutes" (default 0.0, immediately) which makes all "Offline" options still consider the faction as having members online until X minutes after the last one logs off 2011-06-21 00:20:36 -05:00
Brettflan
8880d503e2 added option "claimsMustBeConnected" (defaults to false) which requires all faction claims beyond the first to be connected to each other; support for "{FACTION_TITLE}" in chat messages 2011-06-20 21:15:41 -05:00
Brettflan
56cbf54c98 Added options to require faction homes to be set only inside the faction's own territory ("homesMustBeInClaimedTerritory", default is true) and to optionally prevent teleporting to the faction home if the player is in enemy territory ("homesTeleportAllowedFromEnemyTerritory", default is true thus not prevented)
Made commands which reference player names (like /f admin <name>) allow for partial name matches
Optimized a couple of things, and updated help text to indicate /f unclaim works for safe/war zones
2011-06-19 03:56:21 -05:00
Brettflan
768f96bf9b added option "disablePVPForFactionlessPlayers" to disable PvP damage to/from players who are not in a faction 2011-06-19 03:49:46 -05:00
Brettflan
e886cef9aa Fix for DenyUsage checks in safe zones and war zones not being handled properly 2011-06-16 02:37:05 -05:00
Brettflan
db0e89fb11 Disband command got missed for being added to help pages 2011-06-16 02:34:56 -05:00
Brettflan
4da15abb06 fix for "No Faction" player count always returning 0 2011-06-16 02:33:41 -05:00
Brettflan
cddaa73948 Added another hook, handleFactionTagExternally, for chat plugins to indicate they're handling faction tag insertion into chat 2011-06-11 19:02:57 -05:00
Brettflan
6c37f4cbe1 added functions to main class for other plugins to potentially hook into, targeted at chat plugins at the moment: isPlayerFactionChatting to see if player has faction chat enabled, and getPlayerFactionTag and getPlayerFactionTagRelation to get the player's uncolored or relation-colored faction tag 2011-06-11 17:29:24 -05:00
Brettflan
3f0d330d6e fix for /f disband causing NPE if you provided a bad (nonexistent) faction tag 2011-06-11 17:01:06 -05:00
Brettflan
4cc13707cc Added further "offline" options for preventing the 3 explosion types in faction territory; also fix for safe zone and war zone autoclaim bug 2011-06-10 18:47:39 -05:00
Brettflan
e023e9de91 a few minor speed enhancements 2011-06-10 18:45:11 -05:00
Brettflan
1af166b1c2 fix for /f save causing NPE when run from console 2011-06-10 14:26:30 -05:00
Brettflan
097b555466 new autoclaim commands for faction claims, safe zone claims, and war zone claims, which claim land as you walk around 2011-06-10 14:26:12 -05:00
Brettflan
2e1d7da50f /f lock command can now be used through console; fix for /f reload command causing NPE if run from console 2011-06-10 14:22:29 -05:00
Brettflan
f9de4171d4 special case added to block placement check, so flint&steel isn't prevented due to placing fire (as Bukkit sees it) 2011-06-10 14:16:14 -05:00
Brettflan
7ab0d700cc Added new "territoryDenyBuildWhenOffline" option to go with other two new offline prevention options by thomastanck; slight speed improvement for offline check 2011-06-10 14:14:02 -05:00
Brettflan
cbd0ee42ba New conf.json option "warZoneFriendlyFire", defaults to disabled; if enabled, allies and fellow faction members can hurt each other in war zones 2011-06-10 07:38:14 -05:00
Brettflan
19b1ceabdd changed /f home enemy distance check to use simpler box shaped detection area instead of diamond shaped 2011-06-08 20:33:12 -05:00
Brettflan
85fd5eb04d Fix for options which disable wilderness explosions (TNT, creepers, fireballs) not actually disabling them; player->player damage is now also prevented if attacker is in a safe zone and defender is not (attacking from safety that way was exploity) 2011-06-08 16:22:19 -05:00
Brettflan
d0a405ff95 reload and save commands now don't require it to be a player executing them 2011-06-08 16:19:02 -05:00