Compare commits

..

294 Commits

Author SHA1 Message Date
5d3fe2a2f4 Merge branch '1.6.x' of https://github.com/SaberLLC/Saber-Factions into 1.6.x 2020-07-01 22:37:14 +02:00
DroppingAnvil
1becd7b299 Version change 2020-06-26 00:49:54 -05:00
DroppingAnvil
f7c9de0664 Version change 2020-06-26 00:45:37 -05:00
DroppingAnvil
7667e69cf2 Update XMaterial 2020-06-26 00:43:26 -05:00
1383e451f1 optimized dependencies for JAR file size (8.6MB -> 7.8MB) 2020-06-25 23:24:39 +02:00
DroppingAnvil
677c609ec8 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-06-25 13:24:13 -05:00
DroppingAnvil
09f1df49a9 Begin 1.16 support 2020-06-25 13:23:52 -05:00
Driftay
dd94b45347 Forgot about the FactionsPlayerListener 2020-06-19 11:18:11 -04:00
Driftay
28b07fc6a4 Updates To Scoreboard 2020-06-19 11:15:22 -04:00
DroppingAnvil
11ea9bc1aa Allow non-relational show 2020-06-16 11:59:45 -05:00
DroppingAnvil
7f922fef28 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-06-14 16:02:45 -05:00
DroppingAnvil
81ef43768d Fix startup error that may happen when factions is shutdown improperly 2020-06-14 16:02:18 -05:00
Driftay
1a19ee77ba
Merge pull request #138 from f0rb1d/1.6.x
Added Simplified Chinese translation and fixed a typo in English language pack
2020-06-12 23:27:35 -04:00
DroppingAnvil
0444517eec F unclaim can now be used without a faction when bypassing 2020-06-12 18:43:56 -05:00
f0rb1d
03077b62ba Added Simplified Chinese translation and fixed a typo in English language pack. 2020-06-12 01:22:36 -04:00
DroppingAnvil
d98c647397 Version change for shield removal 2020-06-08 16:04:03 -04:00
DroppingAnvil
e9923344a2 Deal with remaining shield code 2020-06-08 16:03:28 -04:00
DroppingAnvil
cdc07ed5eb Revert "Merge pull request #134 from ImCarib/1.6.x"
This reverts commit 0b677cb4de, reversing
changes made to a355b1d0c8.
2020-06-08 15:52:29 -04:00
Driftay
7b94367eb4 Added shield status placeholder 2020-06-08 15:03:36 -04:00
Driftay
b7d991c0dd unclaim fly fix 2020-06-08 07:06:16 -04:00
Driftay
6372245fcd Version Change 2020-06-08 06:42:51 -04:00
Driftay
f2c0f725b7 Carib unregistered the command 2020-06-08 05:46:25 -04:00
Driftay
0b677cb4de
Merge pull request #134 from ImCarib/1.6.x
shields added
2020-06-08 05:39:38 -04:00
ImCarib
e8642a3108 shields added 2020-06-08 05:22:50 -04:00
DroppingAnvil
a355b1d0c8 Fix certain GUIs not loading 2020-06-07 20:34:42 -04:00
Driftay
929c34d850 Final Touches on PermissableAction Rollback 2020-06-01 22:52:03 -04:00
Driftay
903129e462 Reverted Back To Old FactionsBlockListener to Reference Other Plugins Hook Systems 2020-06-01 22:41:14 -04:00
Driftay
e84c69f2b0 Code Cleanup & Fix With Fly Unclaiming 2020-05-27 23:40:46 -04:00
Driftay
3e530487d7
Merge pull request #131 from SaberLLC/beta
Beta
2020-05-25 20:40:22 -04:00
Driftay
14776b8877
Merge pull request #127 from Juniormunk/1.6.x
Fix Bugs
2020-05-25 20:38:35 -04:00
Driftay
7f927189ea Alts Can No Longer Be Promoted 2020-05-25 14:16:49 -04:00
Driftay
6f293dce17 Fixed Kicked Player Staying In Fly Map & FPerms GUI Returning Only Black Stained Glass Pane 2020-05-24 09:35:10 -04:00
Driftay
2676f048d6 Alt Limit Fix 2020-05-24 05:58:35 -04:00
droppinganvil
24aaa0ed6f Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-05-23 13:36:04 -05:00
DroppingAnvil
2a01682fbe Fix issue not allowing use of multiworld wild 2020-05-23 13:35:51 -05:00
Juniormunk
ba59310548 Fix occasional dynmap bug 2020-05-22 17:11:53 -04:00
Juniormunk
bec09168b6 Remove debugging prints 2020-05-22 02:33:31 -04:00
Juniormunk
4fe6484db9 Fix bug #129 2020-05-22 02:24:57 -04:00
Juniormunk
71a099beeb Fix bugs #123, #128 2020-05-21 19:29:51 -04:00
Juniormunk
ddd3150732 Fix bugs #118 , #122 2020-05-21 04:22:53 -04:00
Juniormunk
ec1501bf4f Fix Bug #125 2020-05-21 02:51:41 -04:00
Juniormunk
8ad2fdf848 Fix Bug #126 2020-05-21 01:58:05 -04:00
Driftay
1ee62c2267
Merge pull request #121 from SaberLLC/beta
Beta
2020-05-19 13:48:00 -04:00
Driftay
7e6646b4df Config Fix for default worlds 2020-05-19 06:28:05 -04:00
Driftay
0d08ff4cec Wild Updates 2020-05-19 06:27:20 -04:00
Driftay
cf3ce62023
Merge pull request #120 from SaberLLC/1.6.x
Merging
2020-05-19 06:25:42 -04:00
Driftay
30d6b3c248
Merge pull request #119 from SaberLLC/beta
F Show Async Calling
2020-05-19 06:24:02 -04:00
Driftay
c22e3a5227 F Show Async Calling 2020-05-19 06:22:09 -04:00
Driftay
cf71603eeb
Merge pull request #117 from SaberLLC/beta
Beta
2020-05-18 04:31:06 -04:00
Driftay
c45b68a95f
Merge pull request #116 from Aeris1One/patch-1
Fix
2020-05-18 04:29:42 -04:00
Aeris One
67a9a6db28
Update ja_JP.yml 2020-05-16 12:07:53 +02:00
DroppingAnvil
0ea56fe5d2 World now per range instead of global + CmdWild cleanup 2020-05-12 14:41:12 -05:00
DroppingAnvil
7d3c4d6e33
Merge pull request #115 from Stefan923/1.6.x
Fixed a JSON issue.
2020-05-11 16:47:08 -05:00
Stefan923
4d05b4a376 Fixed "RESET is not a style/color" error. 2020-05-10 17:18:48 +03:00
Driftay
c29850eaaa Fixes NPE on Saving Task onDisable MPlugin, removed Async Throw for 1.15 in F Show 2020-05-09 14:04:17 -04:00
Driftay
ece5dd0bb7
Merge pull request #113 from Stefan923/1.6.x
Fixed issues
2020-05-09 14:01:55 -04:00
Driftay
bbaee8ab06
Merge pull request #114 from Stefan923/1.6.x
Fixed issues
2020-05-09 13:39:51 -04:00
Stefan923
c42949ec59 Fixed a bug: people were able to move banned items in /f chest by using hotbar keys. 2020-05-09 17:37:06 +03:00
Stefan923
f5f8e6aad2 Edited some translation messages. 2020-05-09 16:22:16 +03:00
Stefan923
447bfedbb1 Fixed an internal error caused by some unhandled cases. 2020-05-09 15:51:14 +03:00
Stefan923
1d4a1c2a1a Avoid disabling player's flight mode if it's not enabled. 2020-05-09 14:53:53 +03:00
Stefan923
31b8f0be25 Fixed internal error caused by trying to demote a player who already has the lowest rank 2020-05-09 14:53:02 +03:00
Driftay
e2d85d83f3
Merge pull request #111 from Stefan923/1.6.x
Fixed AutoFly issue
2020-05-08 20:22:33 -04:00
Driftay
66f2fd22f6
Merge pull request #112 from SaberLLC/beta
Beta
2020-05-08 20:21:55 -04:00
Stefan923
842eb097c6 Fixed issue. If the player does not have the fly activated when he joins another teritory, it skips the checks and his flight is activated. 2020-05-09 00:30:03 +03:00
DroppingAnvil
2f18da3cfb
Merge pull request #110 from Stefan923/1.6.x
Fixed issues
2020-05-08 15:57:02 -05:00
Stefan923
5fb8d06d98 Fixed the asynchronous command dispatch issue. The issue was being thrown on PaperSpigot and its forks. 2020-05-08 20:29:54 +03:00
Stefan923
868e7f4102 Method weren't formatting both color and style to the same text. 2020-05-08 20:27:03 +03:00
Popescu Ștefan
d8b08ef6d7
Merge pull request #1 from SaberLLC/beta
Beta
2020-05-07 23:06:20 +03:00
DroppingAnvil
7bffed2d34
Merge pull request #108 from Stefan923/1.6.x
Fixed an issue with disband GUI
2020-05-07 14:44:15 -05:00
BrowkS
541e1fc69b Fixed issue - ignoring "useDisbandGui" if the player is not an OP 2020-05-07 22:36:39 +03:00
Driftay
07dce634af Addressed Config Properly 2020-05-07 12:23:32 -04:00
Driftay
75faaa4bb5 More Radius Claiming Changes 2020-05-07 07:07:40 -04:00
Driftay
17e2a86717 Cleaned Up Double Message With Fly & Double Message With Radius Claim System When Claiming A Single Claim 2020-05-07 05:56:12 -04:00
Driftay
f384100925 Fixed Small Issue With Owner List In Replacement Of TL Translation 2020-05-07 05:26:08 -04:00
Driftay
b8c695c2f4 Grace Check in checkForExplosion Method & Added a Async Task On Show.
NOTE: Ran 100 Alts Running /f who every second whilst all being in my faction with 0 lag or errors with LuckPerms
2020-05-07 05:11:28 -04:00
Driftay
78a5e65e5c
Merge pull request #106 from Stefan923/1.6.x
Fixed some internal errors caused by using /f wild and a placeholder issue
2020-05-07 01:57:05 -04:00
Driftay
33761fee2b Radius Claiming Finalized, Few Fixes With Econ & Essentials & Fly Performance 2020-05-07 01:55:24 -04:00
BrowkS
bf23521309 Sending join message to faction members after setting player's faction and role. 2020-05-06 22:32:40 +03:00
BrowkS
55fd5ffdfd Added {player-role} placeholder. 2020-05-06 13:07:16 +03:00
BrowkS
04273de995 Removed an unnecessary check 2020-05-06 12:36:24 +03:00
Stefan923
7fc1ad19ad Fixed an internal error. Trying to send a message without enough arguments. 2020-05-05 18:32:50 +03:00
Stefan923
01913e7286 Fixed an internal error. Player wasn't being removed from teleportRange after a failed teleportation. 2020-05-05 18:30:09 +03:00
Driftay
ae7bb670d7 Reverted Back To Old Fly Mechanics 2020-05-05 07:20:06 -04:00
Driftay
499d41dea0 Radius Claiming & Alt Limit Fix 2020-05-04 20:27:39 -04:00
DroppingAnvil
e0d2e6b4db Version change for fly changes 2020-04-30 14:40:59 -05:00
DroppingAnvil
e37745eff9 Fixed a few known issues with F Fly 2020-04-30 14:27:26 -05:00
DroppingAnvil
86cba0e24c PlaceholderAPI expansion revamp 2020-04-29 16:31:47 -05:00
droppinganvil
69a4651e23 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-26 12:54:03 -05:00
DroppingAnvil
f2c6d0b9da Even more fly changes 2020-04-26 12:53:48 -05:00
Driftay
8f343a5344 FIXED MASSIVE BUG WITH SAVING 2020-04-21 21:39:28 -04:00
Driftay
8665d92476 FIXED MASSIVE BUG WITH SAVING 2020-04-21 20:25:44 -04:00
droppinganvil
b89db7b082 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-21 16:04:39 -05:00
DroppingAnvil
00cb78fd9b Set a world for /f wild 2020-04-21 16:04:18 -05:00
Driftay
aca075b5c7 Version Change 2020-04-13 20:30:02 -04:00
Driftay
03886aa84e
Merge pull request #92 from CanardConfit/1.6.x
Fix issue #84
2020-04-13 20:26:17 -04:00
CanardConfit
22472f63f1 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-14 01:05:17 +02:00
CanardConfit
6d72e5d167 Fix issue #84 2020-04-14 01:04:33 +02:00
CanardConfit
69765e472c Fix issue #84 2020-04-14 01:01:05 +02:00
Driftay
4f55b10c7d Fixed Faction Claiming Over Themselves 2020-04-13 18:44:17 -04:00
Driftay
0395280a9e Addressed Issue #72 2020-04-13 16:12:46 -04:00
Driftay
d1252df3ba Addressed Issue: 70 Some Blocks may be missing, but they are 100% configurable in conf.json I don't want to hardcode item names that people want to block by default. ex: crafting tables 2020-04-13 15:28:37 -04:00
Driftay
9707226762 Addressed Issue: #90 & Added Configurable removePlayerDataWhenBanned message 2020-04-13 15:20:46 -04:00
Driftay
cf075c270e Addressed Issue: #81 2020-04-13 13:35:27 -04:00
Driftay
f088b42bbe Added uneeded comment 2020-04-13 13:29:01 -04:00
Driftay
baee5d2158 Addressed Issue: #77 & #68 2020-04-13 13:24:30 -04:00
Driftay
f871787b0c Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-13 13:18:27 -04:00
Driftay
749fca0690
Merge pull request #91 from CanardConfit/1.6.x
Fix Issue #75
2020-04-13 13:17:59 -04:00
CanardConfit
319940d9b3 Fix Issue #75 2020-04-13 19:12:11 +02:00
Driftay
7ea81a6c10 Addressed Issue: https://github.com/SaberLLC/Saber-Factions/issues/69 2020-04-13 13:09:15 -04:00
Driftay
6205bbca9f Added a bunch of fixes from github requests 2020-04-13 05:03:41 -04:00
Driftay
241a16bc2a Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-12 06:26:45 -04:00
Driftay
3aa98121e5 Factions Fly Cache on Startup, Attempt At SaveSync Fix 2020-04-12 06:26:27 -04:00
DroppingAnvil
144798b2dd Fixed message given to WaitExecutor causing F Wild to constantly say "You are already teleporting somewhere" 2020-04-11 15:02:17 -05:00
droppinganvil
dac07178e5 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-11 14:52:12 -05:00
DroppingAnvil
f8421c09cf Option to load chunk before /f wild teleport. 2020-04-11 14:51:57 -05:00
Driftay
932a5768b0 Fixed Small NPE With Grace if GraceSystem was set to false 2020-04-09 17:53:05 -04:00
droppinganvil
861f88a916 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-08 12:59:51 -05:00
DroppingAnvil
5b7f3b0f0e Fixed fly no permission issue 2020-04-08 12:59:41 -05:00
Driftay
304662fa9b Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-08 09:19:14 -04:00
Driftay
5a6c660f7f Fixed Small Error With Money Format If Econ is Off 2020-04-08 09:18:50 -04:00
Driftay
0fc736cdf5
Update README.md 2020-04-08 06:22:34 -04:00
Driftay
ef7db546a3
Update README.md 2020-04-08 06:22:14 -04:00
Driftay
4496d4251b Finished Grace Timer :) 2020-04-07 23:22:53 -04:00
Driftay
d86d8fc73a Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-04-07 22:24:55 -04:00
Driftay
380caf1ca3 More things to GraceTimer 2020-04-07 22:24:07 -04:00
DroppingAnvil
103c69fecf Changed every fly check to the same one instead of having multiple, FactionsPlayerListener.checkCanFly will be removed soon. 2020-04-07 16:02:18 -05:00
Driftay
d4ac0ab310 Completely Reformatted GracePeriod with a timer now 2020-04-07 07:59:18 -04:00
Driftay
8fb697888f Added Neutral List PlaceHolder 2020-04-06 16:55:22 -04:00
Driftay
b15ff69682 Finalized F Cooldowns 2020-04-06 16:50:12 -04:00
Driftay
919a3ada25 Revert cooldown is player is bypassing 2020-04-06 16:21:22 -04:00
Driftay
62e4114466 Cooldowns initiated & Disable Open Broadcasts 2020-04-06 16:19:41 -04:00
Driftay
cb2afb5a4f Anotha one 2020-04-06 15:34:26 -04:00
Driftay
8efe68111b Class Cast Exception Fixed 2020-04-06 15:28:49 -04:00
Driftay
388f83694d Per Player Friend Fire Added (Command Usage: /f friendlyfire) 2020-04-06 15:10:37 -04:00
Driftay
23320db201 Create As Many Levels to Upgrades As You Would Like Now, Properly Relocating InventoryFramework 2020-04-06 11:26:48 -04:00
Driftay
0c5cc3a978 ItemFrame Fix, Claiming with No Power Double Check, Scoreboard Duplicate Double Check modified BlockListener 2020-04-06 10:32:16 -04:00
Driftay
8d1b26e561 Small Fix in Conf 2020-04-05 16:13:02 -04:00
Driftay
ef90cd5be8 Metrics & bStats 2020-04-05 12:57:28 -04:00
DroppingAnvil
5809387df2 Small change to fly 2020-04-04 18:42:38 -05:00
DroppingAnvil
5cf21d479e Fly improved 2020-04-04 18:41:13 -05:00
Driftay
44cac68a15 Alt Fix Join Limit 2020-04-04 09:31:45 -04:00
Driftay
f271cef686 Version Change 2020-04-04 07:54:19 -04:00
Driftay
065077e241 Vanish Check for Factions Fly 2020-04-04 07:53:52 -04:00
Driftay
97b6c75ffa Alt Placeholders & Remove Creeper Anti Glitch (SaberCoreX has this module) 2020-04-04 07:48:25 -04:00
Driftay
af1ee43771 COMPLETELY reformatted Shop.yml to loadFromProject as well as permissions.yml. Added Placeholders, Redefined FileManager, added F Notifications to factions.kit.halfplayer 2020-04-04 07:30:10 -04:00
Driftay
d79b93d6c5 New Shop Config Format With Help, Removed Useless Code FactionsBlockListener Block Break Revamp, F Wild Revamp (DroppingAnvil) & Alot I can't remember xD 2020-04-04 05:09:05 -04:00
Driftay
0aeadcf0d0 Fixed F Lock 2020-04-03 19:02:34 -04:00
Driftay
c237667def Added F Notifcations Command (Allows Players To Disable Notifications From Land Claiming) 2020-04-02 15:15:59 -04:00
Driftay
95a202d2cf Fixed Shop Comparison to XMaterial As Well As Added F Points Balance Command 2020-04-02 11:01:01 -04:00
Driftay
663bd96d26 Proper Distribution to Vankka For Proper Discord Code & Fixed F Leader Leaving Faction Disband Message 2020-04-02 08:33:33 -04:00
Driftay
4359a8b584
Update README.md 2020-03-27 08:31:05 -04:00
Driftay
cd24b053dc Fixed Money Spam if Amount is 0 2020-03-26 01:11:57 -04:00
Driftay
66ad927b2f Multiple Messages From Disband Fixed 2020-03-25 15:50:19 -04:00
Driftay
efae187e1a Removed Broadcast Message (SORRY) 2020-03-25 15:17:26 -04:00
Driftay
447860ab2d Small Json Util Fix 2020-03-25 02:41:50 -04:00
Driftay
6540e47ff5 Minor Reformat For Primary Group Fetching 2020-03-25 01:55:04 -04:00
Driftay
e55f053e4d Version Change 2020-03-25 00:59:39 -04:00
Driftay
945edc946e Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-03-25 00:57:21 -04:00
Driftay
8cace99444 Changelog will be posted, add alot 2020-03-25 00:56:39 -04:00
Driftay
5d4735859b
Merge pull request #54 from Lumpiasty/1.6.x
Add missing BLAST_FURNACE and SMOKER to Container permission
2020-03-24 11:22:34 -04:00
Lumpiasty
cef153691d
Add missing BLAST_FURNACE and SMOKER to Container permission 2020-03-24 16:05:37 +01:00
Driftay
4dec162d46 More Configurability 2020-03-23 16:31:33 -04:00
Driftay
606e82c890 Made F Stuck Toggleable 2020-03-23 16:11:54 -04:00
Driftay
323dce1c4f boolean to toggle f inspect on and off 2020-03-18 14:37:23 -04:00
Driftay
36c8d53a85 Configurable Option For Click To Claim 2020-03-10 06:36:47 -04:00
Driftay
81bac35b51 OCD Fixed 2020-03-03 00:45:56 -05:00
Driftay
19f09a6379 Version Change 2020-03-03 00:36:48 -05:00
Driftay
19ea590e5f
Merge pull request #52 from MSWS/patch-1
Allow color codes in Faction Upgrade Title GUI
2020-02-26 06:52:42 -05:00
Driftay
d6a274ddc5 Revert Deleted Line 2020-02-26 06:51:41 -05:00
Driftay
5591048136 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-02-26 06:50:23 -05:00
Driftay
fe7738fea0 Fixed Faction Alt And Member Limits 2020-02-26 06:50:07 -05:00
MSWS
3ba6e1f376
Allow color codes in Faction Upgrade Title GUI 2020-02-23 22:31:50 -08:00
droppinganvil
dfbfbf9981 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-02-16 22:59:48 -06:00
DroppingAnvil
13399c53c5 Added ability to customize the separator item in the Disband GUI. 2020-02-16 22:59:02 -06:00
Driftay
55d6af7195 Proper Distribution for Reserve Saving 2020-02-11 22:42:14 -05:00
Driftay
4f675dfd66 Version Change 2020-02-11 22:23:14 -05:00
Driftay
22957b641b Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-02-11 22:17:21 -05:00
Driftay
0fc3e47289 Fixed Spawner Mining Error 2020-02-11 22:17:01 -05:00
DroppingAnvil
730693aed1
Merge pull request #47 from N0tMyFaultOG/1.6.x
Fix typo in issue template
2020-02-07 13:10:41 -06:00
NotMyFault
61570be012
Fixed upercase version
Kinda triggering my ocd
2020-02-04 02:37:00 +01:00
Driftay
bcc04e6174 Updated TimeUtil 2020-02-01 03:01:36 -05:00
Driftay
d30780e06e Created Time Utility for Shields 2020-01-30 04:18:18 -05:00
Driftay
ed73baf5f1 SeeChunk 1.15 Fix 2020-01-29 14:32:32 -05:00
Driftay
94d2035c78 Version Change 2020-01-27 00:52:52 -05:00
Driftay
8ff8c78a44 Fixed Mouse Movement for Wild Teleportation & Properly initialized tntfill aliases 2020-01-27 00:47:48 -05:00
Driftay
591dc2172f Fixed F Disband w/Admins Disbanding Other Factions 2020-01-26 16:17:08 -05:00
Driftay
1a4c860c46 Fixed F Power Upgrade 2020-01-26 16:08:03 -05:00
Driftay
ad56264c5d 1.15 Support for Permissable Items & Fixed F Upgrades GUI Rows 2020-01-26 15:54:54 -05:00
Driftay
def1a8b15a Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-01-26 12:51:58 -05:00
Driftay
8b577d360b Added Barrels to Container Permissible Action & Fixed NPE When running f seechunk on 1.15.1 2020-01-26 12:51:41 -05:00
DroppingAnvil
f34ebc73fa Remove unused import. 2020-01-26 00:48:21 -06:00
DroppingAnvil
c86db7ab51 Fix system factions with custom names fly permissions. 2020-01-26 00:48:21 -06:00
Driftay
070f239948 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-01-20 03:47:25 -05:00
Driftay
018f08699d 1.15 Item Conversion Complete 2020-01-20 03:46:53 -05:00
Driftay
5542245b2a
Update README.md 2020-01-20 03:07:36 -05:00
Driftay
6eb204587d
Update README.md 2020-01-20 02:33:32 -05:00
Driftay
ce1eedd7cd Home Fix & Version Change 2020-01-19 03:40:30 -05:00
Driftay
417cc57aa7 Confirmation Disband GUI Created 2020-01-19 02:55:56 -05:00
DroppingAnvil
57ac2c8c98 Fix getAccess for leaders 2020-01-18 21:26:21 -06:00
Driftay
25515d863e Fixed F Show & Made SaberFacs not Require Essentials 2020-01-18 02:33:01 -05:00
Driftay
2412931122 Reformat again 2020-01-18 02:20:11 -05:00
Driftay
51838df0d7 TntFill Fixed & Code Cleanup 2020-01-18 02:18:38 -05:00
Driftay
e3e6f5561c Discord Placeholders 2020-01-17 21:50:34 -05:00
Driftay
a54a7aa4fb Added Placeholders to papi 2020-01-17 21:45:18 -05:00
Driftay
9de773ddae Announcement Placeholder 2020-01-17 21:42:23 -05:00
Driftay
9a32cd9501 Adding some placeholders 2020-01-17 21:36:36 -05:00
DroppingAnvil
90d39a3974 Version change
1.6.9.5-2.2.5-RC -> 1.6.9.5-2.2.6-RC
2020-01-17 18:24:53 -06:00
DroppingAnvil
6544513ca7 Many F Fly bug fixes:
- Async get nearby entities
- Not respecting admin bypass
- Not respecting permissions for system claims
- Not respecting permissions for relations
- Sending fly disabled message when user is not flying
- Sending double messages when disabling
- Sometimes disabling fly while in creative and spectator game modes
2020-01-17 17:55:37 -06:00
DroppingAnvil
f7619f0685 Fixed a few issues with CmdAdmin now being Async 2020-01-15 16:01:32 -06:00
droppinganvil
a20c2ec2eb Tiny bug fix. 2020-01-15 15:21:02 -06:00
DroppingAnvil
028734a42c Shutdown JDA on disable. 2020-01-14 12:57:09 -06:00
DroppingAnvil
29b9eadd57 Fix mistype made in Aliases. 2020-01-10 20:41:12 -06:00
Driftay
83a33c2222 Version Change 2020-01-07 15:38:43 -05:00
Driftay
c274918244 Removed everything shield wise for release with bug fixes 2020-01-07 15:37:46 -05:00
Driftay
57833bee13 Fixed TntFill (Again) -_- 2020-01-04 18:49:55 -05:00
Driftay
0a1346f1c2 Made Scoreboard Dummy Proof & Started Adding Shield Tasks Timers and Objects 2020-01-04 18:29:49 -05:00
Driftay
5145ae1714 Allowed players to continue using Essentials fly is Factions Fly is Disabled 2020-01-04 13:23:55 -05:00
Driftay
086ec3e145 Allowed Custom Heads to be in Faction Upgrades 2020-01-04 12:42:53 -05:00
Driftay
d538502457 Added Enchanting on Level 1 or Higher for Upgrades 2020-01-04 12:26:23 -05:00
Driftay
978782e2fe Remade Faction GUI 2020-01-04 12:23:10 -05:00
Driftay
ce1004d318 Removed Stream Code lol 2020-01-04 11:29:44 -05:00
Driftay
3545253844 Version Change 2020-01-03 18:53:52 -05:00
Driftay
ad69019ba6 Fixed F Chest Logging 2020-01-03 18:53:01 -05:00
Driftay
b8f6a05538 Re-added Mis-deleted code 2020-01-03 10:55:22 -05:00
Driftay
98b40d325a Fixed Chest Error, and Fixed Unban TL Translation 2020-01-03 05:04:12 -05:00
Driftay
8f2e58733d Decided to remove alot of open and closing brackets for no reason lol 2020-01-02 10:35:54 -05:00
Driftay
ae17f3d788 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2020-01-02 05:02:56 -05:00
DroppingAnvil
a71bbd5b14 remove unused import. 2020-01-01 20:04:02 -06:00
DroppingAnvil
05e1a7297c Change any command (: also refixed tntfill 2020-01-01 19:59:31 -06:00
Driftay
1f9965b13a Fixed NPE Throwing From Console Disband 2020-01-01 02:34:59 -05:00
Driftay
fb32d2155b Fixed Error being thrown with FRenameEvent 2020-01-01 02:11:20 -05:00
Driftay
4c90bae87c F Reserve System ReAdded 2019-12-31 02:56:45 -05:00
Driftay
05cfd5d8b0 Added AutoUpdating FMap on Click to Claim 2019-12-31 02:20:33 -05:00
Driftay
b2fdcd5649 Fixed Click To Claim FLog 2019-12-31 01:45:33 -05:00
Driftay
f4bfa83e24 Added FLog For Click to Claim Map 2019-12-31 01:42:22 -05:00
Driftay
4222dd9689 Added FLog For Claiming Single Chunk 2019-12-31 01:40:04 -05:00
Driftay
ccb2dae890 Version Change 2019-12-31 01:15:30 -05:00
Driftay
f7297c96c4 Flog Material & Slot Fixed 2019-12-31 00:20:00 -05:00
Driftay
87f0810914 Fixed WorldEdit Player Cast 2019-12-31 00:03:57 -05:00
Driftay
016c82fa85 FAudit Slots & Materials Configurable
Fixed IllegalPluginAccessException onDisable
2019-12-30 23:56:59 -05:00
Driftay
fad866cf33 Fixed Bow Boosting 2019-12-29 17:30:12 -05:00
Driftay
c3319ce109 Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2019-12-29 17:27:03 -05:00
Driftay
ca5d7663f9 Added Default Size for F Chest 2019-12-29 17:26:29 -05:00
DroppingAnvil
cee9c1f4d7
Update README.md 2019-12-28 13:59:12 -06:00
DroppingAnvil
fb03d78234
Update README.md 2019-12-28 13:55:37 -06:00
Driftay
e0134d680e Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2019-12-28 04:58:52 -05:00
Driftay
8e855bc9bb More Audit Things + Code Cleanup + SaberException Added for Debugging 2019-12-28 04:58:33 -05:00
DroppingAnvil
2772d85603 Added check for Discord system during setup. 2019-12-26 15:25:47 -06:00
Driftay
acf06c78ed Removed Discord statTrace in Login Exception 2019-12-26 14:54:24 -05:00
Driftay
cda1610a58 Added Brand New F Audit Base. 2019-12-24 22:19:49 -05:00
Driftay
5d1e1ea6ed Version Change 2019-12-24 09:32:23 -05:00
Driftay
372eed65a0 Fixed OCD 2019-12-24 09:27:36 -05:00
Driftay
86f92a7fb0 [+] 1.15 Support Added!
[+] Greatly optmized ALOT of Commands!
[+] Removed Portal Travel Agent (Recoding)
[+] Added Administrator Command F Lookup
2019-12-24 09:19:43 -05:00
Driftay
897fdbf83a Added TL Fixture for Drain Description 2019-12-22 18:24:50 -05:00
Driftay
4e11234a08 Added F Drain Command (A Command which allows players with permission to obtain all the money in faction members balances.) 2019-12-22 18:21:17 -05:00
Driftay
3a22bb348e Fixed Spawner Breaking NPE 2019-12-22 01:03:47 -05:00
Driftay
91ca08e66b Fixed Co-Leader Default Permissions 2019-12-21 23:52:14 -05:00
Driftay
11d9f9230b Version Change 2019-12-21 22:05:01 -05:00
Driftay
38cf542d8c Fixed territoryBypassProtectedMaterials - 2 Maps were defined 2019-12-21 22:03:40 -05:00
DroppingAnvil
93b485aae8 Version change + /f wild permission added to permission kits
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-19 17:35:29 -06:00
DroppingAnvil
b9996a2250 Fix /f deinvite 2019-12-19 15:10:55 -08:00
Driftay
368a605d31 Format Code, Fixed 2 NPE's 2019-12-19 14:23:41 -05:00
DroppingAnvil
fec07b6fac Added a wilderness teleport command (/f wild) and fixed a few bugs
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-16 18:46:38 -06:00
DroppingAnvil
58e43b41cc CmdReload made more useful by changing how commands that can be disabled are added to the root. You can now get the instance of FCmdRoot, Recheck variable added commands, rebuild brigadierManager, and get the status of each command that can be disabled. CmdDebug now gets the status of variable added commands.
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-16 13:32:12 -06:00
DroppingAnvil
d5645f3b0a Revamped in-game Discord mention system.
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-15 19:37:12 -06:00
DroppingAnvil
fa10bf7003 Discord feature additions, Discord startup flow changed, /f debug added
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-12 04:48:00 -06:00
Driftay
ca9502a4b6 TL References Properly to Generic_Disabled 2019-12-03 05:16:37 -05:00
Driftay
0a60a581f5 Started Base For Custom GUI Handling 2019-12-02 22:31:58 -05:00
Driftay
faf245b870 Proper Shading Acknowledged 2019-12-02 21:32:09 -05:00
DroppingAnvil
f124877dba Fixed message issue with lang when promoting a player in a faction to Admin.
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-02 19:52:30 -06:00
Driftay
fc5befd7cc Proper Credit Noted 2019-12-02 20:12:58 -05:00
Driftay
d03ca58105 More Credit 2019-12-02 14:03:27 -05:00
Driftay
f437144fba Giving Credit 2019-12-02 13:55:38 -05:00
Driftay
9284707db6 Fixed ArrayIndexOutOfBounds Exception With Deinvite Command 2019-11-30 00:41:44 -05:00
Driftay
7b07e3ed23 Version 2.1.0 Implemented 2019-11-29 12:13:46 -05:00
Driftay
c0719ec4f5 Reverted final persistence 2019-11-29 05:12:07 -05:00
Driftay
c9fd86ef9e Merge remote-tracking branch 'origin/1.6.x' into 1.6.x 2019-11-29 04:59:20 -05:00
Driftay
939a60c611 Bunch of Econ, Lang.yml Additions 2019-11-29 04:58:59 -05:00
DroppingAnvil
36f22262c6 Added the ability to toggle titles when entering claims of a different faction
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-11-28 19:34:39 -06:00
Driftay
f5e9ce3d90 Fly Changes, And Message Persistence 2019-11-28 02:09:21 -05:00
DroppingAnvil
e244b469aa
Update Permission.java 2019-11-25 01:20:07 -06:00
Driftay
5f80ecfa76 Fixed Permissions And Removed Shield Code From Main Branch to Avoid pointless runnables 2019-11-24 22:37:31 -05:00
Driftay
28517ef391 More to Shields & Mission Class Cleanup 2019-11-23 22:33:49 -05:00
Driftay
5744b7e28e Version Change 2019-11-22 04:56:18 -05:00
Driftay
f3b0dcdb7f Quick Fix With Fly Check Console Spam & Properly Defined Variables In TL for TNT command 2019-11-22 04:55:58 -05:00
Driftay
0b127cbe72 SyncSaving and Persistence with Unclaiming and Disbanding With Fly Checks 2019-11-21 09:38:15 -05:00
Driftay
4f6329996f Fixed Version Handling 2019-11-21 09:11:47 -05:00
Driftay
3710031b80 Fixed World Guard Initiation 2019-11-21 09:10:04 -05:00
Driftay
6c10cdd47d Version Change 2019-11-21 09:04:57 -05:00
Driftay
5eeb8a2020 Version Change 2019-11-21 08:52:16 -05:00
Driftay
fe5378e9d7 Massive Code Reformat (Fixed 4 Issues Brought up in Discord) 2019-11-21 08:50:51 -05:00
Driftay
e60d58e68b CoreProtect Persistence of ForEach 2019-11-21 08:07:55 -05:00
DroppingAnvil
649392363f Randomized missions implemented!
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-11-18 17:06:05 -06:00
362 changed files with 11838 additions and 5898 deletions

View File

@ -23,7 +23,7 @@ A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Server VErsion (please complete the following information):**
**Server Version (please complete the following information):**
- Spigot Version: [e.g. Paperspigot 1.8.8]
- Factions Version [use /f version]
- Minecraft Version: [If a bug is dependent on client version]

View File

@ -1,9 +1,9 @@
# SaberFactions
![Downloads](https://img.shields.io/github/downloads/driftay/saber-factions/total.svg) [![CodeFactor](https://www.codefactor.io/repository/github/driftay/saber-factions/badge)](https://www.codefactor.io/repository/github/driftay/saber-factions)
![Downloads](https://img.shields.io/github/downloads/driftay/saber-factions/total.svg) [![CodeFactor](https://www.codefactor.io/repository/github/driftay/saber-factions/badge)](https://www.codefactor.io/repository/github/driftay/saber-factions) [![License](https://img.shields.io/badge/license-GNU%20General%20Public%20License%20v3.0-brightgreen)](https://github.com/SaberLLC/Saber-Factions/blob/1.6.x/LICENSE) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/SaberLLC/Saber-Factions) [![](https://jitpack.io/v/SaberLLC/Saber-Factions.svg)](https://jitpack.io/#SaberLLC/Saber-Factions)
SaberFactions is a fork of both FactionsUUID and SavageFactions. Creators of those plugins include DtrShock and ProSavage. Credits to them.
SaberFactions is the newest, latest and greatest factions plugin designed for the best and most functional factions experience minecraft has seen!
SaberFactions is an exotic, performance optimized, and feature rich factions plugin that focuses on not only making the player experience as great as possibly but maintaining this aspect with the cost of NOTHING! We strive to continue development for SaberFactions as the factions community is strongly growing and seeking new players every day.
## Some Exciting Features
Some of our features include the following
@ -14,21 +14,27 @@ Some of our features include the following
* More F Upgrades - Unbreakable Redstone Upgrade, Members Upgrade, and Power Upgrade.
* Factions Corner - In the corner of a world? No Problem /f corner will claim your entire buffer for you!
* Command Cooldowns - Configurable Command Cooldowns for most "spam" commands. And so Much More to Come!
* Faction Points - A point based currency that can be used for any aspect of factions gameplay!
* Faction Shop - A shop that essentially lets players buy in-game items in exchange for faction points!
* Faction Discord Integration - A discord intergrated factions bot for each faction to have their own personalized discord bot within their faction!
* Faction Audit - A full based logging system (GUI designed) to see every aspect of what happens in your faction!
* Factions Check System - An automated check system that alerts players when to check walls/buffers!
* Faction Reserves - A system designed to reserve a specific faction name for a specific player!
## Dependency With Maven
```
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.Driftay</groupId>
<artifactId>Saber-Factions</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>com.github.SaberLLC</groupId>
<artifactId>Saber-Factions</artifactId>
<version>2.3.3-STABLE</version>
</dependency>
```
## Moving Forward
@ -36,8 +42,8 @@ Moving forward we plan to take all suggestions into consideration, as they come
We Plan on Releasing the latest and greatest factions/skyblock/prison plugins minecraft has to offer and wont settle for anything less
## Support
Our Discord is Currently In Progress of a Massive Overhaul, but we still encourage our community to join and express any concerns/questions/suggestions they may have!
https://discord.gg/37JvmM
Have a problem, question, or concer? We encourage our community to join and express any inquiry you may have
https://discord.saber.pw
Look forward to a bright future and a journey with all of you!

View File

@ -128,7 +128,7 @@
<li><a href="com/massivecraft/factions/zcore/CommandVisibility.html" title="enum in com.massivecraft.factions.zcore" target="classFrame">CommandVisibility</a></li>
<li><a href="com/massivecraft/factions/Conf.html" title="class in com.massivecraft.factions" target="classFrame">Conf</a></li>
<li><a href="com/massivecraft/factions/Conf.Backend.html" title="enum in com.massivecraft.factions" target="classFrame">Conf.Backend</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">CropUpgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">CropUpgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/util/DiscUtil.html" title="class in com.massivecraft.factions.zcore.util" target="classFrame">DiscUtil</a></li>
<li><a href="com/massivecraft/factions/integration/dynmap/DynmapStyle.html" title="class in com.massivecraft.factions.integration.dynmap" target="classFrame">DynmapStyle</a></li>
<li><a href="com/massivecraft/factions/integration/Econ.html" title="class in com.massivecraft.factions.integration" target="classFrame">Econ</a></li>
@ -136,7 +136,7 @@
<li><a href="com/massivecraft/factions/integration/dynmap/EngineDynmap.html" title="class in com.massivecraft.factions.integration.dynmap" target="classFrame">EngineDynmap</a></li>
<li><a href="com/massivecraft/factions/util/EnumTypeAdapter.html" title="class in com.massivecraft.factions.util" target="classFrame">EnumTypeAdapter</a></li>
<li><a href="com/massivecraft/factions/integration/Essentials.html" title="class in com.massivecraft.factions.integration" target="classFrame">Essentials</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">EXPUpgrade</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">EXPUpgrade</a></li>
<li><a href="com/massivecraft/factions/Faction.html" title="interface in com.massivecraft.factions" target="classFrame"><span class="interfaceName">Faction</span></a></li>
<li><a href="com/massivecraft/factions/event/FactionCreateEvent.html" title="class in com.massivecraft.factions.event" target="classFrame">FactionCreateEvent</a></li>
<li><a href="com/massivecraft/factions/event/FactionDisbandEvent.html" title="class in com.massivecraft.factions.event" target="classFrame">FactionDisbandEvent</a></li>
@ -171,7 +171,7 @@
<li><a href="com/massivecraft/factions/scoreboards/FScoreboard.html" title="class in com.massivecraft.factions.scoreboards" target="classFrame">FScoreboard</a></li>
<li><a href="com/massivecraft/factions/scoreboards/FSidebarProvider.html" title="class in com.massivecraft.factions.scoreboards" target="classFrame">FSidebarProvider</a></li>
<li><a href="com/massivecraft/factions/scoreboards/FTeamWrapper.html" title="class in com.massivecraft.factions.scoreboards" target="classFrame">FTeamWrapper</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">FUpgradesGUI</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">FUpgradesGUI</a></li>
<li><a href="com/massivecraft/factions/zcore/nbtapi/utils/GsonWrapper.html" title="class in com.massivecraft.factions.zcore.nbtapi.utils" target="classFrame">GsonWrapper</a></li>
<li><a href="com/massivecraft/factions/util/InventoryTypeAdapter.html" title="class in com.massivecraft.factions.util" target="classFrame">InventoryTypeAdapter</a></li>
<li><a href="com/massivecraft/factions/util/InventoryUtil.html" title="class in com.massivecraft.factions.util" target="classFrame">InventoryUtil</a></li>
@ -242,7 +242,7 @@
title="class in com.massivecraft.factions">SaberFactions</a></li>
<li><a href="com/massivecraft/factions/zcore/persist/SaveTask.html" title="class in com.massivecraft.factions.zcore.persist" target="classFrame">SaveTask</a></li>
<li><a href="com/massivecraft/factions/zcore/util/SmokeUtil.html" title="class in com.massivecraft.factions.zcore.util" target="classFrame">SmokeUtil</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/SpawnerUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">SpawnerUpgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/SpawnerUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">SpawnerUpgrades</a></li>
<li><a href="com/massivecraft/factions/util/SpiralTask.html" title="class in com.massivecraft.factions.util" target="classFrame">SpiralTask</a></li>
<li><a href="com/massivecraft/factions/zcore/util/TagReplacer.html" title="enum in com.massivecraft.factions.zcore.util" target="classFrame">TagReplacer</a></li>
<li><a href="com/massivecraft/factions/zcore/util/TagReplacer.TagType.html" title="enum in com.massivecraft.factions.zcore.util" target="classFrame">TagReplacer.TagType</a></li>

View File

@ -942,7 +942,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr class="rowColor" id="i207">
<td class="colFirst"><a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades">FUpgradesGUI</a></td>
<td class="colFirst"><a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">FUpgradesGUI</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr class="altColor" id="i208">
@ -1364,11 +1364,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</th>
</tr>
<tr class="rowColor" id="i301">
<td class="colFirst"><a href="com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></td>
<td class="colFirst"><a href="com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr class="altColor" id="i302">
<td class="colFirst"><a href="com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></td>
<td class="colFirst"><a href="com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr class="rowColor" id="i303">

View File

@ -128,7 +128,7 @@
<li><a href="com/massivecraft/factions/zcore/CommandVisibility.html" title="enum in com.massivecraft.factions.zcore">CommandVisibility</a></li>
<li><a href="com/massivecraft/factions/Conf.html" title="class in com.massivecraft.factions">Conf</a></li>
<li><a href="com/massivecraft/factions/Conf.Backend.html" title="enum in com.massivecraft.factions">Conf.Backend</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades">CropUpgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">CropUpgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/util/DiscUtil.html" title="class in com.massivecraft.factions.zcore.util">DiscUtil</a></li>
<li><a href="com/massivecraft/factions/integration/dynmap/DynmapStyle.html" title="class in com.massivecraft.factions.integration.dynmap">DynmapStyle</a></li>
<li><a href="com/massivecraft/factions/integration/Econ.html" title="class in com.massivecraft.factions.integration">Econ</a></li>
@ -136,7 +136,7 @@
<li><a href="com/massivecraft/factions/integration/dynmap/EngineDynmap.html" title="class in com.massivecraft.factions.integration.dynmap">EngineDynmap</a></li>
<li><a href="com/massivecraft/factions/util/EnumTypeAdapter.html" title="class in com.massivecraft.factions.util">EnumTypeAdapter</a></li>
<li><a href="com/massivecraft/factions/integration/Essentials.html" title="class in com.massivecraft.factions.integration">Essentials</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.fupgrades">EXPUpgrade</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">EXPUpgrade</a></li>
<li><a href="com/massivecraft/factions/Faction.html" title="interface in com.massivecraft.factions"><span class="interfaceName">Faction</span></a></li>
<li><a href="com/massivecraft/factions/event/FactionCreateEvent.html" title="class in com.massivecraft.factions.event">FactionCreateEvent</a></li>
<li><a href="com/massivecraft/factions/event/FactionDisbandEvent.html" title="class in com.massivecraft.factions.event">FactionDisbandEvent</a></li>
@ -171,7 +171,7 @@
<li><a href="com/massivecraft/factions/scoreboards/FScoreboard.html" title="class in com.massivecraft.factions.scoreboards">FScoreboard</a></li>
<li><a href="com/massivecraft/factions/scoreboards/FSidebarProvider.html" title="class in com.massivecraft.factions.scoreboards">FSidebarProvider</a></li>
<li><a href="com/massivecraft/factions/scoreboards/FTeamWrapper.html" title="class in com.massivecraft.factions.scoreboards">FTeamWrapper</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades">FUpgradesGUI</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">FUpgradesGUI</a></li>
<li><a href="com/massivecraft/factions/zcore/nbtapi/utils/GsonWrapper.html" title="class in com.massivecraft.factions.zcore.nbtapi.utils">GsonWrapper</a></li>
<li><a href="com/massivecraft/factions/util/InventoryTypeAdapter.html" title="class in com.massivecraft.factions.util">InventoryTypeAdapter</a></li>
<li><a href="com/massivecraft/factions/util/InventoryUtil.html" title="class in com.massivecraft.factions.util">InventoryUtil</a></li>
@ -242,7 +242,7 @@
</li>
<li><a href="com/massivecraft/factions/zcore/persist/SaveTask.html" title="class in com.massivecraft.factions.zcore.persist">SaveTask</a></li>
<li><a href="com/massivecraft/factions/zcore/util/SmokeUtil.html" title="class in com.massivecraft.factions.zcore.util">SmokeUtil</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/SpawnerUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades">SpawnerUpgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/SpawnerUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">SpawnerUpgrades</a></li>
<li><a href="com/massivecraft/factions/util/SpiralTask.html" title="class in com.massivecraft.factions.util">SpiralTask</a></li>
<li><a href="com/massivecraft/factions/zcore/util/TagReplacer.html" title="enum in com.massivecraft.factions.zcore.util">TagReplacer</a></li>
<li><a href="com/massivecraft/factions/zcore/util/TagReplacer.TagType.html" title="enum in com.massivecraft.factions.zcore.util">TagReplacer.TagType</a></li>

View File

@ -223,7 +223,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></th>
<th class="colFirst" scope="row"><a href="com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">

View File

@ -630,7 +630,7 @@ extends <a href="iface/EconomyParticipator.html" title="interface in com.massive
</tr>
<tr class="altColor" id="i96">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType)">getUpgrade</a></span>&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade)</code></th>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType)">getUpgrade</a></span>&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i97">
@ -1066,7 +1066,7 @@ extends <a href="iface/EconomyParticipator.html" title="interface in com.massive
</tr>
<tr class="rowColor" id="i181">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType,int)">setUpgrade</a></span>&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade,
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType,int)">setUpgrade</a></span>&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade,
int&nbsp;level)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
@ -1743,23 +1743,23 @@ extends <a href="iface/EconomyParticipator.html" title="interface in com.massive
<pre class="methodSignature">void&nbsp;deinvite&#8203;(<a href="FPlayer.html" title="interface in com.massivecraft.factions">FPlayer</a>&nbsp;fplayer)</pre>
</li>
</ul>
<a id="setUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType,int)">
<a id="setUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUpgrade</h4>
<pre class="methodSignature">void&nbsp;setUpgrade&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade,
<pre class="methodSignature">void&nbsp;setUpgrade&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade,
int&nbsp;level)</pre>
</li>
</ul>
<a id="getUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType)">
<a id="getUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpgrade</h4>
<pre class="methodSignature">int&nbsp;getUpgrade&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade)</pre>
<pre class="methodSignature">int&nbsp;getUpgrade&#8203;(<a href="zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade)</pre>
</li>
</ul>
<a id="isInvited(com.massivecraft.factions.FPlayer)">

