Compare commits

..

60 Commits

Author SHA1 Message Date
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
170 changed files with 2702 additions and 1406 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

@@ -2,7 +2,7 @@
![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)
SaberFactions is an exotic, performance optmized, 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.
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

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

20
pom.xml
View File

@@ -4,7 +4,7 @@
<groupId>com.massivecraft</groupId>
<artifactId>Factions</artifactId>
<version>1.6.9.5-2.2.8-RC</version>
<version>1.6.9.5-2.3.3-RC</version>
<packaging>jar</packaging>
<name>SaberFactions</name>
@@ -41,6 +41,14 @@
<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>
@@ -403,9 +411,19 @@
<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>

View File

@@ -1,7 +1,6 @@
package com.massivecraft.factions;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.massivecraft.factions.integration.dynmap.DynmapStyle;
import com.massivecraft.factions.util.XMaterial;
import com.massivecraft.factions.zcore.fperms.DefaultPermissions;
@@ -23,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
@@ -55,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;
@@ -87,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;
@@ -99,15 +101,32 @@ public class Conf {
public static boolean autoLeaveDeleteFPlayerData = true; // Let them just remove player from Faction.
public static boolean worldGuardChecking = false;
public static boolean worldGuardBuildPriority = false;
//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 useSealthSystem = true;
//STRIKES
public static boolean useStrikeSystem = true;
//DISCORD
public static boolean useDiscordSystem = false;
public static String discordBotToken = "<token here>";
@@ -123,7 +142,7 @@ public class Conf {
public static Boolean factionDiscordTags = false;
public static String factionTag = "(NAME) [FACTION]";
public static Boolean factionRoles = false;
public static List<Integer> factionRoleColor = new ArrayList<Integer>(){{
public static List<Integer> factionRoleColor = new ArrayList<Integer>() {{
add(25);
add(162);
add(203);
@@ -142,7 +161,6 @@ public class Conf {
public static boolean logPlayerCommands = true;
// prevent some potential exploits
public static boolean denyFlightIfInNoClaimingWorld = false;
public static boolean preventCreeperGlitch = true;
public static boolean handleExploitObsidianGenerators = true;
public static boolean handleExploitEnderPearlClipping = true;
public static boolean handleExploitInteractionSpam = true;
@@ -259,6 +277,7 @@ public class Conf {
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<>();
@@ -268,7 +287,7 @@ public class Conf {
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;
@@ -580,7 +599,9 @@ public class Conf {
FactionsPlugin.getInstance().persist.save(i);
}
public static void saveSync() { FactionsPlugin.instance.persist.saveSync(i); }
public static void saveSync() {
FactionsPlugin.instance.persist.saveSync(i);
}
public enum Backend {
JSON,

View File

@@ -14,6 +14,7 @@ import java.util.Set;
public class FLocation implements Serializable {
private static final long serialVersionUID = -8292915234027387983L;
private static final boolean worldBorderSupport;
static {
boolean worldBorderClassPresent = false;
try {
@@ -150,7 +151,9 @@ public class FLocation implements Serializable {
return "" + x + "," + z;
}
public String formatXAndZ(String splitter) { return chunkToBlock(this.x) + "x" + splitter + " " + chunkToBlock(this.z) + "z"; }
public String formatXAndZ(String splitter) {
return chunkToBlock(this.x) + "x" + splitter + " " + chunkToBlock(this.z) + "z";
}
//----------------------------------------------//
// Misc Geometry
@@ -178,8 +181,8 @@ public class FLocation implements Serializable {
}
public boolean isInChunk(Location loc) {
if(loc == null) return false;
if(loc.getWorld() == 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;

View File

@@ -34,60 +34,70 @@ public interface FPlayer extends EconomyParticipator {
/**
* 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();
@@ -278,6 +288,11 @@ public interface FPlayer extends EconomyParticipator {
boolean hasMoney(int amt);
//Fplayer specific friendly fire.
boolean hasFriendlyFire();
void setFriendlyFire(boolean status);
//inspect Stuff
boolean isInspectMode();
@@ -377,6 +392,7 @@ public interface FPlayer extends EconomyParticipator {
// Actions
// -------------------------------
void leave(boolean makePay);
boolean canClaimForFaction(Faction forFaction);

View File

@@ -11,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;
@@ -247,6 +247,8 @@ public interface Faction extends EconomyParticipator {
void setHome(Location home);
void deleteHome();
long getFoundedDate();
void setFoundedDate(long newDate);

View File

@@ -12,6 +12,7 @@ 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;
@@ -20,22 +21,24 @@ 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.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.UpgradesListener;
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.bstats.bukkit.Metrics;
import org.bukkit.*;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@@ -54,7 +57,6 @@ 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;
@@ -81,6 +83,7 @@ public class FactionsPlugin extends MPlugin {
public boolean mc115 = 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;
@@ -90,11 +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;
@@ -104,6 +107,10 @@ public class FactionsPlugin extends MPlugin {
return instance;
}
public FileManager getFileManager() {
return fileManager;
}
public boolean getLocked() {
return this.locked;
}
@@ -173,6 +180,10 @@ public class FactionsPlugin extends MPlugin {
migrateFPlayerLeaders();
log("==== End Setup ====");
int pluginId = 7013;
Metrics metrics = new Metrics(this, pluginId);
if (!preEnable()) return;
this.loadSuccessful = false;
@@ -180,16 +191,19 @@ public class FactionsPlugin extends MPlugin {
this.saveResource("config.yml", false);
this.reloadConfig();
}
//Attempt to generate a permission list
PermissionList.generateFile();
//Start wait task executor
WaitExecutor.startTask();
// Load Conf from disk
fileManager = new FileManager();
getFileManager().setupFiles();
Conf.load();
fLogManager = new FLogManager();
//Dependency checks
if (Conf.dependencyCheck && (!Bukkit.getPluginManager().isPluginEnabled("Vault"))) {
divider();
System.out.println("You are missing dependencies!");
System.out.println("Please verify and Vault are installed!");
System.out.println("Please verify [Vault] is installed!");
Conf.save();
Bukkit.getPluginManager().disablePlugin(instance);
divider();
@@ -263,9 +277,12 @@ public class FactionsPlugin extends MPlugin {
//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);
// Register Event Handlers
@@ -278,6 +295,7 @@ public class FactionsPlugin extends MPlugin {
new MissionHandler(this),
new FChestListener(),
new MenuListener(),
timerManager.graceTimer,
new AntiChestListener()
};
@@ -306,6 +324,7 @@ public class FactionsPlugin extends MPlugin {
} catch (Exception e) {
e.printStackTrace();
}
if (getDescription().getFullName().contains("BETA")) {
divider();
System.out.println("You are using a BETA version of the plugin!");
@@ -418,6 +437,7 @@ 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);
}
@@ -430,6 +450,20 @@ public class FactionsPlugin extends MPlugin {
@Override
public void onDisable() {
super.onDisable();
timerManager.saveTimerData();
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();
}
// only save data if plugin actually completely loaded successfully
if (this.loadSuccessful) Conf.saveSync();
@@ -442,7 +476,6 @@ public class FactionsPlugin extends MPlugin {
if (Discord.jda != null) {
Discord.jda.shutdownNow();
}
super.onDisable();
try {
fLogManager.saveLogs();
} catch (Exception e) {
@@ -502,14 +535,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
@@ -693,13 +718,11 @@ public class FactionsPlugin extends MPlugin {
}
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) {

View File

@@ -10,6 +10,9 @@ 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"));
@@ -21,8 +24,10 @@ public class Aliases {
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"));
@@ -36,6 +41,7 @@ public class Aliases {
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"));

View File

@@ -1,12 +1,14 @@
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;
@@ -52,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);
@@ -85,7 +98,9 @@ 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);
@@ -96,6 +111,7 @@ public class CmdCreate extends FCommand {
// 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));

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

@@ -4,12 +4,12 @@ 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.zcore.fdisband.FDisbandFrame;
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.Sound;
import org.bukkit.command.ConsoleCommandSender;
import java.util.HashMap;
@@ -22,8 +22,6 @@ public class CmdDisband extends FCommand {
* @author FactionsUUID Team
*/
//TODO: Add Disband Confirmation GUI
private static HashMap<String, String> disbandMap = new HashMap<>();
@@ -72,6 +70,11 @@ 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)) {
@@ -79,7 +82,7 @@ public class CmdDisband extends FCommand {
}
if (!access) {
if(Conf.useDisbandGUI && !context.fPlayer.isAdminBypassing() || !context.player.isOp()) {
if (Conf.useDisbandGUI && !context.fPlayer.isAdminBypassing() || !context.player.isOp()) {
if (!disbandMap.containsKey(context.player.getUniqueId().toString())) {
new FDisbandFrame(context.faction).buildGUI(context.fPlayer);
return;
@@ -87,7 +90,6 @@ public class CmdDisband extends FCommand {
}
}
// 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() + ""));
@@ -106,12 +108,17 @@ public class CmdDisband extends FCommand {
follower.msg(TL.COMMAND_DISBAND_BROADCAST_NOTYOURS, amountString, faction.getTag(follower));
}
}
if (FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight"))
if (FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight")) {
faction.disband(context.player, PlayerDisbandReason.COMMAND);
context.fPlayer.setFFlying(false, false);
Cooldown.setCooldown(context.fPlayer.getPlayer(), "disbandCooldown", FactionsPlugin.getInstance().getConfig().getInt("fcooldowns.f-disband"));
return;
}
} else {
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"));
if (!context.fPlayer.canFlyAtLocation() && FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight")) {
context.fPlayer.setFFlying(false, false);
}

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
import java.util.Random;
/**
* @author SaberTeam
*/
public class CmdDiscord extends FCommand {
public CmdDiscord() {
super();

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;

View File

@@ -27,6 +27,7 @@ public class CmdFly extends FCommand {
public static ConcurrentHashMap<String, Boolean> flyMap = new ConcurrentHashMap<>();
public static BukkitTask particleTask = null;
public static BukkitTask flyTask = null;
public static boolean autoenable = FactionsPlugin.instance.getConfig().getBoolean("ffly.AutoEnable");
public CmdFly() {
@@ -77,27 +78,27 @@ public class CmdFly extends FCommand {
continue;
}
FPlayer fPlayer = FPlayers.getInstance().getByPlayer(player);
Faction myFaction = fPlayer.getFaction();
if (!player.hasPermission("factions.fly.bypassnearbyenemycheck") && !fPlayer.isAdminBypassing()) {
if (fPlayer.hasEnemiesNearby()) disableFlightSync(fPlayer);
if (fPlayer.isAdminBypassing()) continue;
if (!player.hasPermission("factions.fly.bypassnearbyenemycheck")) {
if (fPlayer.hasEnemiesNearby()) {
disableFlightSync(fPlayer);
continue;
}
checkEnemiesSync(fPlayer);
continue;
}
FLocation myFloc = new FLocation(player.getLocation());
if (Board.getInstance().getFactionAt(myFloc) != myFaction) {
if (!checkFly(fPlayer, player, Board.getInstance().getFactionAt(myFloc))) {
disableFlightSync(fPlayer);
}
if (!checkFly(fPlayer, player, Board.getInstance().getFactionAt(myFloc))) {
disableFlightSync(fPlayer);
}
}
}
}, 20L, 20L);
}, 20L, 15L);
}
public static boolean checkFly(FPlayer fme, Player me, Faction toFac) {
if (Conf.denyFlightIfInNoClaimingWorld && !Conf.worldsNoClaiming.isEmpty() && Conf.worldsNoClaiming.stream().anyMatch(me.getWorld().getName()::equalsIgnoreCase))
if ((Conf.denyFlightIfInNoClaimingWorld && !Conf.worldsNoClaiming.isEmpty() && Conf.worldsNoClaiming.stream().anyMatch(me.getWorld().getName()::equalsIgnoreCase)) || me.hasPermission(Permission.FLY_FLY.node))
return false;
if (toFac.getAccess(fme, PermissableAction.FLY) == Access.ALLOW) return true;
if (fme.getFaction().isWilderness()) return false;

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

@@ -1,5 +1,6 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
@@ -21,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

@@ -6,7 +6,7 @@ import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.event.FPlayerJoinEvent;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.CC;
import com.massivecraft.factions.zcore.fupgrades.UpgradeType;
import com.massivecraft.factions.zcore.frame.fupgrades.UpgradeType;
import com.massivecraft.factions.zcore.util.TL;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.exceptions.HierarchyException;
@@ -56,7 +56,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;
}
@@ -127,6 +127,7 @@ public class CmdJoin extends FCommand {
}
faction.deinvite(fplayer);
try {
context.fPlayer.setRole(faction.getDefaultRole());
FactionsPlugin.instance.logFactionEvent(faction, FLogType.INVITES, context.fPlayer.getName(), CC.Green + "joined", "the faction");
@@ -154,7 +155,7 @@ public class CmdJoin extends FCommand {
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

@@ -22,6 +22,7 @@ public class CmdLock extends FCommand {
this.optionalArgs.put("on/off", "flip");
this.requirements = new CommandRequirements.Builder(Permission.LOCK)
.noDisableOnLock()
.build();
}

View File

@@ -0,0 +1,38 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
/**
* Factions - Developed by Driftay.
* All rights reserved 2020.
* Creation Date: 4/2/2020
*/
public class CmdNotifications extends FCommand {
public CmdNotifications() {
super();
this.aliases.addAll(Aliases.notifications);
this.requirements = new CommandRequirements.Builder(Permission.NOTIFICATIONS)
.playerOnly()
.memberOnly()
.build();
}
@Override
public void perform(CommandContext context) {
if (context.fPlayer.hasNotificationsEnabled()) {
context.fPlayer.setNotificationsEnabled(false);
context.msg(TL.COMMAND_NOTIFICATIONS_TOGGLED_OFF);
} else {
context.fPlayer.setNotificationsEnabled(true);
context.msg(TL.COMMAND_NOTIFICATIONS_TOGGLED_ON);
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_NOTIFICATIONS_DESCRIPTION;
}
}

View File

@@ -6,6 +6,7 @@ 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.util.Cooldown;
import com.massivecraft.factions.zcore.util.TL;
public class CmdOpen extends FCommand {
@@ -38,12 +39,19 @@ public class CmdOpen extends FCommand {
String open = context.faction.getOpen() ? TL.COMMAND_OPEN_OPEN.toString() : TL.COMMAND_OPEN_CLOSED.toString();
if(Cooldown.isOnCooldown(context.fPlayer.getPlayer(), "openCooldown") && !context.fPlayer.isAdminBypassing()){
context.msg(TL.COMMAND_COOLDOWN);
return;
}
// Inform
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
if (fplayer.getFactionId().equals(context.faction.getId())) {
fplayer.msg(TL.COMMAND_OPEN_CHANGES, context.fPlayer.getName(), open);
Cooldown.setCooldown(fplayer.getPlayer(), "openCooldown", FactionsPlugin.getInstance().getConfig().getInt("fcooldowns.f-open"));
continue;
}
if(FactionsPlugin.getInstance().getConfig().getBoolean("faction-open-broadcast")) return;
fplayer.msg(TL.COMMAND_OPEN_CHANGED, context.faction.getTag(fplayer.getFaction()), open);
}
});

View File

@@ -4,7 +4,6 @@ import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.listeners.FactionsPlayerListener;
import com.massivecraft.factions.shop.ShopConfig;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
@@ -26,7 +25,7 @@ public class CmdReload extends FCommand {
long timeInitStart = System.currentTimeMillis();
Conf.load();
Conf.save();
ShopConfig.loadShop();
FactionsPlugin.getInstance().getFileManager().getShop().loadFile();
FactionsPlugin.getInstance().reloadConfig();
FactionsPlugin.getInstance().loadLang();

View File

@@ -1,7 +1,6 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.*;
import com.massivecraft.factions.shop.ShopConfig;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
@@ -25,12 +24,13 @@ public class CmdSaveAll extends FCommand {
Factions.getInstance().forceSave(false);
Board.getInstance().forceSave(false);
Conf.save();
FactionsPlugin.getInstance().getTimerManager().saveTimerData();
try {
FactionsPlugin.instance.getFlogManager().saveLogs();
} catch (Exception e) {
e.printStackTrace();
}
ShopConfig.saveShop();
FactionsPlugin.getInstance().getFileManager().getShop().saveFile();
context.msg(TL.COMMAND_SAVEALL_SUCCESS);
}

View File

@@ -4,7 +4,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FLocation;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.Particles.ParticleEffect;
import com.massivecraft.factions.util.ParticleEffect;
import com.massivecraft.factions.util.VisualizeUtil;
import com.massivecraft.factions.util.XMaterial;
import com.massivecraft.factions.zcore.util.TL;

View File

@@ -1,5 +1,6 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
@@ -19,6 +20,12 @@ public class CmdStealth extends FCommand {
@Override
public void perform(CommandContext context) {
if (!Conf.useSealthSystem) {
context.msg(TL.GENERIC_DISABLED, "Factions Stealth");
return;
}
if (context.faction != null && !context.faction.getId().equalsIgnoreCase("0") && !context.faction.getId().equalsIgnoreCase("none") && !context.faction.getId().equalsIgnoreCase("safezone") && !context.faction.getId().equalsIgnoreCase("warzone")) {
context.fPlayer.setStealth(!context.fPlayer.isStealthEnabled());
context.msg(context.fPlayer.isStealthEnabled() ? TL.COMMAND_STEALTH_ENABLE : TL.COMMAND_STEALTH_DISABLE);

View File

@@ -35,6 +35,12 @@ public class CmdStuck extends FCommand {
final long delay = FactionsPlugin.getInstance().getConfig().getLong("hcf.stuck.delay", 30);
final int radius = FactionsPlugin.getInstance().getConfig().getInt("hcf.stuck.radius", 10);
if (!FactionsPlugin.getInstance().getConfig().getBoolean("hcf.stuck.Enabled", false)) {
context.msg(TL.GENERIC_DISABLED, "Factions Stuck");
return;
}
if (FactionsPlugin.getInstance().getStuckMap().containsKey(player.getUniqueId())) {
long wait = FactionsPlugin.getInstance().getTimers().get(player.getUniqueId()) - System.currentTimeMillis();
String time = DurationFormatUtils.formatDuration(wait, TL.COMMAND_STUCK_TIMEFORMAT.toString(), true);

View File

@@ -7,6 +7,7 @@ import com.massivecraft.factions.event.FactionRenameEvent;
import com.massivecraft.factions.scoreboards.FTeamWrapper;
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 org.bukkit.Bukkit;
@@ -53,6 +54,11 @@ public class CmdTag extends FCommand {
return;
}
if(Cooldown.isOnCooldown(context.player, "tagCooldown") && !context.fPlayer.isAdminBypassing()){
context.msg(TL.COMMAND_COOLDOWN);
return;
}
// trigger the faction rename event (cancellable)
FactionRenameEvent renameEvent = new FactionRenameEvent(context.fPlayer, tag);
Bukkit.getServer().getPluginManager().callEvent(renameEvent);
@@ -65,8 +71,11 @@ public class CmdTag extends FCommand {
return;
}
String oldtag = context.faction.getTag();
context.faction.setTag(tag);
Discord.changeFactionTag(context.faction, oldtag);
FactionsPlugin.instance.logFactionEvent(context.faction, FLogType.FTAG_EDIT, context.fPlayer.getName(), tag);
@@ -75,6 +84,7 @@ public class CmdTag extends FCommand {
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
if (fplayer.getFactionId().equals(context.faction.getId())) {
fplayer.msg(TL.COMMAND_TAG_FACTION, context.fPlayer.describeTo(context.faction, true), context.faction.getTag(context.faction));
Cooldown.setCooldown(fplayer.getPlayer(), "tagCooldown", FactionsPlugin.getInstance().getConfig().getInt("fcooldowns.f-tag"));
continue;
}
// Broadcast the tag change (if applicable)

View File

@@ -2,7 +2,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.fupgrades.FUpgradeFrame;
import com.massivecraft.factions.zcore.frame.fupgrades.FUpgradeFrame;
import com.massivecraft.factions.zcore.util.TL;
public class CmdUpgrades extends FCommand {

View File

@@ -8,7 +8,6 @@ import com.massivecraft.factions.cmd.check.CmdCheck;
import com.massivecraft.factions.cmd.check.CmdWeeWoo;
import com.massivecraft.factions.cmd.chest.CmdChest;
import com.massivecraft.factions.cmd.claim.*;
import com.massivecraft.factions.cmd.configsf.CmdConvertConfig;
import com.massivecraft.factions.cmd.econ.CmdMoney;
import com.massivecraft.factions.cmd.grace.CmdGrace;
import com.massivecraft.factions.cmd.logout.CmdLogout;
@@ -156,7 +155,6 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
public CmdCheck cmdCheck = new CmdCheck();
public CmdWeeWoo cmdWeeWoo = new CmdWeeWoo();
public CmdWild cmdWild = new CmdWild();
public CmdConvertConfig cmdConvertConfig = new CmdConvertConfig();
public CmdSpawnerLock cmdSpawnerLock = new CmdSpawnerLock();
public CmdSetDiscord cmdSetDiscord = new CmdSetDiscord();
public CmdSeeDiscord cmdSeeDiscord = new CmdSeeDiscord();
@@ -168,6 +166,11 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
public CmdLookup cmdLookup = new CmdLookup();
public CmdAudit cmdAudit = new CmdAudit();
public CmdReserve cmdReserve = new CmdReserve();
public CmdDelHome cmdDelHome = new CmdDelHome();
public CmdClaimFill cmdClaimFill = new CmdClaimFill();
public CmdNotifications cmdNotifications = new CmdNotifications();
public CmdFriendlyFire cmdFriendlyFire = new CmdFriendlyFire();
//Variables to know if we already setup certain sub commands
public Boolean discordEnabled = false;
public Boolean checkEnabled = false;
@@ -184,6 +187,7 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
public Boolean internalFTOPEnabled = false;
public Boolean fWildEnabled = false;
public Boolean fAuditEnabled = false;
public Boolean fStrikes = false;
public FCmdRoot() {
super();
@@ -212,6 +216,7 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
this.addSubCommand(this.cmdCreate);
this.addSubCommand(this.cmdDeinvite);
this.addSubCommand(this.cmdDescription);
this.addSubCommand(this.cmdDelHome);
this.addSubCommand(this.cmdDisband);
this.addSubCommand(this.cmdHelp);
this.addSubCommand(this.cmdHome);
@@ -262,6 +267,7 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
this.addSubCommand(this.cmdDelFWarp);
this.addSubCommand(this.cmdModifyPower);
this.addSubCommand(this.cmdLogins);
this.addSubCommand(this.cmdClaimFill);
this.addSubCommand(this.cmdClaimLine);
this.addSubCommand(this.cmdAHome);
this.addSubCommand(this.cmdPerm);
@@ -292,13 +298,13 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
this.addSubCommand(this.cmdChest);
this.addSubCommand(this.cmdSetBanner);
this.addSubCommand(this.cmdCorner);
this.addSubCommand(this.cmdStrikes);
this.addSubCommand(this.cmdFGlobal);
this.addSubCommand(this.cmdViewChest);
this.addSubCommand(this.cmdConvertConfig);
this.addSubCommand(this.cmdSpawnerLock);
this.addSubCommand(this.cmdDrain);
this.addSubCommand(this.cmdLookup);
this.addSubCommand(this.cmdNotifications);
this.addSubCommand(this.cmdFriendlyFire);
addVariableCommands();
if (CommodoreProvider.isSupported()) brigadierManager.build();
}
@@ -355,6 +361,11 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
fAuditEnabled = true;
}
if (Conf.useStrikeSystem) {
this.addSubCommand(this.cmdStrikes);
fStrikes = true;
}
//Other
if (FactionsPlugin.getInstance().getConfig().getBoolean("Wild.Enabled", false) && !fWildEnabled) {
this.addSubCommand(this.cmdWild);
@@ -391,6 +402,8 @@ public class FCmdRoot extends FCommand implements CommandExecutor {
if (FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight", false) && !fFlyEnabled) {
this.addSubCommand(this.cmdFly);
fFlyEnabled = true;
CmdFly.startFlyCheck();
CmdFly.startParticles();
}
}

View File

@@ -4,8 +4,8 @@ import com.google.common.collect.Lists;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.util.FactionGUI;
import com.massivecraft.factions.util.XMaterial;
import com.massivecraft.factions.zcore.frame.FactionGUI;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.DyeColor;
import org.bukkit.event.inventory.ClickType;

View File

@@ -3,8 +3,8 @@ package com.massivecraft.factions.cmd.check;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.util.FactionGUI;
import com.massivecraft.factions.util.XMaterial;
import com.massivecraft.factions.zcore.frame.FactionGUI;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.ChatColor;
import org.bukkit.event.inventory.ClickType;

View File

@@ -13,7 +13,7 @@ import net.dv8tion.jda.core.entities.TextChannel;
public class CmdWeeWoo extends FCommand {
/**
* @author Driftay
* @author Vankka
*/
public CmdWeeWoo() {

View File

@@ -83,7 +83,6 @@ public class CmdClaim extends FCommand {
this.stop();
return false;
}
return true;
}
};

View File

@@ -0,0 +1,130 @@
package com.massivecraft.factions.cmd.claim;
/**
* Created by FactionsUUID Team
*/
import com.massivecraft.factions.Board;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FLocation;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.cmd.Aliases;
import com.massivecraft.factions.cmd.CommandContext;
import com.massivecraft.factions.cmd.CommandRequirements;
import com.massivecraft.factions.cmd.FCommand;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Location;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Set;
public class CmdClaimFill extends FCommand {
public CmdClaimFill() {
// Aliases
this.aliases.addAll(Aliases.claim_claimFill);
// Args
this.optionalArgs.put("limit", String.valueOf(Conf.maxFillClaimCount));
this.optionalArgs.put("faction", "you");
this.requirements = new CommandRequirements.Builder(Permission.CLAIM_FILL)
.playerOnly()
.build();
}
@Override
public void perform(CommandContext context) {
// Args
final int limit = context.argAsInt(0, Conf.maxFillClaimCount);
if (limit > Conf.maxFillClaimCount) {
context.msg(TL.COMMAND_CLAIMFILL_ABOVEMAX, Conf.maxFillClaimCount);
return;
}
final Faction forFaction = context.argAsFaction(2, context.faction);
Location location = context.player.getLocation();
FLocation loc = new FLocation(location);
Faction currentFaction = Board.getInstance().getFactionAt(loc);
if (currentFaction.equals(forFaction)) {
context.msg(TL.CLAIM_ALREADYOWN, forFaction.describeTo(context.fPlayer, true));
return;
}
if (!currentFaction.isWilderness()) {
context.msg(TL.COMMAND_CLAIMFILL_ALREADYCLAIMED);
return;
}
if (!context.fPlayer.isAdminBypassing() && forFaction.getAccess(context.fPlayer, PermissableAction.TERRITORY) != Access.ALLOW) {
context.msg(TL.CLAIM_CANTCLAIM, forFaction.describeTo(context.fPlayer));
return;
}
final double distance = Conf.maxFillClaimDistance;
long startX = loc.getX();
long startZ = loc.getZ();
Set<FLocation> toClaim = new HashSet<>();
Queue<FLocation> queue = new LinkedList<>();
FLocation currentHead;
queue.add(loc);
toClaim.add(loc);
while (!queue.isEmpty() && toClaim.size() <= limit) {
currentHead = queue.poll();
if (Math.abs(currentHead.getX() - startX) > distance || Math.abs(currentHead.getZ() - startZ) > distance) {
context.msg(TL.COMMAND_CLAIMFILL_TOOFAR, distance);
return;
}
addIf(toClaim, queue, currentHead.getRelative(0, 1));
addIf(toClaim, queue, currentHead.getRelative(0, -1));
addIf(toClaim, queue, currentHead.getRelative(1, 0));
addIf(toClaim, queue, currentHead.getRelative(-1, 0));
}
if (toClaim.size() > limit) {
context.msg(TL.COMMAND_CLAIMFILL_PASTLIMIT);
return;
}
if (toClaim.size() > context.faction.getPowerRounded() - context.faction.getLandRounded()) {
context.msg(TL.COMMAND_CLAIMFILL_NOTENOUGHLANDLEFT, forFaction.describeTo(context.fPlayer), toClaim.size());
return;
}
final int limFail = Conf.radiusClaimFailureLimit;
int fails = 0;
for (FLocation currentLocation : toClaim) {
if (!context.fPlayer.attemptClaim(forFaction, currentLocation, true)) {
fails++;
}
if (fails >= limFail) {
context.msg(TL.COMMAND_CLAIMFILL_TOOMUCHFAIL, fails);
return;
}
}
}
private void addIf(Set<FLocation> toClaim, Queue<FLocation> queue, FLocation examine) {
if (Board.getInstance().getFactionAt(examine).isWilderness() && !toClaim.contains(examine)) {
toClaim.add(examine);
queue.add(examine);
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_CLAIMFILL_DESCRIPTION;
}
}

View File

@@ -1,29 +0,0 @@
package com.massivecraft.factions.cmd.configsf;
import com.massivecraft.factions.cmd.CommandContext;
import com.massivecraft.factions.cmd.CommandRequirements;
import com.massivecraft.factions.cmd.FCommand;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
public class CmdConvertConfig extends FCommand {
public CmdConvertConfig() {
super();
this.aliases.add("convertconfig");
this.requirements = new CommandRequirements.Builder(Permission.CONVERTCONFIG)
.playerOnly()
.build();
}
@Override
public void perform(CommandContext context) {
ConvertConfigHandler.convertconfig(context.player);
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_CONVERTCONFIG_DESCRIPTION;
}
}

View File

@@ -1,147 +0,0 @@
package com.massivecraft.factions.cmd.configsf;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitScheduler;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
public class ConvertConfigHandler {
static File savageConfigFile = new File("plugins/Factions/SavageFactions/config.yml");
static FileConfiguration sv = YamlConfiguration.loadConfiguration(savageConfigFile);
static File configFile = new File("plugins/Factions/config.yml");
static FileConfiguration sb = YamlConfiguration.loadConfiguration(configFile);
static JavaPlugin plugin = JavaPlugin.getProvidingPlugin(FactionsPlugin.class);
public static void setString(String s) {
sb.set(s, sv.getString(s));
}
public static void setInt(String s) {
sb.set(s, sv.getInt(s));
}
public static void setConfigSec(String s) {
ConfigurationSection cs = sv.getConfigurationSection(s);
sb.set(s, cs);
}
public static void setBoolean(String s) {
sb.set(s, sv.getBoolean(s));
}
public static void convertconfig(Player player) {
if (new File("plugins/Factions/SavageFactions/config.yml").exists()) {
BukkitScheduler scheduler = plugin.getServer().getScheduler();
scheduler.scheduleAsyncDelayedTask(plugin, () -> {
File savageConfigFile = new File("plugins/Factions/SavageFactions/config.yml");
FileConfiguration sv = YamlConfiguration.loadConfiguration(savageConfigFile);
File configFile = new File("plugins/Factions/config.yml");
FileConfiguration sb = YamlConfiguration.loadConfiguration(configFile);
sb.set("ConfigConvertedFromSavageFactions", true);
sb.set("debug", sv.getBoolean("debug"));
ConfigurationSection ffe = sv.getConfigurationSection("findfactionsexploit");
sb.set("findfactionsexploit", ffe);
setString("default-relation");
ConfigurationSection pC = sv.getConfigurationSection("portals");
sb.set("portals", pC);
sb.set("maxwarps", sv.getInt("maxwarps"));
setConfigSec("warp-cost");
setBoolean("enable-faction-flight");
setBoolean("ffly.AutoEnable");
setInt("fly-falldamage-cooldown");
setBoolean("disable-pistons-in-territory");
setConfigSec("tooltips");
setConfigSec("scoreboard");
sb.set("scoreboard.also-send-chat", true);
setConfigSec("warmups");
setConfigSec("max-relations");
setInt("world-border.buffer");
setConfigSec("hcf");
sb.set("show", sv.getStringList("show"));
setBoolean("show-exempt");
sb.set("map", sv.getStringList("map"));
setConfigSec("list");
setBoolean("use-old-help");
setConfigSec("help");
setConfigSec("fperm-gui");
sb.set("fperm-gui.action.slots.check", 50);
setConfigSec("fwarp-gui");
setBoolean("faction-creation-broadcast");
setBoolean("faction-disband-broadcast");
setBoolean("See-Invisible-Faction-Members");
setConfigSec("frules");
setConfigSec("ftnt");
setBoolean("fpaypal.Enabled");
setBoolean("checkpoints.Enabled");
setConfigSec("fnear");
setConfigSec("ffocus");
setConfigSec("fvualt");
setString("fupgrades.MainMenu.Title");
setString("fupgrades.MainMenu.DummyItem.Name");
setString("fupgrades.MainMenu.DummyItem.Type");
List<String> l = sv.getStringList("fupgrades.MainMenu.DummyItem.Lore");
sb.set("fupgrades.MainMenu.DummyItem.Lore", l);
setConfigSec("fupgrades.MainMenu.Crops.Crop-Boost");
setConfigSec("fupgrades.MainMenu.Crops.Cost");
sb.set("fupgrades.MainMenu.Crops.CropItem", sv.getConfigurationSection("fupgrades.MainMenu.Crops.DisplayItem"));
setConfigSec("fupgrades.MainMenu.EXP.EXP-Boost");
setConfigSec("fupgrades.MainMenu.EXP.Cost");
sb.set("fupgrades.MainMenu.EXP.EXPItem", sv.getConfigurationSection("fupgrades.MainMenu.EXP.DisplayItem"));
setConfigSec("fupgrades.MainMenu.Power.Power-Boost");
setConfigSec("fupgrades.MainMenu.Power.Cost");
sb.set("fupgrades.MainMenu.Power.PowerItem", sv.getConfigurationSection("fupgrades.MainMenu.Power.DisplayItem"));
List<Integer> p = new ArrayList();
p.add(sv.getInt("fupgrades.MainMenu.Power.DisplayItem.Slot"));
sb.set("fupgrades.MainMenu.Power.PowerItem.slots", p);
sb.set("fupgrades.MainMenu.Power.PowerItem.Amount", 1);
sb.set("fupgrades.MainMenu.Power.PowerItem.Damage", 0);
sb.set("fupgrades.MainMenu.Power.PowerItem.Slot", null);
sb.set("fupgrades.MainMenu.Members.Members-Limit", sv.getConfigurationSection("fupgrades.MainMenu.Members.Members-Boost"));
setConfigSec("fupgrades.MainMenu.Spawners.Spawner-Boost");
setConfigSec("fupgrades.MainMenu.Spawners.Cost");
sb.set("fupgrades.MainMenu.Spawners.SpawnerItem", sv.getConfigurationSection("fupgrades.MainMenu.Spawners.DisplayItem"));
setConfigSec("fupgrades.MainMenu.Chest.Chest-Size");
setConfigSec("fupgrades.MainMenu.Chest.Cost");
sb.set("fupgrades.MainMenu.Chest.ChestItem", sv.getConfigurationSection("fupgrades.MainMenu.Chest.DisplayItem"));
setConfigSec("fupgrades.MainMenu.Members.Cost");
sb.set("fupgrades.MainMenu.Members.MembersItem", sv.getConfigurationSection("fupgrades.MainMenu.Members.DisplayItem"));
sb.set("fupgrades.MainMenu.Members.MembersItem.Amount", 1);
sb.set("fupgrades.MainMenu.Members.MembersItem.Damage", 0);
if (sv.getString("fupgrades.MainMenu.Members.DisplayItem.Type").equalsIgnoreCase("PLAYER_HEAD"))
sb.set("fupgrades.MainMenu.Members.MembersItem.Type", "PAPER");
List<Integer> x = new ArrayList();
x.add(sv.getInt("fupgrades.MainMenu.Members.DisplayItem.Slot"));
sb.set("fupgrades.MainMenu.Members.MembersItem.slots", x);
sb.set("fupgrades.MainMenu.Members.MembersItem.Slot", null);
sb.set("fupgrades.MainMenu.Members.Members-Limit", sv.getConfigurationSection("fupgrades.MainMenu.Members.Members-Boost"));
setConfigSec("fbanners");
setConfigSec("see-chunk");
setConfigSec("Tntfill");
try {
sb.save(configFile);
plugin.reloadConfig();
} catch (IOException e) {
player.sendMessage(TL.COMMAND_CONVERTCONFIG_FAIL.toString());
Bukkit.getLogger().log(Level.SEVERE, Arrays.toString(e.getStackTrace()));
}
player.sendMessage(TL.COMMAND_CONVERTCONFIG_SUCCESS.toString());
}, 0L);
} else {
player.sendMessage(TL.COMMAND_CONVERTCONFIG_FAILCONFIGMISSING.toString());
}
}
}

View File

@@ -36,6 +36,11 @@ public class CmdMoneyDeposit extends FCommand {
public void perform(CommandContext context) {
double amount = context.argAsDouble(0, 0d);
EconomyParticipator faction = context.argAsFaction(1, context.faction);
if (amount <= 0) {
return;
}
if (faction == null) {
return;
}

View File

@@ -33,6 +33,12 @@ public class CmdMoneyTransferFf extends FCommand {
@Override
public void perform(CommandContext context) {
double amount = context.argAsDouble(0, 0d);
if (amount <= 0) {
return;
}
EconomyParticipator from = context.argAsFaction(1);
if (from == null) {
return;

View File

@@ -32,6 +32,11 @@ public class CmdMoneyTransferFp extends FCommand {
@Override
public void perform(CommandContext context) {
double amount = context.argAsDouble(0, 0d);
if (amount <= 0) {
return;
}
EconomyParticipator from = context.argAsFaction(1);
if (from == null) {
return;

View File

@@ -32,6 +32,11 @@ public class CmdMoneyTransferPf extends FCommand {
@Override
public void perform(CommandContext context) {
double amount = context.argAsDouble(0, 0d);
if (amount <= 0) {
return;
}
EconomyParticipator from = context.argAsBestFPlayerMatch(1);
if (from == null) {
return;

View File

@@ -39,6 +39,11 @@ public class CmdMoneyWithdraw extends FCommand {
@Override
public void perform(CommandContext context) {
double amount = context.argAsDouble(0, 0d);
if (amount <= 0) {
return;
}
EconomyParticipator faction = context.argAsFaction(1, context.faction);
if (faction == null) {
return;

View File

@@ -1,35 +1,73 @@
package com.massivecraft.factions.cmd.grace;
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.Aliases;
import com.massivecraft.factions.cmd.CommandContext;
import com.massivecraft.factions.cmd.CommandRequirements;
import com.massivecraft.factions.cmd.FCommand;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.timer.TimerManager;
import com.massivecraft.factions.zcore.util.TL;
import java.util.concurrent.TimeUnit;
public class CmdGrace extends FCommand {
/**
* @author Driftay
*/
//TODO: Make Timed Format For Grace Period
public CmdGrace() {
super();
this.aliases.addAll(Aliases.grace);
this.optionalArgs.put("on/off", "toggle");
this.requirements = new CommandRequirements.Builder(Permission.GRACE)
.build();
}
@Override
public void perform(CommandContext context) {
Conf.gracePeriod = !Conf.gracePeriod;
context.msg(TL.COMMAND_GRACE_TOGGLE, Conf.gracePeriod ? FactionsPlugin.getInstance().color("&aEnabled") : FactionsPlugin.getInstance().color("&4Disabled"));
}
if (!Conf.useGraceSystem) {
context.msg(TL.GENERIC_DISABLED, "factions grace");
return;
}
if(context.args.size() == 1) {
if (context.sender.hasPermission(String.valueOf(Permission.GRACETOGGLE))) {
if (context.argAsString(0).equalsIgnoreCase("on") || context.argAsString(0).equalsIgnoreCase("start")) {
FactionsPlugin.getInstance().getTimerManager().graceTimer.setPaused(false);
FactionsPlugin.getInstance().getTimerManager().graceTimer.setRemaining(TimeUnit.DAYS.toMillis(Conf.gracePeriodTimeDays), true);
if (Conf.broadcastGraceToggles) {
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers())
follower.msg(TL.COMMAND_GRACE_ENABLED_FORMAT, String.valueOf(TimerManager.getRemaining(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining(), true)));
}
return;
}
if (context.argAsString(0).equalsIgnoreCase("off") || context.argAsString(0).equalsIgnoreCase("stop")) {
FactionsPlugin.getInstance().getTimerManager().graceTimer.setRemaining(TimeUnit.SECONDS.toMillis(0L), true);
FactionsPlugin.getInstance().getTimerManager().graceTimer.setPaused(false);
if (Conf.broadcastGraceToggles) {
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers())
follower.msg(TL.COMMAND_GRACE_DISABLED_FORMAT);
}
return;
}
}
}
if(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining() <= 0L) {
context.fPlayer.msg(TL.COMMAND_GRACE_DISABLED_NO_FORMAT.toString());
} else {
context.fPlayer.msg(TL.COMMAND_GRACE_TIME_REMAINING, String.valueOf(TimerManager.getRemaining(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining(), true)));
}
}
@Override
public TL getUsageTranslation() {

View File

@@ -17,6 +17,7 @@ public class CmdPoints extends FCommand {
public CmdPointsRemove cmdPointsRemove = new CmdPointsRemove();
public CmdPointsSet cmdPointsSet = new CmdPointsSet();
public CmdPointsAdd cmdPointsAdd = new CmdPointsAdd();
public CmdPointsBalance cmdPointsBalance = new CmdPointsBalance();
public CmdPoints() {
super();
@@ -26,7 +27,7 @@ public class CmdPoints extends FCommand {
.playerOnly()
.build();
this.addSubCommand(this.cmdPointsBalance);
this.addSubCommand(this.cmdPointsAdd);
this.addSubCommand(this.cmdPointsRemove);
this.addSubCommand(this.cmdPointsSet);

View File

@@ -0,0 +1,56 @@
package com.massivecraft.factions.cmd.points;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.cmd.Aliases;
import com.massivecraft.factions.cmd.CommandContext;
import com.massivecraft.factions.cmd.CommandRequirements;
import com.massivecraft.factions.cmd.FCommand;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
/**
* Factions - Developed by Driftay.
* All rights reserved 2020.
* Creation Date: 3/30/2020
*/
public class CmdPointsBalance extends FCommand {
public CmdPointsBalance() {
super();
this.aliases.addAll(Aliases.points_balance);
this.optionalArgs.put("faction", "yours");
this.requirements = new CommandRequirements.Builder(Permission.POINTS)
.build();
}
@Override
public void perform(CommandContext context) {
Faction faction;
if (context.argIsSet(0)) {
faction = context.argAsFaction(0);
} else if (context.faction.isNormal()) {
context.msg(TL.COMMAND_POINTS_SHOW_OWN, context.faction.getPoints());
return;
} else {
context.msg(TL.COMMAND_POINTS_SHOW_WILDERNESS);
return;
}
if (faction == null) return;
if (faction != context.faction && !context.fPlayer.isAdminBypassing()) return;
context.msg(TL.COMMAND_POINTS_SHOW_OTHER.toString().replace("{faction}", faction.getTag()).replace("{points}", faction.getPoints() + ""));
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_POINTS_SHOW_DESCRIPTION;
}
}

View File

@@ -11,8 +11,7 @@ public class ReserveAdapter implements JsonSerializer<ReserveObject>, JsonDeseri
public ReserveObject deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
JsonObject object = jsonElement.getAsJsonObject();
ReserveObject faction = new ReserveObject(object.get("username").getAsString(), object.get("name").getAsString());
return faction;
return new ReserveObject(object.get("username").getAsString(), object.get("name").getAsString());
}
public JsonElement serialize(ReserveObject data, final Type type, final JsonSerializationContext jsonSerializationContext) {

View File

@@ -1,7 +1,6 @@
package com.massivecraft.factions.cmd.tnt;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Factions;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.Aliases;
import com.massivecraft.factions.cmd.CommandContext;
@@ -20,7 +19,8 @@ import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
public class CmdTntFill extends FCommand {
@@ -38,6 +38,24 @@ public class CmdTntFill extends FCommand {
.build();
}
public static void removeItems(Inventory inventory, ItemStack item, int toRemove) {
if (toRemove <= 0 || inventory == null || item == null)
return;
for (int i = 0; i < inventory.getSize(); i++) {
ItemStack loopItem = inventory.getItem(i);
if (loopItem == null || !item.isSimilar(loopItem))
continue;
if (toRemove <= 0)
return;
if (toRemove < loopItem.getAmount()) {
loopItem.setAmount(loopItem.getAmount() - toRemove);
return;
}
inventory.clear(i);
toRemove -= loopItem.getAmount();
}
}
@Override
public void perform(CommandContext context) {
if (!FactionsPlugin.instance.getConfig().getBoolean("Tntfill.enabled")) {
@@ -146,32 +164,6 @@ public class CmdTntFill extends FCommand {
}
}
public static void removeItems(Inventory inventory, ItemStack item, int toRemove) {
if (toRemove <= 0 || inventory == null || item == null)
return;
for (int i = 0; i < inventory.getSize(); i++) {
ItemStack loopItem = inventory.getItem(i);
if (loopItem == null || !item.isSimilar(loopItem))
continue;
if (toRemove <= 0)
return;
if (toRemove < loopItem.getAmount()) {
loopItem.setAmount(loopItem.getAmount() - toRemove);
return;
}
inventory.clear(i);
toRemove -= loopItem.getAmount();
}
}
// Counts the item type available in the inventory.
private int inventoryItemCount(Inventory inventory, Material mat) {
int count = 0;
HashMap<Integer, ? extends ItemStack> items = inventory.all(mat);
for (int item : items.keySet())
count += inventory.getItem(item).getAmount();
return count;
}
public int getAddable(Inventory inv, Material material) {
int output = 0;

View File

@@ -10,6 +10,7 @@ import com.massivecraft.factions.cmd.CommandContext;
import com.massivecraft.factions.cmd.CommandRequirements;
import com.massivecraft.factions.cmd.FCommand;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.wait.WaitedTask;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@@ -23,51 +24,31 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Random;
public class CmdWild extends FCommand {
public static HashMap<Player, Integer> waitingTeleport;
public class CmdWild extends FCommand implements WaitedTask {
public static HashMap<Player, String> teleportRange;
public static HashSet<Player> teleporting;
public static CmdWild instance;
public CmdWild() {
super();
if (instance == null) instance = this;
this.aliases.addAll(Aliases.wild);
this.requirements = new CommandRequirements.Builder(Permission.WILD)
.playerOnly()
.build();
waitingTeleport = new HashMap<>();
teleporting = new HashSet<>();
teleportRange = new HashMap<>();
startWild();
}
@Override
public void perform(CommandContext context) {
if (!waitingTeleport.containsKey(context.player)) {
if (!teleportRange.containsKey(context.player)) {
context.player.openInventory(new WildGUI(context.player, context.fPlayer).getInventory());
} else {
context.fPlayer.msg(TL.COMMAND_WILD_WAIT);
}
}
public void startWild() {
Bukkit.getScheduler().scheduleSyncRepeatingTask(FactionsPlugin.instance, () -> {
for (Player p : waitingTeleport.keySet()) {
int i = waitingTeleport.get(p) - 1;
if (i > 0) {
if (i != 1) {
p.sendMessage(TL.COMMAND_WILD_WAIT.format((i + " Seconds")));
} else {
p.sendMessage(TL.COMMAND_WILD_WAIT.format((i + " Second")));
}
waitingTeleport.replace(p, i);
} else {
p.sendMessage(TL.COMMAND_WILD_SUCCESS.toString());
waitingTeleport.remove(p);
attemptTeleport(p);
}
}
}, 0L, 20L);
}
public void attemptTeleport(Player p) {
boolean success = false;
@@ -121,4 +102,15 @@ public class CmdWild extends FCommand {
public TL getUsageTranslation() {
return TL.COMMAND_WILD_DESCRIPTION;
}
@Override
public void handleSuccess(Player player) {
attemptTeleport(player);
}
@Override
public void handleFailure(Player player) {
player.sendMessage(TL.COMMAND_WILD_INTERUPTED.toString());
}
}

View File

@@ -2,8 +2,10 @@ package com.massivecraft.factions.cmd.wild;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.util.FactionGUI;
import com.massivecraft.factions.util.XMaterial;
import com.massivecraft.factions.util.wait.WaitExecutor;
import com.massivecraft.factions.util.wait.WaitTask;
import com.massivecraft.factions.zcore.frame.FactionGUI;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@@ -35,7 +37,7 @@ public class WildGUI implements FactionGUI {
if (map.containsKey(slot)) {
String zone = map.get(slot);
if (fplayer.hasMoney(FactionsPlugin.getInstance().getConfig().getInt("Wild.Zones." + zone + ".Cost"))) {
CmdWild.waitingTeleport.put(player, FactionsPlugin.getInstance().getConfig().getInt("Wild.Wait"));
WaitExecutor.taskMap.put(player, new WaitTask(FactionsPlugin.getInstance().getConfig().getInt("Wild.Wait"), TL.COMMAND_WILD_INPROGRESS, player, CmdWild.instance));
CmdWild.teleportRange.put(player, zone);
fplayer.msg(TL.COMMAND_WILD_WAIT, FactionsPlugin.getInstance().getConfig().getInt("Wild.Wait") + " Seconds");
player.closeInventory();

View File

@@ -11,10 +11,10 @@ import net.dv8tion.jda.core.Permission;
public class CmdInviteBot extends FCommand {
/**
* @author Driftay
* @author Vankka
*/
public CmdInviteBot(){
public CmdInviteBot() {
super();
this.aliases.add("invitebot");
}

View File

@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit;
public class CmdSetGuild extends FCommand {
/**
* @author Driftay
* @author Vankka
*/
private EventWaiter eventWaiter;

View File

@@ -4,7 +4,6 @@ import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.util.exceptions.SaberException;
import net.dv8tion.jda.core.AccountType;
import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.JDABuilder;
@@ -19,13 +18,16 @@ import java.util.HashSet;
import java.util.Objects;
import java.util.logging.Level;
/**
* @author SaberTeam
*/
public class Discord {
//We dont want waitingLink to reset during reload so we are going to set it here
public static HashMap<Integer, FPlayer> waitingLink;
public static HashMap<FPlayer, Integer> waitingLinkk;
//We want to track the amount of times setup has been tried and the result may be useful for determining issues
public static HashSet<DiscordSetupAttempt> setupLog;
private static FactionsPlugin plugin;
public static Boolean confUseDiscord;
public static String botToken;
public static String mainGuildID;
@@ -37,6 +39,7 @@ public class Discord {
public static Boolean useEmotes;
public static Emote positive;
public static Emote negative;
private static FactionsPlugin plugin;
public Discord(FactionsPlugin plugin) {
Discord.plugin = plugin;
@@ -62,7 +65,9 @@ public class Discord {
}
private static Boolean startBot() {
if (!Conf.useDiscordSystem) {return false;}
if (!Conf.useDiscordSystem) {
return false;
}
try {
jda = new JDABuilder(AccountType.BOT).setToken(Conf.discordBotToken).buildBlocking();
} catch (LoginException | InterruptedException e) {
@@ -78,11 +83,11 @@ public class Discord {
try {
confUseDiscord = Conf.useDiscordSystem;
botToken = Conf.discordBotToken;
if (jda != null && Conf.leaderRoles || Conf.factionDiscordTags) {
mainGuild = jda.getGuildById(Conf.mainGuildID);
} else {
mainGuild = null;
}
if (jda != null && Conf.leaderRoles || Conf.factionDiscordTags) {
mainGuild = jda.getGuildById(Conf.mainGuildID);
} else {
mainGuild = null;
}
mainGuildID = Conf.mainGuildID;
useDiscord = !botToken.equals("<token here>") && !mainGuildID.equals("<Discord Server ID here>") && confUseDiscord;
roleColor = new java.awt.Color(Conf.factionRoleColor.get(0), Conf.factionRoleColor.get(1), Conf.factionRoleColor.get(2));
@@ -90,13 +95,22 @@ public class Discord {
try {
positive = jda.getEmoteById(Conf.positiveReaction);
negative = jda.getEmoteById(Conf.negativeReaction);
if (positive == null | negative == null) {useEmotes = false;}
if (positive == null | negative == null) {
useEmotes = false;
}
} catch (NumberFormatException e) {
FactionsPlugin.getInstance().getLogger().log(Level.WARNING, "Invalid Emote(s) disabling them.");
useEmotes = false;
}
if (mainGuild != null) {leader = mainGuild.getRoleById(Conf.leaderRole);} else {leader = null;}
} else {useEmotes = false; leader = null;}
if (mainGuild != null) {
leader = mainGuild.getRoleById(Conf.leaderRole);
} else {
leader = null;
}
} else {
useEmotes = false;
leader = null;
}
} catch (NullPointerException e) {
setupLog.add(new DiscordSetupAttempt("Threw an NPE while setting up variables", System.currentTimeMillis()));
}
@@ -111,11 +125,21 @@ public class Discord {
public static String getNicknameString(FPlayer f) {
if (useDiscord) {
String temp = Conf.factionTag;
if (temp.contains("NAME")) { temp = temp.replace("NAME", f.getName()); }
if (temp.contains("DiscordName")) { temp = temp.replace("DiscordName", (f.discordUser() == null) ? (f.getName()) : (f.discordUser().getName())); }
if (temp.contains("FACTION")) { temp = temp.replace("FACTION", f.getFaction().getTag()); }
if (temp.contains("FactionRole")) { temp = temp.replace("FactionRole", f.getRole().getRoleCapitalized()); }
if (temp.contains("FactionRolePrefix")) { temp = temp.replace("FactionRolePrefix", f.getRole().getPrefix()); }
if (temp.contains("NAME")) {
temp = temp.replace("NAME", f.getName());
}
if (temp.contains("DiscordName")) {
temp = temp.replace("DiscordName", (f.discordUser() == null) ? (f.getName()) : (f.discordUser().getName()));
}
if (temp.contains("FACTION")) {
temp = temp.replace("FACTION", f.getFaction().getTag());
}
if (temp.contains("FactionRole")) {
temp = temp.replace("FactionRole", f.getRole().getRoleCapitalized());
}
if (temp.contains("FactionRolePrefix")) {
temp = temp.replace("FactionRolePrefix", f.getRole().getPrefix());
}
return temp;
}
return null;
@@ -138,7 +162,9 @@ public class Discord {
public static Role getRoleFromName(String s) {
if (useDiscord && mainGuild != null) {
for (Role r : mainGuild.getRoles()) {
if (r.getName().equals(s)) {return r;}
if (r.getName().equals(s)) {
return r;
}
}
}
return null;
@@ -151,8 +177,12 @@ public class Discord {
* @return Role generated faction role
*/
public static Role createFactionRole(String s) {
if (!useDiscord) { return null; }
if (mainGuild == null) { return null; }
if (!useDiscord) {
return null;
}
if (mainGuild == null) {
return null;
}
StringBuilder sb = new StringBuilder();
sb.append(Conf.factionRolePrefix);
sb.append(s);
@@ -176,6 +206,7 @@ public class Discord {
/**
* Get the name of the Faction Role that would be generated with the tag
*
* @param tag Faction Name/Tag
* @return Name of would be Role
*/
@@ -204,13 +235,19 @@ public class Discord {
* @param f FPlayer target
*/
public static void resetNick(FPlayer f) {
if (mainGuild == null) { return; }
if (mainGuild.getMember(f.discordUser()) == null) { return; }
if (mainGuild == null) {
return;
}
if (mainGuild.getMember(f.discordUser()) == null) {
return;
}
mainGuild.getController().setNickname(mainGuild.getMember(f.discordUser()), f.discordUser().getName()).queue();
}
public static void changeFactionTag(Faction f, String oldTag) {
if (!useDiscord | mainGuild == null) { return; }
if (!useDiscord | mainGuild == null) {
return;
}
for (FPlayer fp : f.getFPlayers()) {
if (fp.discordSetup() && isInMainGuild(fp.discordUser())) {
try {
@@ -222,7 +259,9 @@ public class Discord {
mainGuild.getController().removeSingleRoleFromMember(m, Objects.requireNonNull(getRoleFromName(oldTag))).queue();
mainGuild.getController().addSingleRoleToMember(m, Objects.requireNonNull(createFactionRole(f.getTag()))).queue();
}
} catch (HierarchyException e) {System.out.print(e.getMessage());}
} catch (HierarchyException e) {
System.out.print(e.getMessage());
}
}
}

View File

@@ -25,7 +25,7 @@ import java.util.stream.Collectors;
public class DiscordListener extends ListenerAdapter {
/**
* @author Driftay
* @author Vankka
*/
private static File file = new File(FactionsPlugin.getInstance().getDataFolder(), "discord_guilds.json");
@@ -93,7 +93,8 @@ public class DiscordListener extends ListenerAdapter {
prefix = ".";
}
String content = event.getMessage().getContentRaw();
if (!content.startsWith(prefix) && !content.startsWith(event.getGuild().getSelfMember().getAsMention())) return;
if (!content.startsWith(prefix) && !content.startsWith(event.getGuild().getSelfMember().getAsMention()))
return;
if (content.startsWith(prefix + "help") || content.startsWith(event.getGuild().getSelfMember().getAsMention() + " help")) {
this.help(event, content, prefix);
} else if (content.startsWith(prefix + "stats")) {
@@ -124,7 +125,8 @@ public class DiscordListener extends ListenerAdapter {
this.settings(event);
}
} catch (PermissionException exception) {
if (!event.getGuild().getSelfMember().hasPermission(event.getChannel(), Permission.MESSAGE_READ, Permission.MESSAGE_WRITE)) return;
if (!event.getGuild().getSelfMember().hasPermission(event.getChannel(), Permission.MESSAGE_READ, Permission.MESSAGE_WRITE))
return;
event.getChannel().sendMessage((":x: Missing permission, `" + exception.getPermission().toString() + "`")).queue();
}
}
@@ -135,7 +137,8 @@ public class DiscordListener extends ListenerAdapter {
private Faction getFactionWithWarning(TextChannel textChannel) {
Faction faction = this.getFaction(textChannel.getGuild());
if (faction == null) textChannel.sendMessage((":x: This guild isn't linked to a faction, use `/f setguild " + textChannel.getGuild().getId() + "` in game")).queue();
if (faction == null)
textChannel.sendMessage((":x: This guild isn't linked to a faction, use `/f setguild " + textChannel.getGuild().getId() + "` in game")).queue();
return faction;
}
@@ -342,7 +345,7 @@ public class DiscordListener extends ListenerAdapter {
private void setNotifyFormat(GuildMessageReceivedEvent event, String content, String prefix) {
Faction faction = this.getFactionWithWarning(event.getChannel());
if (faction == null)return;
if (faction == null) return;
if (cantAccessPermissionWithWarning(event.getChannel(), event.getMember())) return;
if (!content.contains(" ")) {
event.getChannel().sendMessage((":x: Usage, `" + prefix + "setnotifyformat <format>` (%type%)")).queue();

View File

@@ -1,5 +1,10 @@
package com.massivecraft.factions.discord;
/**
* @author SaberTeam
*/
public class DiscordSetupAttempt {
private Boolean success;
private String reason;
@@ -7,8 +12,9 @@ public class DiscordSetupAttempt {
/**
* Constructor used when an attempt fails
*
* @param reason String reason for the attempt failing
* @param time Long current system time in millis
* @param time Long current system time in millis
*/
public DiscordSetupAttempt(String reason, Long time) {
this.success = false;
@@ -18,6 +24,7 @@ public class DiscordSetupAttempt {
/**
* Constructor used for successful attempts
*
* @param time Long Current system time in millis
*/
public DiscordSetupAttempt(Long time) {
@@ -28,30 +35,43 @@ public class DiscordSetupAttempt {
/**
* Get if this attempt to setup the Discord bot was successful
*
* @return Boolean success
*/
public Boolean getSuccess() {return this.success;}
public Boolean getSuccess() {
return this.success;
}
/**
* Get the reason for the setup failing (If it was successful it will return null)
*
* @return String reason
*/
public String getReason() {return this.reason;}
public String getReason() {
return this.reason;
}
/**
* Get the time this setup was attempted
*
* @return Long initialTime
*/
public Long getInitialTime() {return this.initialTime;}
public Long getInitialTime() {
return this.initialTime;
}
/**
* Get the difference of time between when attempted and present time
*
* @return Long time difference in milliseconds
*/
public Long getDifferentialTime() {return System.currentTimeMillis()-initialTime;}
public Long getDifferentialTime() {
return System.currentTimeMillis() - initialTime;
}
/**
* Get the difference in time between when attempted and present time formatted MS,Seconds,Minutes,Hours,Years
*
* @return String with formatted time difference
*/
public String getDifferentialFormatted() {
@@ -61,25 +81,25 @@ public class DiscordSetupAttempt {
if (inProcessTime >= 1000) {
timeIndex++;
//Seconds
inProcessTime = inProcessTime/Integer.toUnsignedLong(1000);
inProcessTime = inProcessTime / Integer.toUnsignedLong(1000);
if (inProcessTime >= 60) {
timeIndex++;
//Minutes
inProcessTime = inProcessTime/Integer.toUnsignedLong(60);
inProcessTime = inProcessTime / Integer.toUnsignedLong(60);
if (inProcessTime >= 60) {
timeIndex++;
//Hours
inProcessTime = inProcessTime/Integer.toUnsignedLong(60);
inProcessTime = inProcessTime / Integer.toUnsignedLong(60);
if (inProcessTime >= 24) {
timeIndex++;
//Days
inProcessTime = inProcessTime/Integer.toUnsignedLong(24);
inProcessTime = inProcessTime / Integer.toUnsignedLong(24);
//Skipping months
if (inProcessTime >= 365) {
timeIndex++;
//Years
//If someone really has 100% uptime in a year idek
inProcessTime = inProcessTime/Integer.toUnsignedLong(365);
inProcessTime = inProcessTime / Integer.toUnsignedLong(365);
}
}
}
@@ -91,12 +111,24 @@ public class DiscordSetupAttempt {
sb.append(" ");
String s = "";
switch (timeIndex) {
case 0: s = "MS"; break;
case 1: s = "Seconds"; break;
case 2: s = "Minutes"; break;
case 3: s = "Hours"; break;
case 4: s = "Days"; break;
case 5: s = "Years"; break;
case 0:
s = "MS";
break;
case 1:
s = "Seconds";
break;
case 2:
s = "Minutes";
break;
case 3:
s = "Hours";
break;
case 4:
s = "Days";
break;
case 5:
s = "Years";
break;
}
sb.append(s);
sb.append(" ago");

View File

@@ -5,8 +5,6 @@ import com.massivecraft.factions.Faction;
import com.massivecraft.factions.Factions;
import com.massivecraft.factions.FactionsPlugin;
import mkremins.fanciful.FancyMessage;
import net.dv8tion.jda.core.AccountType;
import net.dv8tion.jda.core.JDABuilder;
import net.dv8tion.jda.core.Permission;
import net.dv8tion.jda.core.entities.Message;
import net.dv8tion.jda.core.entities.TextChannel;
@@ -19,12 +17,15 @@ import net.dv8tion.jda.webhook.WebhookMessage;
import net.dv8tion.jda.webhook.WebhookMessageBuilder;
import org.bukkit.ChatColor;
import javax.security.auth.login.LoginException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.logging.Level;
/**
* @author Vankka & SaberTeam
*/
public class FactionChatHandler extends ListenerAdapter {
@@ -69,7 +70,9 @@ public class FactionChatHandler extends ListenerAdapter {
while (i <= x.size() - 1) {
mention.append(" ").append(x.get(i));
ii.add(i);
if (mention.toString().contains("#")) {break;}
if (mention.toString().contains("#")) {
break;
}
i++;
}
if (mention.toString().contains("#")) {

View File

@@ -76,32 +76,40 @@ public class PowerLossEvent extends FactionPlayerEvent implements Cancellable {
/**
* Gets the configured damage to a players individual power on death
*
* @return power to be lost as a Double.
*/
public double getDefaultPowerLost() {return Conf.powerPerDeath;}
public double getDefaultPowerLost() {
return Conf.powerPerDeath;
}
/**
* Gets the variable power lost. Custom power ignored when less than or equal to zero.
*
* @return custom power to be lost as a Double.
*/
public double getCustomPowerLost() {return this.modified;}
public double getCustomPowerLost() {
return this.modified;
}
/**
* Sets the variable power lost. Custom power ignored when less than or equal to zero.
*
* @param loss Double amount for the custom power loss to be set to.
*/
public void setCustomPowerLost(Double loss) {modified = loss;}
public void setCustomPowerLost(Double loss) {
modified = loss;
}
/**
* Determines if custom power is to be used.
*
* @return If custom power is to be used as a boolean.
*/
public boolean usingCustomPower() {
if (modified > 0) {
return true;
}
return false;
return modified > 0;
}
@Override
public boolean isCancelled() {
return cancelled;

View File

@@ -3,8 +3,6 @@ package com.massivecraft.factions.event;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.zcore.persist.MemoryFPlayer;
import com.massivecraft.factions.zcore.persist.MemoryFPlayers;
import org.bukkit.event.Cancellable;
/**
@@ -25,6 +23,7 @@ public class PowerRegenEvent extends FactionPlayerEvent implements Cancellable {
/**
* Get the amount of power this player will regen by default
*
* @return power amount gained as a Double.
*/
public double getDefaultPowerGained() {
@@ -33,26 +32,30 @@ public class PowerRegenEvent extends FactionPlayerEvent implements Cancellable {
/**
* Get the amount of custom power this player will gain. Ignored if less than or equal to 0.
*
* @return Custom power as a double
*/
public double getCustomPower() {return modified;}
/**
* Get if we will be using the custom power gain instead of default.
* @return If we will process the event custom returned as a Boolean.
*/
public boolean usingCustomPower() {
if (modified > 0) {
return true;
}
return false;
public double getCustomPower() {
return modified;
}
/**
* Set the custom power gain for this event.
*
* @param gain Amount of power to be added to player.
*/
public void setCustomPower(Double gain) {modified = gain;}
public void setCustomPower(Double gain) {
modified = gain;
}
/**
* Get if we will be using the custom power gain instead of default.
*
* @return If we will process the event custom returned as a Boolean.
*/
public boolean usingCustomPower() {
return modified > 0;
}
@Override
public boolean isCancelled() {

View File

@@ -34,10 +34,7 @@ import java.util.List;
public class Worldguard {
/**
* @author FactionsUUID Team
*/
private static Worldguard instance;
private Object worldGuard;
private WorldGuardPlugin worldGuardPlugin;
private Object regionContainer;
@@ -53,15 +50,13 @@ public class Worldguard {
private StateFlag breakFlag;
private boolean initialized = false;
private static Worldguard instance;
public Worldguard() {
instance = this;
Plugin p = Bukkit.getPluginManager().getPlugin("WorldGuard");
if (p == null) {
FactionsPlugin.instance.log("Could not find WorldGuard! Support will not be added.");
FactionsPlugin.getInstance().log("Could not find WorldGuard! Support will not be added.");
return;
}
if (p instanceof WorldGuardPlugin) {
@@ -71,17 +66,21 @@ public class Worldguard {
Class<?> worldGuardClass = Class.forName("com.sk89q.worldguard.WorldGuard");
Method getInstanceMethod = worldGuardClass.getMethod("getInstance");
worldGuard = getInstanceMethod.invoke(null);
FactionsPlugin.instance.log("Found WorldGuard 7+");
} catch (Exception ex) { FactionsPlugin.instance.log("Found WorldGuard <7"); }
FactionsPlugin.getInstance().log("Found WorldGuard 7+");
} catch (Exception ex) {
FactionsPlugin.getInstance().log("Found WorldGuard <7");
}
}
}
public static Worldguard getInstance() {
return instance;
}
public boolean isEnabled() {
return worldGuardPlugin != null;
}
public static Worldguard getInstance() { return instance; }
protected RegionAssociable getAssociable(Player player) {
RegionAssociable associable;
if (player == null) {
@@ -121,8 +120,8 @@ public class Worldguard {
breakFlag = (StateFlag) flagsClass.getField("BREAK").get(null);
} catch (Exception ex) {
FactionsPlugin.instance.log("We failed to load some part of World Guard. Support will be removed!");
FactionsPlugin.instance.log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
FactionsPlugin.getInstance().log("We failed to load some part of World Guard. Support will be removed!");
FactionsPlugin.getInstance().log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
regionContainer = null;
return;
}
@@ -140,8 +139,8 @@ public class Worldguard {
breakFlag = (StateFlag) flagsClass.getField("BREAK").get(null);
} catch (Exception ex) {
FactionsPlugin.instance.log("We failed to load some part of World Guard. Support will be removed!");
FactionsPlugin.instance.log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
FactionsPlugin.getInstance().log("We failed to load some part of World Guard. Support will be removed!");
FactionsPlugin.getInstance().log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
regionContainer = null;
return;
}
@@ -157,8 +156,8 @@ public class Worldguard {
vectorConstructorAsAMethodBecauseWhyNot = vectorClass.getMethod("at", Double.TYPE, Double.TYPE, Double.TYPE);
regionManagerGetMethod = RegionManager.class.getMethod("getApplicableRegions", vectorClass);
} catch (Exception sodonewiththis) {
FactionsPlugin.instance.log("We failed to load Vector Classes from WorldGuard! Support will be removed!");
FactionsPlugin.instance.log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
FactionsPlugin.getInstance().log("We failed to load Vector Classes from WorldGuard! Support will be removed!");
FactionsPlugin.getInstance().log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
regionContainer = null;
return;
}
@@ -173,12 +172,12 @@ public class Worldguard {
try {
if (worldAdaptMethod != null) {
Object worldEditWorld = worldAdaptMethod.invoke(null, world);
regionManager = (RegionManager)regionContainerGetMethod.invoke(regionContainer, worldEditWorld);
regionManager = (RegionManager) regionContainerGetMethod.invoke(regionContainer, worldEditWorld);
} else {
regionManager = (RegionManager)regionContainerGetMethod.invoke(regionContainer, world);
regionManager = (RegionManager) regionContainerGetMethod.invoke(regionContainer, world);
}
} catch (Exception ex) {
FactionsPlugin.instance.log("An error occurred looking up a WorldGuard RegionManager");
FactionsPlugin.getInstance().log("An error occurred looking up a WorldGuard RegionManager");
}
return regionManager;
}
@@ -190,10 +189,10 @@ public class Worldguard {
Object vector = vectorConstructorAsAMethodBecauseWhyNot == null
? vectorConstructor.newInstance(location.getX(), location.getY(), location.getZ())
: vectorConstructorAsAMethodBecauseWhyNot.invoke(null, location.getX(), location.getY(), location.getZ());
return (ApplicableRegionSet)regionManagerGetMethod.invoke(regionManager, vector);
return (ApplicableRegionSet) regionManagerGetMethod.invoke(regionManager, vector);
} catch (Exception ex) {
FactionsPlugin.instance.log("An error occurred looking up a WorldGuard ApplicableRegionSet");
FactionsPlugin.instance.log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
FactionsPlugin.getInstance().log("An error occurred looking up a WorldGuard ApplicableRegionSet");
FactionsPlugin.getInstance().log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
}
return null;
}
@@ -201,7 +200,8 @@ public class Worldguard {
/**
* Used to check WorldGuard to see if a Player has permission to place a block.
* @param player player in question.
*
* @param player player in question.
* @param location Location of block placed.
* @return
*/
@@ -212,11 +212,12 @@ public class Worldguard {
Object query = createQueryMethod.invoke(regionContainer);
if (locationAdaptMethod != null) {
Object loc = locationAdaptMethod.invoke(null, location);
return (boolean)regionQueryTestStateMethod.invoke(query, loc, getAssociable(player), new StateFlag[]{buildFlag});
} else return (boolean)regionQueryTestStateMethod.invoke(query, location, getAssociable(player), new StateFlag[]{buildFlag});
return (boolean) regionQueryTestStateMethod.invoke(query, loc, getAssociable(player), new StateFlag[]{buildFlag});
} else
return (boolean) regionQueryTestStateMethod.invoke(query, location, getAssociable(player), new StateFlag[]{buildFlag});
} catch (Exception ex) {
FactionsPlugin.instance.log("An error occurred querying WorldGuard! Report this issue to SF Developers!");
FactionsPlugin.instance.log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
FactionsPlugin.getInstance().log("An error occurred querying WorldGuard! Report this issue to SF Developers!");
FactionsPlugin.getInstance().log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
}
}
return true;
@@ -224,7 +225,8 @@ public class Worldguard {
/**
* Used to check WorldGuard to see if a player has permission to break a block.
* @param player player in question.
*
* @param player player in question.
* @param location Location of block broken.
* @return
*/
@@ -236,20 +238,24 @@ public class Worldguard {
if (locationAdaptMethod != null) {
Object loc = locationAdaptMethod.invoke(null, location);
return (boolean) regionQueryTestStateMethod.invoke(query, loc, getAssociable(player), new StateFlag[]{breakFlag});
} else return (boolean) regionQueryTestStateMethod.invoke(query, location, getAssociable(player), new StateFlag[]{breakFlag});
} else
return (boolean) regionQueryTestStateMethod.invoke(query, location, getAssociable(player), new StateFlag[]{breakFlag});
} catch (Exception ex) {
FactionsPlugin.instance.log("An error occurred querying WorldGuard! Report this issue to SF Developers!");
FactionsPlugin.instance.log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
FactionsPlugin.getInstance().log("An error occurred querying WorldGuard! Report this issue to SF Developers!");
FactionsPlugin.getInstance().log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
}
}
return true;
}
public boolean checkForRegionsInChunk(FLocation floc) { return checkForRegionsInChunk(floc.getChunk()); }
public boolean checkForRegionsInChunk(FLocation floc) {
return checkForRegionsInChunk(floc.getChunk());
}
/**
* Used for checking if regions are located in a chunk
*
* @param chunk Chunk in question.
* @return
*/
@@ -275,8 +281,8 @@ public class Worldguard {
return overlaps != null && !overlaps.isEmpty();
} catch (Exception ex) {
FactionsPlugin.instance.log("An error occurred querying WorldGuard! Report this issue to SF Developers!");
FactionsPlugin.instance.log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
FactionsPlugin.getInstance().log("An error occurred querying WorldGuard! Report this issue to SF Developers!");
FactionsPlugin.getInstance().log("WorldGuard 7.0.0 support is currently in BETA. Please be careful!");
}
}
return false;
@@ -284,7 +290,8 @@ public class Worldguard {
/**
* General check for WorldGuard region @ location.
* @param player player in question.
*
* @param player player in question.
* @param location Location of block broken.
* @return
*/

View File

@@ -8,7 +8,6 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Relation;
import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.ItemBuilder;
import com.massivecraft.factions.util.Particles.ParticleEffect;
import com.massivecraft.factions.util.XMaterial;
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
@@ -28,7 +27,6 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.*;
import org.bukkit.event.entity.EntityChangeBlockEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.inventory.ItemStack;
@@ -162,18 +160,20 @@ public class FactionsBlockListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onBlockPlace(BlockPlaceEvent event) {
Faction at = Board.getInstance().getFactionAt(new FLocation(event.getBlockPlaced()));
if (!event.canBuild()) return;
if (event.getBlockPlaced().getType() == Material.FIRE) return;
boolean isSpawner = event.getBlock().getType().equals(XMaterial.SPAWNER.parseMaterial());
if (!playerCanBuildDestroyBlock(event.getPlayer(), event.getBlock().getLocation(), "build", false)) {
event.setCancelled(true);
return;
}
if (event.getBlock().getType().equals(XMaterial.SPAWNER.parseMaterial()) && Conf.spawnerLock) {
event.setCancelled(true);
event.getPlayer().sendMessage(FactionsPlugin.getInstance().color(TL.COMMAND_SPAWNER_LOCK_CANNOT_PLACE.toString()));
if (isSpawner) {
if (Conf.spawnerLock) {
event.setCancelled(true);
event.getPlayer().sendMessage(FactionsPlugin.getInstance().color(TL.COMMAND_SPAWNER_LOCK_CANNOT_PLACE.toString()));
}
}
}
@@ -389,8 +389,6 @@ public class FactionsBlockListener implements Listener {
String[] components = effect.split(":");
player.addPotionEffect(new PotionEffect(Objects.requireNonNull(PotionEffectType.getByName(components[0])), 100, Integer.parseInt(components[1])));
}
ParticleEffect.LAVA.display(1.0f, 1.0f, 1.0f, 1.0f, 10, banner.getLocation(), 16.0);
ParticleEffect.FLAME.display(1.0f, 1.0f, 1.0f, 1.0f, 10, banner.getLocation(), 16.0);
if (banner.getType() == bannerType) {
continue;
}
@@ -427,7 +425,7 @@ public class FactionsBlockListener implements Listener {
if (!justCheck) fPlayer.setLastFrostwalkerMessage();
// Check if they have build permissions here. If not, block this from happening.
if (!playerCanBuildDestroyBlock(player, location, "frostwalk", justCheck)) event.setCancelled(true);
if (!playerCanBuildDestroyBlock(player, location, PermissableAction.FROST_WALK.toString(), justCheck)) event.setCancelled(true);
}
@EventHandler
@@ -442,39 +440,6 @@ public class FactionsBlockListener implements Listener {
}
}
//Grace
@EventHandler
public void onBreak(EntityExplodeEvent e) {
if (!Conf.gracePeriod) return;
e.setCancelled(true);
}
@EventHandler
public void entityDamage(EntityDamageEvent e) {
if (!Conf.gracePeriod) return;
if (e.getEntity() instanceof Player) {
if (e.getCause() == EntityDamageEvent.DamageCause.PROJECTILE) {
e.setCancelled(true);
}
}
}
@EventHandler
public void onTNTPlace(BlockPlaceEvent e1) {
FPlayer fp = FPlayers.getInstance().getByPlayer(e1.getPlayer());
if (!Conf.gracePeriod) return;
if (!fp.isAdminBypassing()) {
if (e1.getBlock().getType().equals(Material.TNT)) {
e1.setCancelled(true);
fp.msg(TL.COMMAND_GRACE_ENABLED, e1.getBlockPlaced().getType().toString());
}
}
}
private boolean canPistonMoveBlock(Faction pistonFaction, Location target) {
Faction otherFaction = Board.getInstance().getFactionAt(new FLocation(target));
@@ -491,30 +456,48 @@ public class FactionsBlockListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onBlockBreak(BlockBreakEvent event) {
Block block = event.getBlock();
//If there is an error its much safer to not allow the block to be broken
try {
Block block = event.getBlock();
Faction at = Board.getInstance().getFactionAt(new FLocation(block));
boolean isSpawner = event.getBlock().getType() == XMaterial.SPAWNER.parseMaterial();
if (!playerCanBuildDestroyBlock(event.getPlayer(), event.getBlock().getLocation(), !isSpawner ? "destroy" : "mine spawners", false)) {
event.setCancelled(true);
return;
}
if (block != null && isSpawner) {
ItemStack item = new ItemStack(block.getType(), 1, block.getData());
if (at != null && at.isNormal()) {
FPlayer fplayer = FPlayers.getInstance().getByPlayer(event.getPlayer());
if (fplayer != null) {
BlockState state = block.getState();
if (state instanceof CreatureSpawner) {
CreatureSpawner spawner = (CreatureSpawner) state;
item.setDurability(spawner.getSpawnedType().getTypeId());
}
handleSpawnerUpdate(at, event.getPlayer(), item, LogTimer.TimerSubType.SPAWNER_BREAK);
Faction at = Board.getInstance().getFactionAt(new FLocation(block));
boolean isSpawner = event.getBlock().getType().equals(XMaterial.SPAWNER.parseMaterial());
if (!playerCanBuildDestroyBlock(event.getPlayer(), event.getBlock().getLocation(), "destroy", false)) {
event.setCancelled(true);
return;
}
FPlayer fme = FPlayers.getInstance().getByPlayer(event.getPlayer());
if (fme == null || !fme.hasFaction()) return;
if (isSpawner) {
Access access = fme.getFaction().getAccess(fme, PermissableAction.SPAWNER);
if (access != Access.ALLOW && fme.getRole() != Role.LEADER) {
fme.msg(TL.GENERIC_FPERM_NOPERMISSION, "mine spawners");
}
}
if (isSpawner && !fme.isAdminBypassing()) {
ItemStack item = new ItemStack(block.getType(), 1, block.getData());
if (at != null && at.isNormal()) {
FPlayer fplayer = FPlayers.getInstance().getByPlayer(event.getPlayer());
if (fplayer != null) {
BlockState state = block.getState();
if (state instanceof CreatureSpawner) {
CreatureSpawner spawner = (CreatureSpawner) state;
item.setDurability(spawner.getSpawnedType().getTypeId());
}
handleSpawnerUpdate(at, event.getPlayer(), item, LogTimer.TimerSubType.SPAWNER_BREAK);
}
}
}
} catch (Exception e) {
event.setCancelled(true);
e.printStackTrace();
}
}
@EventHandler(priority = EventPriority.HIGHEST)
public void FrameRemove(HangingBreakByEntityEvent event) {
if (event.getRemover() == null) return;
@@ -523,6 +506,7 @@ public class FactionsBlockListener implements Listener {
Player p = (Player) event.getRemover();
if (!playerCanBuildDestroyBlock(p, event.getEntity().getLocation(), "destroy", true)) {
event.setCancelled(true);
return;
}
}
}

View File

@@ -7,7 +7,6 @@ import com.massivecraft.factions.util.MiscUtil;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.TravelAgent;
import org.bukkit.block.Block;
import org.bukkit.entity.*;
import org.bukkit.entity.minecart.ExplosiveMinecart;
@@ -20,7 +19,6 @@ import org.bukkit.event.hanging.HangingBreakEvent;
import org.bukkit.event.hanging.HangingBreakEvent.RemoveCause;
import org.bukkit.event.hanging.HangingPlaceEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.projectiles.ProjectileSource;
@@ -36,18 +34,6 @@ public class FactionsEntityListener implements Listener {
private static final Set<PotionEffectType> badPotionEffects = new LinkedHashSet<>(Arrays.asList(PotionEffectType.BLINDNESS, PotionEffectType.CONFUSION, PotionEffectType.HARM, PotionEffectType.HUNGER, PotionEffectType.POISON, PotionEffectType.SLOW, PotionEffectType.SLOW_DIGGING, PotionEffectType.WEAKNESS, PotionEffectType.WITHER));
@EventHandler
public void onCreeperGlitch(EntityDamageEvent e) {
if (!Conf.preventCreeperGlitch) {
return;
}
if (!e.getEntity().getType().equals(EntityType.CREEPER)) {
return;
}
if (e.getCause().equals(EntityDamageEvent.DamageCause.DROWNING) || e.getCause().equals(EntityDamageEvent.DamageCause.SUFFOCATION)) {
e.getEntity().remove();
}
}
@EventHandler(priority = EventPriority.NORMAL)
public void onEntityDeath(EntityDeathEvent event) {
@@ -108,11 +94,9 @@ public class FactionsEntityListener implements Listener {
public void onEntityDamage(EntityDamageEvent event) {
if (event instanceof EntityDamageByEntityEvent) {
EntityDamageByEntityEvent sub = (EntityDamageByEntityEvent) event;
if (!this.canDamagerHurtDamagee(sub, true)) {
event.setCancelled(true);
}
// event is not cancelled by factions
if (!this.canDamagerHurtDamagee(sub, true)) event.setCancelled(true);
// event is not cancelled by factions
Entity damagee = sub.getEntity();
Entity damager = sub.getDamager();
if (damagee instanceof Player) {
@@ -139,15 +123,12 @@ public class FactionsEntityListener implements Listener {
// this should disable the fly so
return;
}
} else {
// this should trigger if the attacker shootin the arrow is a mob
return;
}
} else return; // this should trigger if the attacker shootin the arrow is a mob
}
}
} else {
// Protect armor stands/item frames from being damaged in protected territories
if (damagee.getType() == EntityType.ITEM_FRAME || damagee.getType().name().equals("armor_stand")) {
if (damagee.getType() == EntityType.ITEM_FRAME || damagee.getType() == EntityType.ARMOR_STAND) {
// Manage projectiles launched by players
if (damager instanceof Projectile && ((Projectile) damager).getShooter() instanceof Entity) {
damager = (Entity) ((Projectile) damager).getShooter();
@@ -155,36 +136,22 @@ public class FactionsEntityListener implements Listener {
// Run the check for a player
if (damager instanceof Player) {
// Generate the action message.
String entityAction;
if (damagee.getType() == EntityType.ITEM_FRAME) {
entityAction = "item frames";
} else {
entityAction = "armor stands";
}
if (!FactionsBlockListener.playerCanBuildDestroyBlock((Player) damager, damagee.getLocation(), "destroy " + entityAction, false)) {
if (!FactionsBlockListener.playerCanBuildDestroyBlock((Player) damager, damagee.getLocation(), "destroy", false))
event.setCancelled(true);
}
} else {
// we don't want to let mobs/arrows destroy item frames/armor stands
// so we only have to run the check as if there had been an explosion at the damager location
if (!this.checkExplosionForBlock(damager, damagee.getLocation().getBlock())) {
if (!this.checkExplosionForBlock(damager, damagee.getLocation().getBlock()))
event.setCancelled(true);
}
}
// we don't need to go after
return;
}
//this one should trigger if something other than a player takes damage
if (damager instanceof Player) {
// now itll only go here if the damage is dealt by a player
return;
// we cancel it so fly isnt removed when you hit a mob etc
}
if (damager instanceof Player) return;
}
if (damagee != null && damagee instanceof Player) {
cancelFStuckTeleport((Player) damagee);
@@ -228,6 +195,7 @@ public class FactionsEntityListener implements Listener {
}
}
private void cancelFFly(Player player) {
if (player == null) return;
FPlayer fPlayer = FPlayers.getInstance().getByPlayer(player);
@@ -240,7 +208,7 @@ public class FactionsEntityListener implements Listener {
UUID uuid = player.getUniqueId();
if (FactionsPlugin.getInstance().getStuckMap().containsKey(uuid))
FPlayers.getInstance().getByPlayer(player).msg(TL.COMMAND_STUCK_CANCELLED);
FactionsPlugin.getInstance().getStuckMap().remove(uuid);
FactionsPlugin.getInstance().getStuckMap().remove(uuid);
}
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
@@ -292,7 +260,7 @@ public class FactionsEntityListener implements Listener {
if (faction.noExplosionsInTerritory() || (faction.isPeaceful() && Conf.peacefulTerritoryDisableBoom))
return false;
// faction is peaceful and has explosions set to disabled
// faction is peaceful and has explosions set to disabled
boolean online = faction.hasPlayersOnline();
@@ -373,26 +341,39 @@ public class FactionsEntityListener implements Listener {
if (!(damagee instanceof Player)) return true;
FPlayer defender = FPlayers.getInstance().getByPlayer((Player) damagee);
if (defender == null || defender.getPlayer() == null) return true;
if (damager instanceof Player) {
FPlayer attacker = FPlayers.getInstance().getByPlayer((Player) damager);
if (defender == null || defender.getPlayer() == null) return true;
if (attacker.getFaction() == defender.getFaction()) {
if (attacker.hasFriendlyFire() && defender.hasFriendlyFire()) return true;
if (attacker.hasFriendlyFire() && !defender.hasFriendlyFire()) {
attacker.msg(TL.FRIENDLY_FIRE_OFF_ATTACKER, defender.getName());
return false;
} else if (!attacker.hasFriendlyFire() && defender.hasFriendlyFire()) {
attacker.msg(TL.FRIENDLY_FIRE_YOU_MUST);
return false;
}
}
}
Location defenderLoc = defender.getPlayer().getLocation();
Faction defLocFaction = Board.getInstance().getFactionAt(new FLocation(defenderLoc));
// for damage caused by projectiles, getDamager() returns the projectile... what we need to know is the source
if (damager instanceof Projectile) {
Projectile projectile = (Projectile) damager;
if (!(projectile.getShooter() instanceof Entity)) return true;
damager = (Entity) projectile.getShooter();
}
if (damager == damagee) return true; // ender pearl usage and other self-inflicted damage
// Players can not take attack damage in a SafeZone, or possibly peaceful territory
// Players can not take attack damage in a SafeZone or peaceful territory depending on Conf options.
if (defLocFaction.noPvPInTerritory()) {
if (damager instanceof Player) {
if (notify) {
@@ -406,19 +387,14 @@ public class FactionsEntityListener implements Listener {
if (!(damager instanceof Player)) return true;
FPlayer attacker = FPlayers.getInstance().getByPlayer((Player) damager);
if (attacker == null || attacker.getPlayer() == null) return true;
if (Conf.playersWhoBypassAllProtection.contains(attacker.getName())) return true;
if (attacker.hasLoginPvpDisabled()) {
if (notify) {
attacker.msg(TL.PLAYER_PVP_LOGIN, Conf.noPVPDamageToOthersForXSecondsAfterLogin);
}
if (notify) attacker.msg(TL.PLAYER_PVP_LOGIN, Conf.noPVPDamageToOthersForXSecondsAfterLogin);
return false;
}
@@ -426,47 +402,32 @@ public class FactionsEntityListener implements Listener {
// so we know from above that the defender isn't in a safezone... what about the attacker, sneaky dog that he might be?
if (locFaction.noPvPInTerritory()) {
if (notify) {
if (notify)
attacker.msg(TL.PLAYER_CANTHURT, (locFaction.isSafeZone() ? TL.REGION_SAFEZONE.toString() : TL.REGION_PEACEFUL.toString()));
}
return false;
}
if (locFaction.isWarZone() && Conf.warZoneFriendlyFire) return true;
if (Conf.worldsIgnorePvP.contains(defenderLoc.getWorld().getName())) return true;
Faction defendFaction = defender.getFaction();
Faction attackFaction = attacker.getFaction();
if (attackFaction.isWilderness() && Conf.disablePVPForFactionlessPlayers) {
if (notify) {
attacker.msg(TL.PLAYER_PVP_REQUIREFACTION);
}
if (notify) attacker.msg(TL.PLAYER_PVP_REQUIREFACTION);
return false;
} else if (defendFaction.isWilderness()) {
if (defLocFaction == attackFaction && Conf.enablePVPAgainstFactionlessInAttackersLand) {
// Allow PVP vs. Factionless in attacker's faction territory
return true;
} else if (Conf.disablePVPForFactionlessPlayers) {
if (notify) {
attacker.msg(TL.PLAYER_PVP_FACTIONLESS);
}
if (notify) attacker.msg(TL.PLAYER_PVP_FACTIONLESS);
return false;
}
}
if (defendFaction.isPeaceful()) {
if (notify) {
attacker.msg(TL.PLAYER_PVP_PEACEFUL);
}
return false;
} else if (attackFaction.isPeaceful()) {
if (notify) {
attacker.msg(TL.PLAYER_PVP_PEACEFUL);
}
if (defendFaction.isPeaceful() || attackFaction.isPeaceful()) {
if (notify) attacker.msg(TL.PLAYER_PVP_PEACEFUL);
return false;
}
@@ -474,21 +435,16 @@ public class FactionsEntityListener implements Listener {
// You can not hurt neutral factions
if (Conf.disablePVPBetweenNeutralFactions && relation.isNeutral()) {
if (notify) {
attacker.msg(TL.PLAYER_PVP_NEUTRAL);
}
if (notify) attacker.msg(TL.PLAYER_PVP_NEUTRAL);
return false;
}
// Players without faction may be hurt anywhere
if (!defender.hasFaction()) return true;
// You can never hurt faction members or allies
if (relation.isMember() || relation.isAlly() || relation.isTruce()) {
if (notify) {
attacker.msg(TL.PLAYER_PVP_CANTHURT, defender.describeTo(attacker));
}
if (relation.isMember() || relation.isAlly()) {
if (notify) attacker.msg(TL.PLAYER_PVP_CANTHURT, defender.describeTo(attacker));
return false;
}
@@ -502,23 +458,10 @@ public class FactionsEntityListener implements Listener {
}
return false;
}
// Damage will be dealt. However check if the damage should be reduced.
/*
if (damage > 0.0 && ownTerritory && Conf.territoryShieldFactor > 0) {
double newDamage = Math.ceil(damage * (1D - Conf.territoryShieldFactor));
sub.setDamage(newDamage);
// Send message
if (notify) {
String perc = MessageFormat.format("{0,number,#%}", (Conf.territoryShieldFactor)); // TODO does this display correctly??
defender.msg("<i>Enemy damage reduced by <rose>%s<i>.", perc);
}
} */
return true;
}
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onCreatureSpawn(CreatureSpawnEvent event) {
if (event.getLocation() == null) return;
@@ -569,14 +512,10 @@ public class FactionsEntityListener implements Listener {
@EventHandler
public void onHangerBreak(HangingBreakByEntityEvent e) {
if (e.getRemover() == null) return;
if (!(e.getRemover() instanceof Player)) return;
Player p = (Player) e.getRemover();
if (e.getEntity().getType().equals(EntityType.PAINTING)) {
if (!FactionsBlockListener.playerCanBuildDestroyBlock(p, e.getEntity().getLocation(), "destroy", false)) {
e.setCancelled(true);
}
} else if (e.getEntity().getType().equals(EntityType.ITEM_FRAME)) {
if (e.getEntity().getType() == EntityType.PAINTING || e.getEntity().getType() == EntityType.ITEM_FRAME) {
if (!FactionsBlockListener.playerCanBuildDestroyBlock(p, e.getEntity().getLocation(), "destroy", false)) {
e.setCancelled(true);
}
@@ -584,48 +523,38 @@ public class FactionsEntityListener implements Listener {
}
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPaintingPlace(HangingPlaceEvent event) {
if (event.getEntity().getType().equals(EntityType.PAINTING)) {
if (!FactionsBlockListener.playerCanBuildDestroyBlock(event.getPlayer(), event.getBlock().getLocation(), "build", false)) {
event.setCancelled(true);
// Fix: update player's inventory to avoid items glitches
event.getPlayer().updateInventory();
}
} else if (event.getEntity().getType().equals(EntityType.ITEM_FRAME)) {
if (!FactionsBlockListener.playerCanBuildDestroyBlock(event.getPlayer(), event.getEntity().getLocation(), "build", false)) {
event.setCancelled(true);
// Fix: update player's inventory to avoid items glitches
event.getPlayer().updateInventory();
public void onPaintingPlace(HangingPlaceEvent e) {
if (e.getPlayer() == null) return;
if (e.getEntity().getType() == EntityType.PAINTING || e.getEntity().getType() == EntityType.ITEM_FRAME) {
if (!FactionsBlockListener.playerCanBuildDestroyBlock(e.getPlayer(), e.getBlock().getLocation(), "build", false)) {
e.setCancelled(true);
e.getPlayer().updateInventory();
}
}
}
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onEntityChangeBlock(EntityChangeBlockEvent event) {
Entity entity = event.getEntity();
public void onEntityChangeBlock(EntityChangeBlockEvent e) {
Entity entity = e.getEntity();
Location loc = e.getBlock().getLocation();
// for now, only interested in Enderman and Wither boss tomfoolery
if (!(entity instanceof Enderman) && !(entity instanceof Wither)) return;
Location loc = event.getBlock().getLocation();
if (entity instanceof Enderman) {
if (stopEndermanBlockManipulation(loc)) {
event.setCancelled(true);
}
} else if (entity instanceof Wither) {
if (entity.getType() == EntityType.ENDERMAN) {
if (stopEndermanBlockManipulation(loc)) e.setCancelled(true);
} else if (entity.getType() == EntityType.WITHER) {
Faction faction = Board.getInstance().getFactionAt(new FLocation(loc));
// it's a bit crude just using fireball protection, but I'd rather not add in a whole new set of xxxBlockWitherExplosion or whatever
if ((faction.isWilderness() && Conf.wildernessBlockFireballs && !Conf.worldsNoWildernessProtection.contains(loc.getWorld().getName())) ||
(faction.isNormal() && (faction.hasPlayersOnline() ? Conf.territoryBlockFireballs : Conf.territoryBlockFireballsWhenOffline)) ||
(faction.isWarZone() && Conf.warZoneBlockFireballs) ||
faction.isSafeZone()) {
event.setCancelled(true);
e.setCancelled(true);
}
}
}
/*
@EventHandler
public void onTravel(PlayerPortalEvent event) {
@@ -682,8 +611,8 @@ public class FactionsEntityListener implements Listener {
Player victim = (Player) e.getEntity();
FPlayer fdamager = FPlayers.getInstance().getByPlayer(damager);
FPlayer fvictim = FPlayers.getInstance().getByPlayer(victim);
if(damager == victim) return;
if(fdamager == fvictim) return;
if (damager == victim) return;
if (fdamager == fvictim) return;
if (fvictim.getRelationTo(fdamager) == Relation.TRUCE) {
fdamager.msg(TL.PLAYER_PVP_CANTHURT, fvictim.describeTo(fdamager));
e.setCancelled(true);

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