Commit Graph

757 Commits

Author SHA1 Message Date
Brettflan
409f98e1e6 Changed ownership mapping from HashMap to ConcurrentHashMap to hopefully take care of reported ConcurrentModificicationException error; bugfix for faction admin not being able to bypass ownership if "ownedAreaModeratorsBypass" was set 2011-08-22 15:13:12 -05:00
Brettflan
697e0cf466 Added Spout features, with Spout client required for all: relation-colored faction tags over players' heads via option "spoutFactionTagsOverNames", player's faction title over their head via option "spoutFactionTitlesOverNames", and relation-colored capes shown on faction admins and/or moderators via "spoutFactionAdminCapes" and "spoutFactionModeratorCapes" (all new settings default to true)
When a faction is disbanded or has peaceful status added or removed, all online players are now notified
Added further debug output if an UnknownFormatConversionException is triggered during relational chat messages, to help track down cause
2011-08-19 20:36:23 -05:00
Brettflan
62f80a607b minor cleanup 2011-08-19 19:41:28 -05:00
sp1ky
b2ad4b43e4 Allow PVP vs. Factionless in attacker's faction territory 2011-08-12 16:08:11 +01:00
Brettflan
4e7aa893a3 Move economy plugin setup process over to the Econ class 2011-08-08 04:51:06 -05:00
Brettflan
b45224fff0 Added handling for potential null strings in "territoryNeutralDenyCommands" and "territoryEnemyDenyCommands" 2011-08-05 14:06:35 -05:00
Brettflan
f29bba29d5 Added to default "territoryEnemyDenyCommands": /home, /sethome, and /spawn 2011-08-05 03:51:35 -05:00
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
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
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
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
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
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
8aefae5679 changed namespace to com.massivecraft 2011-07-18 22:06:02 +02:00
Olof Larsson
443fac354a Fixed the package structure 2011-04-08 15:51:07 +02:00
Brettflan
26c708b65e changes AdminBypass permission to enable new "bypass" command which toggles admin bypass mode on or off, defaults to off
added tracking for the SaveTask() and shutdown of it when the plugin is disabled
2011-04-06 05:04:57 -05:00
Brettflan
542ad4a6a0 Widened the exception catching nets for loading and saving all data (IOException -> Exception, etc.), so loading and saving problems don't wipe out unrelated plugin data 2011-04-06 04:08:08 -05:00
Brettflan
12bc5d9d74 Add in exception catching to MyLocationTypeAdapter, seems to finally be handling all problems without crash
Added 1.1.5b release with this fix
2011-04-04 12:26:48 -05:00
Brettflan
204f67c43b fix for left-clicking wooden doors not being prevented; as a minor side-effect, left-clicking on other blocks in the territoryProtectedMaterials list pops up the "you can't use that" message
Releasing 1.1.5 for this quick fix
2011-04-04 08:34:32 -05:00
Brettflan
7ffc4962b8 Fix for null faction home location, added "factions.adminBypass" permission which will allow players with that permission to bypass the building/destruction and usage limitations inside faction territory. 2011-04-04 07:16:53 -05:00
Brettflan
5fa0103c9e Subversion seems to handle merges better than Git, but that's not saying much :-P
Committed change not exactly related, just a casualty of the should-have-been-a-simple-merge-and-not-conflicting craziness
2011-04-04 06:47:18 -05:00
Brettflan
2ec8437c35 Merge branch 'master' of https://github.com/oloflarsson/Factions 2011-04-04 06:37:15 -05:00
Brettflan
b912b49289 New boolean config options territoryBlockTNT (default false), safeZoneDenyBuild (default true), safeZoneDenyUseage (default true), safeZoneBlockTNT (default true). territoryBlockTNT prevents TNT explosions inside faction territory, which defaults to false (same as before). It prevents TNT cannons from being a viable tactic, and I think for most people it would be an undesirable option. safeZoneBlockTNT prevents TNT explosions inside safe zone areas, which defaults to true (new behavior). I think most server operators would prefer safe zones to be safe from TNT, from TNT cannons or otherwise. safeZoneDenyBuild prevents players from building inside safe zone areas, which defaults to true (same as before). This option is added for server admins who, for whatever reason, want to let their players build and break inside safe zone areas. safeZoneDenyUseage prevents players from using items in the territoryDenyUseageMaterials list, which defaults to true (new behavior). This will (with the default list) prevent players from dumping/using buckets inside safe zone areas. 2011-04-04 06:33:40 -05:00
Olof Larsson
c3c69a30dd Warning fixes 2011-03-31 15:13:02 +02:00
Brettflan
e3ad9cf509 strip all color tags from faction-tagged chat messages before sending them to console/log, to de-cruft them 2011-03-30 05:11:06 -05:00
Brettflan
bddcc798ce For some reason onPlayerInteract() doesn't always detect bucket usage if it's about 2-3 blocks away from you, so I added monitoring of PLAYER_BUCKET_EMPTY and PLAYER_BUCKET_FILL events which seem to always fire correctly without fail 2011-03-30 04:23:20 -05:00
Brettflan
8970de026b don't try sending a message to a player who isn't online; NPEs suck
removed instaDestroyMaterials since it is no longer needed
2011-03-30 04:20:24 -05:00
Brettflan
e429bc8020 Initial update for RB 600... bucket use still not prevented properly yet though, needs a bit more work before release 2011-03-29 23:37:32 -05:00
Brettflan
ebde7bcc1a attempt to handle an NPE someone has been getting in MyLocationTypeAdapter.serialize() 2011-03-28 14:38:07 -05:00
Brettflan
dc7935ee3e Added ability to load old pre-1.1 data files (board, factions, followers) if they exist and new files don't.
Also made 1.1.2 release with this update.
2011-03-26 09:01:48 -05:00
Olof Larsson
b2a76e2b24 Added some missing instaDestroyItems 2011-03-24 19:05:45 +01:00
Olof Larsson
d71c0e86d7 bugfix - admins could not place signs etc in safezones 2011-03-24 15:49:33 +01:00
Olof Larsson
48ede9d7bf Removed autoLeaveImmunity due to missdesign in the Permissions plugin. 2011-03-24 00:26:01 +01:00
Olof Larsson
b0f09db054 Safe zones and faction homes :D :D 2011-03-23 17:39:56 +01:00
Olof Larsson
9d4aaeae6c reworked the board 2011-03-23 12:45:21 +01:00
Olof Larsson
bee15556c9 Some case insensitivity fixes 2011-03-23 12:00:38 +01:00
Olof Larsson
8bab4540cd Better save system 2011-03-22 22:31:04 +01:00
Olof Larsson
39a02f0fd4 New auto leave on anactivity feature. 2011-03-22 20:36:33 +01:00
Olof Larsson
27d414ffc4 Fewer runtime errors... 2011-03-22 19:25:11 +01:00
Olof Larsson
1c062c9c79 Now it compiles. Time to fix runtime errors... 2011-03-22 18:48:09 +01:00
Olof Larsson
4e964ba194 Fewer and fewer errors... 2011-03-22 17:20:21 +01:00
Olof Larsson
d7c1d0fce3 More refactoring... the commands are refactored now :) 2011-03-22 15:45:41 +01:00
Olof Larsson
0b96a821ce More refactoring 2011-03-19 13:00:03 +01:00
Olof Larsson
1da8b6b30a Started the refactoring 2011-03-18 17:33:23 +01:00
Brettflan
2f4e487cb6 cutting down of crops and sugar cane are now prevented if you are in another faction's territory 2011-03-17 18:04:45 -05:00
Brettflan
d5308bc75d Added config option territoryBlockFireballs, defaults to false; if enabled, prevents destruction of blocks by Ghast fireballs inside faction territory... note that this only works in CB build 557 and higher, where fireball detection was added 2011-03-17 18:02:29 -05:00
Brettflan
45162a3444 minor spelling and grammar fixes 2011-03-10 22:14:39 -06:00
Brettflan
2ca8e4b9af Fix for player right-clicking in the air causing an NPE due to target block being null 2011-03-09 18:21:17 -06:00
Brettflan
5ab5ef6724 check for special block destruction cases which previously were incorrectly allowed in other faction's territory: torch, redstone torch (on & off), repeater (on & off), redstonewire, sapling
Paintings still can't be prevented from destruction, sadly
2011-03-08 06:42:48 -06:00
Brettflan
a7fede9c13 Now preventing placement/use of these items inside another faction's territory: redstone wire, signs, flint&steel, beds (not detected properly by Bukkit yet), buckets (empty, water, and lava), repeaters 2011-03-08 06:06:52 -06:00
Brettflan
2016f232ef Fix for enemy attacks healing people in their own territory, instead of correctly just giving reduced damage.
The problem is that Bukkit reports the amount of damage before armor calculations are made, so the actual damage will be less if the target is wearing armor.
So, I switched it to using setDamage instead of healing the target.
2011-03-06 21:13:27 -06:00
Brettflan
1d26e18916 Added option ("territoryBlockCreepers") to prevent creepers from destroying blocks if they explode inside faction owned territory, which defaults to disabled; if enabled, it prevents griefing by way of luring creepers into a faction's territory
note that creepers will still explode and hurt nearby players and mobs, they just won't destroy blocks
2011-03-06 14:13:48 -06:00
Olof Larsson
429e86fd4b Beta6. Supports CB493 2011-03-05 11:39:14 +01:00
Olof Larsson
afde3e188b Type safety and warning fix. 2011-03-05 10:53:08 +01:00
Brettflan
6c971742d0 comment out debug messages shown on plugin startup, was a bit too spammy 2011-03-04 21:40:49 -06:00
Brettflan
74a823be88 Added pagination and sorting of faction list, sorted primarily by which faction has the most users online and secondarily by how many total members the faction has 2011-03-04 21:40:40 -06:00
Brettflan
986461a098 streamline rebased Gson into source; rebase was done to prevent conflict with other plugins (like upcoming WorldGuard release) which also use Gson; Bukkit doesn't yet handle such conflicts properly 2011-03-04 10:48:56 -06:00
Brettflan
df75afef08 handle a few random errors that popped up in my server log 2011-03-04 10:48:43 -06:00
Brettflan
775f3a00d5 Update for latest CraftBukkit 2011-03-04 10:48:32 -06:00
Olof Larsson
9404eb77ff Fixed block break protection. Removed grief info messages for now 2011-02-26 10:33:31 +01:00
Olof Larsson
d3c5868ca4 beta4 2011-02-26 09:33:25 +01:00
Olof Larsson
478116c418 A color format fix and clas not found def fix 2011-02-13 17:02:51 +01:00
Olof Larsson
fb1305f97a Default faction tag rules are now more permissive 2011-02-13 16:37:21 +01:00
Olof Larsson
09bc3df841 Better way to remove faction from boards implemented. Also prevents orphaned foreign key errors. 2011-02-13 15:18:23 +01:00
Olof Larsson
19e0628f27 Multiworld support 2011-02-13 11:18:08 +01:00
Olof Larsson
4316469ec1 Arrow attacks are now included in the friendly fire filter 2011-02-13 09:33:42 +01:00
Olof Larsson
14ad1299b2 Faction chat is now something you turn on and off 2011-02-13 09:08:20 +01:00
Olof Larsson
156e939d18 C:/Program Files (x86)/Git/f show command now displays relations to other factions. 2011-02-12 18:52:45 +01:00
Olof Larsson
88ff88103e Better faction listing 2011-02-12 18:19:51 +01:00
Olof Larsson
da89ff4ecd Better chat integration with other plugins. In fact the whole chat system has been reprogrammed. Fix ascii compass typo. Fix claim at the border of enemy territory bug. New faction chat. Some refactoring 2011-02-12 18:05:05 +01:00
Olof Larsson
46a814a11e This would be v1.0 beta2. Just live testing on mcteam.org left to do. 2011-02-07 21:42:14 +01:00
Olof Larsson
eeb9061d26 First relase: 1.0 beta1 2011-02-06 17:45:48 +01:00
Olof Larsson
db03d466ba A deinvite bugfix and some color formating misses 2011-02-06 16:07:10 +01:00
Olof Larsson
bcd52a1fbd Fixed version number and version command. Updated folder structure for easier working with eclipse 2011-02-06 15:30:41 +01:00
Olof Larsson
b3ac8f8614 what? 2011-02-06 13:36:11 +01:00