View File

@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.util.FactionWarpsFrame</li>
<li>com.massivecraft.factions.zcore.frame.fdisband.FactionWarpsFrame</li>
</ul>
</li>
</ul>

View File

@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.util.InventoryTypeAdapter</li>
<li>com.massivecraft.factions.util.adapters.InventoryTypeAdapter</li>
</ul>
</li>
</ul>

View File

@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.util.LocationTypeAdapter</li>
<li>com.massivecraft.factions.util.adapters.LocationTypeAdapter</li>
</ul>
</li>
</ul>

View File

@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.util.MapFLocToStringSetTypeAdapter</li>
<li>com.massivecraft.factions.util.adapters.MapFLocToStringSetTypeAdapter</li>
</ul>
</li>
</ul>

View File

@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.util.MyLocationTypeAdapter</li>
<li>com.massivecraft.factions.util.adapters.MyLocationTypeAdapter</li>
</ul>
</li>
</ul>

View File

@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.util.PermissionsMapTypeAdapter</li>
<li>com.massivecraft.factions.util.adapters.PermissionsMapTypeAdapter</li>
</ul>
</li>
</ul>

View File

@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" target="_top">Frames</a></li>
@ -91,7 +91,7 @@ var activeTableTab = "activeTableTab";
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.massivecraft.factions.zcore.fupgrades</div>
<div class="subTitle">com.massivecraft.factions.zcore.frame.fupgrades</div>
<h2 title="Class CropUpgrades" class="title">Class CropUpgrades</h2>
</div>
<div class="contentContainer">
@ -99,7 +99,7 @@ var activeTableTab = "activeTableTab";
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.zcore.fupgrades.CropUpgrades</li>
<li>com.massivecraft.factions.zcore.frame.fupgrades.CropUpgrades</li>
</ul>
</li>
</ul>
@ -230,7 +230,7 @@ implements org.bukkit.event.Listener</pre>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" target="_top">Frames</a></li>

View File

@ -48,8 +48,8 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" target="_top">Frames</a></li>
@ -91,7 +91,7 @@ var activeTableTab = "activeTableTab";
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.massivecraft.factions.zcore.fupgrades</div>
<div class="subTitle">com.massivecraft.factions.zcore.frame.fupgrades</div>
<h2 title="Class EXPUpgrade" class="title">Class EXPUpgrade</h2>
</div>
<div class="contentContainer">
@ -99,7 +99,7 @@ var activeTableTab = "activeTableTab";
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.zcore.fupgrades.EXPUpgrade</li>
<li>com.massivecraft.factions.zcore.frame.fupgrades.EXPUpgrade</li>
</ul>
</li>
</ul>
@ -229,8 +229,8 @@ implements org.bukkit.event.Listener</pre>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/CropUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/massivecraft/factions/zcore/fupgrades/EXPUpgrade.html" target="_top">Frames</a></li>

View File

@ -99,7 +99,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></div>
<h2 title="Class FUpgradesGUI" class="title">Class FUpgradesGUI</h2>
</div>
<div class="contentContainer">
@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.zcore.fupgrades.FUpgradesGUI</li>
<li>com.massivecraft.factions.zcore.frame.fupgrades.FUpgradesGUI</li>
</ul>
</li>
</ul>

View File

@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
@ -91,7 +91,7 @@ var activeTableTab = "activeTableTab";
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.massivecraft.factions.zcore.fupgrades</div>
<div class="subTitle">com.massivecraft.factions.zcore.frame.fupgrades</div>
<h2 title="Class SpawnerUpgrades" class="title">Class SpawnerUpgrades</h2>
</div>
<div class="contentContainer">
@ -99,7 +99,7 @@ var activeTableTab = "activeTableTab";
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.zcore.fupgrades.SpawnerUpgrades</li>
<li>com.massivecraft.factions.zcore.frame.fupgrades.SpawnerUpgrades</li>
</ul>
</li>
</ul>
@ -229,7 +229,7 @@ implements org.bukkit.event.Listener</pre>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">

View File

@ -99,7 +99,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></div>
<h2 title="Enum UpgradeType" class="title">Enum UpgradeType</h2>
</div>
<div class="contentContainer">
@ -107,10 +107,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&gt;</li>
<li>java.lang.Enum&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&gt;</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.zcore.fupgrades.UpgradeType</li>
<li>com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType</li>
</ul>
</li>
</ul>
@ -121,11 +121,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&gt;</code>, <code>java.lang.constant.Constable</code></dd>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&gt;</code>, <code>java.lang.constant.Constable</code></dd>
</dl>
<hr>
<pre>public enum <span class="typeNameLabel">UpgradeType</span>
extends java.lang.Enum&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&gt;</pre>
extends java.lang.Enum&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&gt;</pre>
</li>
</ul>
</div>
@ -241,14 +241,14 @@ extends java.lang.Enum&lt;<a href="UpgradeType.html" title="enum in com.massivec
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>static <a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></code></td>
<td class="colFirst"><code>static <a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>[]</code></td>
<td class="colFirst"><code>static <a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
@ -295,7 +295,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>CHEST</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> CHEST</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> CHEST</pre>
</li>
</ul>
<a id="SPAWNER">
@ -304,7 +304,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>SPAWNER</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> SPAWNER</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> SPAWNER</pre>
</li>
</ul>
<a id="EXP">
@ -313,7 +313,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>EXP</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> EXP</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> EXP</pre>
</li>
</ul>
<a id="CROP">
@ -322,7 +322,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>CROP</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> CROP</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> CROP</pre>
</li>
</ul>
<a id="POWER">
@ -331,7 +331,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>POWER</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> POWER</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> POWER</pre>
</li>
</ul>
<a id="REDSTONE">
@ -340,7 +340,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>REDSTONE</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> REDSTONE</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> REDSTONE</pre>
</li>
</ul>
<a id="MEMBERS">
@ -349,7 +349,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>MEMBERS</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> MEMBERS</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> MEMBERS</pre>
</li>
</ul>
<a id="TNT">
@ -358,7 +358,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>TNT</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> TNT</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> TNT</pre>
</li>
</ul>
<a id="WARP">
@ -367,7 +367,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>WARP</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> WARP</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> WARP</pre>
</li>
</ul>
<a id="DAMAGEINCREASE">
@ -376,7 +376,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>DAMAGEINCREASE</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> DAMAGEINCREASE</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> DAMAGEINCREASE</pre>
</li>
</ul>
<a id="DAMAGEDECREASE">
@ -385,7 +385,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>DAMAGEDECREASE</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> DAMAGEDECREASE</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> DAMAGEDECREASE</pre>
</li>
</ul>
<a id="REINFORCEDARMOR">
@ -394,7 +394,7 @@ the order they are declared.</div>
<ul class="blockListLast">
<li class="blockList">
<h4>REINFORCEDARMOR</h4>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a> REINFORCEDARMOR</pre>
<pre>public static final&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a> REINFORCEDARMOR</pre>
</li>
</ul>
</li>
@ -413,7 +413,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>[]&nbsp;values()</pre>
<pre class="methodSignature">public static&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
<dl>
@ -428,7 +428,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<pre class="methodSignature">public static&nbsp;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
@ -453,7 +453,7 @@ not permitted.)</div>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Enum&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&gt;</code></dd>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Enum&lt;<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&gt;</code></dd>
</dl>
</li>
</ul>

View File

@ -99,7 +99,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></div>
<h2 title="Class UpgradesListener" class="title">Class UpgradesListener</h2>
</div>
<div class="contentContainer">
@ -107,7 +107,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.massivecraft.factions.zcore.fupgrades.UpgradesListener</li>
<li>com.massivecraft.factions.zcore.frame.fupgrades.UpgradesListener</li>
</ul>
</li>
</ul>

View File

@ -3,20 +3,20 @@
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_191) on Thu Dec 06 16:05:50 CST 2018 -->
<title>com.massivecraft.factions.zcore.fupgrades</title>
<title>com.massivecraft.factions.zcore.frame.fupgrades</title>
<meta content="2018-12-06" name="date">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<h1 class="bar"><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/package-summary.html" target="classFrame">com.massivecraft.factions.zcore.fupgrades</a></h1>
<h1 class="bar"><a href="../../../../../com/massivecraft/factions/zcore/fupgrades/package-summary.html" target="classFrame">com.massivecraft.factions.zcore.frame.fupgrades</a></h1>
<div class="indexContainer">
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="CropUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">CropUpgrades</a></li>
<li><a href="EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">EXPUpgrade</a></li>
<li><a href="FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">FUpgradesGUI</a></li>
<li><a href="SpawnerUpgrades.html" title="class in com.massivecraft.factions.zcore.fupgrades" target="classFrame">SpawnerUpgrades</a></li>
<li><a href="CropUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">CropUpgrades</a></li>
<li><a href="EXPUpgrade.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">EXPUpgrade</a></li>
<li><a href="FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">FUpgradesGUI</a></li>
<li><a href="SpawnerUpgrades.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades" target="classFrame">SpawnerUpgrades</a></li>
</ul>
</div>
</body>

View File

@ -3,7 +3,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (12.0.1) on Fri Nov 01 13:30:56 CDT 2019 -->
<title>com.massivecraft.factions.zcore.fupgrades</title>
<title>com.massivecraft.factions.zcore.frame.fupgrades</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2019-11-01">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
@ -77,7 +77,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;com.massivecraft.factions.zcore.fupgrades</h1>
<h1 title="Package" class="title">Package&nbsp;com.massivecraft.factions.zcore.frame.fupgrades</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
@ -91,11 +91,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades">FUpgradesGUI</a></th>
<th class="colFirst" scope="row"><a href="FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">FUpgradesGUI</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></th>
<th class="colFirst" scope="row"><a href="UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
@ -112,7 +112,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></th>
<th class="colFirst" scope="row"><a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>

View File

@ -3,7 +3,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (12.0.1) on Fri Nov 01 13:30:56 CDT 2019 -->
<title>com.massivecraft.factions.zcore.fupgrades Class Hierarchy</title>
<title>com.massivecraft.factions.zcore.frame.fupgrades Class Hierarchy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2019-11-01">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
@ -22,15 +22,15 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="com.massivecraft.factions.zcore.fupgrades Class Hierarchy";
parent.document.title="com.massivecraft.factions.zcore.frame.fupgrades Class Hierarchy";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
@ -77,7 +77,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</header>
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.massivecraft.factions.zcore.fupgrades</h1>
<h1 class="title">Hierarchy For Package com.massivecraft.factions.zcore.frame.fupgrades</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../overview-tree.html">All Packages</a></li>
@ -89,8 +89,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">com.massivecraft.factions.zcore.fupgrades.<a href="FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">FUpgradesGUI</span></a> (implements org.bukkit.event.Listener)</li>
<li class="circle">com.massivecraft.factions.zcore.fupgrades.<a href="UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">UpgradesListener</span></a> (implements org.bukkit.event.Listener)</li>
<li class="circle">com.massivecraft.factions.zcore.frame.fupgrades.<a href="FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">FUpgradesGUI</span></a> (implements org.bukkit.event.Listener)</li>
<li class="circle">com.massivecraft.factions.zcore.frame.fupgrades.<a href="UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">UpgradesListener</span></a> (implements org.bukkit.event.Listener)</li>
</ul>
</li>
</ul>
@ -102,7 +102,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul>
<li class="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.lang.constant.Constable, java.io.Serializable)
<ul>
<li class="circle">com.massivecraft.factions.zcore.fupgrades.<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">UpgradeType</span></a></li>
<li class="circle">com.massivecraft.factions.zcore.frame.fupgrades.<a href="UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">UpgradeType</span></a></li>
</ul>
</li>
</ul>

View File

@ -888,7 +888,7 @@ implements <a href="../../Faction.html" title="interface in com.massivecraft.fac
</tr>
<tr class="altColor" id="i98">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType)">getUpgrade</a></span>&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade)</code></th>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType)">getUpgrade</a></span>&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i99">
@ -1334,7 +1334,7 @@ implements <a href="../../Faction.html" title="interface in com.massivecraft.fac
</tr>
<tr class="rowColor" id="i185">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType,int)">setUpgrade</a></span>&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade,
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType,int)">setUpgrade</a></span>&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade,
int&nbsp;level)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
@ -2455,16 +2455,16 @@ implements <a href="../../Faction.html" title="interface in com.massivecraft.fac
</dl>
</li>
</ul>
<a id="getUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType)">
<a id="getUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpgrade</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getUpgrade&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade)</pre>
<pre class="methodSignature">public&nbsp;int&nbsp;getUpgrade&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../Faction.html#getUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType)">getUpgrade</a></code>&nbsp;in interface&nbsp;<code><a href="../../Faction.html" title="interface in com.massivecraft.factions">Faction</a></code></dd>
<dd><code><a href="../../Faction.html#getUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType)">getUpgrade</a></code>&nbsp;in interface&nbsp;<code><a href="../../Faction.html" title="interface in com.massivecraft.factions">Faction</a></code></dd>
</dl>
</li>
</ul>
@ -2598,17 +2598,17 @@ implements <a href="../../Faction.html" title="interface in com.massivecraft.fac
</dl>
</li>
</ul>
<a id="setUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType,int)">
<a id="setUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUpgrade</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setUpgrade&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a>&nbsp;upgrade,
<pre class="methodSignature">public&nbsp;void&nbsp;setUpgrade&#8203;(<a href="../fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a>&nbsp;upgrade,
int&nbsp;level)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../Faction.html#setUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType,int)">setUpgrade</a></code>&nbsp;in interface&nbsp;<code><a href="../../Faction.html" title="interface in com.massivecraft.factions">Faction</a></code></dd>
<dd><code><a href="../../Faction.html#setUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType,int)">setUpgrade</a></code>&nbsp;in interface&nbsp;<code><a href="../../Faction.html" title="interface in com.massivecraft.factions">Faction</a></code></dd>
</dl>
</li>
</ul>

File diff suppressed because one or more lines are too long

View File

@ -31,7 +31,7 @@ com.massivecraft.factions.util.Particles
com.massivecraft.factions.zcore
com.massivecraft.factions.zcore.fperms
com.massivecraft.factions.zcore.fperms.gui
com.massivecraft.factions.zcore.fupgrades
com.massivecraft.factions.zcore.frame.fupgrades
com.massivecraft.factions.zcore.nbtapi
com.massivecraft.factions.zcore.nbtapi.utils
com.massivecraft.factions.zcore.persist

View File

@ -235,7 +235,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/cmd/CommandRequirements.Builder.html#memberOnly()">memberOnly()</a></span> - Method in class com.massivecraft.factions.cmd.<a href="../com/massivecraft/factions/cmd/CommandRequirements.Builder.html" title="class in com.massivecraft.factions.cmd">CommandRequirements.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#MEMBERS">MEMBERS</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#MEMBERS">MEMBERS</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/zcore/persist/MemoryBoard.html" title="class in com.massivecraft.factions.zcore.persist"><span class="typeNameLink">MemoryBoard</span></a> - Class in <a href="../com/massivecraft/factions/zcore/persist/package-summary.html">com.massivecraft.factions.zcore.persist</a></dt>
<dd>&nbsp;</dd>

View File

@ -129,7 +129,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/util/TagReplacer.html#OFFLINE_LIST">OFFLINE_LIST</a></span> - com.massivecraft.factions.zcore.util.<a href="../com/massivecraft/factions/zcore/util/TagReplacer.html" title="enum in com.massivecraft.factions.zcore.util">TagReplacer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onArmorDamage(org.bukkit.event.player.PlayerItemDamageEvent)">onArmorDamage(PlayerItemDamageEvent)</a></span> - Method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onArmorDamage(org.bukkit.event.player.PlayerItemDamageEvent)">onArmorDamage(PlayerItemDamageEvent)</a></span> - Method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/listeners/FactionsBlockListener.html#onBannerBreak(org.bukkit.event.block.BlockBreakEvent)">onBannerBreak(BlockBreakEvent)</a></span> - Method in class com.massivecraft.factions.listeners.<a href="../com/massivecraft/factions/listeners/FactionsBlockListener.html" title="class in com.massivecraft.factions.listeners">FactionsBlockListener</a></dt>
<dd>&nbsp;</dd>
@ -163,7 +163,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/FactionGUI.html#onClick(int,org.bukkit.event.inventory.ClickType)">onClick(int, ClickType)</a></span> - Method in interface com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/FactionGUI.html" title="interface in com.massivecraft.factions.util">FactionGUI</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html#onClick(org.bukkit.event.inventory.InventoryClickEvent)">onClick(InventoryClickEvent)</a></span> - Method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades">FUpgradesGUI</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html#onClick(org.bukkit.event.inventory.InventoryClickEvent)">onClick(InventoryClickEvent)</a></span> - Method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">FUpgradesGUI</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/listeners/FactionsPlayerListener.html#onClose(org.bukkit.event.inventory.InventoryCloseEvent)">onClose(InventoryCloseEvent)</a></span> - Method in class com.massivecraft.factions.listeners.<a href="../com/massivecraft/factions/listeners/FactionsPlayerListener.html" title="class in com.massivecraft.factions.listeners">FactionsPlayerListener</a></dt>
<dd>&nbsp;</dd>
@ -175,19 +175,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/listeners/FactionsEntityListener.html#onCreeperGlitch(org.bukkit.event.entity.EntityDamageEvent)">onCreeperGlitch(EntityDamageEvent)</a></span> - Method in class com.massivecraft.factions.listeners.<a href="../com/massivecraft/factions/listeners/FactionsEntityListener.html" title="class in com.massivecraft.factions.listeners">FactionsEntityListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onCropGrow(org.bukkit.event.block.BlockGrowEvent)">onCropGrow(BlockGrowEvent)</a></span> - Method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onCropGrow(org.bukkit.event.block.BlockGrowEvent)">onCropGrow(BlockGrowEvent)</a></span> - Method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/listeners/FactionsPlayerListener.html#onDamage(org.bukkit.event.entity.EntityDamageEvent)">onDamage(EntityDamageEvent)</a></span> - Method in class com.massivecraft.factions.listeners.<a href="../com/massivecraft/factions/listeners/FactionsPlayerListener.html" title="class in com.massivecraft.factions.listeners">FactionsPlayerListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onDamageIncrease(org.bukkit.event.entity.EntityDamageByEntityEvent)">onDamageIncrease(EntityDamageByEntityEvent)</a></span> - Static method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onDamageIncrease(org.bukkit.event.entity.EntityDamageByEntityEvent)">onDamageIncrease(EntityDamageByEntityEvent)</a></span> - Static method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onDamageReduction(org.bukkit.event.entity.EntityDamageByEntityEvent)">onDamageReduction(EntityDamageByEntityEvent)</a></span> - Static method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onDamageReduction(org.bukkit.event.entity.EntityDamageByEntityEvent)">onDamageReduction(EntityDamageByEntityEvent)</a></span> - Static method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/FPlayer.html#onDeath()">onDeath()</a></span> - Method in interface com.massivecraft.factions.<a href="../com/massivecraft/factions/FPlayer.html" title="interface in com.massivecraft.factions">FPlayer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/persist/MemoryFPlayer.html#onDeath()">onDeath()</a></span> - Method in class com.massivecraft.factions.zcore.persist.<a href="../com/massivecraft/factions/zcore/persist/MemoryFPlayer.html" title="class in com.massivecraft.factions.zcore.persist">MemoryFPlayer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onDeath(org.bukkit.event.entity.EntityDeathEvent)">onDeath(EntityDeathEvent)</a></span> - Method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onDeath(org.bukkit.event.entity.EntityDeathEvent)">onDeath(EntityDeathEvent)</a></span> - Method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/FactionsPlugin.html#onDisable()">onDisable()</a></span> - Method in class com.massivecraft.factions.<a href="../com/massivecraft/factions/FactionsPlugin.html" title="class in com.massivecraft.factions">FactionsPlugin</a></dt>
<dd>&nbsp;</dd>
@ -307,7 +307,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/listeners/FactionsEntityListener.html#onPotionSplashEvent(org.bukkit.event.entity.PotionSplashEvent)">onPotionSplashEvent(PotionSplashEvent)</a></span> - Method in class com.massivecraft.factions.listeners.<a href="../com/massivecraft/factions/listeners/FactionsEntityListener.html" title="class in com.massivecraft.factions.listeners">FactionsEntityListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onSpawn(org.bukkit.event.entity.SpawnerSpawnEvent)">onSpawn(SpawnerSpawnEvent)</a></span> - Method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onSpawn(org.bukkit.event.entity.SpawnerSpawnEvent)">onSpawn(SpawnerSpawnEvent)</a></span> - Method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/FactionsPlugin.html#onTabComplete(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String%5B%5D)">onTabComplete(CommandSender, Command, String, String[])</a></span> - Method in class com.massivecraft.factions.<a href="../com/massivecraft/factions/FactionsPlugin.html" title="class in com.massivecraft.factions">FactionsPlugin</a></dt>
<dd>&nbsp;</dd>
@ -319,13 +319,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/listeners/FactionsBlockListener.html#onVaultPlace(org.bukkit.event.block.BlockPlaceEvent)">onVaultPlace(BlockPlaceEvent)</a></span> - Method in class com.massivecraft.factions.listeners.<a href="../com/massivecraft/factions/listeners/FactionsBlockListener.html" title="class in com.massivecraft.factions.listeners">FactionsBlockListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onWaterRedstone(org.bukkit.event.block.BlockFromToEvent)">onWaterRedstone(BlockFromToEvent)</a></span> - Method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#onWaterRedstone(org.bukkit.event.block.BlockFromToEvent)">onWaterRedstone(BlockFromToEvent)</a></span> - Method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html#open">open</a></span> - Variable in class com.massivecraft.factions.zcore.persist.<a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html" title="class in com.massivecraft.factions.zcore.persist">MemoryFaction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/struct/Permission.html#OPEN">OPEN</a></span> - com.massivecraft.factions.struct.<a href="../com/massivecraft/factions/struct/Permission.html" title="enum in com.massivecraft.factions.struct">Permission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html#openMainMenu(com.massivecraft.factions.FPlayer)">openMainMenu(FPlayer)</a></span> - Method in class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades">FUpgradesGUI</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html#openMainMenu(com.massivecraft.factions.FPlayer)">openMainMenu(FPlayer)</a></span> - Method in class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">FUpgradesGUI</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/cmd/FCommand.html#optionalArgs">optionalArgs</a></span> - Variable in class com.massivecraft.factions.cmd.<a href="../com/massivecraft/factions/cmd/FCommand.html" title="class in com.massivecraft.factions.cmd">FCommand</a></dt>
<dd>&nbsp;</dd>

View File

@ -922,7 +922,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/tag/FactionTag.html#POWER">POWER</a></span> - com.massivecraft.factions.tag.<a href="../com/massivecraft/factions/tag/FactionTag.html" title="enum in com.massivecraft.factions.tag">FactionTag</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#POWER">POWER</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#POWER">POWER</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/util/TagReplacer.html#POWER">POWER</a></span> - com.massivecraft.factions.zcore.util.<a href="../com/massivecraft/factions/zcore/util/TagReplacer.html" title="enum in com.massivecraft.factions.zcore.util">TagReplacer</a></dt>
<dd>&nbsp;</dd>

View File

@ -193,7 +193,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#REDSTONE">REDSTONE</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#REDSTONE">REDSTONE</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#REDSTONE">REDSTONE</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#REDSTONE_BLOCK">REDSTONE_BLOCK</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>
@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/FLocation.html#regionToChunk(int)">regionToChunk(int)</a></span> - Static method in class com.massivecraft.factions.<a href="../com/massivecraft/factions/FLocation.html" title="class in com.massivecraft.factions">FLocation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#REINFORCEDARMOR">REINFORCEDARMOR</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#REINFORCEDARMOR">REINFORCEDARMOR</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/struct/Relation.html" title="enum in com.massivecraft.factions.struct"><span class="typeNameLink">Relation</span></a> - Enum in <a href="../com/massivecraft/factions/struct/package-summary.html">com.massivecraft.factions.struct</a></dt>
<dd>&nbsp;</dd>

View File

@ -757,9 +757,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>
<div class="block">This method hooks into all permission plugins we are supporting</div>
</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/Faction.html#setUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType,int)">setUpgrade(UpgradeType, int)</a></span> - Method in interface com.massivecraft.factions.<a href="../com/massivecraft/factions/Faction.html" title="interface in com.massivecraft.factions">Faction</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/Faction.html#setUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType,int)">setUpgrade(UpgradeType, int)</a></span> - Method in interface com.massivecraft.factions.<a href="../com/massivecraft/factions/Faction.html" title="interface in com.massivecraft.factions">Faction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html#setUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType,int)">setUpgrade(UpgradeType, int)</a></span> - Method in class com.massivecraft.factions.zcore.persist.<a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html" title="class in com.massivecraft.factions.zcore.persist">MemoryFaction</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html#setUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType,int)">setUpgrade(UpgradeType, int)</a></span> - Method in class com.massivecraft.factions.zcore.persist.<a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html" title="class in com.massivecraft.factions.zcore.persist">MemoryFaction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/Particles/ReflectionUtils.html#setValue(java.lang.Object,boolean,java.lang.String,java.lang.Object)">setValue(Object, boolean, String, Object)</a></span> - Static method in class com.massivecraft.factions.util.Particles.<a href="../com/massivecraft/factions/util/Particles/ReflectionUtils.html" title="class in com.massivecraft.factions.util.Particles">ReflectionUtils</a></dt>
<dd>
@ -1009,7 +1009,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html#SPAWNER">SPAWNER</a></span> - com.massivecraft.factions.zcore.fperms.<a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html" title="enum in com.massivecraft.factions.zcore.fperms">PermissableAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#SPAWNER">SPAWNER</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#SPAWNER">SPAWNER</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/Conf.html#spawnerLock">spawnerLock</a></span> - Static variable in class com.massivecraft.factions.<a href="../com/massivecraft/factions/Conf.html" title="class in com.massivecraft.factions">Conf</a></dt>
<dd>&nbsp;</dd>

View File

@ -236,7 +236,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#TNT">TNT</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#TNT">TNT</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#TNT">TNT</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#TNT_MINECART">TNT_MINECART</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>
@ -284,7 +284,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html#toString()">toString()</a></span> - Method in enum com.massivecraft.factions.zcore.fperms.<a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html" title="enum in com.massivecraft.factions.zcore.fperms">PermissableAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#toString()">toString()</a></span> - Method in enum com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#toString()">toString()</a></span> - Method in enum com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/nbtapi/NBTCompound.html#toString()">toString()</a></span> - Method in class com.massivecraft.factions.zcore.nbtapi.<a href="../com/massivecraft/factions/zcore/nbtapi/NBTCompound.html" title="class in com.massivecraft.factions.zcore.nbtapi">NBTCompound</a></dt>
<dd>&nbsp;</dd>

View File

@ -139,11 +139,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/struct/Permission.html#UPGRADES">UPGRADES</a></span> - com.massivecraft.factions.struct.<a href="../com/massivecraft/factions/struct/Permission.html" title="enum in com.massivecraft.factions.struct">Permission</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">UpgradesListener</span></a> - Class in <a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></dt>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">UpgradesListener</span></a> - Class in <a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#%3Cinit%3E()">UpgradesListener()</a></span> - Constructor for class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades">UpgradesListener</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html#%3Cinit%3E()">UpgradesListener()</a></span> - Constructor for class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">UpgradesListener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">UpgradeType</span></a> - Enum in <a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></dt>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">UpgradeType</span></a> - Enum in <a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/util/TextUtil.html#upperCaseFirst(java.lang.String)">upperCaseFirst(String)</a></span> - Static method in class com.massivecraft.factions.zcore.util.<a href="../com/massivecraft/factions/zcore/util/TextUtil.html" title="class in com.massivecraft.factions.zcore.util">TextUtil</a></dt>
<dd>&nbsp;</dd>

View File

@ -213,7 +213,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
@ -362,7 +362,7 @@ the order they are declared.</div>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#values()">values()</a></span> - Static method in enum com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#values()">values()</a></span> - Static method in enum com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>

View File

@ -123,7 +123,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html#WARP">WARP</a></span> - com.massivecraft.factions.zcore.fperms.<a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html" title="enum in com.massivecraft.factions.zcore.fperms">PermissableAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#WARP">WARP</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#WARP">WARP</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html#warpPasswords">warpPasswords</a></span> - Variable in class com.massivecraft.factions.zcore.persist.<a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html" title="class in com.massivecraft.factions.zcore.persist">MemoryFaction</a></dt>
<dd>&nbsp;</dd>

View File

@ -347,7 +347,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html#CHEST">CHEST</a></span> - com.massivecraft.factions.zcore.fperms.<a href="../com/massivecraft/factions/zcore/fperms/PermissableAction.html" title="enum in com.massivecraft.factions.zcore.fperms">PermissableAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#CHEST">CHEST</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#CHEST">CHEST</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/util/TL.html#CHEST_ITEM_DENIED_TRANSFER">CHEST_ITEM_DENIED_TRANSFER</a></span> - com.massivecraft.factions.zcore.util.<a href="../com/massivecraft/factions/zcore/util/TL.html" title="enum in com.massivecraft.factions.zcore.util">TL</a></dt>
<dd>&nbsp;</dd>
@ -1445,7 +1445,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/zcore/fperms/gui/package-summary.html">com.massivecraft.factions.zcore.fperms.gui</a> - package com.massivecraft.factions.zcore.fperms.gui</dt>
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.fupgrades</a> - package com.massivecraft.factions.zcore.fupgrades</dt>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a> - package com.massivecraft.factions.zcore.frame.fupgrades</dt>
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/zcore/nbtapi/package-summary.html">com.massivecraft.factions.zcore.nbtapi</a> - package com.massivecraft.factions.zcore.nbtapi</dt>
<dd>&nbsp;</dd>
@ -3103,7 +3103,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
The speed value influences the velocity at which the particle flies off
</div>
</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#CROP">CROP</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#CROP">CROP</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#CROSSBOW">CROSSBOW</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>

View File

@ -87,9 +87,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#DAMAGED_ANVIL">DAMAGED_ANVIL</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#DAMAGEDECREASE">DAMAGEDECREASE</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#DAMAGEDECREASE">DAMAGEDECREASE</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#DAMAGEINCREASE">DAMAGEINCREASE</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#DAMAGEINCREASE">DAMAGEINCREASE</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#DANDELION">DANDELION</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>

View File

@ -279,7 +279,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/MCommand.html#execute(org.bukkit.command.CommandSender,java.util.List,java.util.List)">execute(CommandSender, List&lt;String&gt;, List&lt;MCommand&lt;?&gt;&gt;)</a></span> - Method in class com.massivecraft.factions.zcore.<a href="../com/massivecraft/factions/zcore/MCommand.html" title="class in com.massivecraft.factions.zcore">MCommand</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#EXP">EXP</a></span> - com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades">UpgradeType</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html#EXP">EXP</a></span> - com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades">UpgradeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#EXPERIENCE_BOTTLE">EXPERIENCE_BOTTLE</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>

View File

@ -533,9 +533,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/scoreboards/FTeamWrapper.html" title="class in com.massivecraft.factions.scoreboards"><span class="typeNameLink">FTeamWrapper</span></a> - Class in <a href="../com/massivecraft/factions/scoreboards/package-summary.html">com.massivecraft.factions.scoreboards</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">FUpgradesGUI</span></a> - Class in <a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></dt>
<dt><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">FUpgradesGUI</span></a> - Class in <a href="../com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html#%3Cinit%3E()">FUpgradesGUI()</a></span> - Constructor for class com.massivecraft.factions.zcore.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades">FUpgradesGUI</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html#%3Cinit%3E()">FUpgradesGUI()</a></span> - Constructor for class com.massivecraft.factions.zcore.frame.fupgrades.<a href="../com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades">FUpgradesGUI</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/util/XMaterial.html#FURNACE">FURNACE</a></span> - com.massivecraft.factions.util.<a href="../com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util">XMaterial</a></dt>
<dd>&nbsp;</dd>

View File

@ -1528,9 +1528,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/nbtapi/utils/MethodNames.html#getTypeMethodName()">getTypeMethodName()</a></span> - Static method in class com.massivecraft.factions.zcore.nbtapi.utils.<a href="../com/massivecraft/factions/zcore/nbtapi/utils/MethodNames.html" title="class in com.massivecraft.factions.zcore.nbtapi.utils">MethodNames</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/Faction.html#getUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType)">getUpgrade(UpgradeType)</a></span> - Method in interface com.massivecraft.factions.<a href="../com/massivecraft/factions/Faction.html" title="interface in com.massivecraft.factions">Faction</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/Faction.html#getUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType)">getUpgrade(UpgradeType)</a></span> - Method in interface com.massivecraft.factions.<a href="../com/massivecraft/factions/Faction.html" title="interface in com.massivecraft.factions">Faction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html#getUpgrade(com.massivecraft.factions.zcore.fupgrades.UpgradeType)">getUpgrade(UpgradeType)</a></span> - Method in class com.massivecraft.factions.zcore.persist.<a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html" title="class in com.massivecraft.factions.zcore.persist">MemoryFaction</a></dt>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html#getUpgrade(com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType)">getUpgrade(UpgradeType)</a></span> - Method in class com.massivecraft.factions.zcore.persist.<a href="../com/massivecraft/factions/zcore/persist/MemoryFaction.html" title="class in com.massivecraft.factions.zcore.persist">MemoryFaction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../com/massivecraft/factions/cmd/FCommand.html#getUsageTemplate(com.massivecraft.factions.cmd.CommandContext)">getUsageTemplate(CommandContext)</a></span> - Method in class com.massivecraft.factions.cmd.<a href="../com/massivecraft/factions/cmd/FCommand.html" title="class in com.massivecraft.factions.cmd">FCommand</a></dt>
<dd>&nbsp;</dd>

View File

@ -218,7 +218,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i33">
<th class="colFirst" scope="row"><a href="com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.fupgrades</a></th>
<th class="colFirst" scope="row"><a href="com/massivecraft/factions/zcore/fupgrades/package-summary.html">com.massivecraft.factions.zcore.frame.fupgrades</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i34">

View File

@ -28,7 +28,7 @@
<li><a href="com/massivecraft/factions/zcore/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore</a></li>
<li><a href="com/massivecraft/factions/zcore/fperms/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore.fperms</a></li>
<li><a href="com/massivecraft/factions/zcore/fperms/gui/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore.fperms.gui</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore.fupgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore.frame.fupgrades</a></li>
<li><a href="com/massivecraft/factions/zcore/nbtapi/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore.nbtapi</a></li>
<li><a href="com/massivecraft/factions/zcore/nbtapi/utils/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore.nbtapi.utils</a></li>
<li><a href="com/massivecraft/factions/zcore/persist/package-frame.html" target="packageFrame">com.massivecraft.factions.zcore.persist</a></li>

View File

@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li><a href="com/massivecraft/factions/zcore/package-tree.html">com.massivecraft.factions.zcore</a>, </li>
<li><a href="com/massivecraft/factions/zcore/fperms/package-tree.html">com.massivecraft.factions.zcore.fperms</a>, </li>
<li><a href="com/massivecraft/factions/zcore/fperms/gui/package-tree.html">com.massivecraft.factions.zcore.fperms.gui</a>, </li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/package-tree.html">com.massivecraft.factions.zcore.fupgrades</a>, </li>
<li><a href="com/massivecraft/factions/zcore/fupgrades/package-tree.html">com.massivecraft.factions.zcore.frame.fupgrades</a>, </li>
<li><a href="com/massivecraft/factions/zcore/nbtapi/package-tree.html">com.massivecraft.factions.zcore.nbtapi</a>, </li>
<li><a href="com/massivecraft/factions/zcore/nbtapi/utils/package-tree.html">com.massivecraft.factions.zcore.nbtapi.utils</a>, </li>
<li><a href="com/massivecraft/factions/zcore/persist/package-tree.html">com.massivecraft.factions.zcore.persist</a>, </li>
@ -379,7 +379,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</ul>
</li>
<li class="circle">com.massivecraft.factions.scoreboards.<a href="com/massivecraft/factions/scoreboards/FTeamWrapper.html" title="class in com.massivecraft.factions.scoreboards"><span class="typeNameLink">FTeamWrapper</span></a></li>
<li class="circle">com.massivecraft.factions.zcore.fupgrades.<a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">FUpgradesGUI</span></a> (implements org.bukkit.event.Listener)</li>
<li class="circle">com.massivecraft.factions.zcore.frame.fupgrades.<a href="com/massivecraft/factions/zcore/fupgrades/FUpgradesGUI.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">FUpgradesGUI</span></a> (implements org.bukkit.event.Listener)</li>
<li class="circle">com.massivecraft.factions.zcore.nbtapi.utils.<a href="com/massivecraft/factions/zcore/nbtapi/utils/GsonWrapper.html" title="class in com.massivecraft.factions.zcore.nbtapi.utils"><span class="typeNameLink">GsonWrapper</span></a></li>
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/InventoryTypeAdapter.html" title="class in com.massivecraft.factions.util"><span class="typeNameLink">InventoryTypeAdapter</span></a> (implements com.google.gson.JsonDeserializer&lt;T&gt;, com.google.gson.JsonSerializer&lt;T&gt;)</li>
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/InventoryUtil.html" title="class in com.massivecraft.factions.util"><span class="typeNameLink">InventoryUtil</span></a></li>
@ -493,7 +493,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/EnumTypeAdapter.html" title="class in com.massivecraft.factions.util"><span class="typeNameLink">EnumTypeAdapter</span></a>&lt;T&gt;</li>
</ul>
</li>
<li class="circle">com.massivecraft.factions.zcore.fupgrades.<a href="com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">UpgradesListener</span></a> (implements org.bukkit.event.Listener)</li>
<li class="circle">com.massivecraft.factions.zcore.frame.fupgrades.<a href="com/massivecraft/factions/zcore/fupgrades/UpgradesListener.html" title="class in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">UpgradesListener</span></a> (implements org.bukkit.event.Listener)</li>
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/UtilFly.html" title="class in com.massivecraft.factions.util"><span class="typeNameLink">UtilFly</span></a></li>
<li class="circle">com.massivecraft.factions.zcore.util.<a href="com/massivecraft/factions/zcore/util/UUIDFetcher.html" title="class in com.massivecraft.factions.zcore.util"><span class="typeNameLink">UUIDFetcher</span></a> (implements java.util.concurrent.Callable&lt;V&gt;)</li>
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/VisualizeUtil.html" title="class in com.massivecraft.factions.util"><span class="typeNameLink">VisualizeUtil</span></a></li>
@ -562,7 +562,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="circle">com.massivecraft.factions.zcore.util.<a href="com/massivecraft/factions/zcore/util/TagReplacer.html" title="enum in com.massivecraft.factions.zcore.util"><span class="typeNameLink">TagReplacer</span></a></li>
<li class="circle">com.massivecraft.factions.zcore.util.<a href="com/massivecraft/factions/zcore/util/TagReplacer.TagType.html" title="enum in com.massivecraft.factions.zcore.util"><span class="typeNameLink">TagReplacer.TagType</span></a></li>
<li class="circle">com.massivecraft.factions.zcore.util.<a href="com/massivecraft/factions/zcore/util/TL.html" title="enum in com.massivecraft.factions.zcore.util"><span class="typeNameLink">TL</span></a></li>
<li class="circle">com.massivecraft.factions.zcore.fupgrades.<a href="com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.fupgrades"><span class="typeNameLink">UpgradeType</span></a></li>
<li class="circle">com.massivecraft.factions.zcore.frame.fupgrades.<a href="com/massivecraft/factions/zcore/fupgrades/UpgradeType.html" title="enum in com.massivecraft.factions.zcore.frame.fupgrades"><span class="typeNameLink">UpgradeType</span></a></li>
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/WarmUpUtil.Warmup.html" title="enum in com.massivecraft.factions.util"><span class="typeNameLink">WarmUpUtil.Warmup</span></a></li>
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/XMaterial.html" title="enum in com.massivecraft.factions.util"><span class="typeNameLink">XMaterial</span></a></li>
<li class="circle">com.massivecraft.factions.util.<a href="com/massivecraft/factions/util/XMaterial.MinecraftVersion.html" title="enum in com.massivecraft.factions.util"><span class="typeNameLink">XMaterial.MinecraftVersion</span></a></li>

View File

@ -13,7 +13,7 @@ com.massivecraft.factions.util.Particles
com.massivecraft.factions.zcore
com.massivecraft.factions.zcore.fperms
com.massivecraft.factions.zcore.fperms.gui
com.massivecraft.factions.zcore.fupgrades
com.massivecraft.factions.zcore.frame.fupgrades
com.massivecraft.factions.zcore.nbtapi
com.massivecraft.factions.zcore.nbtapi.utils
com.massivecraft.factions.zcore.persist

74
pom.xml
View File

@ -4,7 +4,7 @@
<groupId>com.massivecraft</groupId>
<artifactId>Factions</artifactId>
<version>1.6.9.5-U0.2.1-2.0.6-STABLE</version>
<version>1.6.9.5-2.4.1-RC</version>
<packaging>jar</packaging>
<name>SaberFactions</name>
@ -41,6 +41,18 @@
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<relocations>
<relocation>
<pattern>com.github.stefvanschie.inventoryframework</pattern>
<shadedPattern>com.massivecraft.factions.shade.stefvanschie.inventoryframework</shadedPattern>
</relocation>
<relocation>
<pattern>org.bstats</pattern>
<shadedPattern>com.massivecraft.factions.shade.org.bstats</shadedPattern>
</relocation>
<relocation>
<pattern>net.dv8tion</pattern>
<shadedPattern>com.massivecraft.factions.shade.net.dv8tion</shadedPattern>
</relocation>
<relocation>
<pattern>mkremins.fanciful</pattern>
<shadedPattern>com.massivecraft.factions.shade.mkremins.fanciful</shadedPattern>
@ -87,21 +99,15 @@
<version>1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.mojang</groupId>
<artifactId>brigadier</artifactId>
<version>1.0.14</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.stefvanschie.inventoryframework</groupId>
<artifactId>IF</artifactId>
<version>0.5.8</version>
<version>0.5.19</version>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.13-R0.1-SNAPSHOT</version>
<version>1.15.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
@ -126,11 +132,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.ocpsoft.prettytime</groupId>
<artifactId>prettytime</artifactId>
<version>4.0.0.Final</version>
</dependency>
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>VaultAPI</artifactId>
@ -285,8 +286,12 @@
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>gson</artifactId>
<groupId>com.google.code.gson</groupId>
<artifactId>*</artifactId>
<groupId>shaded</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>gson</groupId>
</exclusion>
</exclusions>
</dependency>
@ -338,12 +343,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
@ -381,31 +380,52 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.mojang</groupId>
<artifactId>authlib</artifactId>
<version>1.5.21</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>me.rayzr522</groupId>
<artifactId>jsonmessage</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codemc.worldguardwrapper</groupId>
<artifactId>worldguardwrapper</artifactId>
<version>1.1.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.jagrosh</groupId>
<artifactId>jda-utilities-commons</artifactId>
<version>2.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>1.7</version>
<scope>compile</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>CodeMC</id>
<url>https://repo.codemc.org/repository/maven-public</url>
</repository>
<repository>
<id>central</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
<repository>
<id>mojang-repo</id>
<url>https://libraries.minecraft.net/</url>
</repository>
<repository>
<id>net.coreprotect</id>
<url>http://maven.playpro.com/</url>

View File

@ -22,6 +22,7 @@ public class Conf {
public static final transient String DYNMAP_STYLE_HOME_MARKER = "greenflag";
public static final transient boolean DYNMAP_STYLE_BOOST = false;
public static List<String> baseCommandAliases = new ArrayList<>();
public static String serverTimeZone = "EST";
public static boolean allowNoSlashCommand = true;
// Colors
@ -54,8 +55,8 @@ public class Conf {
public static boolean factionTagForceUpperCase = false;
public static boolean newFactionsDefaultOpen = false;
// when faction membership hits this limit, players will no longer be able to join using /f join; default is 0, no limit
public static int factionMemberLimit = 0;
public static int factionAltMemberLimit = 0;
public static int factionMemberLimit = 30;
public static int factionAltMemberLimit = 10;
// what faction ID to start new players in when they first join the server; default is 0, "no faction"
public static String newPlayerStartingFactionID = "0";
public static boolean showMapFactionKey = true;
@ -86,7 +87,9 @@ public class Conf {
public static int factionBufferSize = 20;
public static boolean useCheckSystem = true;
public static boolean spawnerLock = false;
public static boolean gracePeriod = false;
public static boolean useGraceSystem = true;
public static boolean broadcastGraceToggles = true;
public static int gracePeriodTimeDays = 7;
public static boolean noEnderpearlsInFly = false;
public static boolean broadcastDescriptionChanges = false;
public static boolean broadcastTagChanges = false;
@ -95,15 +98,61 @@ public class Conf {
public static double autoLeaveRoutineRunsEveryXMinutes = 5.0;
public static int autoLeaveRoutineMaxMillisecondsPerTick = 5; // 1 server tick is roughly 50ms, so default max 10% of a tick
public static boolean removePlayerDataWhenBanned = true;
public static String removePlayerDataWhenBannedReason = "Banned by admin.";
public static boolean autoLeaveDeleteFPlayerData = true; // Let them just remove player from Faction.
public static boolean worldGuardChecking = false;
public static boolean worldGuardBuildPriority = false;
//RADIUS CLAIMING
public static boolean useRadiusClaimSystem = true;
//FRIENDLY FIRE
public static boolean friendlyFireFPlayersCommand = false;
//Claim Fill
public static int maxFillClaimCount = 25;
public static int maxFillClaimDistance = 5;
public static boolean factionsDrainEnabled = false;
//RESERVE
public static boolean useReserveSystem = true;
//AUDIT
public static boolean useAuditSystem = true;
//INSPECT
public static boolean useInspectSystem = true;
//GUI's
public static boolean useDisbandGUI = true;
//SEALTH
public static boolean useStealthSystem = true;
//STRIKES
public static boolean useStrikeSystem = true;
//DISCORD
public static boolean useDiscordSystem = false;
public static String discordBotToken = "<token here>";
public static String fromDiscordFactionChatPrefix = "&f[&dDiscord&f] ";
public static String avatarUrl = "http://cravatar.eu/helmavatar/%uuid%.png";
public static String webhookName = "SaberFactions Hook";
public static String mainGuildID = "<Discord Server ID here>";
public static String positiveReaction = "<Server emote here>";
public static String negativeReaction = "<Server emote here>";
public static Boolean restrictActionsWhenNotLinked = false;
public static Boolean leaderRoles = false;
public static String leaderRole = "<Leader Role ID>";
public static Boolean factionDiscordTags = false;
public static String factionTag = "(NAME) [FACTION]";
public static Boolean factionRoles = false;
public static List<Integer> factionRoleColor = new ArrayList<Integer>() {{
add(25);
add(162);
add(203);
}};
public static String factionRolePrefix = "";
public static String factionRoleSuffix = "";
// server logging options
public static boolean logFactionCreate = true;
public static boolean logFactionDisband = true;
@ -115,7 +164,7 @@ public class Conf {
public static boolean logMoneyTransactions = true;
public static boolean logPlayerCommands = true;
// prevent some potential exploits
public static boolean preventCreeperGlitch = true;
public static boolean denyFlightIfInNoClaimingWorld = false;
public static boolean handleExploitObsidianGenerators = true;
public static boolean handleExploitEnderPearlClipping = true;
public static boolean handleExploitInteractionSpam = true;
@ -219,6 +268,7 @@ public class Conf {
public static boolean ownedMessageInsideTerritory = true;
public static boolean ownedMessageByChunk = false;
public static boolean pistonProtectionThroughDenyBuild = true;
public static Set<Material> loggableMaterials = EnumSet.noneOf(Material.class);
public static Set<Material> territoryProtectedMaterials = EnumSet.noneOf(Material.class);
public static Set<Material> territoryDenyUsageMaterials = EnumSet.noneOf(Material.class);
public static Set<Material> territoryProtectedMaterialsWhenOffline = EnumSet.noneOf(Material.class);
@ -229,13 +279,18 @@ public class Conf {
/// Useful for HCF features.
/// </summary>
public static Set<Material> territoryBypassProtectedMaterials = EnumSet.noneOf(Material.class);
// Dependency check
public static boolean dependencyCheck = true;
public static boolean enableClickToClaim = true;
public static Set<Material> territoryCancelAndAllowItemUseMaterial = new HashSet<>();
public static Set<Material> territoryDenySwitchMaterials = new HashSet<>();
public static boolean allowCreeperEggingChests = true;
// Economy settings
public static boolean econEnabled = false;
public static String econUniverseAccount = "";
public static double econCostClaimWilderness = 30.0;
public static double econCostClaimFromFactionBonus = 30.0;
public static double econCostClaimFromFactionBonus = 0.0;
public static double econOverclaimRewardMultiplier = 0.0;
public static double econClaimAdditionalMultiplier = 0.5;
public static double econClaimRefundMultiplier = 0.7;
@ -343,6 +398,7 @@ public class Conf {
// faction-<factionId>
public static int defaultMaxVaults = 0;
public static boolean disableFlightOnFactionClaimChange = true;
public static boolean sendFactionChangeMessage = true;
public static Backend backEnd = Backend.JSON;
@ -370,6 +426,10 @@ public class Conf {
public static HashMap<String, DefaultPermissions> defaultFactionPermissions = new HashMap<>();
public static HashSet<PermissableAction> lockedPermissions = new HashSet<>();
public static boolean useComplexFly = true;
public static boolean wildLoadChunkBeforeTeleport = true;
private static transient Conf i = new Conf();
static {
@ -388,11 +448,108 @@ public class Conf {
territoryEnemyDenyCommands.add("tpaccept");
territoryEnemyDenyCommands.add("tpa");
territoryDenySwitchMaterials.add(XMaterial.ACACIA_FENCE_GATE.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BIRCH_FENCE_GATE.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.DARK_OAK_FENCE_GATE.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.JUNGLE_FENCE_GATE.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.OAK_FENCE_GATE.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.SPRUCE_FENCE_GATE.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.ACACIA_DOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BIRCH_DOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.DARK_OAK_DOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.JUNGLE_DOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.OAK_DOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.SPRUCE_DOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.DISPENSER.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.CHEST.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.TRAPPED_CHEST.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.ACACIA_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BIRCH_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.DARK_OAK_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.JUNGLE_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.OAK_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.SPRUCE_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.DROPPER.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.HOPPER.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.ITEM_FRAME.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.ACACIA_TRAPDOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BIRCH_TRAPDOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.DARK_OAK_TRAPDOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.JUNGLE_TRAPDOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.OAK_TRAPDOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.SPRUCE_TRAPDOOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.LEVER.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.COMPARATOR.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.REPEATER.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.ACACIA_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BIRCH_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.DARK_OAK_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.JUNGLE_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.OAK_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.SPRUCE_BUTTON.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.PURPLE_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.WHITE_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.MAGENTA_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.LIGHT_BLUE_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.CYAN_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BLUE_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BROWN_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.ORANGE_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.GREEN_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.RED_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.BLACK_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.GRAY_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.LIME_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.LIGHT_GRAY_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.PINK_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.YELLOW_SHULKER_BOX.parseMaterial());
territoryDenySwitchMaterials.add(XMaterial.SHULKER_BOX.parseMaterial());
// 1.14 Barrel is a container.
territoryDenySwitchMaterials.add(XMaterial.BARREL.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.GOLDEN_APPLE.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.APPLE.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.ENCHANTED_GOLDEN_APPLE.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.COOKED_BEEF.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.COOKED_MUTTON.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.COOKED_CHICKEN.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.COOKED_COD.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.COOKED_PORKCHOP.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.COOKED_RABBIT.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.COOKED_SALMON.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.ENDER_PEARL.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.POTION.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.SPLASH_POTION.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.CREEPER_SPAWN_EGG.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.BOW.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.DIAMOND_HELMET.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.DIAMOND_CHESTPLATE.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.DIAMOND_LEGGINGS.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.DIAMOND_BOOTS.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.IRON_HELMET.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.IRON_CHESTPLATE.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.IRON_LEGGINGS.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.IRON_BOOTS.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.LEATHER_HELMET.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.LEATHER_CHESTPLATE.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.LEATHER_LEGGINGS.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.LEATHER_BOOTS.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.CHAINMAIL_HELMET.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.CHAINMAIL_CHESTPLATE.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.CHAINMAIL_LEGGINGS.parseMaterial());
territoryCancelAndAllowItemUseMaterial.add(XMaterial.CHAINMAIL_BOOTS.parseMaterial());
/// TODO: Consider removing this in a future release, as permissions works just fine now
territoryProtectedMaterials.add(Material.BEACON);
// Config is not loading if value is empty ???
territoryBypassProtectedMaterials.add(Material.COOKIE);
territoryBypassProtectedMaterials.add(Material.CHEST);
territoryBypassProtectedMaterials.add(Material.TRAPPED_CHEST);
territoryDenyUsageMaterials.add(XMaterial.FIRE_CHARGE.parseMaterial());
territoryDenyUsageMaterials.add(Material.FLINT_AND_STEEL);
@ -403,7 +560,6 @@ public class Conf {
territoryDenyUsageMaterials.add(Material.ARMOR_STAND);
}
territoryProtectedMaterialsWhenOffline.add(Material.BEACON);
territoryDenyUsageMaterialsWhenOffline.add(XMaterial.FIRE_CHARGE.parseMaterial());
@ -421,7 +577,7 @@ public class Conf {
safeZoneNerfedCreatureTypes.add(EntityType.ENDERMAN);
safeZoneNerfedCreatureTypes.add(EntityType.GHAST);
safeZoneNerfedCreatureTypes.add(EntityType.MAGMA_CUBE);
safeZoneNerfedCreatureTypes.add(EntityType.PIG_ZOMBIE);
if (!FactionsPlugin.getInstance().mc116) safeZoneNerfedCreatureTypes.add(EntityType.PIG_ZOMBIE);
safeZoneNerfedCreatureTypes.add(EntityType.SILVERFISH);
safeZoneNerfedCreatureTypes.add(EntityType.SKELETON);
safeZoneNerfedCreatureTypes.add(EntityType.SPIDER);
@ -431,11 +587,14 @@ public class Conf {
safeZoneNerfedCreatureTypes.add(EntityType.ZOMBIE);
// Is this called lazy load?
defaultFactionPermissions.put("LEADER", new DefaultPermissions(true));
defaultFactionPermissions.put("COLEADER", new DefaultPermissions(true));
defaultFactionPermissions.put("MODERATOR", new DefaultPermissions(true));
defaultFactionPermissions.put("NORMAL MEMBER", new DefaultPermissions(false));
defaultFactionPermissions.put("RECRUIT", new DefaultPermissions(false));
defaultFactionPermissions.put("ALLY", new DefaultPermissions(false));
defaultFactionPermissions.put("ENEMY", new DefaultPermissions(false));
defaultFactionPermissions.put("TRUCE", new DefaultPermissions(false));
defaultFactionPermissions.put("NEUTRAL", new DefaultPermissions(false));
}
public static void load() {
@ -446,6 +605,10 @@ public class Conf {
FactionsPlugin.getInstance().persist.save(i);
}
public static void saveSync() {
FactionsPlugin.instance.persist.saveSync(i);
}
public enum Backend {
JSON,
//MYSQL, TODO add MySQL storage

View File

@ -22,7 +22,6 @@ public class FLocation implements Serializable {
worldBorderClassPresent = true;
} catch (ClassNotFoundException ignored) {
}
worldBorderSupport = worldBorderClassPresent;
}
@ -45,7 +44,7 @@ public class FLocation implements Serializable {
}
public FLocation(Location location) {
this(location.getWorld().getName(), blockToChunk(location.getBlockX()), blockToChunk(location.getBlockZ()));
this(Objects.requireNonNull(location.getWorld()).getName(), blockToChunk(location.getBlockX()), blockToChunk(location.getBlockZ()));
}
public FLocation(Player player) {
@ -70,8 +69,8 @@ public class FLocation implements Serializable {
String worldName = string.substring(start, index);
start = index + 1;
index = string.indexOf(",", start);
int x = Integer.valueOf(string.substring(start, index));
int y = Integer.valueOf(string.substring(index + 1, string.length() - 1));
int x = Integer.parseInt(string.substring(start, index));
int y = Integer.parseInt(string.substring(index + 1, string.length() - 1));
return new FLocation(worldName, x, y);
}
@ -152,6 +151,10 @@ public class FLocation implements Serializable {
return "" + x + "," + z;
}
public String formatXAndZ(String splitter) {
return chunkToBlock(this.x) + "x" + splitter + " " + chunkToBlock(this.z) + "z";
}
//----------------------------------------------//
// Misc Geometry
//----------------------------------------------//
@ -178,9 +181,9 @@ public class FLocation implements Serializable {
}
public boolean isInChunk(Location loc) {
if (loc == null) {
return false;
}
if (loc == null) return false;
if (loc.getWorld() == null) return false;
Chunk chunk = loc.getChunk();
return loc.getWorld().getName().equalsIgnoreCase(getWorldName()) && chunk.getX() == x && chunk.getZ() == z;
}
@ -192,18 +195,23 @@ public class FLocation implements Serializable {
* @return whether this location is outside of the border
*/
public boolean isOutsideWorldBorder(int buffer) {
if (!worldBorderSupport) {
return false;
}
if (!worldBorderSupport) return false;
WorldBorder border = getWorld().getWorldBorder();
Chunk chunk = border.getCenter().getChunk();
Location center = border.getCenter();
double size = border.getSize();
int lim = FLocation.chunkToRegion((int) border.getSize()) - buffer;
int diffX = chunk.getX() - x;
int diffZ = chunk.getZ() - z;
int bufferBlocks = buffer << 4;
return (diffX > lim || diffZ > lim) || (-diffX >= lim || -diffZ >= lim);
double borderMinX = (center.getX() - size / 2.0D) + bufferBlocks;
double borderMinZ = (center.getZ() - size / 2.0D) + bufferBlocks;
double borderMaxX = (center.getX() + size / 2.0D) - bufferBlocks;
double borderMaxZ = (center.getZ() + size / 2.0D) - bufferBlocks;
int chunkMinX = this.x << 4;
int chunkMaxX = chunkMinX | 15;
int chunkMinZ = this.z << 4;
int chunkMaxZ = chunkMinZ | 15;
return (chunkMinX >= borderMaxX) || (chunkMinZ >= borderMaxZ) || (chunkMaxX <= borderMinX) || (chunkMaxZ <= borderMinZ);
}
//----------------------------------------------//
@ -213,10 +221,7 @@ public class FLocation implements Serializable {
double radiusSquared = radius * radius;
Set<FLocation> ret = new LinkedHashSet<>();
if (radius <= 0) {
return ret;
}
if (radius <= 0) return ret;
int xfrom = (int) Math.floor(this.x - radius);
int xto = (int) Math.ceil(this.x + radius);
int zfrom = (int) Math.floor(this.z - radius);
@ -230,7 +235,6 @@ public class FLocation implements Serializable {
}
}
}
return ret;
}
@ -246,13 +250,8 @@ public class FLocation implements Serializable {
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof FLocation)) {
return false;
}
if (obj == this) return true;
if (!(obj instanceof FLocation)) return false;
FLocation that = (FLocation) obj;
return this.x == that.x && this.z == that.z && (Objects.equals(this.worldName, that.worldName));
}

View File

@ -7,6 +7,7 @@ import com.massivecraft.factions.struct.Relation;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.WarmUpUtil;
import mkremins.fanciful.FancyMessage;
import net.dv8tion.jda.core.entities.User;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
@ -30,8 +31,73 @@ public interface FPlayer extends EconomyParticipator {
boolean hasNotificationsEnabled();
/**
* Determine if a player has enemies nearby based on the enemy check task in CmdFly
* NOTE: THIS VALUE IS ONLY UPDATED WHEN A USER IS USING FLY
*
* @return enemiesNearby as a boolean
*/
boolean hasEnemiesNearby();
/**
* Set if this FPlayer has an enemy nearby
*
* @param b enemiesNearby
*/
void setEnemiesNearby(Boolean b);
/**
* Get if a player has setup their Discord before
*
* @return if the player setup Discord as a boolean
*/
boolean discordSetup();
/**
* Get the players Discord user ID
*
* @return players Discord user ID as a String
*/
String discordUserID();
/**
* Set the players Boolean defining if the player has setup their Discord
*
* @param b Boolean for discordSetup to be defined to
*/
void setDiscordSetup(Boolean b);
/**
* Set the players Discord user ID
*
* @param s String for their user ID to be set to
*/
void setDiscordUserID(String s);
/**
* Get the players Discord user (If the player has not setup Discord it will return null!)
*
* @return User from players set Discord User ID
*/
User discordUser();
/**
* Used to check if this player should be served titles
*
* @return if this FPlayer has titles enabled as a boolean
*/
boolean hasTitlesEnabled();
/**
* Used to set if player should be served titles
*
* @param b Boolean to titlesEnabled to
*/
void setTitlesEnabled(Boolean b);
/**
* Used to determine if a player is in their faction's chest
*
* @return if player is in their faction's as a boolean
*/
boolean isInFactionsChest();
@ -218,10 +284,15 @@ public interface FPlayer extends EconomyParticipator {
int getDeaths();
void takeMoney(int amt);
boolean takeMoney(int amt);
boolean hasMoney(int amt);
//Fplayer specific friendly fire.
boolean hasFriendlyFire();
void setFriendlyFire(boolean status);
//inspect Stuff
boolean isInspectMode();
@ -321,6 +392,7 @@ public interface FPlayer extends EconomyParticipator {
// Actions
// -------------------------------
void leave(boolean makePay);
boolean canClaimForFaction(Faction forFaction);

View File

@ -4,7 +4,6 @@ import com.massivecraft.factions.event.FactionDisbandEvent.PlayerDisbandReason;
import com.massivecraft.factions.iface.EconomyParticipator;
import com.massivecraft.factions.iface.RelationParticipator;
import com.massivecraft.factions.missions.Mission;
import com.massivecraft.factions.shield.TimeFrame;
import com.massivecraft.factions.struct.BanInfo;
import com.massivecraft.factions.struct.Relation;
import com.massivecraft.factions.struct.Role;
@ -12,7 +11,7 @@ import com.massivecraft.factions.util.LazyLocation;
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.Permissable;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.fupgrades.UpgradeType;
import com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@ -248,6 +247,8 @@ public interface Faction extends EconomyParticipator {
void setHome(Location home);
void deleteHome();
long getFoundedDate();
void setFoundedDate(long newDate);
@ -442,10 +443,7 @@ public interface Faction extends EconomyParticipator {
void paypalSet(String paypal);
// shield
void setTimeFrame(TimeFrame timeFrame);
TimeFrame getTimeFrame();
// -------------------------------
// Shields
// -------------------------------
}

View File

@ -4,56 +4,58 @@ import ch.njol.skript.Skript;
import ch.njol.skript.SkriptAddon;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.massivecraft.factions.cmd.CmdAutoHelp;
import com.massivecraft.factions.cmd.CommandContext;
import com.massivecraft.factions.cmd.FCmdRoot;
import com.massivecraft.factions.cmd.FCommand;
import com.massivecraft.factions.cmd.*;
import com.massivecraft.factions.cmd.audit.FChestListener;
import com.massivecraft.factions.cmd.audit.FLogManager;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.cmd.check.CheckTask;
import com.massivecraft.factions.cmd.check.WeeWooTask;
import com.massivecraft.factions.cmd.chest.AntiChestListener;
import com.massivecraft.factions.cmd.reserve.ListParameterizedType;
import com.massivecraft.factions.cmd.reserve.ReserveAdapter;
import com.massivecraft.factions.cmd.reserve.ReserveObject;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.discord.DiscordListener;
import com.massivecraft.factions.discord.FactionChatHandler;
import com.massivecraft.factions.integration.Econ;
import com.massivecraft.factions.integration.Worldguard;
import com.massivecraft.factions.integration.dynmap.EngineDynmap;
import com.massivecraft.factions.listeners.*;
import com.massivecraft.factions.missions.MissionHandler;
import com.massivecraft.factions.shield.TimeFrameTask;
import com.massivecraft.factions.shop.ShopConfig;
import com.massivecraft.factions.struct.ChatMode;
import com.massivecraft.factions.struct.Relation;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.*;
import com.massivecraft.factions.util.Particles.ReflectionUtils;
import com.massivecraft.factions.util.adapters.*;
import com.massivecraft.factions.util.timer.TimerManager;
import com.massivecraft.factions.util.wait.WaitExecutor;
import com.massivecraft.factions.zcore.CommandVisibility;
import com.massivecraft.factions.zcore.MPlugin;
import com.massivecraft.factions.zcore.file.impl.FileManager;
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.Permissable;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.fupgrades.*;
import com.massivecraft.factions.zcore.util.TextUtil;
import com.massivecraft.factions.zcore.frame.fupgrades.UpgradesListener;
import me.lucko.commodore.CommodoreProvider;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import org.bukkit.*;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.RegisteredServiceProvider;
import java.io.*;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Level;
import java.util.stream.Collectors;
@ -63,12 +65,12 @@ public class FactionsPlugin extends MPlugin {
// Our single plugin instance.
// Single 4 life.
public static FactionsPlugin instance;
public static boolean cachedRadiusClaim;
public static Permission perms = null;
// This plugin sets the boolean true when fully enabled.
// Plugins can check this boolean while hooking in have
// a green light to use the api.
public static boolean startupFinished = false;
public static Economy econ = null;
public boolean PlaceholderApi;
// Commands
public FCmdRoot cmdBase;
@ -78,8 +80,10 @@ public class FactionsPlugin extends MPlugin {
public boolean mc112 = false;
public boolean mc113 = false;
public boolean mc114 = false;
public boolean mc115 = false;
public boolean mc116 = false;
public boolean useNonPacketParticles = false;
public boolean factionsFlight = false;
public List<String> itemList = getConfig().getStringList("fchest.Items-Not-Allowed");
SkriptAddon skriptAddon;
private FactionsPlayerListener factionsPlayerListener;
private boolean locked = false;
@ -89,8 +93,11 @@ public class FactionsPlugin extends MPlugin {
private ClipPlaceholderAPIManager clipPlaceholderAPIManager;
private boolean mvdwPlaceholderAPIManager = false;
private Listener[] eventsListener;
public List<String> itemList = getConfig().getStringList("fchest.Items-Not-Allowed");
private Worldguard wg;
private FLogManager fLogManager;
private List<ReserveObject> reserveObjects;
private FileManager fileManager;
private TimerManager timerManager;
public FactionsPlugin() {
instance = this;
@ -100,6 +107,10 @@ public class FactionsPlugin extends MPlugin {
return instance;
}
public FileManager getFileManager() {
return fileManager;
}
public boolean getLocked() {
return this.locked;
}
@ -118,34 +129,20 @@ public class FactionsPlugin extends MPlugin {
this.setAutoSave(val);
}
public void playSoundForAll(String sound) {
for (Player pl : Bukkit.getOnlinePlayers()) {
playSound(pl, sound);
}
}
public void playSoundForAll(List<String> sounds) {
for (Player pl : Bukkit.getOnlinePlayers()) {
playSound(pl, sounds);
}
}
public void playSound(Player p, List<String> sounds) {
for (String sound : sounds) {
playSound(p, sound);
}
}
public void playSound(Player p, String sound) {
float pitch = Float.valueOf(sound.split(":")[1]);
sound = sound.split(":")[0];
p.playSound(p.getLocation(), Sound.valueOf(sound), pitch, 5.0F);
}
@Override
public void onEnable() {
log("==== Setup ====");
if (getServer().getPluginManager().getPlugin("Vault") == null) {
divider();
System.out.println("You are missing dependencies!");
System.out.println("Please verify [Vault] is installed!");
Conf.save();
Bukkit.getPluginManager().disablePlugin(instance);
divider();
return;
}
int version = Integer.parseInt(ReflectionUtils.PackageType.getServerVersion().split("_")[1]);
switch (version) {
case 7:
@ -167,37 +164,38 @@ public class FactionsPlugin extends MPlugin {
FactionsPlugin.instance.log("Minecraft Version 1.14 found.");
mc114 = true;
break;
case 15:
FactionsPlugin.instance.log("Minecraft Version 1.15 found.");
mc115 = true;
break;
case 16:
FactionsPlugin.instance.log("Minecraft Version 1.16 found.");
mc116 = true;
break;
}
migrateFPlayerLeaders();
log("==== End Setup ====");
int pluginId = 7013;
Metrics metrics = new Metrics(this, pluginId);
if (!preEnable()) {
this.loadSuccessful = false;
return;
}
this.loadSuccessful = false;
if (!new File(this.getDataFolder() + "/config.yml").exists()) {
this.saveResource("config.yml", false);
this.reloadConfig();
}
//Attempt to generate a permission list
PermissionList.generateFile();
saveDefaultConfig();
this.reloadConfig();
//Start wait task executor
WaitExecutor.startTask();
// Load Conf from disk
Conf.load();
//Dependency checks
if (Conf.dependencyCheck && (!Bukkit.getPluginManager().isPluginEnabled("Vault") && !Bukkit.getPluginManager().isPluginEnabled("Essentials"))) {
divider();
System.out.println("You are missing dependencies!");
System.out.println("Please verify EssentialsX and Vault are installed!");
Conf.save();
Bukkit.getPluginManager().disablePlugin(instance);
divider();
return;
}
//Update their config if needed
Updater.updateIfNeeded(getConfig());
RegisteredServiceProvider<Economy> rsp = FactionsPlugin.this.getServer().getServicesManager().getRegistration(Economy.class);
FactionsPlugin.econ = rsp.getProvider();
fileManager = new FileManager();
fileManager.setupFiles();
fLogManager = new FLogManager();
com.massivecraft.factions.integration.Essentials.setup();
hookedPlayervaults = setupPlayervaults();
FPlayers.getInstance().load();
@ -210,20 +208,21 @@ public class FactionsPlugin extends MPlugin {
fPlayer.resetFactionData(false);
continue;
}
if (fPlayer.isAlt()) {
faction.addAltPlayer(fPlayer);
} else {
faction.addFPlayer(fPlayer);
}
if (fPlayer.isAlt()) faction.addAltPlayer(fPlayer);
else faction.addFPlayer(fPlayer);
}
Factions.getInstance().getAllFactions().forEach(Faction::refreshFPlayers);
if (getConfig().getBoolean("enable-faction-flight", true)) {
UtilFly.run();
}
Board.getInstance().load();
Board.getInstance().clean();
//Load command aliases
Aliases.load();
// Add Base Commands
this.cmdBase = new FCmdRoot();
this.cmdAutoHelp = new CmdAutoHelp();
@ -231,26 +230,22 @@ public class FactionsPlugin extends MPlugin {
Econ.setup();
setupPermissions();
if (Conf.worldGuardChecking || Conf.worldGuardBuildPriority) {
Worldguard.init(this);
}
if (Conf.worldGuardChecking || Conf.worldGuardBuildPriority) wg = new Worldguard();
EngineDynmap.getInstance().init();
// start up task which runs the autoLeaveAfterDaysOfInactivity routine
startAutoLeaveTask(false);
cachedRadiusClaim = Conf.useRadiusClaimSystem;
if (version > 8) {
useNonPacketParticles = true;
log("Minecraft Version 1.9 or higher found, using non packet based particle API");
}
if (getConfig().getBoolean("enable-faction-flight")) {
factionsFlight = true;
}
if (getServer().getPluginManager().getPlugin("Skript") != null) {
log("Skript was found! Registering FactionsPlugin Addon...");
log("Skript was found! Registering SaberFactions Addon...");
skriptAddon = Skript.registerAddon(this);
try {
skriptAddon.loadClasses("com.massivecraft.factions.skript", "expressions");
@ -259,24 +254,25 @@ public class FactionsPlugin extends MPlugin {
}
log("Skript addon registered!");
}
if (Conf.useCheckSystem) {
int minute = 1200;
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 3), 0L, (long) (minute * 3));
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 5), 0L, (long) (minute * 5));
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 10), 0L, (long) (minute * 10));
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 15), 0L, (long) (minute * 15));
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 30), 0L, (long) (minute * 30));
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 3), 0L, minute * 3);
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 5), 0L, minute * 5);
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 10), 0L, minute * 10);
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 15), 0L, minute * 15);
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new CheckTask(this, 30), 0L, minute * 30);
this.getServer().getScheduler().runTaskTimer(this, CheckTask::cleanupTask, 0L, 1200L);
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new WeeWooTask(this), 600L, 600L);
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new TimeFrameTask(), 1200, 1200); // every 1 minute...
}
if(Conf.useDiscordSystem && !Conf.discordBotToken.equals("<token here>")) {
new FactionChatHandler(this);
} else {
System.out.println("\n\n\n SABER-FACTIONS-DISCORD-INTEGRATION - You are not using Discord integration features, set conf.json option useDiscordSystem to true and put a valid token in before using!\n\n\n");
}
//Setup Discord Bot
new Discord(this);
ShopConfig.setup();
fLogManager.loadLogs(this);
this.timerManager = new TimerManager(this);
this.timerManager.reloadTimerData();
System.out.println("[SABER-FACTIONS] - Loaded " + timerManager.getTimers().size() + " timers into list!");
getServer().getPluginManager().registerEvents(factionsPlayerListener = new FactionsPlayerListener(), this);
@ -286,19 +282,44 @@ public class FactionsPlugin extends MPlugin {
new FactionsEntityListener(),
new FactionsExploitListener(),
new FactionsBlockListener(),
new FUpgradesGUI(),
new UpgradesListener(),
new MissionHandler(this),
new FChestListener(),
new MenuListener(),
new AntiChestListener()
};
for (Listener eventListener : eventsListener)
getServer().getPluginManager().registerEvents(eventListener, this);
if (Conf.useGraceSystem) {
getServer().getPluginManager().registerEvents(timerManager.graceTimer, this);
}
this.getCommand(refCommand).setExecutor(cmdBase);
if (!CommodoreProvider.isSupported()) this.getCommand(refCommand).setTabCompleter(this);
reserveObjects = new ArrayList<>();
String path = Paths.get(this.getDataFolder().getAbsolutePath()).toAbsolutePath().toString() + File.separator + "reserves.json";
File file = new File(path);
try {
String json;
if (!file.exists()) {
file.getParentFile().mkdirs();
file.createNewFile();
}
json = String.join("", Files.readAllLines(Paths.get(file.getPath()))).replace("\n", "").replace("\r", "");
if (json.equalsIgnoreCase("")) {
Files.write(Paths.get(path), "[]".getBytes());
json = "[]";
}
reserveObjects = this.getGsonBuilder().create().fromJson(json, new ListParameterizedType(ReserveObject.class));
if (reserveObjects == null) reserveObjects = new ArrayList<>();
} catch (Exception e) {
e.printStackTrace();
}
if (getDescription().getFullName().contains("BETA")) {
divider();
System.out.println("You are using a BETA version of the plugin!");
@ -314,10 +335,6 @@ public class FactionsPlugin extends MPlugin {
FactionsPlugin.startupFinished = true;
}
public SkriptAddon getSkriptAddon() {
return skriptAddon;
}
private void setupPlaceholderAPI() {
Plugin clip = getServer().getPluginManager().getPlugin("PlaceholderAPI");
@ -355,7 +372,6 @@ public class FactionsPlugin extends MPlugin {
try {
BufferedReader br = new BufferedReader(new FileReader(fplayerFile));
System.out.println("Migrating old players.json file.");
String line;
while ((line = br.readLine()) != null) {
if (line.contains("\"role\": \"ADMIN\"")) {
@ -387,9 +403,7 @@ public class FactionsPlugin extends MPlugin {
private boolean setupPermissions() {
try {
RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
if (rsp != null) {
perms = rsp.getProvider();
}
if (rsp != null) perms = rsp.getProvider();
} catch (NoClassDefFoundError ex) {
return false;
}
@ -414,11 +428,12 @@ public class FactionsPlugin extends MPlugin {
.registerTypeAdapter(LazyLocation.class, new MyLocationTypeAdapter())
.registerTypeAdapter(mapFLocToStringSetType, new MapFLocToStringSetTypeAdapter())
.registerTypeAdapter(Inventory.class, new InventoryTypeAdapter())
.registerTypeAdapter(ReserveObject.class, new ReserveAdapter())
.registerTypeAdapter(Location.class, new LocationTypeAdapter())
.registerTypeAdapterFactory(EnumTypeAdapter.ENUM_FACTORY);
}
private void divider() {
public void divider() {
System.out.println(" .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. .-.-");
System.out.println(" / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\");
System.out.println("`-' `-`-' `-`-' `-`-' `-`-' `-`-' `-`-' `-`-'");
@ -426,26 +441,37 @@ public class FactionsPlugin extends MPlugin {
@Override
public void onDisable() {
// only save data if plugin actually completely loaded successfully
if (this.loadSuccessful) {
// Dont save, as this is kind of pointless, as the /f config command manually saves.
// So any edits done are saved, this way manual edits to json can go through.
// Conf.save();
if (this.AutoLeaveTask != null) {
getServer().getScheduler().cancelTask(this.AutoLeaveTask);
this.AutoLeaveTask = null;
}
if (AutoLeaveTask != null) {
this.getServer().getScheduler().cancelTask(AutoLeaveTask);
AutoLeaveTask = null;
}
Conf.saveSync();
timerManager.saveTimerData();
DiscordListener.saveGuilds();
if (Discord.jda != null) Discord.jda.shutdownNow();
fLogManager.saveLogs();
try {
String path = Paths.get(getDataFolder().getAbsolutePath()).toAbsolutePath().toString() + File.separator + "reserves.json";
File file = new File(path);
if (!file.exists()) {
file.getParentFile().mkdirs();
file.createNewFile();
}
Files.write(Paths.get(file.getPath()), getGsonBuilder().create().toJson(reserveObjects).getBytes());
} catch (IOException e) {
e.printStackTrace();
}
super.onDisable();
}
public void startAutoLeaveTask(boolean restartIfRunning) {
if (AutoLeaveTask != null) {
if (!restartIfRunning) {
return;
}
if (!restartIfRunning) return;
this.getServer().getScheduler().cancelTask(AutoLeaveTask);
}
@ -461,26 +487,9 @@ public class FactionsPlugin extends MPlugin {
Conf.save();
}
public ItemStack createItem(Material material, int amount, short datavalue, String name, List<String> lore) {
ItemStack item = new ItemStack(XMaterial.matchXMaterial(material.toString()).parseMaterial(), amount, datavalue);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(color(name));
meta.setLore(colorList(lore));
item.setItemMeta(meta);
return item;
}
public ItemStack createLazyItem(Material material, int amount, short datavalue, String name, String lore) {
ItemStack item = new ItemStack(material, amount, datavalue);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(color(FactionsPlugin.instance.getConfig().getString(name)));
meta.setLore(colorList(FactionsPlugin.instance.getConfig().getStringList(lore)));
item.setItemMeta(meta);
return item;
}
public Economy getEcon() {
RegisteredServiceProvider<Economy> rsp = FactionsPlugin.instance.getServer().getServicesManager().getRegistration(Economy.class);
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
return rsp.getProvider();
}
@ -495,16 +504,6 @@ public class FactionsPlugin extends MPlugin {
return sender instanceof Player && FactionsPlayerListener.preventCommand(commandString, (Player) sender) || super.handleCommand(sender, commandString, testOnly);
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] split) {
if (split.length == 0) {
return handleCommand(sender, "/f help", false);
}
// otherwise, needs to be handled; presumably another plugin directly ran the command
String cmd = Conf.baseCommandAliases.isEmpty() ? "/f" : "/" + Conf.baseCommandAliases.get(0);
return handleCommand(sender, cmd + " " + TextUtil.implode(Arrays.asList(split), " "), false);
}
// This method must stay for < 1.12 versions
@Override
@ -512,12 +511,9 @@ public class FactionsPlugin extends MPlugin {
// Must be a LinkedList to prevent UnsupportedOperationException.
List<String> argsList = new LinkedList<>(Arrays.asList(args));
CommandContext context = new CommandContext(sender, argsList, alias);
String cmd = Conf.baseCommandAliases.isEmpty() ? "/f" : "/" + Conf.baseCommandAliases.get(0);
// String cmdValid = (cmd + " " + TextUtil.implode(context.args, " ")).trim();
List<FCommand> commandsList = cmdBase.subCommands;
FCommand commandsEx = cmdBase;
List<String> completions = new ArrayList<>();
// Check for "" first arg because spigot is mangled.
if (context.args.get(0).equals("")) {
for (FCommand subCommand : commandsEx.subCommands) {
@ -542,16 +538,12 @@ public class FactionsPlugin extends MPlugin {
}
}
String lastArg = args[args.length - 1].toLowerCase();
completions = completions.stream()
.filter(m -> m.toLowerCase().startsWith(lastArg))
.collect(Collectors.toList());
return completions;
} else {
String lastArg = args[args.length - 1].toLowerCase();
for (Role value : Role.values()) completions.add(value.nicename);
for (Relation value : Relation.values()) completions.add(value.nicename);
// The stream and foreach from the old implementation looped 2 times, by looping all players -> filtered -> looped filter and added -> filtered AGAIN at the end.
@ -564,113 +556,22 @@ public class FactionsPlugin extends MPlugin {
}
}
public void createTimedHologram(final Location location, String text, Long timeout) {
ArmorStand as = (ArmorStand) location.add(0.5, 1, 0.5).getWorld().spawnEntity(location, EntityType.ARMOR_STAND); //Spawn the ArmorStand
as.setVisible(false); //Makes the ArmorStand invisible
as.setGravity(false); //Make sure it doesn't fall
as.setCanPickupItems(false); //I'm not sure what happens if you leave this as it is, but you might as well disable it
as.setCustomName(FactionsPlugin.instance.color(text)); //Set this to the text you want
as.setCustomNameVisible(true); //This makes the text appear no matter if your looking at the entity or not
final ArmorStand armorStand = as;
Bukkit.getScheduler().scheduleSyncDelayedTask(FactionsPlugin.instance, () -> {
armorStand.remove();
getLogger().info("Removing Hologram.");
}
, timeout * 20);
}
// -------------------------------------------- //
// Functions for other plugins to hook into
// -------------------------------------------- //
// This value will be updated whenever new hooks are added
public int hookSupportVersion() {
return 3;
}
// If another plugin is handling insertion of chat tags, this should be used to notify Factions
public void handleFactionTagExternally(boolean notByFactions) {
Conf.chatTagHandledByAnotherPlugin = notByFactions;
}
// Simply put, should this chat event be left for Factions to handle? For now, that means players with Faction Chat
// enabled or use of the Factions f command without a slash; combination of isPlayerFactionChatting() and isFactionsCommand()
public boolean shouldLetFactionsHandleThisChat(AsyncPlayerChatEvent event) {
return event != null && (isPlayerFactionChatting(event.getPlayer()) || isFactionsCommand(event.getMessage()));
public FLogManager getFlogManager() {
return fLogManager;
}
// Does player have Faction Chat enabled? If so, chat plugins should preferably not do channels,
// local chat, or anything else which targets individual recipients, so Faction Chat can be done
public boolean isPlayerFactionChatting(Player player) {
if (player == null) {
return false;
}
FPlayer me = FPlayers.getInstance().getByPlayer(player);
return me != null && me.getChatMode().isAtLeast(ChatMode.ALLIANCE);
}
// Is this chat message actually a Factions command, and thus should be left alone by other plugins?
// TODO: GET THIS BACK AND WORKING
public boolean isFactionsCommand(String check) {
return !(check == null || check.isEmpty()) && this.handleCommand(null, check, true);
}
// Get a player's faction tag (faction name), mainly for usage by chat plugins for local/channel chat
public String getPlayerFactionTag(Player player) {
return getPlayerFactionTagRelation(player, null);
}
// Same as above, but with relation (enemy/neutral/ally) coloring potentially added to the tag
public String getPlayerFactionTagRelation(Player speaker, Player listener) {
String tag = "~";
if (speaker == null) {
return tag;
}
FPlayer me = FPlayers.getInstance().getByPlayer(speaker);
if (me == null) {
return tag;
}
// if listener isn't set, or config option is disabled, give back uncolored tag
if (listener == null || !Conf.chatTagRelationColored) {
tag = me.getChatTag().trim();
} else {
FPlayer you = FPlayers.getInstance().getByPlayer(listener);
if (you == null) {
tag = me.getChatTag().trim();
} else // everything checks out, give the colored tag
{
tag = me.getChatTag(you).trim();
}
}
if (tag.isEmpty()) {
tag = "~";
}
return tag;
}
// Get a player's title within their faction, mainly for usage by chat plugins for local/channel chat
public String getPlayerTitle(Player player) {
if (player == null) {
return "";
}
FPlayer me = FPlayers.getInstance().getByPlayer(player);
if (me == null) {
return "";
}
return me.getTitle().trim();
public void logFactionEvent(Faction faction, FLogType type, String... arguments) {
this.fLogManager.log(faction, type, arguments);
}
public String color(String line) {
@ -680,59 +581,25 @@ public class FactionsPlugin extends MPlugin {
//colors a string list
public List<String> colorList(List<String> lore) {
for (int i = 0; i <= lore.size() - 1; i++) {
lore.set(i, color(lore.get(i)));
}
for (int i = 0; i <= lore.size() - 1; i++) lore.set(i, color(lore.get(i)));
return lore;
}
// Get a list of all faction tags (names)
public Set<String> getFactionTags() {
return Factions.getInstance().getFactionTags();
public List<ReserveObject> getFactionReserves() {
return this.reserveObjects;
}
// Get a list of all players in the specified faction
public Set<String> getPlayersInFaction(String factionTag) {
Set<String> players = new HashSet<>();
Faction faction = Factions.getInstance().getByTag(factionTag);
if (faction != null) {
for (FPlayer fplayer : faction.getFPlayers()) {
players.add(fplayer.getName());
}
}
return players;
}
// Get a list of all online players in the specified faction
public Set<String> getOnlinePlayersInFaction(String factionTag) {
Set<String> players = new HashSet<>();
Faction faction = Factions.getInstance().getByTag(factionTag);
if (faction != null) {
for (FPlayer fplayer : faction.getFPlayersWhereOnline(true)) {
players.add(fplayer.getName());
}
}
return players;
}
public boolean isHookedPlayervaults() {
return hookedPlayervaults;
}
public String getPrimaryGroup(OfflinePlayer player) {
AtomicReference<String> primaryGroup = new AtomicReference<>();
return perms == null || !perms.hasGroupSupport() ? " " : perms.getPrimaryGroup(Bukkit.getWorlds().get(0).toString(), player);
}
if (perms == null || !perms.hasGroupSupport()) return " ";
else {
Bukkit.getScheduler().runTaskAsynchronously(this, () -> primaryGroup.set(perms.getPrimaryGroup(Bukkit.getWorlds().get(0).toString(), player)));
return primaryGroup.get();
}
public TimerManager getTimerManager() {
return timerManager;
}
public void debug(Level level, String s) {
if (getConfig().getBoolean("debug", false)) {
getLogger().log(level, s);
}
if (getConfig().getBoolean("debug", false)) getLogger().log(level, s);
}
public FactionsPlayerListener getFactionsPlayerListener() {
@ -742,4 +609,5 @@ public class FactionsPlugin extends MPlugin {
public void debug(String s) {
debug(Level.INFO, s);
}
}

View File

@ -0,0 +1,156 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FactionsPlugin;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Aliases {
/**
* @author DroppingAnvil
*/
public static ArrayList<String> friendlyFire = new ArrayList<>(Arrays.asList("friendlyfire", "ff"));
public static ArrayList<String> notifications = new ArrayList<>(Arrays.asList("notifications", "notis"));
public static ArrayList<String> alts_alts = new ArrayList<>(Arrays.asList("alts", "alt"));
public static ArrayList<String> alts_list = new ArrayList<>(Arrays.asList("list", "l"));
public static ArrayList<String> alts_invite = new ArrayList<>(Collections.singletonList("invite"));
public static ArrayList<String> alts_kick = new ArrayList<>(Collections.singletonList("kick"));
public static ArrayList<String> audit = new ArrayList<>(Arrays.asList("audit", "log", "logs"));
public static ArrayList<String> check = new ArrayList<>(Arrays.asList("check"));
public static ArrayList<String> weewoo = new ArrayList<>(Collections.singletonList("weewoo"));
public static ArrayList<String> chest = new ArrayList<>(Arrays.asList("chest", "pv"));
public static ArrayList<String> claim_auto = new ArrayList<>(Collections.singletonList("autoclaim"));
public static ArrayList<String> claim_claim = new ArrayList<>(Collections.singletonList("claim"));
public static ArrayList<String> claim_at = new ArrayList<>(Collections.singletonList("claimat"));
public static ArrayList<String> claim_claimFill = new ArrayList<>(Arrays.asList("claimfill", "cf"));
public static ArrayList<String> claim_line = new ArrayList<>(Arrays.asList("claimline", "cl"));
public static ArrayList<String> claim_corner = new ArrayList<>(Arrays.asList("corner"));
public static ArrayList<String> delfHome = new ArrayList<>(Arrays.asList("delhome", "deletehome"));
public static ArrayList<String> unclaim_all_safe = new ArrayList<>(Arrays.asList("safeunclaimall", "safedeclaimall"));
public static ArrayList<String> unclaim_unclaim = new ArrayList<>(Arrays.asList("unclaim", "declaim"));
public static ArrayList<String> unclaim_all_unsafe = new ArrayList<>(Arrays.asList("unclaimall", "declaimall"));
public static ArrayList<String> unclaim_all_war = new ArrayList<>(Arrays.asList("warunclaimall", "wardeclaimall"));
public static ArrayList<String> money_money = new ArrayList<>(Arrays.asList("money", "bank"));
public static ArrayList<String> money_balance = new ArrayList<>(Arrays.asList("b", "balance"));
public static ArrayList<String> money_deposit = new ArrayList<>(Arrays.asList("d", "deposit"));
public static ArrayList<String> money_transfer_Ff = new ArrayList<>(Collections.singletonList("ff"));
public static ArrayList<String> money_transfer_Fp = new ArrayList<>(Collections.singletonList("fp"));
public static ArrayList<String> money_transfer_Pf = new ArrayList<>(Collections.singletonList("pf"));
public static ArrayList<String> money_withdraw = new ArrayList<>(Arrays.asList("w", "withdraw"));
public static ArrayList<String> grace = new ArrayList<>(Collections.singletonList("grace"));
public static ArrayList<String> logout = new ArrayList<>(Collections.singletonList("logout"));
public static ArrayList<String> points_balance = new ArrayList<>(Arrays.asList("balance", "bal"));
public static ArrayList<String> points_points = new ArrayList<>(Collections.singletonList("points"));
public static ArrayList<String> points_add = new ArrayList<>(Collections.singletonList("add"));
public static ArrayList<String> points_remove = new ArrayList<>(Collections.singletonList("remove"));
public static ArrayList<String> points_set = new ArrayList<>(Collections.singletonList("set"));
public static ArrayList<String> relation_ally = new ArrayList<>(Collections.singletonList("ally"));
public static ArrayList<String> relation_enemy = new ArrayList<>(Collections.singletonList("enemy"));
public static ArrayList<String> relation_neutral = new ArrayList<>(Collections.singletonList("neutral"));
public static ArrayList<String> relation_truce = new ArrayList<>(Collections.singletonList("truce"));
public static ArrayList<String> reserve = new ArrayList<>(Collections.singletonList("reserve"));
public static ArrayList<String> roles_demote = new ArrayList<>(Collections.singletonList("demote"));
public static ArrayList<String> roles_promote = new ArrayList<>(Collections.singletonList("promote"));
public static ArrayList<String> tnt_tnt = new ArrayList<>(Collections.singletonList("tnt"));
public static ArrayList<String> tnt_tntfill = new ArrayList<>(Collections.singletonList("tntfill"));
public static ArrayList<String> wild = new ArrayList<>(Collections.singletonList("wild"));
public static ArrayList<String> admin = new ArrayList<>(Arrays.asList("admin", "setadmin", "leader", "setleader"));
public static ArrayList<String> ahome = new ArrayList<>(Collections.singletonList("ahome"));
public static ArrayList<String> announce = new ArrayList<>(Arrays.asList("ann", "announce"));
public static ArrayList<String> help = new ArrayList<>(Arrays.asList("help", "h", "?"));
public static ArrayList<String> ban_ban = new ArrayList<>(Collections.singletonList("ban"));
public static ArrayList<String> ban_banlist = new ArrayList<>(Arrays.asList("banlist", "bans", "banl"));
public static ArrayList<String> banner = new ArrayList<>(Collections.singletonList("banner"));
public static ArrayList<String> boom = new ArrayList<>(Arrays.asList("noboom", "explosions", "toggleexplosions"));
public static ArrayList<String> bypass = new ArrayList<>(Collections.singletonList("bypass"));
public static ArrayList<String> chat = new ArrayList<>(Arrays.asList("chat", "c"));
public static ArrayList<String> chatspy = new ArrayList<>(Collections.singletonList("chatspy"));
public static ArrayList<String> checkpoint = new ArrayList<>(Arrays.asList("checkp", "checkpoint", "cpoint"));
public static ArrayList<String> coleader = new ArrayList<>(Arrays.asList("coleader", "setcoleader", "co", "setco"));
public static ArrayList<String> config = new ArrayList<>(Collections.singletonList("config"));
public static ArrayList<String> convert = new ArrayList<>(Collections.singletonList("convert"));
public static ArrayList<String> coords = new ArrayList<>(Arrays.asList("coords", "coord"));
public static ArrayList<String> create = new ArrayList<>(Collections.singletonList("create"));
public static ArrayList<String> debug = new ArrayList<>(Collections.singletonList("debug"));
public static ArrayList<String> deinvite = new ArrayList<>(Arrays.asList("deinvite", "deinv"));
public static ArrayList<String> deletefwarp = new ArrayList<>(Arrays.asList("delwarp", "dw", "deletewarp"));
public static ArrayList<String> description = new ArrayList<>(Arrays.asList("desc", "description"));
public static ArrayList<String> disband = new ArrayList<>(Collections.singletonList("disband"));
public static ArrayList<String> discord_discord = new ArrayList<>(Collections.singletonList("discord"));
public static ArrayList<String> drain = new ArrayList<>(Collections.singletonList("drain"));
public static ArrayList<String> global = new ArrayList<>(Arrays.asList("gchat", "global", "globalchat"));
public static ArrayList<String> fly = new ArrayList<>(Collections.singletonList("fly"));
public static ArrayList<String> focus = new ArrayList<>(Collections.singletonList("focus"));
public static ArrayList<String> warp = new ArrayList<>(Arrays.asList("warp", "warps"));
public static ArrayList<String> getvault = new ArrayList<>(Collections.singletonList("getvault"));
public static ArrayList<String> home = new ArrayList<>(Collections.singletonList("home"));
public static ArrayList<String> inspect = new ArrayList<>(Arrays.asList("inspect", "ins"));
public static ArrayList<String> invsee = new ArrayList<>(Arrays.asList("invsee", "inventorysee"));
public static ArrayList<String> invite = new ArrayList<>(Arrays.asList("invite", "inv"));
public static ArrayList<String> join = new ArrayList<>(Collections.singletonList("join"));
public static ArrayList<String> kick = new ArrayList<>(Collections.singletonList("kick"));
public static ArrayList<String> killholograms = new ArrayList<>(Collections.singletonList("killholos"));
public static ArrayList<String> leave = new ArrayList<>(Collections.singletonList("leave"));
public static ArrayList<String> list = new ArrayList<>(Arrays.asList("list", "ls"));
public static ArrayList<String> lock = new ArrayList<>(Collections.singletonList("lock"));
public static ArrayList<String> logins = new ArrayList<>(Arrays.asList("logins", "login", "logouts"));
public static ArrayList<String> lookup = new ArrayList<>(Collections.singletonList("lookup"));
public static ArrayList<String> lowPower = new ArrayList<>(Collections.singletonList("lowpower"));
public static ArrayList<String> map_map = new ArrayList<>(Collections.singletonList("map"));
public static ArrayList<String> map_height = new ArrayList<>(Arrays.asList("mapheight", "mh"));
public static ArrayList<String> mod = new ArrayList<>(Arrays.asList("mod", "setmod", "officer", "setofficer"));
public static ArrayList<String> modifyPower = new ArrayList<>(Arrays.asList("mp", "pm", "modpower", "modifypower"));
public static ArrayList<String> near = new ArrayList<>(Arrays.asList("near", "nearby"));
public static ArrayList<String> open = new ArrayList<>(Collections.singletonList("open"));
public static ArrayList<String> owner_owner = new ArrayList<>(Collections.singletonList("owner"));
public static ArrayList<String> owner_list = new ArrayList<>(Collections.singletonList("ownerlist"));
public static ArrayList<String> paypal_see = new ArrayList<>(Arrays.asList("paypal", "seepaypal"));
public static ArrayList<String> paypal_set = new ArrayList<>(Collections.singletonList("setpaypal"));
public static ArrayList<String> peaceful = new ArrayList<>(Collections.singletonList("peaceful"));
public static ArrayList<String> perm = new ArrayList<>(Arrays.asList("perm", "perms", "permission", "permissions"));
public static ArrayList<String> permanent_faction = new ArrayList<>(Collections.singletonList("permanent"));
public static ArrayList<String> permanent_power = new ArrayList<>(Collections.singletonList("permanentpower"));
public static ArrayList<String> titles = new ArrayList<>(Collections.singletonList("titles"));
public static ArrayList<String> power_power = new ArrayList<>(Arrays.asList("pow", "power"));
public static ArrayList<String> power_boost = new ArrayList<>(Collections.singletonList("powerboost"));
public static ArrayList<String> reload = new ArrayList<>(Collections.singletonList("reload"));
public static ArrayList<String> rules = new ArrayList<>(Arrays.asList("r", "rule", "rules"));
public static ArrayList<String> saveAll = new ArrayList<>(Arrays.asList("save", "saveall"));
public static ArrayList<String> scoreboard = new ArrayList<>(Arrays.asList("sb", "scoreboard"));
public static ArrayList<String> seeChunk = new ArrayList<>(Arrays.asList("sc", "seechunk"));
public static ArrayList<String> discord_see = new ArrayList<>(Collections.singletonList("seediscord"));
public static ArrayList<String> discord_set = new ArrayList<>(Collections.singletonList("setdiscord"));
public static ArrayList<String> setBanner = new ArrayList<>(Collections.singletonList("setbanner"));
public static ArrayList<String> setDefaultRole = new ArrayList<>(Arrays.asList("defaultrole", "def", "default", "defaultrank"));
public static ArrayList<String> setWarp = new ArrayList<>(Arrays.asList("sw", "setwarp"));
public static ArrayList<String> setHome = new ArrayList<>(Collections.singletonList("sethome"));
public static ArrayList<String> setMaxVaults = new ArrayList<>(Arrays.asList("smv", "setmaxvaults"));
public static ArrayList<String> show_show = new ArrayList<>(Arrays.asList("show", "who"));
public static ArrayList<String> show_claims = new ArrayList<>(Arrays.asList("showclaim", "showclaims"));
public static ArrayList<String> show_invites = new ArrayList<>(Collections.singletonList("showinvites"));
public static ArrayList<String> spawnerlock = new ArrayList<>(Arrays.asList("lockspawners", "spawnerlock"));
public static ArrayList<String> status = new ArrayList<>(Arrays.asList("s", "status"));
public static ArrayList<String> stealth = new ArrayList<>(Arrays.asList("stealth", "ninja"));
public static ArrayList<String> strikes_strikes = new ArrayList<>(Collections.singletonList("strikes"));
public static ArrayList<String> strikes_give = new ArrayList<>(Collections.singletonList("give"));
public static ArrayList<String> strikes_info = new ArrayList<>(Collections.singletonList("info"));
public static ArrayList<String> strikes_set = new ArrayList<>(Collections.singletonList("set"));
public static ArrayList<String> strikes_take = new ArrayList<>(Collections.singletonList("take"));
public static ArrayList<String> stuck = new ArrayList<>(Arrays.asList("stuck", "halp!"));
public static ArrayList<String> tag = new ArrayList<>(Arrays.asList("tag", "rename"));
public static ArrayList<String> title = new ArrayList<>(Collections.singletonList("title"));
public static ArrayList<String> toggleAllianceChat = new ArrayList<>(Arrays.asList("tac", "ac", "togglealliancechat"));
public static ArrayList<String> top = new ArrayList<>(Arrays.asList("t", "top"));
public static ArrayList<String> tpBanner = new ArrayList<>(Collections.singletonList("tpbanner"));
public static ArrayList<String> unban = new ArrayList<>(Collections.singletonList("unban"));
public static ArrayList<String> upgrades = new ArrayList<>(Arrays.asList("upgrades", "upgrade"));
public static ArrayList<String> vault = new ArrayList<>(Collections.singletonList("vault"));
public static ArrayList<String> viewChest = new ArrayList<>(Arrays.asList("viewchest", "viewpv"));
private static transient Aliases i = new Aliases();
public static void load() {
FactionsPlugin.getInstance().persist.loadOrSaveDefault(i, Aliases.class, "aliases");
}
}

View File

@ -15,6 +15,10 @@ import java.util.Map;
public class BrigadierManager {
/**
* @author FactionsUUID Team
*/
public Commodore commodore;
public LiteralArgumentBuilder<Object> brigadier = LiteralArgumentBuilder.literal("factions");

View File

@ -4,6 +4,10 @@ import com.mojang.brigadier.builder.ArgumentBuilder;
public interface BrigadierProvider {
/**
* @author FactionsUUID Team
*/
ArgumentBuilder<Object, ?> get(ArgumentBuilder<Object, ?> parent);
}

View File

@ -8,9 +8,13 @@ import org.bukkit.event.player.PlayerTeleportEvent;
public class CmdAHome extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAHome() {
super();
this.aliases.add("ahome");
this.aliases.addAll(Aliases.ahome);
this.requiredArgs.add("player");

View File

@ -3,20 +3,24 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.event.FPlayerJoinEvent;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
public class CmdAdmin extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAdmin() {
super();
this.aliases.add("admin");
this.aliases.add("setadmin");
this.aliases.add("leader");
this.aliases.add("setleader");
this.aliases.addAll(Aliases.admin);
this.requiredArgs.add("player");
@ -25,59 +29,81 @@ public class CmdAdmin extends FCommand {
@Override
public void perform(CommandContext context) {
// Allows admins bypass this.
if (!context.fPlayer.isAdminBypassing() && !context.fPlayer.getRole().equals(Role.LEADER)) {
context.msg(TL.COMMAND_ADMIN_NOTADMIN);
return;
}
FPlayer fyou = context.argAsBestFPlayerMatch(0);
if (fyou == null) {
return;
}
boolean permAny = Permission.ADMIN_ANY.has(context.sender, false);
Faction targetFaction = fyou.getFaction();
if (targetFaction != context.faction && !permAny) {
context.msg(TL.COMMAND_ADMIN_NOTMEMBER, fyou.describeTo(context.fPlayer, true));
return;
}
if (fyou == context.fPlayer && !permAny) {
context.msg(TL.COMMAND_ADMIN_TARGETSELF);
return;
}
// only perform a FPlayerJoinEvent when newLeader isn't actually in the faction
if (fyou.getFaction() != targetFaction) {
FPlayerJoinEvent event = new FPlayerJoinEvent(FPlayers.getInstance().getByPlayer(context.player), targetFaction, FPlayerJoinEvent.PlayerJoinReason.LEADER);
Bukkit.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
if (context.player == null) {
context.msg(TL.GENERIC_PLAYERONLY);
return;
}
// Allows admins bypass this.
if (!context.fPlayer.isAdminBypassing() && !context.fPlayer.getRole().equals(Role.LEADER)) {
context.msg(TL.COMMAND_ADMIN_NOTADMIN);
return;
}
FPlayer fyou = context.argAsBestFPlayerMatch(0);
if (fyou == null) {
return;
}
}
FPlayer admin = targetFaction.getFPlayerAdmin();
boolean permAny = Permission.ADMIN_ANY.has(context.sender, false);
Faction targetFaction = fyou.getFaction();
// if target player is currently admin, demote and replace him
if (fyou == admin) {
targetFaction.promoteNewLeader();
context.msg(TL.COMMAND_ADMIN_DEMOTES, fyou.describeTo(context.fPlayer, true));
fyou.msg(TL.COMMAND_ADMIN_DEMOTED, context.player == null ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(fyou, true));
return;
}
if (targetFaction != context.faction && !permAny) {
context.msg(TL.COMMAND_ADMIN_NOTMEMBER, fyou.describeTo(context.fPlayer, true));
return;
}
// promote target player, and demote existing admin if one exists
if (admin != null) {
admin.setRole(Role.COLEADER);
}
fyou.setRole(Role.LEADER);
context.msg(TL.COMMAND_ADMIN_PROMOTES, fyou.describeTo(context.fPlayer, true));
if (fyou == context.fPlayer && !permAny) {
context.msg(TL.COMMAND_ADMIN_TARGETSELF);
return;
}
// Inform all players
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
fplayer.msg(TL.COMMAND_ADMIN_PROMOTED, context.player == null ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(fplayer, true), fyou.describeTo(fplayer), targetFaction.describeTo(fplayer));
}
if (fyou.isAlt()) {
return;
}
// only perform a FPlayerJoinEvent when newLeader isn't actually in the faction
if (fyou.getFaction() != targetFaction) {
FPlayerJoinEvent event = new FPlayerJoinEvent(FPlayers.getInstance().getByPlayer(context.player), targetFaction, FPlayerJoinEvent.PlayerJoinReason.LEADER);
Bukkit.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
}
FPlayer admin = targetFaction.getFPlayerAdmin();
// if target player is currently admin, demote and replace him
if (fyou == admin) {
promoteNewLeader(targetFaction);
context.msg(TL.COMMAND_ADMIN_DEMOTES, fyou.describeTo(context.fPlayer, true));
fyou.msg(TL.COMMAND_ADMIN_DEMOTED, context.player == null ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(fyou, true));
return;
}
// promote target player, and demote existing admin if one exists
if (admin != null) {
setRole(admin, Role.COLEADER);
}
setRole(fyou, Role.LEADER);
context.msg(TL.COMMAND_ADMIN_PROMOTES, fyou.describeTo(context.fPlayer, true));
FactionsPlugin.instance.getFlogManager().log(targetFaction, FLogType.RANK_EDIT, context.fPlayer.getName(), fyou.getName(), ChatColor.RED + "Admin");
// Inform all players
if (FactionsPlugin.instance.getConfig().getBoolean("faction-leader-broadcast")) {
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
fplayer.msg(TL.COMMAND_ADMIN_PROMOTED, context.player == null ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(fplayer, true), fyou.describeTo(fplayer), targetFaction.describeTo(fplayer));
}
}
});
}
private void setRole(FPlayer fp, Role r) {
FactionsPlugin.getInstance().getServer().getScheduler().runTask(FactionsPlugin.instance, () -> fp.setRole(r));
}
private void promoteNewLeader(Faction f) {
FactionsPlugin.getInstance().getServer().getScheduler().runTask(FactionsPlugin.instance, (Runnable) f::promoteNewLeader);
}
public TL getUsageTranslation() {

View File

@ -12,10 +12,13 @@ import org.bukkit.entity.Player;
public class CmdAnnounce extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAnnounce() {
super();
this.aliases.add("ann");
this.aliases.add("announce");
this.aliases.addAll(Aliases.announce);
this.requiredArgs.add("message");

View File

@ -8,10 +8,12 @@ import java.util.ArrayList;
public class CmdAutoHelp extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAutoHelp() {
this.aliases.add("?");
this.aliases.add("h");
this.aliases.add("help");
this.aliases.addAll(Aliases.help);
this.setHelpShort("");

View File

@ -2,9 +2,11 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.event.FPlayerLeaveEvent;
import com.massivecraft.factions.struct.BanInfo;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.CC;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
@ -13,9 +15,13 @@ import java.util.logging.Level;
public class CmdBan extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBan() {
super();
this.aliases.add("ban");
this.aliases.addAll(Aliases.ban_ban);
this.requiredArgs.add("target");
@ -75,6 +81,7 @@ public class CmdBan extends FCommand {
// Lets inform the people!
target.msg(TL.COMMAND_BAN_TARGET, context.faction.getTag(target.getFaction()));
FactionsPlugin.instance.logFactionEvent(context.faction, FLogType.BANS, context.fPlayer.getName(), CC.Green + "banned", target.getName());
context.faction.msg(TL.COMMAND_BAN_BANNED, context.fPlayer.getName(), target.getName());
}

View File

@ -13,11 +13,13 @@ import java.util.List;
public class CmdBanlist extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBanlist() {
super();
this.aliases.add("banlist");
this.aliases.add("bans");
this.aliases.add("banl");
this.aliases.addAll(Aliases.ban_banlist);
this.optionalArgs.put("faction", "faction");

View File

@ -13,9 +13,13 @@ import org.bukkit.inventory.PlayerInventory;
import org.bukkit.inventory.meta.ItemMeta;
public class CmdBanner extends FCommand {
/**
* @author Illyria Team
*/
public CmdBanner() {
this.aliases.add("banner");
this.aliases.add("warbanner");
this.aliases.addAll(Aliases.banner);
this.requirements = new CommandRequirements.Builder(Permission.BANNER).playerOnly().memberOnly().build();
}
@ -29,12 +33,10 @@ public class CmdBanner extends FCommand {
context.msg(TL.COMMAND_BANNER_NOBANNER);
return;
}
if (!context.fPlayer.hasMoney(FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000))) {
if (!context.fPlayer.takeMoney(FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000))) {
context.msg(TL.COMMAND_BANNER_NOTENOUGHMONEY);
return;
}
this.takeMoney(context.fPlayer, FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000));
this.takeMoney(context.fPlayer, FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000));
ItemStack warBanner = context.fPlayer.getFaction().getBanner();
ItemMeta warmeta = warBanner.getItemMeta();
warmeta.setDisplayName(FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fbanners.Item.Name")));
@ -45,6 +47,7 @@ public class CmdBanner extends FCommand {
context.player.getInventory().addItem(warBanner);
}
@Deprecated
public boolean hasMoney(FPlayer fme, int amt) {
Economy econ = FactionsPlugin.getInstance().getEcon();
if (econ.getBalance(fme.getPlayer()) >= amt) {
@ -54,10 +57,10 @@ public class CmdBanner extends FCommand {
return false;
}
@Deprecated
public void takeMoney(FPlayer fme, int amt) {
if (this.hasMoney(fme, amt)) {
Economy econ = FactionsPlugin.getInstance().getEcon();
econ.withdrawPlayer(fme.getPlayer(), (double) amt);
fme.sendMessage(TL.COMMAND_BANNER_MONEYTAKE.toString().replace("{amount}", amt + ""));
}
}

View File

@ -6,11 +6,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdBoom extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBoom() {
super();
this.aliases.add("noboom");
this.aliases.add("explosions");
this.aliases.add("toggleexplosions");
this.aliases.addAll(Aliases.boom);
//this.requiredArgs.add("");
this.optionalArgs.put("on/off", "flip");

View File

@ -6,9 +6,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdBypass extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBypass() {
super();
this.aliases.add("bypass");
this.aliases.addAll(Aliases.bypass);
//this.requiredArgs.add("");
this.optionalArgs.put("on/off", "flip");

View File

@ -10,10 +10,13 @@ import com.mojang.brigadier.builder.LiteralArgumentBuilder;
public class CmdChat extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdChat() {
super();
this.aliases.add("c");
this.aliases.add("chat");
this.aliases.addAll(Aliases.chat);
//this.requiredArgs.add("");
this.optionalArgs.put("mode", "next");

View File

@ -6,9 +6,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdChatSpy extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdChatSpy() {
super();
this.aliases.add("chatspy");
this.aliases.addAll(Aliases.chatspy);
this.optionalArgs.put("on/off", "flip");

View File

@ -2,22 +2,25 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.*;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.WarmUpUtil;
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
public class CmdCheckpoint extends FCommand {
/**
* @author Illyria Team
*/
public CmdCheckpoint() {
super();
this.aliases.add("checkp");
this.aliases.add("checkpoint");
this.aliases.add("cpoint");
this.aliases.addAll(Aliases.checkpoint);
this.optionalArgs.put("set", "");
this.requirements = new CommandRequirements.Builder(Permission.CHECKPOINT)
.playerOnly()
.memberOnly()
.build();
this.requirements = new CommandRequirements.Builder(Permission.CHECKPOINT).playerOnly().memberOnly().build();
}
@Override
@ -26,18 +29,39 @@ public class CmdCheckpoint extends FCommand {
context.msg(TL.COMMAND_CHECKPOINT_DISABLED);
return;
}
if (context.args.size() == 1) {
FLocation myLocation = new FLocation(context.player.getLocation());
Faction myLocFaction = Board.getInstance().getFactionAt(myLocation);
if (myLocFaction == Factions.getInstance().getWilderness() || myLocFaction == context.faction) {
context.faction.setCheckpoint(context.player.getLocation());
context.msg(TL.COMMAND_CHECKPOINT_SET);
return;
if (context.args.size() == 1 && context.args.get(0).equalsIgnoreCase("set")) {
if (context.fPlayer.getRole() == Role.LEADER) {
FLocation myLocation = new FLocation(context.player.getLocation());
Faction myLocFaction = Board.getInstance().getFactionAt(myLocation);
if (myLocFaction == Factions.getInstance().getWilderness() || myLocFaction == context.faction) {
context.faction.setCheckpoint(context.player.getLocation());
context.msg(TL.COMMAND_CHECKPOINT_SET);
return;
}
} else {
context.msg(TL.COMMAND_CHECKPOINT_INVALIDLOCATION);
return;
}
PermissableAction action = PermissableAction.SETWARP;
Access access = context.faction.getAccess(context.fPlayer, action);
if (access == Access.DENY) {
context.msg(TL.GENERIC_FPERM_NOPERMISSION, action.getName());
return;
} else {
FLocation myLocation = new FLocation(context.player.getLocation());
Faction myLocFaction = Board.getInstance().getFactionAt(myLocation);
if (myLocFaction == Factions.getInstance().getWilderness() || myLocFaction == context.faction) {
context.faction.setCheckpoint(context.player.getLocation());
context.msg(TL.COMMAND_CHECKPOINT_SET);
return;
} else {
context.msg(TL.COMMAND_CHECKPOINT_INVALIDLOCATION);
return;
}
}
}
if (context.faction.getCheckpoint() == null) {
context.msg(TL.COMMAND_CHECKPOINT_NOT_SET);
return;
@ -54,8 +78,6 @@ public class CmdCheckpoint extends FCommand {
} else {
context.msg(TL.COMMAND_CHECKPOINT_CLAIMED);
}
}
@Override

View File

@ -3,6 +3,8 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.zcore.util.TL;
@ -10,12 +12,14 @@ import mkremins.fanciful.FancyMessage;
import org.bukkit.ChatColor;
public class CmdColeader extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdColeader() {
super();
this.aliases.add("co");
this.aliases.add("setcoleader");
this.aliases.add("coleader");
this.aliases.add("setco");
this.aliases.addAll(Aliases.coleader);
this.optionalArgs.put("player name", "name");
@ -51,6 +55,10 @@ public class CmdColeader extends FCommand {
return;
}
if (you.isAlt()) {
return;
}
if (context.fPlayer != null && context.fPlayer.getRole() != Role.LEADER && !permAny) {
context.msg(TL.COMMAND_COLEADER_NOTADMIN);
return;
@ -76,6 +84,7 @@ public class CmdColeader extends FCommand {
you.setRole(Role.COLEADER);
targetFaction.msg(TL.COMMAND_COLEADER_PROMOTED, you.describeTo(targetFaction, true));
context.msg(TL.COMMAND_COLEADER_PROMOTES, you.describeTo(context.fPlayer, true));
FactionsPlugin.instance.getFlogManager().log(targetFaction, FLogType.RANK_EDIT, context.fPlayer.getName(), you.getName(), ChatColor.RED + "Co-Leader");
}
}

View File

@ -20,7 +20,7 @@ public class CmdConfig extends FCommand {
public CmdConfig() {
super();
this.aliases.add("config");
this.aliases.addAll(Aliases.config);
this.requiredArgs.add("setting");
this.requiredArgs.add("value");
@ -225,7 +225,7 @@ public class CmdConfig extends FCommand {
if (!success.isEmpty()) {
if (context.sender instanceof Player) {
context.sendMessage(success);
FactionsPlugin.getInstance().log(success + TL.COMMAND_CONFIG_LOG.format((Player) context.sender));
FactionsPlugin.getInstance().log(success + TL.COMMAND_CONFIG_LOG.format(context.sender));
} else // using FactionsPlugin.getInstance().log() instead of sendMessage if run from server console so that "[Factions v#.#.#]" is prepended in server log
{
FactionsPlugin.getInstance().log(success);

View File

@ -9,8 +9,12 @@ import org.bukkit.command.ConsoleCommandSender;
public class CmdConvert extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdConvert() {
this.aliases.add("convert");
this.aliases.addAll(Aliases.convert);
this.requiredArgs.add("[MYSQL|JSON]");
this.requirements = new CommandRequirements.Builder(Permission.CONVERT)

View File

@ -7,10 +7,13 @@ import org.bukkit.Location;
public class CmdCoords extends FCommand {
/**
* @author Illyria Team
*/
public CmdCoords() {
super();
this.aliases.add("coords");
this.aliases.add("coord");
this.aliases.addAll(Aliases.coords);
this.requirements = new CommandRequirements.Builder(Permission.COORD)
.playerOnly()

View File

@ -1,23 +1,33 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.*;
import com.massivecraft.factions.cmd.reserve.ReserveObject;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.event.FPlayerJoinEvent;
import com.massivecraft.factions.event.FactionCreateEvent;
import com.massivecraft.factions.integration.Econ;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.Cooldown;
import com.massivecraft.factions.util.MiscUtil;
import com.massivecraft.factions.zcore.util.TL;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.exceptions.HierarchyException;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import java.util.ArrayList;
public class CmdCreate extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdCreate() {
super();
this.aliases.add("create");
this.aliases.addAll(Aliases.create);
this.requiredArgs.add("faction tag");
@ -28,6 +38,10 @@ public class CmdCreate extends FCommand {
@Override
public void perform(CommandContext context) {
if (Conf.restrictActionsWhenNotLinked && !context.fPlayer.discordSetup()) {
context.player.sendMessage(ChatColor.translateAlternateColorCodes('&', TL.DISCORD_LINK_REQUIRED.toString()));
return;
}
String tag = context.argAsString(0);
if (context.fPlayer.hasFaction()) {
@ -40,6 +54,17 @@ public class CmdCreate extends FCommand {
return;
}
if (Cooldown.isOnCooldown(context.fPlayer.getPlayer(), "createCooldown") && !context.fPlayer.isAdminBypassing()) {
context.msg(TL.COMMAND_COOLDOWN);
return;
}
ReserveObject factionReserve = FactionsPlugin.getInstance().getFactionReserves().stream().filter(factionReserve1 -> factionReserve1.getFactionName().equalsIgnoreCase(tag)).findFirst().orElse(null);
if (factionReserve != null && !factionReserve.getName().equalsIgnoreCase(context.player.getName())) {
context.msg(TL.COMMAND_CREATE_ALREADY_RESERVED);
return;
}
ArrayList<String> tagValidationErrors = MiscUtil.validateTag(tag);
if (tagValidationErrors.size() > 0) {
context.sendMessage(tagValidationErrors);
@ -73,23 +98,43 @@ public class CmdCreate extends FCommand {
// finish setting up the Faction
faction.setTag(tag);
if (factionReserve != null) {
FactionsPlugin.getInstance().getFactionReserves().remove(factionReserve);
}
// trigger the faction join event for the creator
FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayers.getInstance().getByPlayer(context.player), faction, FPlayerJoinEvent.PlayerJoinReason.CREATE);
Bukkit.getServer().getPluginManager().callEvent(joinEvent);
// join event cannot be cancelled or you'll have an empty faction
// finish setting up the FPlayer
context.fPlayer.setFaction(faction, false);
// We should consider adding the role just AFTER joining the faction.
// That way we don't have to mess up deleting more stuff.
// And prevent the user from being returned to NORMAL after deleting his old faction.
context.fPlayer.setRole(Role.LEADER);
Cooldown.setCooldown(context.fPlayer.getPlayer(), "createCooldown", FactionsPlugin.getInstance().getConfig().getInt("fcooldowns.f-create"));
if (FactionsPlugin.getInstance().getConfig().getBoolean("faction-creation-broadcast", true)) {
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers()) {
follower.msg(TL.COMMAND_CREATE_CREATED, context.fPlayer.getName(), faction.getTag(follower));
}
}
//Discord
try {
if (Discord.useDiscord && context.fPlayer.discordSetup() && Discord.isInMainGuild(context.fPlayer.discordUser()) && Discord.mainGuild != null) {
Member m = Discord.mainGuild.getMember(context.fPlayer.discordUser());
if (Conf.factionRoles) {
Discord.mainGuild.getController().addSingleRoleToMember(m, Discord.createFactionRole(faction.getTag())).queue();
}
if (Conf.leaderRoles && Discord.leader != null) {
Discord.mainGuild.getController().addSingleRoleToMember(m, Discord.leader).queue();
}
if (Conf.factionDiscordTags) {
Discord.mainGuild.getController().setNickname(m, Discord.getNicknameString(context.fPlayer)).queue();
}
}
} catch (HierarchyException e) {
System.out.print(e.getMessage());
}
//End Discord
context.msg(TL.COMMAND_CREATE_YOUSHOULD, FactionsPlugin.getInstance().cmdBase.cmdDescription.getUsageTemplate(context));
if (Conf.econEnabled) Econ.setBalance(faction.getAccountId(), Conf.econFactionStartingBalance);
if (Conf.logFactionCreate)

View File

@ -0,0 +1,69 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.discord.DiscordSetupAttempt;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
public class CmdDebug extends FCommand {
public CmdDebug() {
super();
this.aliases.add("debug");
this.requirements = new CommandRequirements.Builder(Permission.DEBUG).build();
}
@Override
public void perform(CommandContext context) {
FactionsPlugin.getInstance().divider();
System.out.print("----------Debug Info----------");
System.out.print("-------Main-------");
System.out.print("Server Version: " + FactionsPlugin.getInstance().getServer().getVersion());
System.out.print("Server Bukkit Version: " + FactionsPlugin.getInstance().getServer().getBukkitVersion());
System.out.print("SaberFactions Version: " + FactionsPlugin.getInstance().getDescription().getVersion());
System.out.print("Is Beta Version: " + (FactionsPlugin.getInstance().getDescription().getFullName().contains("BETA") ? "True" : "False"));
System.out.print("Players Online: " + Bukkit.getOnlinePlayers().size());
System.out.print("------Command------");
System.out.print("Discord Commands: " + FCmdRoot.instance.discordEnabled);
System.out.print("Check/WeeWoo Commands: " + FCmdRoot.instance.checkEnabled);
System.out.print("Mission Command: " + FCmdRoot.instance.missionsEnabled);
System.out.print("Shop Command: " + FCmdRoot.instance.fShopEnabled);
System.out.print("Inventory See Command: " + FCmdRoot.instance.invSeeEnabled);
System.out.print("Points Command: " + FCmdRoot.instance.fPointsEnabled);
System.out.print("Alts Command: " + FCmdRoot.instance.fAltsEnabled);
System.out.print("Grace Command: " + FCmdRoot.instance.fGraceEnabled);
System.out.print("Focus Command: " + FCmdRoot.instance.fFocusEnabled);
System.out.print("Fly Command: " + FCmdRoot.instance.fFlyEnabled);
System.out.print("PayPal Commands: " + FCmdRoot.instance.fPayPalEnabled);
System.out.print("Inspect Command: " + FCmdRoot.instance.coreProtectEnabled);
System.out.print("Internal FTOP Command: " + FCmdRoot.instance.internalFTOPEnabled);
System.out.print("----End Command----");
System.out.print("-----End Main-----");
System.out.print("------Discord------");
System.out.print("Discord Integration enabled in config: " + Discord.confUseDiscord);
System.out.print("Discord Integration enabled: " + Discord.useDiscord);
System.out.print("Setup attempts: " + Discord.setupLog.size());
System.out.print("FPlayers waiting to link: " + Discord.waitingLink.size());
System.out.print("Bot Token: " + (Discord.botToken == "<token here>" ? "Not Set" : "Set"));
System.out.print("JDA Null: " + (Discord.jda == null ? "True" : "False"));
System.out.print("Main Guild ID: " + Discord.mainGuildID);
System.out.print("Main Guild Null: " + (Discord.mainGuild == null ? "True" : "False"));
System.out.print("Emotes enabled: " + Discord.useEmotes);
System.out.print("Leader role null: " + (Discord.leader == null ? "True" : "False"));
System.out.print("Attempt Log:");
for (DiscordSetupAttempt d : Discord.setupLog) {
System.out.print(d.getDifferentialFormatted() + " " + d.getSuccess() + " " + d.getReason());
}
System.out.print("End Attempt Log");
System.out.print("----End Discord----");
System.out.print("--------End Debug Info--------");
FactionsPlugin.getInstance().divider();
context.fPlayer.msg(TL.COMMAND_DEBUG_PRINTED);
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_DEBUG_DESCRIPTION;
}
}

View File

@ -3,10 +3,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import mkremins.fanciful.FancyMessage;
@ -14,43 +11,25 @@ import org.bukkit.ChatColor;
public class CmdDeinvite extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdDeinvite() {
super();
this.aliases.add("deinvite");
this.aliases.add("deinv");
this.aliases.addAll(Aliases.deinvite);
this.optionalArgs.put("player name", "name");
this.requirements = new CommandRequirements.Builder(Permission.DEINVITE)
.withAction(PermissableAction.INVITE)
.memberOnly()
.build();
}
@Override
public void perform(CommandContext context) {
// Check if arg 0 == null do you don't have
// `No player "null" could be found.` message.
if (context.args.get(0) == null) {
FancyMessage msg = new FancyMessage(TL.COMMAND_DEINVITE_CANDEINVITE.toString()).color(ChatColor.GOLD);
for (String id : context.faction.getInvites()) {
FPlayer fp = FPlayers.getInstance().getById(id);
String name = fp != null ? fp.getName() : id;
msg.then(name + " ").color(ChatColor.WHITE).tooltip(TL.COMMAND_DEINVITE_CLICKTODEINVITE.format(name)).command("/" + Conf.baseCommandAliases.get(0) + " deinvite " + name);
}
context.sendFancyMessage(msg);
return;
}
FPlayer you = context.argAsBestFPlayerMatch(0);
if (!context.fPlayer.isAdminBypassing()) {
Access access = context.faction.getAccess(context.fPlayer, PermissableAction.INVITE);
if (access != Access.ALLOW && context.fPlayer.getRole() != Role.LEADER) {
context.msg(TL.GENERIC_FPERM_NOPERMISSION, "manage invites");
return;
}
}
if (you == null) {
FancyMessage msg = new FancyMessage(TL.COMMAND_DEINVITE_CANDEINVITE.toString()).color(ChatColor.GOLD);
for (String id : context.faction.getInvites()) {
@ -64,7 +43,7 @@ public class CmdDeinvite extends FCommand {
if (you.getFaction() == context.faction) {
context.msg(TL.COMMAND_DEINVITE_ALREADYMEMBER, you.getName(), context.faction.getTag());
context.msg(TL.COMMAND_DEINVITE_MIGHTWANT, FactionsPlugin.getInstance().cmdBase.cmdKick.getUsageTemplate(context));
context.msg(TL.COMMAND_DEINVITE_MIGHTWANT, FCmdRoot.instance.cmdKick.getUsageTemplate(context));
return;
}

View File

@ -7,11 +7,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdDelFWarp extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdDelFWarp() {
super();
this.aliases.add("delwarp");
this.aliases.add("dw");
this.aliases.add("deletewarp");
this.aliases.addAll(Aliases.deletefwarp);
this.requiredArgs.add("warp name");
this.requirements = new CommandRequirements.Builder(Permission.SETWARP)

View File

@ -0,0 +1,51 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
/**
* Factions - Developed by Driftay.
* All rights reserved 2020.
* Creation Date: 3/24/2020
*/
public class CmdDelHome extends FCommand {
public CmdDelHome() {
this.aliases.addAll(Aliases.delfHome);
this.requirements = new CommandRequirements.Builder(Permission.DELHOME)
.memberOnly()
.withAction(PermissableAction.SETHOME)
.build();
}
@Override
public void perform(CommandContext context) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
//Check if homes are enabled
if (!Conf.homesEnabled) {
context.msg(TL.COMMAND_SETHOME_DISABLED);
return;
}
//If They Don't Have Home
if (!context.faction.hasHome()) {
context.msg(TL.COMMAND_HOME_NOHOME.toString());
context.msg(FactionsPlugin.getInstance().cmdBase.cmdSethome.getUsageTemplate(context));
return;
}
context.faction.deleteHome();
context.faction.msg(TL.COMMAND_DELHOME_SUCCESS, context.fPlayer.describeTo(context.faction, true));
});
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_DELHOME_DESCRIPTION;
}
}

View File

@ -3,16 +3,22 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.TextUtil;
import org.bukkit.Bukkit;
public class CmdDescription extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdDescription() {
super();
this.aliases.add("desc");
this.aliases.add("description");
this.aliases.addAll(Aliases.description);
this.requiredArgs.add("desc");
@ -25,26 +31,29 @@ public class CmdDescription extends FCommand {
@Override
public void perform(CommandContext context) {
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
if (!context.payForCommand(Conf.econCostDesc, TL.COMMAND_DESCRIPTION_TOCHANGE, TL.COMMAND_DESCRIPTION_FORCHANGE)) {
return;
}
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
if (!context.payForCommand(Conf.econCostDesc, TL.COMMAND_DESCRIPTION_TOCHANGE, TL.COMMAND_DESCRIPTION_FORCHANGE)) {
return;
}
// since "&" color tags seem to work even through plain old FPlayer.sendMessage() for some reason, we need to break those up
// And replace all the % because it messes with string formatting and this is easy way around that.
context.faction.setDescription(TextUtil.implode(context.args, " ").replaceAll("%", "").replaceAll("(&([a-f0-9klmnor]))", "& $2"));
// since "&" color tags seem to work even through plain old FPlayer.sendMessage() for some reason, we need to break those up
// And replace all the % because it messes with string formatting and this is easy way around that.
String desc = TextUtil.implode(context.args, " ").replaceAll("%", "").replaceAll("(&([a-f0-9klmnor]))", "& $2");
context.faction.setDescription(desc);
Bukkit.getScheduler().scheduleSyncDelayedTask(FactionsPlugin.instance, () -> FactionsPlugin.instance.logFactionEvent(context.faction, FLogType.FDESC_EDIT, context.fPlayer.getName(), desc));
if (!Conf.broadcastDescriptionChanges) {
context.msg(TL.COMMAND_DESCRIPTION_CHANGED, context.faction.describeTo(context.fPlayer));
context.sendMessage(context.faction.getDescription());
return;
}
if (!Conf.broadcastDescriptionChanges) {
context.msg(TL.COMMAND_DESCRIPTION_CHANGED, context.faction.describeTo(context.fPlayer));
context.sendMessage(context.faction.getDescription());
return;
}
// Broadcast the description to everyone
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
fplayer.msg(TL.COMMAND_DESCRIPTION_CHANGES, context.faction.describeTo(fplayer));
fplayer.sendMessage(context.faction.getDescription()); // players can inject "&" or "`" or "<i>" or whatever in their description; &k is particularly interesting looking
}
// Broadcast the description to everyone
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
fplayer.msg(TL.COMMAND_DESCRIPTION_CHANGES, context.faction.describeTo(fplayer));
fplayer.sendMessage(context.faction.getDescription()); // players can inject "&" or "`" or "<i>" or whatever in their description; &k is particularly interesting looking
}
});
}
@Override

View File

@ -4,35 +4,38 @@ import com.massivecraft.factions.*;
import com.massivecraft.factions.event.FactionDisbandEvent.PlayerDisbandReason;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.UtilFly;
import com.massivecraft.factions.util.Cooldown;
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.frame.fdisband.FDisbandFrame;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.command.ConsoleCommandSender;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
public class CmdDisband extends FCommand {
/**
* @author FactionsUUID Team
*/
private static HashMap<String, String> disbandMap = new HashMap<>();
public CmdDisband() {
super();
this.aliases.add("disband");
this.aliases.addAll(Aliases.disband);
this.optionalArgs.put("faction tag", "yours");
this.requirements = new CommandRequirements.Builder(Permission.DISBAND)
.build();
}
@Override
public void perform(CommandContext context) {
long time;
// The faction, default to your own.. but null if console sender.
Faction faction = context.argAsFaction(0, context.fPlayer == null ? null : context.faction);
if (faction == null) return;
@ -40,9 +43,7 @@ public class CmdDisband extends FCommand {
boolean isMyFaction = context.fPlayer != null && faction == context.faction;
if (!isMyFaction) {
if (!Permission.DISBAND_ANY.has(context.sender, true)) {
return;
}
if (!Permission.DISBAND_ANY.has(context.sender, true)) return;
}
@ -69,6 +70,26 @@ public class CmdDisband extends FCommand {
return;
}
if (Cooldown.isOnCooldown(context.fPlayer.getPlayer(), "disbandCooldown") && !context.fPlayer.isAdminBypassing()) {
context.msg(TL.COMMAND_COOLDOWN);
return;
}
boolean access = false;
if (context.fPlayer.getPlayer().hasMetadata("disband_confirm") && (time = context.fPlayer.getPlayer().getMetadata("disband_confirm").get(0).asLong()) != 0L && System.currentTimeMillis() - time <= TimeUnit.SECONDS.toMillis(3L)) {
access = true;
}
if (!access) {
if (Conf.useDisbandGUI && (!context.fPlayer.isAdminBypassing() || !context.player.isOp())) {
if (!disbandMap.containsKey(context.player.getUniqueId().toString())) {
new FDisbandFrame(context.faction).buildGUI(context.fPlayer);
return;
}
}
}
// check for tnt before disbanding.
if (!disbandMap.containsKey(context.player.getUniqueId().toString()) && faction.getTnt() > 0) {
context.msg(TL.COMMAND_DISBAND_CONFIRM.toString().replace("{tnt}", faction.getTnt() + ""));
@ -78,18 +99,17 @@ public class CmdDisband extends FCommand {
if (FactionsPlugin.getInstance().getConfig().getBoolean("faction-disband-broadcast", true)) {
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers()) {
String amountString = context.sender instanceof ConsoleCommandSender ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(follower);
UtilFly.checkFly(context.fPlayer, Board.getInstance().getFactionAt(new FLocation(follower)));
if (follower.getFaction() == faction) {
follower.msg(TL.COMMAND_DISBAND_BROADCAST_YOURS, amountString);
} else {
follower.msg(TL.COMMAND_DISBAND_BROADCAST_NOTYOURS, amountString, faction.getTag(follower));
}
}
faction.disband(context.player, PlayerDisbandReason.COMMAND);
} else {
faction.disband(context.player, PlayerDisbandReason.COMMAND);
context.player.sendMessage(String.valueOf(TL.COMMAND_DISBAND_PLAYER));
}
faction.disband(context.player, PlayerDisbandReason.COMMAND);
Cooldown.setCooldown(context.fPlayer.getPlayer(), "disbandCooldown", FactionsPlugin.getInstance().getConfig().getInt("fcooldowns.f-disband"));
}
}

View File

@ -0,0 +1,45 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
import java.util.Random;
/**
* @author SaberTeam
*/
public class CmdDiscord extends FCommand {
public CmdDiscord() {
super();
this.aliases.addAll(Aliases.discord_discord);
this.requirements = new CommandRequirements.Builder(Permission.DISCORD)
.playerOnly()
.build();
}
@Override
public void perform(CommandContext context) {
if (context.fPlayer.discordSetup()) {
context.fPlayer.msg(TL.DISCORD_ALREADY_LINKED, context.fPlayer.discordUser().getName());
} else {
if (Discord.waitingLink.containsValue(context.fPlayer)) {
context.fPlayer.msg(TL.DISCORD_CODE_SENT, Discord.waitingLinkk.get(context.fPlayer), Discord.mainGuild.getSelfMember().getEffectiveName());
return;
}
Integer random = new Random().nextInt(9999);
while (Discord.waitingLink.containsValue(random)) {
random = new Random().nextInt(9999);
}
Discord.waitingLink.put(random, context.fPlayer);
Discord.waitingLinkk.put(context.fPlayer, random);
context.fPlayer.msg(TL.DISCORD_CODE_SENT, String.valueOf(random));
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_DISCORD_DESCRIPTION;
}
}

View File

@ -0,0 +1,63 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import java.text.DecimalFormat;
/**
* @author Saser
*/
public class CmdDrain extends FCommand {
public CmdDrain() {
this.aliases.addAll(Aliases.drain);
this.requirements = new CommandRequirements.Builder(Permission.DRAIN)
.playerOnly()
.memberOnly()
.withAction(PermissableAction.DRAIN)
.build();
}
@Override
public void perform(CommandContext context) {
if (!Conf.factionsDrainEnabled) {
context.fPlayer.msg(TL.GENERIC_DISABLED, "Factions Drain");
return;
}
double totalBalance = 0;
for (FPlayer fPlayer : context.faction.getFPlayers()) {
if (context.faction.getFPlayers().size() == 1) {
context.fPlayer.msg(TL.COMMAND_DRAIN_NO_PLAYERS);
return;
}
if (FPlayers.getInstance().getByPlayer(context.player).equals(fPlayer)) {
continue; // skip the command executor
}
double balance = FactionsPlugin.getInstance().getEcon().getBalance(fPlayer.getPlayer());
if (balance > 0) {
FactionsPlugin.getInstance().getEcon().depositPlayer(context.player, balance);
FactionsPlugin.getInstance().getEcon().withdrawPlayer(fPlayer.getPlayer(), balance);
totalBalance = (totalBalance + balance);
}
}
context.fPlayer.msg(TL.COMMAND_DRAIN_RECIEVED_AMOUNT, commas(totalBalance));
}
public String commas(final double amount) {
final DecimalFormat formatter = new DecimalFormat("#,###.00");
return formatter.format(amount);
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_DRAIN_DESCRIPTION;
}
}

View File

@ -9,13 +9,15 @@ import java.util.UUID;
public class CmdFGlobal extends FCommand {
/**
* @author Trent
*/
public static List<UUID> toggled = new ArrayList<>();
public CmdFGlobal() {
super();
this.aliases.add("gchat");
this.aliases.add("global");
this.aliases.add("globalchat");
this.aliases.addAll(Aliases.global);
this.requirements = new CommandRequirements.Builder(Permission.GLOBALCHAT)
.playerOnly()

View File

@ -3,9 +3,9 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.FactionWarpsFrame;
import com.massivecraft.factions.util.WarmUpUtil;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.frame.fwarps.FactionWarpsFrame;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@ -14,10 +14,13 @@ import java.util.UUID;
public class CmdFWarp extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdFWarp() {
super();
this.aliases.add("warp");
this.aliases.add("warps");
this.aliases.addAll(Aliases.warp);
this.optionalArgs.put("warpname", "warpname");
this.optionalArgs.put("password", "password");

View File

@ -19,33 +19,34 @@ import java.util.concurrent.ConcurrentHashMap;
public class CmdFly extends FCommand {
public static final boolean fly = FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight");
/**
* @author FactionsUUID Team
*/
public static ConcurrentHashMap<String, Boolean> flyMap = new ConcurrentHashMap<>();
public static BukkitTask particleTask = null;
public static BukkitTask flyTask = null;
public CmdFly() {
super();
this.aliases.add("fly");
this.aliases.addAll(Aliases.fly);
this.optionalArgs.put("on/off", "flip");
this.requirements = new CommandRequirements.Builder(Permission.FLY)
this.requirements = new CommandRequirements.Builder(Permission.FLY_FLY)
.playerOnly()
.memberOnly()
.build();
}
public static void startParticles() {
particleTask = Bukkit.getScheduler().runTaskTimerAsynchronously(FactionsPlugin.instance, () -> {
for (String name : flyMap.keySet()) {
Player player = Bukkit.getPlayer(name);
if (player == null) continue;
if (!player.isFlying()) continue;
if (!FactionsPlugin.getInstance().mc17) {
if (player.getGameMode() == GameMode.SPECTATOR) continue;
}
if (!FactionsPlugin.getInstance().mc17 && player.getGameMode() == GameMode.SPECTATOR) continue;
FPlayer fplayer = FPlayers.getInstance().getByPlayer(player);
fplayer.isVanished();
@ -57,120 +58,73 @@ public class CmdFly extends FCommand {
}, 10L, 3L);
}
public static void startFlyCheck() {
flyTask = Bukkit.getScheduler().runTaskTimerAsynchronously(FactionsPlugin.instance, () -> {
checkTaskState();
if (flyMap.keySet().size() != 0) {
for (String name : flyMap.keySet()) {
if (name == null) {
continue;
}
Player player = Bukkit.getPlayer(name);
if (player == null
|| !player.isFlying()
|| player.getGameMode() == GameMode.CREATIVE
|| !FactionsPlugin.getInstance().mc17 && player.getGameMode() == GameMode.SPECTATOR) {
continue;
}
FPlayer fPlayer = FPlayers.getInstance().getByPlayer(player);
Faction myFaction = fPlayer.getFaction();
if (myFaction.isWilderness()) {
fPlayer.setFlying(false);
flyMap.remove(name);
continue;
}
if (player.hasPermission("factions.fly.bypassnearbyenemycheck") || fPlayer.checkIfNearbyEnemies()) {
continue;
}
FLocation myFloc = new FLocation(player.getLocation());
if (Board.getInstance().getFactionAt(myFloc) != myFaction) {
if (!checkBypassPerms(fPlayer, player, Board.getInstance().getFactionAt(myFloc))) {
Bukkit.getScheduler().runTask(FactionsPlugin.instance, () -> fPlayer.setFFlying(false, false));
flyMap.remove(name);
}
}
public static boolean checkBypassPerms(FPlayer fme, Player me, Faction toFac, boolean sendMessage) {
if (Conf.denyFlightIfInNoClaimingWorld && !Conf.worldsNoClaiming.isEmpty() && Conf.worldsNoClaiming.stream().anyMatch(me.getWorld().getName()::equalsIgnoreCase))
return false;
}
}
}, 20L, 20L);
}
public static boolean checkBypassPerms(FPlayer fme, Player me, Faction toFac) {
if (toFac != fme.getFaction()) {
if (!me.hasPermission(Permission.FLY_WILD.node) && toFac.isWilderness() || !me.hasPermission(Permission.FLY_SAFEZONE.node) && toFac.isSafeZone() || !me.hasPermission(Permission.FLY_WARZONE.node) && toFac.isWarZone()) {
fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
if (!me.hasPermission(Permission.FLY_WILDERNESS.node) && toFac.isWilderness() || !me.hasPermission(Permission.FLY_SAFEZONE.node) && toFac.isSafeZone() || !me.hasPermission(Permission.FLY_WARZONE.node) && toFac.isWarZone()) {
if (sendMessage) fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
return false;
}
Access access = toFac.getAccess(fme, PermissableAction.FLY);
if ((!(me.hasPermission(Permission.FLY_ENEMY.node) || access == Access.ALLOW)) && toFac.getRelationTo(fme.getFaction()) == Relation.ENEMY) {
fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
if (sendMessage) fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
return false;
}
if (!(me.hasPermission(Permission.FLY_ALLY.node) || access == Access.ALLOW) && toFac.getRelationTo(fme.getFaction()) == Relation.ALLY) {
fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
if (sendMessage) fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
return false;
}
if (!(me.hasPermission(Permission.FLY_TRUCE.node) || access == Access.ALLOW) && toFac.getRelationTo(fme.getFaction()) == Relation.TRUCE) {
fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
if (sendMessage) fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
return false;
}
if (!(me.hasPermission(Permission.FLY_NEUTRAL.node) || access == Access.ALLOW) && toFac.getRelationTo(fme.getFaction()) == Relation.NEUTRAL && !isSystemFaction(toFac)) {
fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
if (!(me.hasPermission(Permission.FLY_NEUTRAL.node) || access == Access.ALLOW) && toFac.getRelationTo(fme.getFaction()) == Relation.NEUTRAL && !toFac.isSystemFaction()) {
if (sendMessage) fme.msg(TL.COMMAND_FLY_NO_ACCESS, toFac.getTag(fme));
return false;
}
return me.hasPermission(Permission.FLY.node) && (access != Access.DENY || toFac.isSystemFaction());
return me.hasPermission(Permission.FLY_FLY.node) && (access != Access.DENY || toFac.isSystemFaction());
}
return true;
}
public static Boolean isSystemFaction(Faction faction) {
return faction.isSafeZone() ||
faction.isWarZone() ||
faction.isWilderness();
}
public static void checkTaskState() {
if (flyMap.isEmpty()) {
flyTask.cancel();
flyTask = null;
}
}
public static void disableFlight(final FPlayer fme) {
fme.setFlying(false);
flyMap.remove(fme.getPlayer().getName());
}
public boolean isInFlightChecker(Player player) {
return flyMap.containsKey(player.getName());
}
@Override
public void perform(CommandContext context) {
// Disabled by default.
if (!FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight", false)) {
context.fPlayer.msg(TL.COMMAND_FLY_DISABLED);
return;
}
if (!context.fPlayer.isAdminBypassing()) {
List<Entity> entities = context.player.getNearbyEntities(16.0D, 256.0D, 16.0D);
FLocation myfloc = new FLocation(context.player.getLocation());
Faction toFac = Board.getInstance().getFactionAt(myfloc);
if (!checkBypassPerms(context.fPlayer, context.player, toFac)) return;
List<Entity> entities = context.player.getNearbyEntities(16.0D, 256.0D, 16.0D);
for (int i = 0; i <= entities.size() - 1; ++i) {
if (entities.get(i) instanceof Player) {
Player eplayer = (Player) entities.get(i);
FPlayer efplayer = FPlayers.getInstance().getByPlayer(eplayer);
if (efplayer.getRelationTo(context.fPlayer) == Relation.ENEMY && !efplayer.isStealthEnabled()) {
context.msg(TL.COMMAND_FLY_CHECK_ENEMY);
return;
for (int i = 0; i <= entities.size() - 1; ++i) {
if (entities.get(i) instanceof Player) {
Player eplayer = (Player) entities.get(i);
FPlayer efplayer = FPlayers.getInstance().getByPlayer(eplayer);
if (efplayer.getRelationTo(context.fPlayer) == Relation.ENEMY && !efplayer.isStealthEnabled()) {
context.msg(TL.COMMAND_FLY_CHECK_ENEMY);
return;
}
context.fPlayer.setEnemiesNearby(false);
}
}
}
FLocation myfloc = new FLocation(context.player.getLocation());
Faction toFac = Board.getInstance().getFactionAt(myfloc);
if (!checkBypassPerms(context.fPlayer, context.player, toFac, false)) {
context.fPlayer.sendMessage(TL.COMMAND_FLY_NO_ACCESS.format(toFac.getTag()));
return;
}
}
if (context.args.size() == 0) {
toggleFlight(context.fPlayer.isFlying(), context.fPlayer, context);
@ -186,19 +140,15 @@ public class CmdFly extends FCommand {
return;
}
if (fme.canFlyAtLocation())
if (fme.canFlyAtLocation()) {
context.doWarmUp(WarmUpUtil.Warmup.FLIGHT, TL.WARMUPS_NOTIFY_FLIGHT, "Fly", () -> {
fme.setFlying(true);
flyMap.put(fme.getPlayer().getName(), true);
if (particleTask == null) {
startParticles();
}
if (flyTask == null) {
startFlyCheck();
}
if (particleTask == null) startParticles();
}, FactionsPlugin.getInstance().getConfig().getLong("warmups.f-fly", 0));
} else {
fme.msg(TL.COMMAND_FLY_NO_ACCESS, Board.getInstance().getFactionAt(fme.getLastStoodAt()).getTag());
}
}
@Override

View File

@ -7,8 +7,13 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
public class CmdFocus extends FCommand {
/**
* @author Driftay
*/
public CmdFocus() {
aliases.add("focus");
aliases.addAll(Aliases.focus);
requiredArgs.add("player");
@ -21,7 +26,7 @@ public class CmdFocus extends FCommand {
@Override
public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("ffocus.Enabled")) {
context.msg(TL.GENERIC_DISABLED);
context.msg(TL.GENERIC_DISABLED, "Faction Focus");
return;
}
FPlayer target = context.argAsFPlayer(0);

View File

@ -0,0 +1,44 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
/**
* Factions - Developed by Driftay.
* All rights reserved 2020.
* Creation Date: 4/6/2020
*/
public class CmdFriendlyFire extends FCommand {
public CmdFriendlyFire() {
super();
this.aliases.addAll(Aliases.friendlyFire);
this.requirements = new CommandRequirements.Builder(Permission.FRIENDLYFIRE)
.playerOnly()
.memberOnly()
.build();
}
@Override
public void perform(CommandContext context) {
if (!Conf.friendlyFireFPlayersCommand) {
context.msg(TL.GENERIC_DISABLED, "friendly fire");
return;
}
if (context.fPlayer.hasFriendlyFire()) {
context.fPlayer.setFriendlyFire(false);
context.msg(TL.COMMAND_FRIENDLY_FIRE_TOGGLE_OFF);
} else {
context.fPlayer.setFriendlyFire(true);
context.msg(TL.COMMAND_FRIENDLY_FIRE_TOGGLE_ON);
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_FRIENDLY_FIRE_DESCRIPTION;
}
}

View File

@ -2,16 +2,21 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.ItemBuilder;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
public class CmdGetVault extends FCommand {
/**
* @author Illyria Team
*/
public CmdGetVault() {
super();
this.aliases.add("getvault");
this.aliases.addAll(Aliases.getvault);
this.requirements = new CommandRequirements.Builder(Permission.GETVAULT)
.playerOnly()
@ -22,12 +27,16 @@ public class CmdGetVault extends FCommand {
@Override
public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fvault.Enabled")) {
context.fPlayer.sendMessage("This command is disabled!");
context.fPlayer.msg(TL.GENERIC_DISABLED, "Faction Vaults");
return;
}
Location vaultLocation = context.faction.getVault();
ItemStack vault = FactionsPlugin.getInstance().createItem(Material.CHEST, 1, (short) 0, FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fvault.Item.Name")), FactionsPlugin.getInstance().colorList(FactionsPlugin.getInstance().getConfig().getStringList("fvault.Item.Lore")));
Location vaultLocation = context.faction.getVault();
ItemStack vault = new ItemBuilder(Material.CHEST)
.amount(1)
.name(FactionsPlugin.getInstance().getConfig().getString("fvault.Item.Name"))
.lore(FactionsPlugin.getInstance().getConfig().getStringList("fvault.Item.Lore"))
.build();
//check if vault is set
if (vaultLocation != null) {
@ -35,14 +44,12 @@ public class CmdGetVault extends FCommand {
return;
}
//has enough money?
int amount = FactionsPlugin.getInstance().getConfig().getInt("fvault.Price");
if (!context.fPlayer.hasMoney(amount)) {
return;
}
//success :)
context.fPlayer.takeMoney(amount);
context.player.getInventory().addItem(vault);
@ -50,19 +57,6 @@ public class CmdGetVault extends FCommand {
}
public boolean inventoryContains(Inventory inventory, ItemStack item) {
int count = 0;
ItemStack[] items = inventory.getContents();
for (int i = 0; i < items.length; i++) {
if (items[i] != null && items[i].getType() == item.getType() && items[i].getDurability() == item.getDurability()) {
count += items[i].getAmount();
}
if (count >= item.getAmount()) {
return true;
}
}
return false;
}
@Override
public TL getUsageTranslation() {

View File

@ -13,13 +13,16 @@ import java.util.List;
public class CmdHelp extends FCommand {
/**
* @author FactionsUUID Team
*/
public ArrayList<ArrayList<String>> helpPages;
//TODO: Add Help GUI
public CmdHelp() {
super();
this.aliases.add("help");
this.aliases.add("h");
this.aliases.add("?");
this.aliases.addAll(Aliases.help);
//this.requiredArgs.add("");
this.optionalArgs.put("page", "1");

View File

@ -20,9 +20,13 @@ import java.util.List;
public class CmdHome extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdHome() {
super();
this.aliases.add("home");
this.aliases.addAll(Aliases.home);
this.optionalArgs.put("faction", "yours");
this.requirements = new CommandRequirements.Builder(Permission.HOME)

View File

@ -1,14 +1,18 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
public class CmdInspect extends FCommand {
/**
* @author Illyria Team
*/
public CmdInspect() {
super();
this.aliases.add("inspect");
this.aliases.add("ins");
this.aliases.addAll(Aliases.inspect);
this.requirements = new CommandRequirements.Builder(Permission.INSPECT)
.playerOnly()
.memberOnly()
@ -18,6 +22,11 @@ public class CmdInspect extends FCommand {
@Override
public void perform(CommandContext context) {
if (!Conf.useInspectSystem) {
context.fPlayer.msg(TL.GENERIC_DISABLED, "Faction Inspection");
return;
}
if (context.fPlayer.isInspectMode()) {
context.fPlayer.setInspectMode(false);
context.msg(TL.COMMAND_INSPECT_DISABLED_MSG);

View File

@ -16,11 +16,14 @@ import java.util.Objects;
public class CmdInventorySee extends FCommand {
/**
* @author Driftay
*/
public CmdInventorySee() {
super();
this.aliases.add("invsee");
this.aliases.add("inventorysee");
this.aliases.addAll(Aliases.invsee);
this.requiredArgs.add("member name");
@ -32,7 +35,7 @@ public class CmdInventorySee extends FCommand {
@Override
public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("f-inventory-see.Enabled")) {
context.msg(TL.GENERIC_DISABLED);
context.msg(TL.GENERIC_DISABLED, "Inventory See");
return;
}

View File

@ -3,18 +3,22 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.CC;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import mkremins.fanciful.FancyMessage;
import org.bukkit.ChatColor;
public class CmdInvite extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdInvite() {
super();
this.aliases.add("invite");
this.aliases.add("inv");
this.aliases.addAll(Aliases.invite);
this.requiredArgs.add("player name");
@ -55,20 +59,16 @@ public class CmdInvite extends FCommand {
// Send the invitation to the target player when online, otherwise just ignore
if (target.isOnline()) {
// Tooltips, colors, and commands only apply to the string immediately before it.
FancyMessage message = new FancyMessage(context.fPlayer.describeTo(target, true))
FancyMessage message = new FancyMessage(TL.COMMAND_INVITE_INVITEDYOU.toString()
.replace("%1$s", context.fPlayer.describeTo(target, true))
.replace("%2$s", context.faction.getTag())
.replaceAll("&", "§"))
.tooltip(TL.COMMAND_INVITE_CLICKTOJOIN.toString())
.command("/" + Conf.baseCommandAliases.get(0) + " join " + context.faction.getTag())
.then(TL.COMMAND_INVITE_INVITEDYOU.toString())
.color(ChatColor.YELLOW)
.tooltip(TL.COMMAND_INVITE_CLICKTOJOIN.toString())
.command("/" + Conf.baseCommandAliases.get(0) + " join " + context.faction.getTag())
.then(context.faction.describeTo(target)).tooltip(TL.COMMAND_INVITE_CLICKTOJOIN.toString())
.command("/" + Conf.baseCommandAliases.get(0) + " join " + context.faction.getTag());
message.send(target.getPlayer());
}
context.faction.msg(TL.COMMAND_INVITE_INVITED, context.fPlayer.describeTo(context.faction, true), target.describeTo(context.faction));
FactionsPlugin.instance.logFactionEvent(context.faction, FLogType.INVITES, context.fPlayer.getName(), CC.Green + "invited", target.getName());
}
@Override

View File

@ -3,7 +3,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.*;
import com.massivecraft.factions.event.FPlayerJoinEvent;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.fupgrades.UpgradeType;
import com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
@ -11,7 +11,7 @@ public class CmdJoin extends FCommand {
public CmdJoin() {
super();
this.aliases.add("join");
this.aliases.addAll(Aliases.join);
this.requiredArgs.add("faction name");
this.optionalArgs.put("player", "you");
@ -45,7 +45,7 @@ public class CmdJoin extends FCommand {
return;
}
if (Conf.factionMemberLimit > 0 && faction.getFPlayers().size() >= getFactionMemberLimit(faction)) {
if (!faction.altInvited(fplayer) && Conf.factionMemberLimit > 0 && faction.getFPlayers().size() >= getFactionMemberLimit(faction)) {
context.msg(TL.COMMAND_JOIN_ATLIMIT, faction.getTag(context.fPlayer), getFactionMemberLimit(faction), fplayer.describeTo(context.fPlayer, false));
return;
}
@ -120,16 +120,16 @@ public class CmdJoin extends FCommand {
if (Conf.logFactionJoin) {
if (samePlayer) {
FactionsPlugin.getInstance().log(TL.COMMAND_JOIN_JOINEDLOG.toString(), fplayer.getName(), faction.getTag());
FactionsPlugin.instance.log(TL.COMMAND_JOIN_JOINEDLOG.toString(), fplayer.getName(), faction.getTag());
} else {
FactionsPlugin.getInstance().log(TL.COMMAND_JOIN_MOVEDLOG.toString(), context.fPlayer.getName(), fplayer.getName(), faction.getTag());
FactionsPlugin.instance.log(TL.COMMAND_JOIN_MOVEDLOG.toString(), context.fPlayer.getName(), fplayer.getName(), faction.getTag());
}
}
}
private int getFactionMemberLimit(Faction f) {
if (f.getUpgrade(UpgradeType.MEMBERS) == 0) return Conf.factionMemberLimit;
return Conf.factionMemberLimit + FactionsPlugin.getInstance().getConfig().getInt("fupgrades.MainMenu.Members.Member-Boost.level-" + f.getUpgrade(UpgradeType.MEMBERS));
return Conf.factionMemberLimit + FactionsPlugin.getInstance().getConfig().getInt("fupgrades.MainMenu.Members.Members-Limit.level-" + f.getUpgrade(UpgradeType.MEMBERS));
}
@Override

View File

@ -4,9 +4,11 @@ import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.event.FPlayerLeaveEvent;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.CC;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import mkremins.fanciful.FancyMessage;
@ -16,9 +18,13 @@ import org.bukkit.command.ConsoleCommandSender;
public class CmdKick extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdKick() {
super();
this.aliases.add("kick");
this.aliases.addAll(Aliases.kick);
this.optionalArgs.put("player name", "player name");
this.requirements = new CommandRequirements.Builder(Permission.KICK)
@ -109,6 +115,7 @@ public class CmdKick extends FCommand {
toKickFaction.msg(TL.COMMAND_KICK_FACTION, context.fPlayer.describeTo(toKickFaction, true), toKick.describeTo(toKickFaction, true));
toKick.msg(TL.COMMAND_KICK_KICKED, context.fPlayer.describeTo(toKick, true), toKickFaction.describeTo(toKick));
if (toKickFaction != context.faction) {
context.fPlayer.msg(TL.COMMAND_KICK_KICKS, toKick.describeTo(context.fPlayer), toKickFaction.describeTo(context.fPlayer));
}
@ -118,8 +125,12 @@ public class CmdKick extends FCommand {
if (toKick.getRole() == Role.LEADER) {
toKickFaction.promoteNewLeader();
}
FactionsPlugin.instance.logFactionEvent(toKickFaction, FLogType.INVITES, context.fPlayer.getName(), CC.Red + "kicked", toKick.getName());
toKickFaction.deinvite(toKick);
toKick.resetFactionData();
if (!CmdFly.checkBypassPerms(toKick, toKick.getPlayer(), toKickFaction, false)) {
CmdFly.disableFlight(toKick);
}
}
@Override

View File

@ -4,9 +4,14 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
public class CmdKillHolograms extends FCommand {
/**
* @author Illyria Team
*/
public CmdKillHolograms() {
super();
this.aliases.add("killholos");
this.aliases.addAll(Aliases.killholograms);
this.requiredArgs.add("radius");
this.requirements = new CommandRequirements.Builder(Permission.KILLHOLOS)

View File

@ -5,9 +5,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdLeave extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdLeave() {
super();
this.aliases.add("leave");
this.aliases.addAll(Aliases.leave);
this.requirements = new CommandRequirements.Builder(Permission.LEAVE)
.playerOnly()

View File

@ -14,12 +14,15 @@ import java.util.List;
public class CmdList extends FCommand {
/**
* @author FactionsUUID Team
*/
private String[] defaults = new String[3];
public CmdList() {
super();
this.aliases.add("list");
this.aliases.add("ls");
this.aliases.addAll(Aliases.list);
// default values in case user has old config
defaults[0] = "&e&m----------&r&e[ &2Faction List &9{pagenumber}&e/&9{pagecount} &e]&m----------";
@ -96,6 +99,7 @@ public class CmdList extends FCommand {
String header = FactionsPlugin.getInstance().getConfig().getString("list.header", defaults[0]);
assert header != null;
header = header.replace("{pagenumber}", String.valueOf(pagenumber)).replace("{pagecount}", String.valueOf(pagecount));
lines.add(FactionsPlugin.getInstance().txt.parse(header));

View File

@ -6,19 +6,23 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdLock extends FCommand {
/**
* @author FactionsUUID Team
*/
// TODO: This solution needs refactoring.
/*
factions.lock:
description: use the /f lock [on/off] command to temporarily lock the data files from being overwritten
default: op
*/
public CmdLock() {
super();
this.aliases.add("lock");
this.aliases.addAll(Aliases.lock);
this.optionalArgs.put("on/off", "flip");
this.requirements = new CommandRequirements.Builder(Permission.LOCK)
.noDisableOnLock()
.build();
}

View File

@ -5,12 +5,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdLogins extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdLogins() {
super();
this.aliases.add("login");
this.aliases.add("logins");
this.aliases.add("logout");
this.aliases.add("logouts");
this.aliases.addAll(Aliases.logins);
this.requirements = new CommandRequirements.Builder(Permission.MONITOR_LOGINS)
.playerOnly()

View File

@ -0,0 +1,54 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Board;
import com.massivecraft.factions.FLocation;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
import java.text.DecimalFormat;
import java.util.Set;
/**
* @author Saser
*/
public class CmdLookup extends FCommand {
private DecimalFormat format = new DecimalFormat("#.#");
public CmdLookup() {
super();
this.aliases.addAll(Aliases.lookup);
this.requiredArgs.add("faction name");
this.requirements = new CommandRequirements.Builder(Permission.LOOKUP)
.playerOnly()
.build();
}
@Override
public void perform(CommandContext context) {
Faction faction = context.argAsFaction(0);
if (faction == null) {
context.msg(TL.COMMAND_LOOKUP_INVALID);
return;
}
if (faction.isNormal()) {
if (faction.getHome() != null) {
context.msg(TL.COMMAND_LOOKUP_FACTION_HOME, this.format.format(faction.getHome().getX()), this.format.format(faction.getHome().getY()), this.format.format(faction.getHome().getZ()));
}
Set<FLocation> locations = Board.getInstance().getAllClaims(faction);
context.msg(TL.COMMAND_LOOKUP_CLAIM_COUNT, locations.size(), faction.getTag());
for (FLocation flocation : locations) {
context.msg(TL.COMMAND_LOOKUP_CLAIM_LIST, flocation.getWorldName(), flocation.getX() * 16L, flocation.getZ() * 16L);
}
} else {
context.msg(TL.COMMAND_LOOKUP_ONLY_NORMAL);
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_LOOKUP_DESCRIPTION;
}
}

View File

@ -7,9 +7,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdLowPower extends FCommand {
/**
* @author Illyria Team
*/
public CmdLowPower() {
super();
this.aliases.add("lowpower");
this.aliases.addAll(Aliases.lowPower);
this.requirements = new CommandRequirements.Builder(Permission.POWER_ANY)
.playerOnly()

View File

@ -9,9 +9,13 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdMap extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdMap() {
super();
this.aliases.add("map");
this.aliases.addAll(Aliases.map_map);
this.optionalArgs.put("on/off", "once");
this.requirements = new CommandRequirements.Builder(Permission.MAP)

View File

@ -5,11 +5,14 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdMapHeight extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdMapHeight() {
super();
this.aliases.add("mapheight");
this.aliases.add("mh");
this.aliases.addAll(Aliases.map_height);
this.optionalArgs.put("height", "height");
this.requirements = new CommandRequirements.Builder(Permission.MAPHEIGHT)

View File

@ -3,6 +3,8 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.zcore.util.TL;
@ -11,12 +13,13 @@ import org.bukkit.ChatColor;
public class CmdMod extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdMod() {
super();
this.aliases.add("mod");
this.aliases.add("setmod");
this.aliases.add("officer");
this.aliases.add("setofficer");
this.aliases.addAll(Aliases.mod);
this.optionalArgs.put("player name", "name");
@ -47,6 +50,10 @@ public class CmdMod extends FCommand {
return;
}
if (you.isAlt()) {
return;
}
if (context.fPlayer != null && context.fPlayer.getRole() != Role.LEADER && !permAny) {
context.msg(TL.COMMAND_MOD_NOTADMIN);
return;
@ -72,6 +79,8 @@ public class CmdMod extends FCommand {
you.setRole(Role.MODERATOR);
targetFaction.msg(TL.COMMAND_MOD_PROMOTED, you.describeTo(targetFaction, true));
context.msg(TL.COMMAND_MOD_PROMOTES, you.describeTo(context.fPlayer, true));
FactionsPlugin.instance.getFlogManager().log(targetFaction, FLogType.RANK_EDIT, context.fPlayer.getName(), you.getName(), ChatColor.LIGHT_PURPLE + "Mod");
}
}

Some files were not shown because too many files have changed in this diff Show More