mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2024-12-22 04:37:42 +01:00
reeeeeee
This commit is contained in:
parent
47c4a7fb32
commit
689cd230d9
21
README.md
21
README.md
@ -2,24 +2,3 @@ Private repository for MMOItems Premium.
|
|||||||
|
|
||||||
Issues: https://git.lumine.io/mythiccraft/mmoitems/-/issues
|
Issues: https://git.lumine.io/mythiccraft/mmoitems/-/issues
|
||||||
Wiki: https://git.lumine.io/mythiccraft/mmoitems/-/wikis/home
|
Wiki: https://git.lumine.io/mythiccraft/mmoitems/-/wikis/home
|
||||||
|
|
||||||
**How to add or update a dependency to the local repository**
|
|
||||||
|
|
||||||
1. Get the jar file you want to add as a dependency and place it on your desktop
|
|
||||||
2. You'll need to deploy your jar as a maven artifact for Maven to recognize the jar as a potential dependency. For that you can use the command in your command prompt:
|
|
||||||
```
|
|
||||||
mvn deploy:deploy-file -Durl=file:///C:\Users\cympe\Desktop -DgroupId=net.Indyuce.mmoitems.lib -Dpackaging=jar -Dfile=<JarFileName>.jar -DartifactId=<ArtifactName> -Dversion=<ArtifactVersion>
|
|
||||||
```
|
|
||||||
|
|
||||||
This will generate a folder on your desktop that you can place in the MI local repo.
|
|
||||||
|
|
||||||
3. Head to the MMOItems pom.xml config file and add a dependency:
|
|
||||||
|
|
||||||
```
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.Indyuce.mmoitems.lib</groupId>
|
|
||||||
<artifactId>ArtifactName</artifactId>
|
|
||||||
<version>ArtifactVersion</version>
|
|
||||||
</dependency>
|
|
||||||
```
|
|
||||||
The artifact names and versions must match in order for the dependency to be recognized.
|
|
||||||
|
Binary file not shown.
Binary file not shown.
BIN
lib/MMOCore.jar
Normal file
BIN
lib/MMOCore.jar
Normal file
Binary file not shown.
BIN
lib/MMOLib.jar
Normal file
BIN
lib/MMOLib.jar
Normal file
Binary file not shown.
BIN
lib/MythicLib.jar
Normal file
BIN
lib/MythicLib.jar
Normal file
Binary file not shown.
BIN
lib/MythicMobs.jar
Normal file
BIN
lib/MythicMobs.jar
Normal file
Binary file not shown.
BIN
lib/PlaceholderAPI.jar
Normal file
BIN
lib/PlaceholderAPI.jar
Normal file
Binary file not shown.
BIN
lib/Vault.jar
BIN
lib/Vault.jar
Binary file not shown.
Binary file not shown.
BIN
lib/spigot-sources.jar
Normal file
BIN
lib/spigot-sources.jar
Normal file
Binary file not shown.
BIN
lib/spigot.jar
Normal file
BIN
lib/spigot.jar
Normal file
Binary file not shown.
272
pom.xml
272
pom.xml
@ -49,7 +49,6 @@
|
|||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>lumine-repo</id>
|
<id>lumine-repo</id>
|
||||||
@ -67,73 +66,83 @@
|
|||||||
<id>inventive-repo</id>
|
<id>inventive-repo</id>
|
||||||
<url>https://repo.inventivetalent.org/content/groups/public/</url>
|
<url>https://repo.inventivetalent.org/content/groups/public/</url>
|
||||||
</repository>
|
</repository>
|
||||||
<repository>
|
|
||||||
<id>jitpack.io</id>
|
|
||||||
<url>https://jitpack.io</url>
|
|
||||||
</repository>
|
|
||||||
<repository>
|
<repository>
|
||||||
<id>placeholderapi</id>
|
<id>placeholderapi</id>
|
||||||
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
<!-- Repository used to fetch all Spigot builds -->
|
|
||||||
<repository>
|
<repository>
|
||||||
<id>spigot-repo</id>
|
<id>jitpack.io</id>
|
||||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
<url>https://jitpack.io</url>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
<!-- Local reposity used to save external libraries with no repos -->
|
|
||||||
<repository>
|
|
||||||
<id>local-repo</id>
|
|
||||||
<url>file:${project.basedir}/local-repo</url>
|
|
||||||
</repository>
|
|
||||||
|
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<!-- Order of dependencies matters in Maven because the first wins when
|
|
||||||
multiple classes match. -->
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<!-- Minecraft -->
|
||||||
<dependency>
|
|
||||||
<groupId>net.Indyuce.mmoitems.lib</groupId>
|
|
||||||
<artifactId>GoogleGSON</artifactId>
|
|
||||||
<version>2.8.5</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.mojang</groupId>
|
<groupId>com.mojang</groupId>
|
||||||
<artifactId>authlib</artifactId>
|
<artifactId>authlib</artifactId>
|
||||||
<version>1.5.21</version>
|
<version>1.5.21</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.spigotmc</groupId>
|
||||||
|
<artifactId>spigot-api</artifactId>
|
||||||
|
<version>amalgam</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/spigot.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- MMOs -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.Indyuce</groupId>
|
<groupId>net.Indyuce</groupId>
|
||||||
<artifactId>MMOCore</artifactId>
|
<artifactId>MMOCore</artifactId>
|
||||||
<version>1.7.1</version>
|
<version>1.7.1</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.lumine</groupId>
|
<groupId>io.lumine</groupId>
|
||||||
<artifactId>MythicLib</artifactId>
|
<artifactId>MythicLib</artifactId>
|
||||||
<version>1.1.0</version>
|
<version>1.0.19</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- USING THIS FOR INTERNAL TESTING -->
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>io.lumine</groupId>-->
|
||||||
|
<!-- <artifactId>MythicLib</artifactId>-->
|
||||||
|
<!-- <version>1.0. 0</version>-->
|
||||||
|
<!-- <scope>system</scope>-->
|
||||||
|
<!-- <systemPath>${basedir}/lib/MythicLib.jar</systemPath>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
|
<!--
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.lumine</groupId>
|
<groupId>net.Indyuce</groupId>
|
||||||
<artifactId>MythicEnchants</artifactId>
|
<artifactId>MMOLib</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.7.3</version>
|
||||||
<scope>provided</scope>
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/MMOLib.jar</systemPath>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- APIs -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jetbrains</groupId>
|
<groupId>org.jetbrains</groupId>
|
||||||
<artifactId>annotations</artifactId>
|
<artifactId>annotations</artifactId>
|
||||||
<version>19.0.0</version>
|
<version>19.0.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.code.gson</groupId>
|
||||||
|
<artifactId>gson</artifactId>
|
||||||
|
<version>2.8.5</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/GoogleGSON.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.klyser8.iridescent</groupId>
|
||||||
|
<artifactId>Iridescent</artifactId>
|
||||||
|
<version>1.2.1</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/Iridescent.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.RednedEpic</groupId>
|
<groupId>com.github.RednedEpic</groupId>
|
||||||
<artifactId>PhatLoots</artifactId>
|
<artifactId>PhatLoots</artifactId>
|
||||||
@ -141,43 +150,186 @@
|
|||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Other Plugins -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>me.clip</groupId>
|
<groupId>com.github.Eniripsa96</groupId>
|
||||||
<artifactId>placeholderapi</artifactId>
|
<artifactId>SkillAPI</artifactId>
|
||||||
<version>2.9.2</version>
|
<version>master-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/SkillAPI.jar</systemPath>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.Archy-x</groupId>
|
<groupId>n3kas</groupId>
|
||||||
<artifactId>AureliumSkills</artifactId>
|
<artifactId>ae.api</artifactId>
|
||||||
<version>Beta1.0.6</version>
|
<version>5.7.6</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/AE-API.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.black_ixx</groupId>
|
||||||
|
<artifactId>BossShop</artifactId>
|
||||||
|
<version>2.0.9</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/BossShopPro.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.lumine</groupId>
|
||||||
|
<artifactId>MythicEnchants</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.bekvon.bukkit</groupId>
|
||||||
|
<artifactId>Residence</artifactId>
|
||||||
|
<version>4.8.7.2</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/Residence.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.Zrips</groupId>
|
||||||
|
<artifactId>CMI</artifactId>
|
||||||
|
<version>8.6.5.0</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/CMI.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.herocraftonline</groupId>
|
||||||
|
<artifactId>heroes</artifactId>
|
||||||
|
<version>1.9.3</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/Heroes.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.gmail.nossr50</groupId>
|
||||||
|
<artifactId>mcMMO</artifactId>
|
||||||
|
<version>2.1.104</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/mcMMO.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>us.eunoians</groupId>
|
||||||
|
<artifactId>McRPG</artifactId>
|
||||||
|
<version>1.1.2</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/McRPG.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.baks</groupId>
|
||||||
|
<artifactId>rpl</artifactId>
|
||||||
|
<version>3.9.30</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/RPGPlayerLeveling.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.leothepro555</groupId>
|
||||||
|
<artifactId>skills</artifactId>
|
||||||
|
<version>12.3.5</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/Skills.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.skills.main</groupId>
|
||||||
|
<artifactId>SkillsPro</artifactId>
|
||||||
|
<version>18.9.0.1</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/SkillsPro.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.robin</groupId>
|
||||||
|
<artifactId>BattleLevels</artifactId>
|
||||||
|
<version>6.9.1</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/BattleLevels.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.evill4mer</groupId>
|
||||||
|
<artifactId>RealDualWield</artifactId>
|
||||||
|
<version>1.1.12</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/RealDualWield.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.arasple.mc</groupId>
|
||||||
|
<artifactId>TrHologram</artifactId>
|
||||||
|
<version>1.11</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/TrHologram.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.gmail.filoghost</groupId>
|
||||||
|
<artifactId>HolographicDisplays</artifactId>
|
||||||
|
<version>6.9.1</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/HolographicDisplays.jar</systemPath>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.lumine.xikage</groupId>
|
<groupId>io.lumine.xikage</groupId>
|
||||||
<artifactId>MythicMobs</artifactId>
|
<artifactId>MythicMobs</artifactId>
|
||||||
<version>4.11.0-SNAPSHOT</version>
|
<version>4.8.0</version>
|
||||||
<scope>provided</scope>
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/MythicMobs.jar</systemPath>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.lumine</groupId>
|
<groupId>de.tobiyas</groupId>
|
||||||
<artifactId>LumineUtils</artifactId>
|
<artifactId>RacesAndClasses</artifactId>
|
||||||
<version>1.16.1-20210326.031037-28</version>
|
<version>1.2.6</version>
|
||||||
<scope>compile</scope>
|
<scope>system</scope>
|
||||||
<exclusions>
|
<systemPath>${basedir}/lib/RacesAndClasses.jar</systemPath>
|
||||||
<exclusion>
|
|
||||||
<artifactId>*</artifactId>
|
|
||||||
<groupId>*</groupId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>ru.endlesscode</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>rpginventory</artifactId>
|
||||||
<version>1.17-R0.1-SNAPSHOT</version>
|
<version>2.3.0</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/RPGInventory.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.sainttx.holograms</groupId>
|
||||||
|
<artifactId>holograms</artifactId>
|
||||||
|
<version>2.9.1</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/Holograms.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.milkbowl</groupId>
|
||||||
|
<artifactId>vault</artifactId>
|
||||||
|
<version>1.7.2</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/Vault.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.sk89q.worldguard</groupId>
|
||||||
|
<artifactId>worldguard-bukkit</artifactId>
|
||||||
|
<version>7.0.1-SNAPSHOT</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/WorldGuard.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.sk89q.worldedit</groupId>
|
||||||
|
<artifactId>worldedit-bukkit</artifactId>
|
||||||
|
<version>7.2.0</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/WorldEdit.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.citizensnpcs</groupId>
|
||||||
|
<artifactId>citizens</artifactId>
|
||||||
|
<version>2.0.25-SNAPSHOT</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/Citizens.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.inventivetalent</groupId>
|
||||||
|
<artifactId>glowapi</artifactId>
|
||||||
|
<version>1.4.8-SNAPSHOT</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/GlowAPI.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.clip</groupId>
|
||||||
|
<artifactId>placeholderapi</artifactId>
|
||||||
|
<version>2.10.7</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${basedir}/lib/PlaceholderAPI.jar</systemPath>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
@ -1,23 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems;
|
package net.Indyuce.mmoitems;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.HandlerList;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.item.SupportedNBTTagValues;
|
import io.lumine.mythic.lib.api.item.SupportedNBTTagValues;
|
||||||
@ -25,12 +7,8 @@ import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
|||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackMessage;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackMessage;
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||||
import io.lumine.mythic.lib.version.SpigotPlugin;
|
import io.lumine.mythic.lib.version.SpigotPlugin;
|
||||||
import io.lumine.utils.plugin.LuminePlugin;
|
import io.lumine.mythic.utils.plugin.LuminePlugin;
|
||||||
import net.Indyuce.mmoitems.api.ClaseMuyImportante;
|
import net.Indyuce.mmoitems.api.*;
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
|
||||||
import net.Indyuce.mmoitems.api.ItemTier;
|
|
||||||
import net.Indyuce.mmoitems.api.SoulboundInfo;
|
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.MMOItemUIFilter;
|
import net.Indyuce.mmoitems.api.crafting.MMOItemUIFilter;
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
@ -39,28 +17,14 @@ import net.Indyuce.mmoitems.api.util.MMOItemReforger;
|
|||||||
import net.Indyuce.mmoitems.api.util.NumericStatFormula;
|
import net.Indyuce.mmoitems.api.util.NumericStatFormula;
|
||||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||||
import net.Indyuce.mmoitems.command.MMOItemsCommandTreeRoot;
|
import net.Indyuce.mmoitems.command.MMOItemsCommandTreeRoot;
|
||||||
import net.Indyuce.mmoitems.comp.AdvancedEnchantmentsHook;
|
import net.Indyuce.mmoitems.comp.*;
|
||||||
import net.Indyuce.mmoitems.comp.MMOItemsMetrics;
|
|
||||||
import net.Indyuce.mmoitems.comp.MMOItemsRewardTypes;
|
|
||||||
import net.Indyuce.mmoitems.comp.McMMONonRPGHook;
|
|
||||||
import net.Indyuce.mmoitems.comp.PhatLootsHook;
|
|
||||||
import net.Indyuce.mmoitems.comp.RealDualWieldHook;
|
|
||||||
import net.Indyuce.mmoitems.comp.WorldEditSupport;
|
|
||||||
import net.Indyuce.mmoitems.comp.eco.VaultSupport;
|
import net.Indyuce.mmoitems.comp.eco.VaultSupport;
|
||||||
import net.Indyuce.mmoitems.comp.flags.DefaultFlags;
|
import net.Indyuce.mmoitems.comp.flags.DefaultFlags;
|
||||||
import net.Indyuce.mmoitems.comp.flags.FlagPlugin;
|
import net.Indyuce.mmoitems.comp.flags.FlagPlugin;
|
||||||
import net.Indyuce.mmoitems.comp.flags.ResidenceFlags;
|
import net.Indyuce.mmoitems.comp.flags.ResidenceFlags;
|
||||||
import net.Indyuce.mmoitems.comp.flags.WorldGuardFlags;
|
import net.Indyuce.mmoitems.comp.flags.WorldGuardFlags;
|
||||||
import net.Indyuce.mmoitems.comp.holograms.CMIPlugin;
|
import net.Indyuce.mmoitems.comp.holograms.*;
|
||||||
import net.Indyuce.mmoitems.comp.holograms.HologramSupport;
|
import net.Indyuce.mmoitems.comp.inventory.*;
|
||||||
import net.Indyuce.mmoitems.comp.holograms.HologramsPlugin;
|
|
||||||
import net.Indyuce.mmoitems.comp.holograms.HolographicDisplaysPlugin;
|
|
||||||
import net.Indyuce.mmoitems.comp.holograms.TrHologramPlugin;
|
|
||||||
import net.Indyuce.mmoitems.comp.inventory.DefaultPlayerInventory;
|
|
||||||
import net.Indyuce.mmoitems.comp.inventory.OrnamentPlayerInventory;
|
|
||||||
import net.Indyuce.mmoitems.comp.inventory.PlayerInventory;
|
|
||||||
import net.Indyuce.mmoitems.comp.inventory.PlayerInventoryHandler;
|
|
||||||
import net.Indyuce.mmoitems.comp.inventory.RPGInventoryHook;
|
|
||||||
import net.Indyuce.mmoitems.comp.itemglow.ItemGlowListener;
|
import net.Indyuce.mmoitems.comp.itemglow.ItemGlowListener;
|
||||||
import net.Indyuce.mmoitems.comp.itemglow.NoGlowListener;
|
import net.Indyuce.mmoitems.comp.itemglow.NoGlowListener;
|
||||||
import net.Indyuce.mmoitems.comp.mmocore.MMOCoreMMOLoader;
|
import net.Indyuce.mmoitems.comp.mmocore.MMOCoreMMOLoader;
|
||||||
@ -78,34 +42,25 @@ import net.Indyuce.mmoitems.comp.rpg.McMMOHook;
|
|||||||
import net.Indyuce.mmoitems.comp.rpg.RPGHandler;
|
import net.Indyuce.mmoitems.comp.rpg.RPGHandler;
|
||||||
import net.Indyuce.mmoitems.gui.PluginInventory;
|
import net.Indyuce.mmoitems.gui.PluginInventory;
|
||||||
import net.Indyuce.mmoitems.gui.listener.GuiListener;
|
import net.Indyuce.mmoitems.gui.listener.GuiListener;
|
||||||
import net.Indyuce.mmoitems.listener.CraftingListener;
|
import net.Indyuce.mmoitems.listener.*;
|
||||||
import net.Indyuce.mmoitems.listener.CustomBlockListener;
|
import net.Indyuce.mmoitems.manager.*;
|
||||||
import net.Indyuce.mmoitems.listener.CustomSoundListener;
|
import org.apache.commons.lang.Validate;
|
||||||
import net.Indyuce.mmoitems.listener.DisableInteractions;
|
import org.bukkit.Bukkit;
|
||||||
import net.Indyuce.mmoitems.listener.DurabilityListener;
|
import org.bukkit.ChatColor;
|
||||||
import net.Indyuce.mmoitems.listener.ElementListener;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import net.Indyuce.mmoitems.listener.EquipListener;
|
import org.bukkit.entity.Player;
|
||||||
import net.Indyuce.mmoitems.listener.ItemListener;
|
import org.bukkit.event.HandlerList;
|
||||||
import net.Indyuce.mmoitems.listener.ItemUse;
|
import org.bukkit.event.Listener;
|
||||||
import net.Indyuce.mmoitems.listener.PlayerListener;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import net.Indyuce.mmoitems.manager.AbilityManager;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import net.Indyuce.mmoitems.manager.BlockManager;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import net.Indyuce.mmoitems.manager.ConfigManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.CraftingManager;
|
import javax.annotation.Nullable;
|
||||||
import net.Indyuce.mmoitems.manager.DropTableManager;
|
import java.io.File;
|
||||||
import net.Indyuce.mmoitems.manager.EntityManager;
|
import java.util.ArrayList;
|
||||||
import net.Indyuce.mmoitems.manager.ItemManager;
|
import java.util.List;
|
||||||
import net.Indyuce.mmoitems.manager.LayoutManager;
|
import java.util.logging.Level;
|
||||||
import net.Indyuce.mmoitems.manager.LoreFormatManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.PluginUpdateManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.RecipeManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.SetManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.StatManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.TemplateManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.TierManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.TypeManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.UpgradeManager;
|
|
||||||
import net.Indyuce.mmoitems.manager.WorldGenManager;
|
|
||||||
|
|
||||||
public class MMOItems extends LuminePlugin {
|
public class MMOItems extends LuminePlugin {
|
||||||
public static MMOItems plugin;
|
public static MMOItems plugin;
|
||||||
@ -182,7 +137,6 @@ public class MMOItems extends LuminePlugin {
|
|||||||
mythicEnchantsSupport = new MythicEnchantsSupport();
|
mythicEnchantsSupport = new MythicEnchantsSupport();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enable() {
|
public void enable() {
|
||||||
|
|
||||||
@ -253,8 +207,7 @@ public class MMOItems extends LuminePlugin {
|
|||||||
Bukkit.getPluginManager().registerEvents(new ElementListener(), this);
|
Bukkit.getPluginManager().registerEvents(new ElementListener(), this);
|
||||||
Bukkit.getPluginManager().registerEvents(new CustomBlockListener(), this);
|
Bukkit.getPluginManager().registerEvents(new CustomBlockListener(), this);
|
||||||
if (Bukkit.getPluginManager().getPlugin("PhatLoots") != null) {
|
if (Bukkit.getPluginManager().getPlugin("PhatLoots") != null) {
|
||||||
Bukkit.getPluginManager().registerEvents(new PhatLootsHook(), this);
|
Bukkit.getPluginManager().registerEvents(new PhatLootsHook(), this); }
|
||||||
}
|
|
||||||
MMOItemUIFilter.register();
|
MMOItemUIFilter.register();
|
||||||
|
|
||||||
Bukkit.getScheduler().runTaskTimer(this, () -> Bukkit.getOnlinePlayers().forEach(player -> PlayerData.get(player).updateStats()), 100, 20);
|
Bukkit.getScheduler().runTaskTimer(this, () -> Bukkit.getOnlinePlayers().forEach(player -> PlayerData.get(player).updateStats()), 100, 20);
|
||||||
@ -281,8 +234,8 @@ public class MMOItems extends LuminePlugin {
|
|||||||
Bukkit.getPluginManager().registerEvents(new McMMONonRPGHook(), this);
|
Bukkit.getPluginManager().registerEvents(new McMMONonRPGHook(), this);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Registers Player Inventories. Each of these add locations of items to
|
* Registers Player Inventories. Each of these add locations of items to search for
|
||||||
* search for when doing inventory updates.
|
* when doing inventory updates.
|
||||||
*/
|
*/
|
||||||
registerPlayerInventory(new DefaultPlayerInventory());
|
registerPlayerInventory(new DefaultPlayerInventory());
|
||||||
if (Bukkit.getPluginManager().getPlugin("RPGInventory") != null) {
|
if (Bukkit.getPluginManager().getPlugin("RPGInventory") != null) {
|
||||||
@ -337,17 +290,10 @@ public class MMOItems extends LuminePlugin {
|
|||||||
|
|
||||||
if (Bukkit.getPluginManager().getPlugin("BossShopPro") != null) {
|
if (Bukkit.getPluginManager().getPlugin("BossShopPro") != null) {
|
||||||
getLogger().log(Level.INFO, "Hooked onto BossShopPro");
|
getLogger().log(Level.INFO, "Hooked onto BossShopPro");
|
||||||
(new BukkitRunnable() {
|
(new BukkitRunnable() { public void run() {
|
||||||
public void run() {
|
//noinspection ProhibitedExceptionCaught
|
||||||
// noinspection ProhibitedExceptionCaught
|
try { new MMOItemsRewardTypes().register(); } catch (NullPointerException ignored) { getLogger().log(Level.INFO, "Could not Hook onto BossShopPro"); } }
|
||||||
try {
|
}).runTaskLater(this, 1L); }
|
||||||
new MMOItemsRewardTypes().register();
|
|
||||||
} catch (NullPointerException ignored) {
|
|
||||||
getLogger().log(Level.INFO, "Could not Hook onto BossShopPro");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}).runTaskLater(this, 1L);
|
|
||||||
}
|
|
||||||
|
|
||||||
// compatibility with /reload
|
// compatibility with /reload
|
||||||
Bukkit.getScheduler().runTask(this, () -> Bukkit.getOnlinePlayers().forEach(PlayerData::load));
|
Bukkit.getScheduler().runTask(this, () -> Bukkit.getOnlinePlayers().forEach(PlayerData::load));
|
||||||
@ -377,8 +323,8 @@ public class MMOItems extends LuminePlugin {
|
|||||||
getCommand("mmoitems").setTabCompleter(mmoitemsCommand);
|
getCommand("mmoitems").setTabCompleter(mmoitemsCommand);
|
||||||
|
|
||||||
// update item command DISABLED
|
// update item command DISABLED
|
||||||
// getCommand("updateitem").setExecutor(new UpdateItemCommand());
|
//getCommand("updateitem").setExecutor(new UpdateItemCommand());
|
||||||
// getCommand("updateitem").setTabCompleter(new UpdateItemCompletion());
|
//getCommand("updateitem").setTabCompleter(new UpdateItemCompletion());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -482,13 +428,12 @@ public class MMOItems extends LuminePlugin {
|
|||||||
* <p>
|
* <p>
|
||||||
* Default instance is DefaultPlayerInventory in comp.inventory
|
* Default instance is DefaultPlayerInventory in comp.inventory
|
||||||
*
|
*
|
||||||
* @param value The player inventory subclass
|
* @param value The player inventory subclass
|
||||||
* @deprecated Rather than setting this to the only inventory MMOItems
|
* @deprecated Rather than setting this to the only inventory MMOItems will
|
||||||
* will search equipment within, you must add your
|
* search equipment within, you must add your inventory to the
|
||||||
* inventory to the handler with
|
* handler with <code>getInventory().Register()</code>. This method
|
||||||
* <code>getInventory().Register()</code>. This method
|
* will clear all other PlayerInventories for now, as to keep
|
||||||
* will clear all other PlayerInventories for now, as to
|
* backwards compatibility.
|
||||||
* keep backwards compatibility.
|
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void setPlayerInventory(PlayerInventory value) {
|
public void setPlayerInventory(PlayerInventory value) {
|
||||||
@ -551,8 +496,7 @@ public class MMOItems extends LuminePlugin {
|
|||||||
public HologramSupport getHolograms() {
|
public HologramSupport getHolograms() {
|
||||||
return hologramSupport;
|
return hologramSupport;
|
||||||
}
|
}
|
||||||
|
public EquipListener getEquipListener(){
|
||||||
public EquipListener getEquipListener() {
|
|
||||||
return equipListener;
|
return equipListener;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -576,7 +520,7 @@ public class MMOItems extends LuminePlugin {
|
|||||||
return vaultSupport != null && vaultSupport.getPermissions() != null;
|
return vaultSupport != null && vaultSupport.getPermissions() != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MythicEnchantsSupport getMythicEnchantsSupport() {
|
public MythicEnchantsSupport getMythicEnchantsSupport(){
|
||||||
return this.mythicEnchantsSupport;
|
return this.mythicEnchantsSupport;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -592,14 +536,11 @@ public class MMOItems extends LuminePlugin {
|
|||||||
return stringInputParsers;
|
return stringInputParsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
// region Easy-Access API
|
//region Easy-Access API
|
||||||
/**
|
/**
|
||||||
* Decide by which system will the RPG Requirements of the player will be
|
* Decide by which system will the RPG Requirements of the player will be checked.
|
||||||
* checked.
|
* <p></p>
|
||||||
* <p>
|
* For example, required level, is that vanilla XP levels, MMOCore levels, McMMO Leves or what?
|
||||||
* </p>
|
|
||||||
* For example, required level, is that vanilla XP levels, MMOCore levels,
|
|
||||||
* McMMO Leves or what?
|
|
||||||
*/
|
*/
|
||||||
public void findRpgPlugin() {
|
public void findRpgPlugin() {
|
||||||
if (rpgPlugin != null)
|
if (rpgPlugin != null)
|
||||||
@ -621,8 +562,7 @@ public class MMOItems extends LuminePlugin {
|
|||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
print(null, "Preferred RPGPlayer provider $r{0}$b is not installed!", "RPG Provider", preferred);
|
print(null, "Preferred RPGPlayer provider $r{0}$b is not installed!", "RPG Provider", preferred); }
|
||||||
}
|
|
||||||
|
|
||||||
} catch (IllegalArgumentException ignored) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
|
|
||||||
@ -630,9 +570,7 @@ public class MMOItems extends LuminePlugin {
|
|||||||
FriendlyFeedbackProvider ffp = new FriendlyFeedbackProvider(FFPMMOItems.get());
|
FriendlyFeedbackProvider ffp = new FriendlyFeedbackProvider(FFPMMOItems.get());
|
||||||
ffp.activatePrefix(true, "RPG Provider");
|
ffp.activatePrefix(true, "RPG Provider");
|
||||||
ffp.log(FriendlyFeedbackCategory.ERROR, "Invalid RPG Provider '$u{0}$b' --- These are the supported ones:", preferred);
|
ffp.log(FriendlyFeedbackCategory.ERROR, "Invalid RPG Provider '$u{0}$b' --- These are the supported ones:", preferred);
|
||||||
for (RPGHandler.PluginEnum pgrep : RPGHandler.PluginEnum.values()) {
|
for (RPGHandler.PluginEnum pgrep : RPGHandler.PluginEnum.values()) { ffp.log(FriendlyFeedbackCategory.ERROR, " $r+ $b{0}", pgrep.getName()); }
|
||||||
ffp.log(FriendlyFeedbackCategory.ERROR, " $r+ $b{0}", pgrep.getName());
|
|
||||||
}
|
|
||||||
ffp.sendTo(FriendlyFeedbackCategory.ERROR, getConsole());
|
ffp.sendTo(FriendlyFeedbackCategory.ERROR, getConsole());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -662,17 +600,12 @@ public class MMOItems extends LuminePlugin {
|
|||||||
* 'level-item' option. The item will pick a random tier if the
|
* 'level-item' option. The item will pick a random tier if the
|
||||||
* template has the 'tiered' option
|
* template has the 'tiered' option
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public MMOItem getMMOItem(@Nullable Type type, @Nullable String id, @NotNull PlayerData player) {
|
||||||
public MMOItem getMMOItem(@Nullable Type type, @Nullable String id, @NotNull PlayerData player) {
|
if (type == null || id == null) { return null; }
|
||||||
if (type == null || id == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Valid template?
|
// Valid template?
|
||||||
MMOItemTemplate found = getTemplates().getTemplate(type, id);
|
MMOItemTemplate found = getTemplates().getTemplate(type, id);
|
||||||
if (found == null) {
|
if (found == null) { return null; }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build if found
|
// Build if found
|
||||||
return found.newBuilder(player.getRPG()).build();
|
return found.newBuilder(player.getRPG()).build();
|
||||||
@ -684,17 +617,12 @@ public class MMOItems extends LuminePlugin {
|
|||||||
* 'level-item' option. The item will pick a random tier if the
|
* 'level-item' option. The item will pick a random tier if the
|
||||||
* template has the 'tiered' option
|
* template has the 'tiered' option
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public ItemStack getItem(@Nullable Type type, @Nullable String id, @NotNull PlayerData player) {
|
||||||
public ItemStack getItem(@Nullable Type type, @Nullable String id, @NotNull PlayerData player) {
|
if (type == null || id == null) { return null; }
|
||||||
if (type == null || id == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Valid MMOItem?
|
// Valid MMOItem?
|
||||||
MMOItem m = getMMOItem(type, id, player);
|
MMOItem m = getMMOItem(type, id, player);
|
||||||
if (m == null) {
|
if (m == null) { return null; }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build if found
|
// Build if found
|
||||||
return m.newBuilder().build();
|
return m.newBuilder().build();
|
||||||
@ -706,17 +634,12 @@ public class MMOItems extends LuminePlugin {
|
|||||||
* @return Generates an item given an item template with a
|
* @return Generates an item given an item template with a
|
||||||
* specific item level and item tier
|
* specific item level and item tier
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public MMOItem getMMOItem(@Nullable Type type, @Nullable String id, int itemLevel, @Nullable ItemTier itemTier) {
|
||||||
public MMOItem getMMOItem(@Nullable Type type, @Nullable String id, int itemLevel, @Nullable ItemTier itemTier) {
|
if (type == null || id == null) { return null; }
|
||||||
if (type == null || id == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Valid template?
|
// Valid template?
|
||||||
MMOItemTemplate found = getTemplates().getTemplate(type, id);
|
MMOItemTemplate found = getTemplates().getTemplate(type, id);
|
||||||
if (found == null) {
|
if (found == null) { return null; }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build if found
|
// Build if found
|
||||||
return found.newBuilder(itemLevel, itemTier).build();
|
return found.newBuilder(itemLevel, itemTier).build();
|
||||||
@ -728,17 +651,12 @@ public class MMOItems extends LuminePlugin {
|
|||||||
* @return Generates an item given an item template with a
|
* @return Generates an item given an item template with a
|
||||||
* specific item level and item tier
|
* specific item level and item tier
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public ItemStack getItem(@Nullable Type type, @Nullable String id, int itemLevel, @Nullable ItemTier itemTier) {
|
||||||
public ItemStack getItem(@Nullable Type type, @Nullable String id, int itemLevel, @Nullable ItemTier itemTier) {
|
if (type == null || id == null) { return null; }
|
||||||
if (type == null || id == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Valid MMOItem?
|
// Valid MMOItem?
|
||||||
MMOItem m = getMMOItem(type, id, itemLevel, itemTier);
|
MMOItem m = getMMOItem(type, id, itemLevel, itemTier);
|
||||||
if (m == null) {
|
if (m == null) { return null; }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build if found
|
// Build if found
|
||||||
return m.newBuilder().build();
|
return m.newBuilder().build();
|
||||||
@ -748,21 +666,15 @@ public class MMOItems extends LuminePlugin {
|
|||||||
* @return Generates an item given an item template. The item level will be
|
* @return Generates an item given an item template. The item level will be
|
||||||
* 0 and the item will have no item tier unless one is specified in
|
* 0 and the item will have no item tier unless one is specified in
|
||||||
* the base item data.
|
* the base item data.
|
||||||
* <p>
|
* <p></p>
|
||||||
* </p>
|
|
||||||
* Will return <code>null</code> if such MMOItem does not exist.
|
* Will return <code>null</code> if such MMOItem does not exist.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public MMOItem getMMOItem(@Nullable Type type, @Nullable String id) {
|
||||||
public MMOItem getMMOItem(@Nullable Type type, @Nullable String id) {
|
if (type == null || id == null) { return null; }
|
||||||
if (type == null || id == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Valid template?
|
// Valid template?
|
||||||
MMOItemTemplate found = getTemplates().getTemplate(type, id);
|
MMOItemTemplate found = getTemplates().getTemplate(type, id);
|
||||||
if (found == null) {
|
if (found == null) { return null; }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build if found
|
// Build if found
|
||||||
return found.newBuilder(0, null).build();
|
return found.newBuilder(0, null).build();
|
||||||
@ -772,127 +684,96 @@ public class MMOItems extends LuminePlugin {
|
|||||||
* @return Generates an item given an item template. The item level will be
|
* @return Generates an item given an item template. The item level will be
|
||||||
* 0 and the item will have no item tier unless one is specified in
|
* 0 and the item will have no item tier unless one is specified in
|
||||||
* the base item data.
|
* the base item data.
|
||||||
* <p>
|
* <p></p>
|
||||||
* </p>
|
|
||||||
* Will return <code>null</code> if such MMOItem does not exist.
|
* Will return <code>null</code> if such MMOItem does not exist.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@Nullable
|
@Nullable public ItemStack getItem(@Nullable String type, @Nullable String id) {
|
||||||
public ItemStack getItem(@Nullable String type, @Nullable String id) {
|
if (type == null || id == null) { return null; }
|
||||||
if (type == null || id == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return getItem(getType(type), id);
|
return getItem(getType(type), id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Generates an item given an item template. The item level will be
|
* @return Generates an item given an item template. The item level will be
|
||||||
* 0 and the item will have no item tier unless one is specified in
|
* 0 and the item will have no item tier unless one is specified in
|
||||||
* the base item data.
|
* the base item data.
|
||||||
* <p>
|
* <p></p>
|
||||||
* </p>
|
|
||||||
* Will return <code>null</code> if such MMOItem does not exist.
|
* Will return <code>null</code> if such MMOItem does not exist.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public ItemStack getItem(@Nullable Type type, @Nullable String id) {
|
||||||
public ItemStack getItem(@Nullable Type type, @Nullable String id) {
|
if (type == null || id == null) { return null; }
|
||||||
if (type == null || id == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Valid MMOItem?
|
// Valid MMOItem?
|
||||||
MMOItem m = getMMOItem(type, id);
|
MMOItem m = getMMOItem(type, id);
|
||||||
if (m == null) {
|
if (m == null) { return null; }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build if found
|
// Build if found
|
||||||
return m.newBuilder().build();
|
return m.newBuilder().build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param nbtItem The NBTItem you are testing
|
* @param nbtItem The NBTItem you are testing
|
||||||
* @return The MMOItem Type of this item, if it is a MMOItem
|
* @return The MMOItem Type of this item, if it is a MMOItem
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public Type getType(@Nullable NBTItem nbtItem) {
|
||||||
public Type getType(@Nullable NBTItem nbtItem) {
|
if (nbtItem == null || !nbtItem.hasType()) { return null; }
|
||||||
if (nbtItem == null || !nbtItem.hasType()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try that one instead
|
// Try that one instead
|
||||||
return getType(nbtItem.getType());
|
return getType(nbtItem.getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param nbtItem The NBTItem you are testing
|
* @param nbtItem The NBTItem you are testing
|
||||||
* @return The MMOItem ID of this item, if it is a MMOItem
|
* @return The MMOItem ID of this item, if it is a MMOItem
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public String getID(@Nullable NBTItem nbtItem) {
|
||||||
public String getID(@Nullable NBTItem nbtItem) {
|
if (nbtItem == null || !nbtItem.hasType()) { return null; }
|
||||||
if (nbtItem == null || !nbtItem.hasType()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemTag type = ItemTag.getTagAtPath("MMOITEMS_ITEM_ID", nbtItem, SupportedNBTTagValues.STRING);
|
ItemTag type = ItemTag.getTagAtPath("MMOITEMS_ITEM_ID", nbtItem, SupportedNBTTagValues.STRING);
|
||||||
if (type == null) {
|
if (type == null) { return null; }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return (String) type.getValue();
|
return (String) type.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shorthand to get the specified type.
|
* Shorthand to get the specified type.
|
||||||
*
|
*
|
||||||
* @param type What do you think its called
|
* @param type What do you think its called
|
||||||
*
|
*
|
||||||
* @return A type if such exists.
|
* @return A type if such exists.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable public Type getType(@Nullable String type) {
|
||||||
public Type getType(@Nullable String type) {
|
if (type == null) { return null; }
|
||||||
if (type == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return getTypes().get(type);
|
return getTypes().get(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs something into the console with a cool [MMOItems] prefix :)
|
* Logs something into the console with a cool [MMOItems] prefix :)
|
||||||
* <p>
|
* <p></p>
|
||||||
* </p>
|
* Parses color codes. <b>Mostly for DEV testing</b>. these may removed any release.
|
||||||
* Parses color codes. <b>Mostly for DEV testing</b>. these may removed any
|
|
||||||
* release.
|
|
||||||
*
|
*
|
||||||
* @author Gunging
|
* @author Gunging
|
||||||
*/
|
*/
|
||||||
public static void log(@Nullable String message) {
|
public static void log(@Nullable String message) {
|
||||||
if (message == null) {
|
if (message == null) { message = "< null >"; }
|
||||||
message = "< null >";
|
//String prefix = "\u00a78[" + ChatColor.YELLOW + "MMOItems\u00a78] \u00a77";
|
||||||
}
|
|
||||||
// String prefix = "\u00a78[" + ChatColor.YELLOW + "MMOItems\u00a78]
|
|
||||||
// \u00a77";
|
|
||||||
String prefix = "";
|
String prefix = "";
|
||||||
plugin.getServer().getConsoleSender().sendMessage(prefix + message);
|
plugin.getServer().getConsoleSender().sendMessage(prefix + message);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Easily log something using the FriendlyFeedbackProvider, nice!
|
* Easily log something using the FriendlyFeedbackProvider, nice!
|
||||||
* <p>
|
* <p></p>
|
||||||
* </p>
|
|
||||||
* Use a null level to use the normal console sender.
|
* Use a null level to use the normal console sender.
|
||||||
*
|
*
|
||||||
* @author Gunging
|
* @author Gunging
|
||||||
*/
|
*/
|
||||||
public static void print(@Nullable Level level, @Nullable String message, @Nullable String prefix, @NotNull String... replaces) {
|
public static void print(@Nullable Level level, @Nullable String message, @Nullable String prefix, @NotNull String... replaces) {
|
||||||
if (message == null) {
|
if (message == null) { message = "< null >"; }
|
||||||
message = "< null >";
|
if (level != null) { MMOItems.plugin.getLogger().log(level, FriendlyFeedbackProvider.quickForConsole(FFPMMOItems.get(), message, replaces));
|
||||||
}
|
|
||||||
if (level != null) {
|
|
||||||
MMOItems.plugin.getLogger().log(level, FriendlyFeedbackProvider.quickForConsole(FFPMMOItems.get(), message, replaces));
|
|
||||||
} else {
|
} else {
|
||||||
FriendlyFeedbackMessage p = new FriendlyFeedbackMessage("", prefix);
|
FriendlyFeedbackMessage p = new FriendlyFeedbackMessage("", prefix);
|
||||||
FriendlyFeedbackMessage r = FriendlyFeedbackProvider.generateMessage(p, message, replaces);
|
FriendlyFeedbackMessage r = FriendlyFeedbackProvider.generateMessage(p, message, replaces);
|
||||||
getConsole().sendMessage(r.forConsole(FFPMMOItems.get()));
|
getConsole().sendMessage(r.forConsole(FFPMMOItems.get())); }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -900,22 +781,17 @@ public class MMOItems extends LuminePlugin {
|
|||||||
*
|
*
|
||||||
* @author Gunging
|
* @author Gunging
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull public static ConsoleCommandSender getConsole() { return plugin.getServer().getConsoleSender(); }
|
||||||
public static ConsoleCommandSender getConsole() {
|
|
||||||
return plugin.getServer().getConsoleSender();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param item The item stack you are testing.
|
* @param item The item stack you are testing.
|
||||||
* @param type MMOItem Type you are expecting {@link Type#getId()}
|
* @param type MMOItem Type you are expecting {@link Type#getId()}
|
||||||
* @param id MMOItem ID you are expecting
|
* @param id MMOItem ID you are expecting
|
||||||
*
|
*
|
||||||
* @return If the given item is the desired MMOItem
|
* @return If the given item is the desired MMOItem
|
||||||
*/
|
*/
|
||||||
public static boolean isMMOItem(@Nullable ItemStack item, @NotNull String type, @NotNull String id) {
|
public static boolean isMMOItem(@Nullable ItemStack item, @NotNull String type, @NotNull String id) {
|
||||||
if (item == null) {
|
if (item == null) { return false; }
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make it into an NBT Item
|
// Make it into an NBT Item
|
||||||
NBTItem asNBT = NBTItem.get(item);
|
NBTItem asNBT = NBTItem.get(item);
|
||||||
@ -924,17 +800,13 @@ public class MMOItems extends LuminePlugin {
|
|||||||
String itemID = MMOItems.plugin.getID(asNBT);
|
String itemID = MMOItems.plugin.getID(asNBT);
|
||||||
|
|
||||||
// Not a MMOItem
|
// Not a MMOItem
|
||||||
if (itemID == null) {
|
if (itemID == null) { return false; }
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ID matches?
|
// ID matches?
|
||||||
if (!itemID.equals(id)) {
|
if (!itemID.equals(id)) { return false; }
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the type matches too, we are set.
|
// If the type matches too, we are set.
|
||||||
return asNBT.getType().equals(type);
|
return asNBT.getType().equals(type);
|
||||||
}
|
}
|
||||||
// endregion
|
//endregion
|
||||||
}
|
}
|
@ -1,16 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.api;
|
package net.Indyuce.mmoitems.api;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.JsonParser;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
|
||||||
import org.bukkit.Color;
|
import org.bukkit.Color;
|
||||||
import org.bukkit.Particle;
|
import org.bukkit.Particle;
|
||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.google.gson.JsonParser;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
|
|
||||||
public class ArrowParticles extends BukkitRunnable {
|
public class ArrowParticles extends BukkitRunnable {
|
||||||
private final Arrow arrow;
|
private final Arrow arrow;
|
||||||
|
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package net.Indyuce.mmoitems.api;
|
package net.Indyuce.mmoitems.api;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
@ -17,7 +14,9 @@ import org.bukkit.inventory.MerchantRecipe;
|
|||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public class ClaseMuyImportante {
|
public class ClaseMuyImportante {
|
||||||
public static void metodoMuyImportante() {
|
public static void metodoMuyImportante() {
|
||||||
|
@ -3,8 +3,8 @@ package net.Indyuce.mmoitems.api;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||||
|
|
||||||
public enum CustomSound {
|
public enum CustomSound {
|
||||||
ON_ATTACK(Material.IRON_SWORD, 19, "Plays when attacking an entity."),
|
ON_ATTACK(Material.IRON_SWORD, 19, "Plays when attacking an entity."),
|
||||||
|
@ -16,13 +16,13 @@ import org.bukkit.scheduler.BukkitRunnable;
|
|||||||
import org.bukkit.util.Consumer;
|
import org.bukkit.util.Consumer;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
|
||||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
|
||||||
import io.lumine.mythic.lib.version.VersionSound;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
import net.Indyuce.mmoitems.listener.ElementListener;
|
import net.Indyuce.mmoitems.listener.ElementListener;
|
||||||
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
|
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||||
|
import io.lumine.mythic.lib.version.VersionSound;
|
||||||
|
|
||||||
public enum Element {
|
public enum Element {
|
||||||
FIRE(Material.BLAZE_POWDER, ChatColor.DARK_RED, new ElementParticle(Particle.FLAME, .05f, 8), (stats, result, target, attack, absolute) -> {
|
FIRE(Material.BLAZE_POWDER, ChatColor.DARK_RED, new ElementParticle(Particle.FLAME, .05f, 8), (stats, result, target, attack, absolute) -> {
|
||||||
|
@ -7,10 +7,10 @@ import java.util.Random;
|
|||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData.CooldownType;
|
import net.Indyuce.mmoitems.api.player.PlayerData.CooldownType;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
|
||||||
public class ElementalAttack {
|
public class ElementalAttack {
|
||||||
private final Map<Element, Double> relative = new HashMap<>();
|
private final Map<Element, Double> relative = new HashMap<>();
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
package net.Indyuce.mmoitems.api;
|
package net.Indyuce.mmoitems.api;
|
||||||
|
|
||||||
import org.bukkit.entity.LivingEntity;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.AttackResult;
|
import io.lumine.mythic.lib.api.AttackResult;
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import net.Indyuce.mmoitems.api.ability.Ability.CastingMode;
|
import net.Indyuce.mmoitems.api.ability.Ability.CastingMode;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
|
||||||
public class ItemAttackResult extends AttackResult {
|
public class ItemAttackResult extends AttackResult {
|
||||||
public ItemAttackResult(boolean successful, DamageType... types) {
|
public ItemAttackResult(boolean successful, DamageType... types) {
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
package net.Indyuce.mmoitems.api;
|
package net.Indyuce.mmoitems.api;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import net.Indyuce.mmoitems.api.droptable.DropTable;
|
import net.Indyuce.mmoitems.api.droptable.DropTable;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.api.util.NumericStatFormula;
|
import net.Indyuce.mmoitems.api.util.NumericStatFormula;
|
||||||
import net.Indyuce.mmoitems.comp.itemglow.TierColor;
|
import net.Indyuce.mmoitems.comp.itemglow.TierColor;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public class ItemTier {
|
public class ItemTier {
|
||||||
private final String name, id;
|
private final String name, id;
|
||||||
|
@ -7,10 +7,10 @@ import com.google.gson.JsonArray;
|
|||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
import net.Indyuce.mmoitems.stat.data.PotionEffectData;
|
import net.Indyuce.mmoitems.stat.data.PotionEffectData;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
|
||||||
public class ProjectileData {
|
public class ProjectileData {
|
||||||
private final NBTItem sourceItem;
|
private final NBTItem sourceItem;
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package net.Indyuce.mmoitems.api;
|
package net.Indyuce.mmoitems.api;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class ReforgeOptions {
|
public class ReforgeOptions {
|
||||||
public static boolean dropRestoredGems;
|
public static boolean dropRestoredGems;
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
package net.Indyuce.mmoitems.api;
|
package net.Indyuce.mmoitems.api;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.item.util.identify.UnidentifiedItem;
|
import net.Indyuce.mmoitems.api.item.util.identify.UnidentifiedItem;
|
||||||
import net.Indyuce.mmoitems.manager.TypeManager;
|
import net.Indyuce.mmoitems.manager.TypeManager;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class Type {
|
public class Type {
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api;
|
package net.Indyuce.mmoitems.api;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.Particle;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.entity.Entity;
|
|
||||||
import org.bukkit.entity.LivingEntity;
|
|
||||||
import org.bukkit.potion.PotionEffect;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.version.VersionSound;
|
import io.lumine.mythic.lib.version.VersionSound;
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
@ -17,6 +7,15 @@ import net.Indyuce.mmoitems.MMOUtils;
|
|||||||
import net.Indyuce.mmoitems.api.interaction.weapon.Weapon;
|
import net.Indyuce.mmoitems.api.interaction.weapon.Weapon;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData.CooldownType;
|
import net.Indyuce.mmoitems.api.player.PlayerData.CooldownType;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Particle;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.potion.PotionEffect;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public enum TypeSet {
|
public enum TypeSet {
|
||||||
|
|
||||||
|
@ -8,9 +8,9 @@ import java.util.UUID;
|
|||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
import net.Indyuce.mmoitems.manager.UpdaterManager.KeepOption;
|
import net.Indyuce.mmoitems.manager.UpdaterManager.KeepOption;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
|
||||||
public class UpdaterData {
|
public class UpdaterData {
|
||||||
|
|
||||||
|
@ -5,24 +5,25 @@ import java.util.Map;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
|
||||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||||
import net.Indyuce.mmoitems.stat.Enchants;
|
import net.Indyuce.mmoitems.stat.Enchants;
|
||||||
import net.Indyuce.mmoitems.stat.data.UpgradeData;
|
import net.Indyuce.mmoitems.stat.data.UpgradeData;
|
||||||
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
|
import net.Indyuce.mmoitems.stat.type.StatHistory;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
import net.Indyuce.mmoitems.stat.data.type.UpgradeInfo;
|
import net.Indyuce.mmoitems.stat.data.type.UpgradeInfo;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.Indyuce.mmoitems.stat.type.StatHistory;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.Upgradable;
|
import net.Indyuce.mmoitems.stat.type.Upgradable;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class UpgradeTemplate {
|
public class UpgradeTemplate {
|
||||||
@NotNull
|
@NotNull
|
||||||
|
@ -3,12 +3,12 @@ package net.Indyuce.mmoitems.api.crafting;
|
|||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class ConfigMMOItem {
|
public class ConfigMMOItem {
|
||||||
private final MMOItemTemplate template;
|
private final MMOItemTemplate template;
|
||||||
|
@ -1,17 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api.crafting;
|
package net.Indyuce.mmoitems.api.crafting;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.util.PostLoadObject;
|
import io.lumine.mythic.lib.api.util.PostLoadObject;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
@ -21,6 +9,13 @@ import net.Indyuce.mmoitems.api.crafting.recipe.Recipe;
|
|||||||
import net.Indyuce.mmoitems.api.crafting.recipe.Recipe.RecipeOption;
|
import net.Indyuce.mmoitems.api.crafting.recipe.Recipe.RecipeOption;
|
||||||
import net.Indyuce.mmoitems.api.crafting.recipe.UpgradingRecipe;
|
import net.Indyuce.mmoitems.api.crafting.recipe.UpgradingRecipe;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class CraftingStation extends PostLoadObject {
|
public class CraftingStation extends PostLoadObject {
|
||||||
private final String id, name;
|
private final String id, name;
|
||||||
|
@ -1,18 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api.crafting;
|
package net.Indyuce.mmoitems.api.crafting;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.Inventory;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
||||||
@ -20,6 +7,14 @@ import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
|||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.crafting.ingredient.Ingredient;
|
import net.Indyuce.mmoitems.api.crafting.ingredient.Ingredient;
|
||||||
import net.Indyuce.mmoitems.manager.CraftingManager.IngredientType;
|
import net.Indyuce.mmoitems.manager.CraftingManager.IngredientType;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.Inventory;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
public class IngredientInventory {
|
public class IngredientInventory {
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package net.Indyuce.mmoitems.api.crafting;
|
package net.Indyuce.mmoitems.api.crafting;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class Layout {
|
public class Layout {
|
||||||
private final String id;
|
private final String id;
|
||||||
|
|
||||||
|
@ -1,12 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api.crafting;
|
package net.Indyuce.mmoitems.api.crafting;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.crafting.uifilters.UIFilter;
|
import io.lumine.mythic.lib.api.crafting.uifilters.UIFilter;
|
||||||
import io.lumine.mythic.lib.api.crafting.uimanager.UIFilterManager;
|
import io.lumine.mythic.lib.api.crafting.uimanager.UIFilterManager;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
@ -14,7 +7,7 @@ import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
|||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||||
import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
||||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||||
import io.lumine.utils.items.ItemFactory;
|
import io.lumine.mythic.utils.items.ItemFactory;
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
@ -24,6 +17,12 @@ import net.Indyuce.mmoitems.api.item.mmoitem.VolatileMMOItem;
|
|||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
import net.Indyuce.mmoitems.api.item.util.DynamicLore;
|
import net.Indyuce.mmoitems.api.item.util.DynamicLore;
|
||||||
import net.Indyuce.mmoitems.stat.data.UpgradeData;
|
import net.Indyuce.mmoitems.stat.data.UpgradeData;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A filter to identify MMOItems :)
|
* A filter to identify MMOItems :)
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
package net.Indyuce.mmoitems.api.crafting;
|
package net.Indyuce.mmoitems.api.crafting;
|
||||||
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.crafting.uifilters.VanillaUIFilter;
|
import io.lumine.mythic.lib.api.crafting.uifilters.VanillaUIFilter;
|
||||||
import io.lumine.mythic.lib.api.crafting.uimanager.UIFilterCountermatch;
|
import io.lumine.mythic.lib.api.crafting.uimanager.UIFilterCountermatch;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To make MMOItems not match as vanilla items (bruh)
|
* To make MMOItems not match as vanilla items (bruh)
|
||||||
|
@ -1,7 +1,27 @@
|
|||||||
package net.Indyuce.mmoitems.api.interaction;
|
package net.Indyuce.mmoitems.api.interaction;
|
||||||
|
|
||||||
import java.util.UUID;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
|
import net.Indyuce.mmoitems.api.event.item.ApplyGemStoneEvent;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.LiveMMOItem;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.VolatileMMOItem;
|
||||||
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
|
import net.Indyuce.mmoitems.api.util.message.Message;
|
||||||
|
import net.Indyuce.mmoitems.stat.Enchants;
|
||||||
|
import net.Indyuce.mmoitems.stat.GemUpgradeScaling;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.GemSocketsData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.GemstoneData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.StringData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.UpgradeData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
|
import net.Indyuce.mmoitems.stat.type.GemStoneStat;
|
||||||
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import net.Indyuce.mmoitems.stat.type.StatHistory;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
@ -10,23 +30,7 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.UUID;
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
|
||||||
import net.Indyuce.mmoitems.api.event.item.ApplyGemStoneEvent;
|
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.LiveMMOItem;
|
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
|
||||||
import net.Indyuce.mmoitems.api.util.message.Message;
|
|
||||||
import net.Indyuce.mmoitems.stat.Enchants;
|
|
||||||
import net.Indyuce.mmoitems.stat.GemUpgradeScaling;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.GemSocketsData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.GemstoneData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.GemStoneStat;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.StatHistory;
|
|
||||||
|
|
||||||
public class GemStone extends UseItem {
|
public class GemStone extends UseItem {
|
||||||
|
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.api.interaction;
|
package net.Indyuce.mmoitems.api.interaction;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
|
import net.Indyuce.mmoitems.api.util.message.Message;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.SkullTextureData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.StringListData;
|
||||||
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -10,16 +18,7 @@ import org.bukkit.inventory.meta.Damageable;
|
|||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import java.lang.reflect.Field;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
|
||||||
import net.Indyuce.mmoitems.api.util.message.Message;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.SkullTextureData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.StringListData;
|
|
||||||
|
|
||||||
public class ItemSkin extends UseItem {
|
public class ItemSkin extends UseItem {
|
||||||
public ItemSkin(Player player, NBTItem item) {
|
public ItemSkin(Player player, NBTItem item) {
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
package net.Indyuce.mmoitems.api.interaction;
|
package net.Indyuce.mmoitems.api.interaction;
|
||||||
|
|
||||||
|
|
||||||
|
import io.lumine.mythic.lib.UtilityMethods;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.comp.flags.FlagPlugin.CustomFlag;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Particle;
|
import org.bukkit.Particle;
|
||||||
@ -12,11 +16,6 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.UtilityMethods;
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.comp.flags.FlagPlugin.CustomFlag;
|
|
||||||
|
|
||||||
public class Tool extends UseItem {
|
public class Tool extends UseItem {
|
||||||
public Tool(Player player, NBTItem item) {
|
public Tool(Player player, NBTItem item) {
|
||||||
super(player, item);
|
super(player, item);
|
||||||
|
@ -5,9 +5,7 @@ import java.util.Random;
|
|||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
@ -23,6 +21,8 @@ import net.Indyuce.mmoitems.api.player.PlayerData;
|
|||||||
import net.Indyuce.mmoitems.comp.flags.FlagPlugin.CustomFlag;
|
import net.Indyuce.mmoitems.comp.flags.FlagPlugin.CustomFlag;
|
||||||
import net.Indyuce.mmoitems.stat.data.CommandData;
|
import net.Indyuce.mmoitems.stat.data.CommandData;
|
||||||
import net.Indyuce.mmoitems.stat.data.CommandListData;
|
import net.Indyuce.mmoitems.stat.data.CommandListData;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class UseItem {
|
public class UseItem {
|
||||||
protected final Player player;
|
protected final Player player;
|
||||||
|
@ -232,9 +232,9 @@ public class ItemStackBuilder {
|
|||||||
*/
|
*/
|
||||||
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED, fakeModifier);
|
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED, fakeModifier);
|
||||||
|
|
||||||
// if (mmoitem.hasData(ItemStats.NAME) && meta.hasDisplayName()) {
|
if (mmoitem.hasData(ItemStats.NAME) && meta.hasDisplayName()) {
|
||||||
// meta.setDisplayName(getMeta().getDisplayName());
|
meta.setDisplayName(getMeta().getDisplayName());
|
||||||
// }
|
}
|
||||||
|
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
NBTItem nbtItem = NBTItem.get(item);
|
NBTItem nbtItem = NBTItem.get(item);
|
||||||
|
@ -1,18 +1,16 @@
|
|||||||
package net.Indyuce.mmoitems.api.item.util;
|
package net.Indyuce.mmoitems.api.item.util;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import io.lumine.mythic.utils.adventure.text.Component;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
||||||
|
import io.lumine.mythic.utils.adventure.text.Component;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class DynamicLore {
|
public class DynamicLore {
|
||||||
private final NBTItem item;
|
private final NBTItem item;
|
||||||
|
@ -1,22 +1,10 @@
|
|||||||
package net.Indyuce.mmoitems.api.item.util.crafting;
|
package net.Indyuce.mmoitems.api.item.util.crafting;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.ListIterator;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
||||||
import io.lumine.mythic.utils.adventure.text.Component;
|
import io.lumine.mythic.utils.adventure.text.Component;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.inventory.ItemFlag;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
import net.Indyuce.mmoitems.api.crafting.ConditionalDisplay;
|
import net.Indyuce.mmoitems.api.crafting.ConditionalDisplay;
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.Condition.CheckedCondition;
|
import net.Indyuce.mmoitems.api.crafting.condition.Condition.CheckedCondition;
|
||||||
@ -24,6 +12,18 @@ import net.Indyuce.mmoitems.api.crafting.recipe.CheckedRecipe;
|
|||||||
import net.Indyuce.mmoitems.api.crafting.recipe.CraftingRecipe;
|
import net.Indyuce.mmoitems.api.crafting.recipe.CraftingRecipe;
|
||||||
import net.Indyuce.mmoitems.api.item.util.ConfigItem;
|
import net.Indyuce.mmoitems.api.item.util.ConfigItem;
|
||||||
import net.Indyuce.mmoitems.api.util.message.Message;
|
import net.Indyuce.mmoitems.api.util.message.Message;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.inventory.ItemFlag;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ListIterator;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class CraftingRecipeDisplay extends ConfigItem {
|
public class CraftingRecipeDisplay extends ConfigItem {
|
||||||
private static final DecimalFormat craftingTimeFormat = new DecimalFormat("0.#");
|
private static final DecimalFormat craftingTimeFormat = new DecimalFormat("0.#");
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
package net.Indyuce.mmoitems.api.item.util.crafting;
|
package net.Indyuce.mmoitems.api.item.util.crafting;
|
||||||
|
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
||||||
|
import io.lumine.mythic.utils.adventure.text.Component;
|
||||||
|
import net.Indyuce.mmoitems.api.crafting.CraftingStatus.CraftingQueue.CraftingInfo;
|
||||||
|
import net.Indyuce.mmoitems.api.item.util.ConfigItem;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.inventory.ItemFlag;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
|
||||||
import io.lumine.mythic.utils.adventure.text.Component;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.inventory.ItemFlag;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.CraftingStatus.CraftingQueue.CraftingInfo;
|
|
||||||
import net.Indyuce.mmoitems.api.item.util.ConfigItem;
|
|
||||||
|
|
||||||
public class QueueItemDisplay extends ConfigItem {
|
public class QueueItemDisplay extends ConfigItem {
|
||||||
private static final long[] ms = { 1000, 60 * 1000, 60 * 60 * 1000, 24 * 60 * 60 * 1000 };
|
private static final long[] ms = { 1000, 60 * 1000, 60 * 60 * 1000, 24 * 60 * 60 * 1000 };
|
||||||
private static final String[] chars = { "s", "m", "h", "d" };
|
private static final String[] chars = { "s", "m", "h", "d" };
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package net.Indyuce.mmoitems.api.item.util.crafting;
|
package net.Indyuce.mmoitems.api.item.util.crafting;
|
||||||
|
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
||||||
@ -15,7 +16,11 @@ import org.bukkit.inventory.ItemFlag;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ListIterator;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class UpgradingRecipeDisplay extends ConfigItem {
|
public class UpgradingRecipeDisplay extends ConfigItem {
|
||||||
public UpgradingRecipeDisplay() {
|
public UpgradingRecipeDisplay() {
|
||||||
|
@ -1,18 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api.item.util.identify;
|
package net.Indyuce.mmoitems.api.item.util.identify;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.bukkit.inventory.ItemFlag;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
import org.bukkit.util.io.BukkitObjectOutputStream;
|
|
||||||
import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
@ -25,6 +12,18 @@ import net.Indyuce.mmoitems.api.item.mmoitem.VolatileMMOItem;
|
|||||||
import net.Indyuce.mmoitems.api.item.util.ConfigItem;
|
import net.Indyuce.mmoitems.api.item.util.ConfigItem;
|
||||||
import net.Indyuce.mmoitems.api.item.util.DynamicLore;
|
import net.Indyuce.mmoitems.api.item.util.DynamicLore;
|
||||||
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
||||||
|
import org.bukkit.inventory.ItemFlag;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.bukkit.util.io.BukkitObjectOutputStream;
|
||||||
|
import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class UnidentifiedItem extends ConfigItem {
|
public class UnidentifiedItem extends ConfigItem {
|
||||||
public UnidentifiedItem(Type type) {
|
public UnidentifiedItem(Type type) {
|
||||||
|
@ -1,24 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api.player;
|
package net.Indyuce.mmoitems.api.player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.OfflinePlayer;
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
|
||||||
import org.bukkit.entity.LivingEntity;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.potion.PotionEffect;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
@ -44,12 +25,20 @@ import net.Indyuce.mmoitems.api.player.inventory.EquippedPlayerItem;
|
|||||||
import net.Indyuce.mmoitems.api.player.inventory.InventoryUpdateHandler;
|
import net.Indyuce.mmoitems.api.player.inventory.InventoryUpdateHandler;
|
||||||
import net.Indyuce.mmoitems.comp.flags.FlagPlugin.CustomFlag;
|
import net.Indyuce.mmoitems.comp.flags.FlagPlugin.CustomFlag;
|
||||||
import net.Indyuce.mmoitems.particle.api.ParticleRunnable;
|
import net.Indyuce.mmoitems.particle.api.ParticleRunnable;
|
||||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
import net.Indyuce.mmoitems.stat.data.*;
|
||||||
import net.Indyuce.mmoitems.stat.data.AbilityListData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.ParticleData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.PotionEffectListData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.StringListData;
|
|
||||||
import net.milkbowl.vault.permission.Permission;
|
import net.milkbowl.vault.permission.Permission;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.potion.PotionEffect;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
public class PlayerData {
|
public class PlayerData {
|
||||||
private static final Map<UUID, PlayerData> data = new HashMap<>();
|
private static final Map<UUID, PlayerData> data = new HashMap<>();
|
||||||
|
@ -1,10 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api.player;
|
package net.Indyuce.mmoitems.api.player;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.stat.StatInstance;
|
import io.lumine.mythic.lib.api.stat.StatInstance;
|
||||||
import io.lumine.mythic.lib.api.stat.StatMap;
|
import io.lumine.mythic.lib.api.stat.StatMap;
|
||||||
import io.lumine.mythic.lib.api.stat.modifier.ModifierType;
|
import io.lumine.mythic.lib.api.stat.modifier.ModifierType;
|
||||||
@ -14,6 +9,10 @@ import net.Indyuce.mmoitems.api.Type.EquipmentSlot;
|
|||||||
import net.Indyuce.mmoitems.api.player.inventory.EquippedPlayerItem;
|
import net.Indyuce.mmoitems.api.player.inventory.EquippedPlayerItem;
|
||||||
import net.Indyuce.mmoitems.stat.type.AttributeStat;
|
import net.Indyuce.mmoitems.stat.type.AttributeStat;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class PlayerStats {
|
public class PlayerStats {
|
||||||
private final PlayerData playerData;
|
private final PlayerData playerData;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.api.player;
|
package net.Indyuce.mmoitems.api.player;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.util.message.Message;
|
import net.Indyuce.mmoitems.api.util.message.Message;
|
||||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemRestriction;
|
import net.Indyuce.mmoitems.stat.type.ItemRestriction;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
public abstract class RPGPlayer {
|
public abstract class RPGPlayer {
|
||||||
private final PlayerData playerData;
|
private final PlayerData playerData;
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
package net.Indyuce.mmoitems.api.player;
|
package net.Indyuce.mmoitems.api.player;
|
||||||
|
|
||||||
import java.util.List;
|
import net.Indyuce.mmoitems.api.player.inventory.EquippedPlayerItem;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.event.Event;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.player.inventory.EquippedPlayerItem;
|
import java.util.List;
|
||||||
|
|
||||||
public class RefreshInventoryEvent extends Event {
|
public class RefreshInventoryEvent extends Event {
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
package net.Indyuce.mmoitems.api.recipe;
|
package net.Indyuce.mmoitems.api.recipe;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
public enum CraftingType {
|
public enum CraftingType {
|
||||||
SHAPED(21, "The C. Table Recipe (Shaped) for this item", VersionMaterial.CRAFTING_TABLE),
|
SHAPED(21, "The C. Table Recipe (Shaped) for this item", VersionMaterial.CRAFTING_TABLE),
|
||||||
|
@ -1,20 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.api.util;
|
package net.Indyuce.mmoitems.api.util;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.enchantments.Enchantment;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.meta.Damageable;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.Ref;
|
import io.lumine.mythic.lib.api.util.Ref;
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||||
@ -33,13 +18,7 @@ import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
|||||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||||
import net.Indyuce.mmoitems.stat.Enchants;
|
import net.Indyuce.mmoitems.stat.Enchants;
|
||||||
import net.Indyuce.mmoitems.stat.RevisionID;
|
import net.Indyuce.mmoitems.stat.RevisionID;
|
||||||
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
import net.Indyuce.mmoitems.stat.data.*;
|
||||||
import net.Indyuce.mmoitems.stat.data.EnchantListData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.GemSocketsData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.GemstoneData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.SoulboundData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.StringListData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.UpgradeData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||||
import net.Indyuce.mmoitems.stat.data.random.UpdatableRandomStatData;
|
import net.Indyuce.mmoitems.stat.data.random.UpdatableRandomStatData;
|
||||||
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
||||||
@ -47,6 +26,16 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.Indyuce.mmoitems.stat.type.NameData;
|
import net.Indyuce.mmoitems.stat.type.NameData;
|
||||||
import net.Indyuce.mmoitems.stat.type.StatHistory;
|
import net.Indyuce.mmoitems.stat.type.StatHistory;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.Damageable;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class to manage modification of items with reference to what they used to be
|
* A class to manage modification of items with reference to what they used to be
|
||||||
|
@ -22,10 +22,10 @@ import org.bukkit.inventory.meta.SkullMeta;
|
|||||||
|
|
||||||
import com.mojang.authlib.GameProfile;
|
import com.mojang.authlib.GameProfile;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
|
|
||||||
public class NoClipItem implements Listener {
|
public class NoClipItem implements Listener {
|
||||||
private final Item item;
|
private final Item item;
|
||||||
|
@ -3,18 +3,19 @@ package net.Indyuce.mmoitems.api.util;
|
|||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.random.UpdatableRandomStatData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
||||||
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.item.build.MMOItemBuilder;
|
import net.Indyuce.mmoitems.api.item.build.MMOItemBuilder;
|
||||||
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
||||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||||
import net.Indyuce.mmoitems.stat.data.random.UpdatableRandomStatData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.type.Mergeable;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* That Gaussian spread distribution thing that no one understands.
|
* That Gaussian spread distribution thing that no one understands.
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
package net.Indyuce.mmoitems.api.util;
|
package net.Indyuce.mmoitems.api.util;
|
||||||
|
|
||||||
import java.util.Collection;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import java.util.*;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows the use of two nested maps to efficiently store data about mmoitem
|
* Allows the use of two nested maps to efficiently store data about mmoitem
|
||||||
|
@ -3,9 +3,9 @@ package net.Indyuce.mmoitems.comp;
|
|||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
import n3kas.ae.api.EnchantApplyEvent;
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import n3kas.ae.api.EnchantApplyEvent;
|
|
||||||
|
|
||||||
public class AdvancedEnchantmentsHook implements Listener {
|
public class AdvancedEnchantmentsHook implements Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -1,19 +1,22 @@
|
|||||||
package net.Indyuce.mmoitems.comp;
|
package net.Indyuce.mmoitems.comp;
|
||||||
|
|
||||||
|
import com.codisimus.plugins.phatloots.events.LootEvent;
|
||||||
|
import com.codisimus.plugins.phatloots.events.MobDropLootEvent;
|
||||||
|
import com.codisimus.plugins.phatloots.events.PhatLootsEvent;
|
||||||
|
import com.codisimus.plugins.phatloots.events.PlayerLootEvent;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
|
import net.Indyuce.mmoitems.api.util.MMOItemReforger;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import com.codisimus.plugins.phatloots.events.LootEvent;
|
import java.util.ArrayList;
|
||||||
import com.codisimus.plugins.phatloots.events.MobDropLootEvent;
|
|
||||||
import com.codisimus.plugins.phatloots.events.PlayerLootEvent;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
|
||||||
import net.Indyuce.mmoitems.api.util.MMOItemReforger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Its absolute <b><i><u>pain</u></i></b> that PhatLoots keeps giving outdated
|
* Its absolute <b><i><u>pain</u></i></b> that PhatLoots keeps giving outdated
|
||||||
|
@ -1,13 +1,6 @@
|
|||||||
package net.Indyuce.mmoitems.comp;
|
package net.Indyuce.mmoitems.comp;
|
||||||
|
|
||||||
import org.bukkit.entity.LivingEntity;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
|
|
||||||
import com.evill4mer.RealDualWield.Api.PlayerDamageEntityWithOffhandEvent;
|
import com.evill4mer.RealDualWield.Api.PlayerDamageEntityWithOffhandEvent;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
@ -16,6 +9,11 @@ import net.Indyuce.mmoitems.api.TypeSet;
|
|||||||
import net.Indyuce.mmoitems.api.interaction.weapon.Weapon;
|
import net.Indyuce.mmoitems.api.interaction.weapon.Weapon;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
public class RealDualWieldHook implements Listener {
|
public class RealDualWieldHook implements Listener {
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
@ -8,7 +8,6 @@ import com.sk89q.worldedit.world.block.BaseBlock;
|
|||||||
import com.sk89q.worldedit.world.block.BlockState;
|
import com.sk89q.worldedit.world.block.BlockState;
|
||||||
import com.sk89q.worldedit.world.block.BlockType;
|
import com.sk89q.worldedit.world.block.BlockType;
|
||||||
import com.sk89q.worldedit.world.block.BlockTypes;
|
import com.sk89q.worldedit.world.block.BlockTypes;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
||||||
import net.Indyuce.mmoitems.api.util.MushroomState;
|
import net.Indyuce.mmoitems.api.util.MushroomState;
|
||||||
|
@ -12,13 +12,13 @@ import org.bukkit.event.entity.EntityPickupItemEvent;
|
|||||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import net.Indyuce.mmoitems.api.Type.EquipmentSlot;
|
import net.Indyuce.mmoitems.api.Type.EquipmentSlot;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tells MMOItems where to find additional equipment.
|
* Tells MMOItems where to find additional equipment.
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.comp.inventory;
|
package net.Indyuce.mmoitems.comp.inventory;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.List;
|
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Previously, only one Player Inventory was allowed.
|
* Previously, only one Player Inventory was allowed.
|
||||||
|
@ -11,9 +11,12 @@ import org.bukkit.event.inventory.InventoryCloseEvent;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import net.Indyuce.mmoitems.api.Type.EquipmentSlot;
|
import net.Indyuce.mmoitems.api.Type.EquipmentSlot;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import ru.endlesscode.rpginventory.api.InventoryAPI;
|
import ru.endlesscode.rpginventory.api.InventoryAPI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
package net.Indyuce.mmoitems.comp.parse;
|
package net.Indyuce.mmoitems.comp.parse;
|
||||||
|
|
||||||
import com.github.klyser8.iridescent.api.ColorUtil;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import com.github.klyser8.iridescent.util.ColorUtil;
|
||||||
|
|
||||||
public class IridescentParser implements StringInputParser {
|
public class IridescentParser implements StringInputParser {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -2,8 +2,8 @@ package net.Indyuce.mmoitems.comp.parse.placeholders;
|
|||||||
|
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
|
||||||
import me.clip.placeholderapi.PlaceholderAPI;
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
|
||||||
public class PlaceholderAPIParser implements PlaceholderParser {
|
public class PlaceholderAPIParser implements PlaceholderParser {
|
||||||
public PlaceholderAPIParser() {
|
public PlaceholderAPIParser() {
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
package net.Indyuce.mmoitems.comp.rpg;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
|
|
||||||
import com.archyx.aureliumskills.AureliumSkills;
|
|
||||||
import com.archyx.aureliumskills.api.event.SkillLevelUpEvent;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
|
||||||
|
|
||||||
public class AureliumSkillsHook implements RPGHandler, Listener {
|
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
|
|
||||||
public void a(SkillLevelUpEvent event) {
|
|
||||||
PlayerData.get(event.getPlayer()).getInventory().scheduleUpdate();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void refreshStats(PlayerData data) {
|
|
||||||
// com.archyx.aureliumskills.data.PlayerData info = ((SkillsPlayer) data.getRPG()).info;
|
|
||||||
// info.removeStatModifier("MMOItemsMana");
|
|
||||||
// info.addStatModifier(new StatModifier("MMOItemsMana", Stats., 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public RPGPlayer getInfo(PlayerData data) {
|
|
||||||
return new SkillsPlayer(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class SkillsPlayer extends RPGPlayer {
|
|
||||||
private final com.archyx.aureliumskills.data.PlayerData info;
|
|
||||||
|
|
||||||
public SkillsPlayer(PlayerData playerData) {
|
|
||||||
super(playerData);
|
|
||||||
|
|
||||||
AureliumSkills plugin = (AureliumSkills) Bukkit.getPluginManager().getPlugin("AureliumSkills");
|
|
||||||
info = plugin.getPlayerManager().getPlayerData(playerData.getUniqueId());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getLevel() {
|
|
||||||
return info.getPowerLevel();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getClassName() {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public double getMana() {
|
|
||||||
return info.getMana();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public double getStamina() {
|
|
||||||
return getPlayer().getFoodLevel();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setMana(double value) {
|
|
||||||
info.setMana(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setStamina(double value) {
|
|
||||||
getPlayer().setFoodLevel((int) value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +1,11 @@
|
|||||||
package net.Indyuce.mmoitems.comp.rpg;
|
package net.Indyuce.mmoitems.comp.rpg;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Entity;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
|
|
||||||
import com.herocraftonline.heroes.Heroes;
|
import com.herocraftonline.heroes.Heroes;
|
||||||
import com.herocraftonline.heroes.api.SkillUseInfo;
|
import com.herocraftonline.heroes.api.SkillUseInfo;
|
||||||
import com.herocraftonline.heroes.api.events.ClassChangeEvent;
|
import com.herocraftonline.heroes.api.events.ClassChangeEvent;
|
||||||
import com.herocraftonline.heroes.api.events.HeroChangeLevelEvent;
|
import com.herocraftonline.heroes.api.events.HeroChangeLevelEvent;
|
||||||
import com.herocraftonline.heroes.characters.Hero;
|
import com.herocraftonline.heroes.characters.Hero;
|
||||||
import com.herocraftonline.heroes.characters.skill.SkillType;
|
import com.herocraftonline.heroes.characters.skill.SkillType;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.AttackResult;
|
import io.lumine.mythic.lib.api.AttackResult;
|
||||||
import io.lumine.mythic.lib.api.DamageHandler;
|
import io.lumine.mythic.lib.api.DamageHandler;
|
||||||
@ -23,6 +14,13 @@ import io.lumine.mythic.lib.api.RegisteredAttack;
|
|||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class HeroesHook implements RPGHandler, Listener, DamageHandler {
|
public class HeroesHook implements RPGHandler, Listener, DamageHandler {
|
||||||
private final Map<SkillType, DamageType> damages = new HashMap<>();
|
private final Map<SkillType, DamageType> damages = new HashMap<>();
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package net.Indyuce.mmoitems.comp.rpg;
|
package net.Indyuce.mmoitems.comp.rpg;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.comp.rpg;
|
package net.Indyuce.mmoitems.comp.rpg;
|
||||||
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
|
|
||||||
import de.tobiyas.racesandclasses.eventprocessing.events.leveling.LevelDownEvent;
|
import de.tobiyas.racesandclasses.eventprocessing.events.leveling.LevelDownEvent;
|
||||||
import de.tobiyas.racesandclasses.eventprocessing.events.leveling.LevelUpEvent;
|
import de.tobiyas.racesandclasses.eventprocessing.events.leveling.LevelUpEvent;
|
||||||
import de.tobiyas.racesandclasses.playermanagement.player.RaCPlayer;
|
import de.tobiyas.racesandclasses.playermanagement.player.RaCPlayer;
|
||||||
@ -10,6 +7,8 @@ import de.tobiyas.racesandclasses.playermanagement.player.RaCPlayerManager;
|
|||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
public class RacesAndClassesHook implements RPGHandler, Listener {
|
public class RacesAndClassesHook implements RPGHandler, Listener {
|
||||||
|
|
||||||
|
@ -1,8 +1,16 @@
|
|||||||
package net.Indyuce.mmoitems.comp.rpg;
|
package net.Indyuce.mmoitems.comp.rpg;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import com.sucy.skill.SkillAPI;
|
||||||
import java.util.Map;
|
import com.sucy.skill.api.event.PlayerLevelUpEvent;
|
||||||
|
import com.sucy.skill.api.event.SkillDamageEvent;
|
||||||
|
import com.sucy.skill.api.player.PlayerData;
|
||||||
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.AttackResult;
|
||||||
|
import io.lumine.mythic.lib.api.DamageHandler;
|
||||||
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
|
import io.lumine.mythic.lib.api.RegisteredAttack;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -10,18 +18,8 @@ import org.bukkit.event.EventPriority;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
|
|
||||||
import com.sucy.skill.SkillAPI;
|
import java.util.HashMap;
|
||||||
import com.sucy.skill.api.event.PlayerLevelUpEvent;
|
import java.util.Map;
|
||||||
import com.sucy.skill.api.event.SkillDamageEvent;
|
|
||||||
import com.sucy.skill.api.player.PlayerData;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
|
||||||
import io.lumine.mythic.lib.api.AttackResult;
|
|
||||||
import io.lumine.mythic.lib.api.DamageHandler;
|
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
|
||||||
import io.lumine.mythic.lib.api.RegisteredAttack;
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
|
||||||
|
|
||||||
public class SkillAPIHook implements RPGHandler, Listener, DamageHandler {
|
public class SkillAPIHook implements RPGHandler, Listener, DamageHandler {
|
||||||
private final Map<Integer, RegisteredAttack> damageInfo = new HashMap<>();
|
private final Map<Integer, RegisteredAttack> damageInfo = new HashMap<>();
|
||||||
|
@ -4,12 +4,12 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.skills.api.events.SkillLevelUpEvent;
|
|
||||||
import org.skills.data.managers.SkilledPlayer;
|
|
||||||
import org.skills.main.SkillsPro;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
|
import org.skills.api.events.SkillLevelUpEvent;
|
||||||
|
import org.skills.data.managers.SkilledPlayer;
|
||||||
|
import org.skills.main.SkillsPro;
|
||||||
|
|
||||||
public class SkillsProHook implements RPGHandler, Listener {
|
public class SkillsProHook implements RPGHandler, Listener {
|
||||||
|
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
package net.Indyuce.mmoitems.gui;
|
package net.Indyuce.mmoitems.gui;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import java.util.List;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
||||||
|
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||||
import io.lumine.mythic.utils.adventure.text.Component;
|
import io.lumine.mythic.utils.adventure.text.Component;
|
||||||
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import net.Indyuce.mmoitems.api.crafting.ingredient.Ingredient.CheckedIngredient;
|
||||||
|
import net.Indyuce.mmoitems.api.crafting.recipe.CheckedRecipe;
|
||||||
|
import net.Indyuce.mmoitems.api.crafting.recipe.CraftingRecipe;
|
||||||
|
import net.Indyuce.mmoitems.api.crafting.recipe.UpgradingRecipe;
|
||||||
|
import net.Indyuce.mmoitems.api.item.util.ConfigItems;
|
||||||
|
import net.Indyuce.mmoitems.api.util.message.Message;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -13,16 +21,8 @@ import org.bukkit.inventory.Inventory;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import java.util.ArrayList;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.List;
|
||||||
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.ingredient.Ingredient.CheckedIngredient;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.recipe.CheckedRecipe;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.recipe.CraftingRecipe;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.recipe.UpgradingRecipe;
|
|
||||||
import net.Indyuce.mmoitems.api.item.util.ConfigItems;
|
|
||||||
import net.Indyuce.mmoitems.api.util.message.Message;
|
|
||||||
|
|
||||||
public class CraftingStationPreview extends PluginInventory {
|
public class CraftingStationPreview extends PluginInventory {
|
||||||
private final CraftingStationView previous;
|
private final CraftingStationView previous;
|
||||||
@ -61,7 +61,7 @@ public class CraftingStationPreview extends PluginInventory {
|
|||||||
* Time to calculate the stacks and put through the crafting station space.
|
* Time to calculate the stacks and put through the crafting station space.
|
||||||
*/
|
*/
|
||||||
int amount = ing.getIngredient().getAmount();
|
int amount = ing.getIngredient().getAmount();
|
||||||
// int stacks = SilentNumbers.floor(amount / 64D);
|
int stacks = SilentNumbers.floor(amount / 64D);
|
||||||
|
|
||||||
// Add what must be added
|
// Add what must be added
|
||||||
while (amount > 0) {
|
while (amount > 0) {
|
||||||
|
@ -1,18 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.gui;
|
package net.Indyuce.mmoitems.gui;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.inventory.Inventory;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.SmartGive;
|
import io.lumine.mythic.lib.api.util.SmartGive;
|
||||||
@ -31,6 +18,18 @@ import net.Indyuce.mmoitems.api.event.PlayerUseCraftingStationEvent;
|
|||||||
import net.Indyuce.mmoitems.api.item.util.ConfigItems;
|
import net.Indyuce.mmoitems.api.item.util.ConfigItems;
|
||||||
import net.Indyuce.mmoitems.api.util.message.Message;
|
import net.Indyuce.mmoitems.api.util.message.Message;
|
||||||
import net.Indyuce.mmoitems.listener.CustomSoundListener;
|
import net.Indyuce.mmoitems.listener.CustomSoundListener;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.inventory.Inventory;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class CraftingStationView extends PluginInventory {
|
public class CraftingStationView extends PluginInventory {
|
||||||
private final CraftingStation station;
|
private final CraftingStation station;
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
package net.Indyuce.mmoitems.gui;
|
package net.Indyuce.mmoitems.gui;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import java.util.Arrays;
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
import java.util.LinkedHashMap;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import java.util.List;
|
import io.lumine.mythic.lib.api.util.AltChar;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
||||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||||
import io.lumine.mythic.utils.adventure.text.Component;
|
import io.lumine.mythic.utils.adventure.text.Component;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
|
import net.Indyuce.mmoitems.api.edition.NewItemEdition;
|
||||||
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
|
import net.Indyuce.mmoitems.gui.edition.ItemEdition;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -21,16 +25,11 @@ import org.bukkit.inventory.ItemFlag;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import java.util.ArrayList;
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import java.util.Arrays;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.LinkedHashMap;
|
||||||
import io.lumine.mythic.lib.api.util.AltChar;
|
import java.util.List;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.Map;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
|
||||||
import net.Indyuce.mmoitems.api.edition.NewItemEdition;
|
|
||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
|
||||||
import net.Indyuce.mmoitems.gui.edition.ItemEdition;
|
|
||||||
|
|
||||||
public class ItemBrowser extends PluginInventory {
|
public class ItemBrowser extends PluginInventory {
|
||||||
private final Map<String, ItemStack> cached = new LinkedHashMap<>();
|
private final Map<String, ItemStack> cached = new LinkedHashMap<>();
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
package net.Indyuce.mmoitems.gui;
|
package net.Indyuce.mmoitems.gui;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.InventoryHolder;
|
import org.bukkit.inventory.InventoryHolder;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
|
||||||
|
|
||||||
public abstract class PluginInventory implements InventoryHolder {
|
public abstract class PluginInventory implements InventoryHolder {
|
||||||
protected final PlayerData playerData;
|
protected final PlayerData playerData;
|
||||||
protected final Player player;
|
protected final Player player;
|
||||||
|
@ -1,10 +1,18 @@
|
|||||||
package net.Indyuce.mmoitems.gui.edition;
|
package net.Indyuce.mmoitems.gui.edition;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||||
import java.util.Arrays;
|
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||||
|
import io.lumine.mythic.utils.items.ItemFactory;
|
||||||
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
|
import net.Indyuce.mmoitems.api.util.MMOItemReforger;
|
||||||
|
import net.Indyuce.mmoitems.stat.RevisionID;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
@ -13,15 +21,8 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
import java.util.ArrayList;
|
||||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
import java.util.Arrays;
|
||||||
import io.lumine.utils.items.ItemFactory;
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
|
||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
|
||||||
import net.Indyuce.mmoitems.api.util.MMOItemReforger;
|
|
||||||
import net.Indyuce.mmoitems.stat.RevisionID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inventory displayed when enabling the item updater.
|
* Inventory displayed when enabling the item updater.
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.HashMap;
|
import net.Indyuce.mmoitems.api.event.CraftMMOItemEvent;
|
||||||
import java.util.List;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import java.util.Map;
|
import net.Indyuce.mmoitems.api.recipe.workbench.CachedRecipe;
|
||||||
import java.util.Map.Entry;
|
import net.Indyuce.mmoitems.api.recipe.workbench.CustomRecipe;
|
||||||
import java.util.Optional;
|
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.WorkbenchIngredient;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -19,12 +17,8 @@ import org.bukkit.event.inventory.PrepareItemCraftEvent;
|
|||||||
import org.bukkit.inventory.CraftingInventory;
|
import org.bukkit.inventory.CraftingInventory;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.*;
|
||||||
import net.Indyuce.mmoitems.api.event.CraftMMOItemEvent;
|
import java.util.Map.Entry;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
|
||||||
import net.Indyuce.mmoitems.api.recipe.workbench.CachedRecipe;
|
|
||||||
import net.Indyuce.mmoitems.api.recipe.workbench.CustomRecipe;
|
|
||||||
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.WorkbenchIngredient;
|
|
||||||
|
|
||||||
public class CraftingListener implements Listener {
|
public class CraftingListener implements Listener {
|
||||||
final Map<UUID, CachedRecipe> cachedRecipe = new HashMap<>();
|
final Map<UUID, CachedRecipe> cachedRecipe = new HashMap<>();
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
import java.util.Optional;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.Random;
|
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
||||||
import java.util.logging.Level;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -21,10 +21,9 @@ import org.bukkit.event.block.BlockPlaceEvent;
|
|||||||
import org.bukkit.inventory.EquipmentSlot;
|
import org.bukkit.inventory.EquipmentSlot;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import java.util.Optional;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.Random;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.logging.Level;
|
||||||
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
|
||||||
|
|
||||||
public class CustomBlockListener implements Listener {
|
public class CustomBlockListener implements Listener {
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.api.util.SoundReader;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
@ -20,9 +22,6 @@ import org.bukkit.event.player.PlayerItemBreakEvent;
|
|||||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.api.util.SoundReader;
|
|
||||||
|
|
||||||
public class CustomSoundListener implements Listener {
|
public class CustomSoundListener implements Listener {
|
||||||
@EventHandler(priority = EventPriority.HIGH)
|
@EventHandler(priority = EventPriority.HIGH)
|
||||||
public void a(EntityDamageByEntityEvent event) {
|
public void a(EntityDamageByEntityEvent event) {
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import net.Indyuce.mmoitems.api.interaction.util.DurabilityItem;
|
||||||
import org.bukkit.Keyed;
|
import org.bukkit.Keyed;
|
||||||
import org.bukkit.entity.ArmorStand;
|
import org.bukkit.entity.ArmorStand;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
@ -22,11 +26,6 @@ import org.bukkit.inventory.EquipmentSlot;
|
|||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.interaction.util.DurabilityItem;
|
|
||||||
|
|
||||||
public class DisableInteractions implements Listener {
|
public class DisableInteractions implements Listener {
|
||||||
|
|
||||||
// anvils
|
// anvils
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import net.Indyuce.mmoitems.api.interaction.util.DurabilityItem;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
@ -20,7 +18,8 @@ import org.bukkit.event.player.PlayerItemMendEvent;
|
|||||||
import org.bukkit.inventory.EquipmentSlot;
|
import org.bukkit.inventory.EquipmentSlot;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.interaction.util.DurabilityItem;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class DurabilityListener implements Listener {
|
public class DurabilityListener implements Listener {
|
||||||
private final List<DamageCause> ignoredCauses = Arrays.asList(DamageCause.DROWNING, DamageCause.SUICIDE, DamageCause.FALL, DamageCause.VOID,
|
private final List<DamageCause> ignoredCauses = Arrays.asList(DamageCause.DROWNING, DamageCause.SUICIDE, DamageCause.FALL, DamageCause.VOID,
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import io.lumine.mythic.utils.Events;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.manager.Reloadable;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.Action;
|
import org.bukkit.event.block.Action;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import io.lumine.utils.Events;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.manager.Reloadable;
|
|
||||||
|
|
||||||
public class EquipListener implements Reloadable, Listener {
|
public class EquipListener implements Reloadable, Listener {
|
||||||
public EquipListener(){
|
public EquipListener(){
|
||||||
this.reload();
|
this.reload();
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||||
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.ReforgeOptions;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.VolatileMMOItem;
|
||||||
|
import net.Indyuce.mmoitems.api.util.MMOItemReforger;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
||||||
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -13,16 +21,11 @@ import org.bukkit.event.inventory.InventoryType;
|
|||||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.Damageable;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.ArrayList;
|
||||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.ReforgeOptions;
|
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
|
||||||
import net.Indyuce.mmoitems.api.util.MMOItemReforger;
|
|
||||||
|
|
||||||
public class ItemListener implements Listener {
|
public class ItemListener implements Listener {
|
||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
|
@ -1,30 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.GameMode;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.Block;
|
|
||||||
import org.bukkit.entity.Arrow;
|
|
||||||
import org.bukkit.entity.LivingEntity;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.block.BlockBreakEvent;
|
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
|
||||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
|
||||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
|
||||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
|
||||||
import org.bukkit.inventory.EquipmentSlot;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
@ -47,6 +22,30 @@ import net.Indyuce.mmoitems.api.player.PlayerData;
|
|||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
import net.Indyuce.mmoitems.api.player.inventory.EquippedItem;
|
||||||
import net.Indyuce.mmoitems.api.util.message.Message;
|
import net.Indyuce.mmoitems.api.util.message.Message;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.entity.Arrow;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
|
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||||
|
import org.bukkit.inventory.EquipmentSlot;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
public class ItemUse implements Listener {
|
public class ItemUse implements Listener {
|
||||||
private static final DecimalFormat DIGIT = new DecimalFormat("0.#");
|
private static final DecimalFormat DIGIT = new DecimalFormat("0.#");
|
||||||
|
@ -1,10 +1,21 @@
|
|||||||
package net.Indyuce.mmoitems.listener;
|
package net.Indyuce.mmoitems.listener;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import java.util.HashMap;
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
import java.util.Iterator;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import java.util.Map;
|
import io.lumine.mythic.utils.Schedulers;
|
||||||
|
import io.lumine.mythic.utils.events.extra.ArmorEquipEvent;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import net.Indyuce.mmoitems.api.ItemAttackResult;
|
||||||
|
import net.Indyuce.mmoitems.api.SoulboundInfo;
|
||||||
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
|
import net.Indyuce.mmoitems.api.ability.Ability.CastingMode;
|
||||||
|
import net.Indyuce.mmoitems.api.interaction.util.InteractItem;
|
||||||
|
import net.Indyuce.mmoitems.api.interaction.weapon.Weapon;
|
||||||
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -22,21 +33,10 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
|||||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import java.util.ArrayList;
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
import java.util.HashMap;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.Iterator;
|
||||||
import io.lumine.utils.Schedulers;
|
import java.util.Map;
|
||||||
import io.lumine.utils.events.extra.ArmorEquipEvent;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
|
||||||
import net.Indyuce.mmoitems.api.ItemAttackResult;
|
|
||||||
import net.Indyuce.mmoitems.api.SoulboundInfo;
|
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
|
||||||
import net.Indyuce.mmoitems.api.ability.Ability.CastingMode;
|
|
||||||
import net.Indyuce.mmoitems.api.interaction.util.InteractItem;
|
|
||||||
import net.Indyuce.mmoitems.api.interaction.weapon.Weapon;
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
|
||||||
|
|
||||||
public class PlayerListener implements Listener {
|
public class PlayerListener implements Listener {
|
||||||
private final Map<Player, ArrayList<ItemStack>> deathItems = new HashMap<>();
|
private final Map<Player, ArrayList<ItemStack>> deathItems = new HashMap<>();
|
||||||
|
@ -1,19 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.BlockFace;
|
|
||||||
import org.bukkit.block.data.BlockData;
|
|
||||||
import org.bukkit.block.data.MultipleFacing;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
@ -22,6 +8,19 @@ import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
|||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
import net.Indyuce.mmoitems.api.util.MushroomState;
|
import net.Indyuce.mmoitems.api.util.MushroomState;
|
||||||
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.BlockFace;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
import org.bukkit.block.data.MultipleFacing;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class BlockManager implements Reloadable {
|
public class BlockManager implements Reloadable {
|
||||||
private final static List<Integer> downIds = Arrays.asList(23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
|
private final static List<Integer> downIds = Arrays.asList(23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
|
||||||
|
@ -1,22 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.StandardCopyOption;
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.Base64;
|
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.jar.JarEntry;
|
|
||||||
import java.util.jar.JarFile;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import io.lumine.mythic.lib.api.util.AltChar;
|
import io.lumine.mythic.lib.api.util.AltChar;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
@ -32,6 +15,22 @@ import net.Indyuce.mmoitems.api.util.message.Message;
|
|||||||
import net.Indyuce.mmoitems.stat.GemUpgradeScaling;
|
import net.Indyuce.mmoitems.stat.GemUpgradeScaling;
|
||||||
import net.Indyuce.mmoitems.stat.LuteAttackEffectStat.LuteAttackEffect;
|
import net.Indyuce.mmoitems.stat.LuteAttackEffectStat.LuteAttackEffect;
|
||||||
import net.Indyuce.mmoitems.stat.StaffSpiritStat.StaffSpirit;
|
import net.Indyuce.mmoitems.stat.StaffSpiritStat.StaffSpirit;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.StandardCopyOption;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.Base64;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.jar.JarEntry;
|
||||||
|
import java.util.jar.JarFile;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class ConfigManager implements Reloadable {
|
public class ConfigManager implements Reloadable {
|
||||||
|
|
||||||
|
@ -1,22 +1,6 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.function.Predicate;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.MMOLineConfig;
|
import io.lumine.mythic.lib.api.MMOLineConfig;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.util.AltChar;
|
import io.lumine.mythic.lib.api.util.AltChar;
|
||||||
@ -24,25 +8,21 @@ import net.Indyuce.mmoitems.MMOItems;
|
|||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
import net.Indyuce.mmoitems.api.crafting.ConditionalDisplay;
|
import net.Indyuce.mmoitems.api.crafting.ConditionalDisplay;
|
||||||
import net.Indyuce.mmoitems.api.crafting.CraftingStation;
|
import net.Indyuce.mmoitems.api.crafting.CraftingStation;
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.ClassCondition;
|
import net.Indyuce.mmoitems.api.crafting.condition.*;
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.Condition;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.FoodCondition;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.LevelCondition;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.ManaCondition;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.PermissionCondition;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.PlaceholderCondition;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.condition.StaminaCondition;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.ingredient.Ingredient;
|
import net.Indyuce.mmoitems.api.crafting.ingredient.Ingredient;
|
||||||
import net.Indyuce.mmoitems.api.crafting.ingredient.MMOItemIngredient;
|
import net.Indyuce.mmoitems.api.crafting.ingredient.MMOItemIngredient;
|
||||||
import net.Indyuce.mmoitems.api.crafting.ingredient.VanillaIngredient;
|
import net.Indyuce.mmoitems.api.crafting.ingredient.VanillaIngredient;
|
||||||
import net.Indyuce.mmoitems.api.crafting.trigger.CommandTrigger;
|
import net.Indyuce.mmoitems.api.crafting.trigger.*;
|
||||||
import net.Indyuce.mmoitems.api.crafting.trigger.MMOItemTrigger;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.trigger.MessageTrigger;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.trigger.SoundTrigger;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.trigger.Trigger;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.trigger.VanillaTrigger;
|
|
||||||
import net.Indyuce.mmoitems.comp.mythicmobs.crafting.MythicItemIngredient;
|
import net.Indyuce.mmoitems.comp.mythicmobs.crafting.MythicItemIngredient;
|
||||||
import net.Indyuce.mmoitems.comp.mythicmobs.crafting.MythicMobsSkillTrigger;
|
import net.Indyuce.mmoitems.comp.mythicmobs.crafting.MythicMobsSkillTrigger;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class CraftingManager implements Reloadable {
|
public class CraftingManager implements Reloadable {
|
||||||
|
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import io.lumine.mythic.lib.UtilityMethods;
|
||||||
import java.util.List;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.Map;
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
import java.util.Optional;
|
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
||||||
import java.util.logging.Level;
|
import net.Indyuce.mmoitems.api.droptable.DropTable;
|
||||||
|
import net.Indyuce.mmoitems.api.event.CustomBlockDropEvent;
|
||||||
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
|
import net.Indyuce.mmoitems.listener.CustomBlockListener;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -22,14 +24,11 @@ import org.bukkit.event.block.BlockBreakEvent;
|
|||||||
import org.bukkit.event.entity.EntityDeathEvent;
|
import org.bukkit.event.entity.EntityDeathEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.UtilityMethods;
|
import java.util.HashMap;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.List;
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
import java.util.Map;
|
||||||
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
import java.util.Optional;
|
||||||
import net.Indyuce.mmoitems.api.droptable.DropTable;
|
import java.util.logging.Level;
|
||||||
import net.Indyuce.mmoitems.api.event.CustomBlockDropEvent;
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
|
||||||
import net.Indyuce.mmoitems.listener.CustomBlockListener;
|
|
||||||
|
|
||||||
public class DropTableManager implements Listener, Reloadable {
|
public class DropTableManager implements Listener, Reloadable {
|
||||||
private final Map<EntityType, DropTable> monsters = new HashMap<>();
|
private final Map<EntityType, DropTable> monsters = new HashMap<>();
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import java.util.Map;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.WeakHashMap;
|
import net.Indyuce.mmoitems.api.ArrowParticles;
|
||||||
|
import net.Indyuce.mmoitems.api.ItemAttackResult;
|
||||||
|
import net.Indyuce.mmoitems.api.ProjectileData;
|
||||||
|
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
||||||
|
import io.lumine.mythic.lib.api.DamageType;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
@ -16,14 +20,9 @@ import org.bukkit.event.Listener;
|
|||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.event.entity.EntityDeathEvent;
|
import org.bukkit.event.entity.EntityDeathEvent;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.DamageType;
|
import java.util.HashMap;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.Map;
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import java.util.WeakHashMap;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.ArrowParticles;
|
|
||||||
import net.Indyuce.mmoitems.api.ItemAttackResult;
|
|
||||||
import net.Indyuce.mmoitems.api.ProjectileData;
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats;
|
|
||||||
|
|
||||||
public class EntityManager implements Listener {
|
public class EntityManager implements Listener {
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.crafting.Layout;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.crafting.Layout;
|
|
||||||
|
|
||||||
public class LayoutManager implements Reloadable {
|
public class LayoutManager implements Reloadable {
|
||||||
private final Map<String, Layout> layouts = new HashMap<>();
|
private final Map<String, Layout> layouts = new HashMap<>();
|
||||||
|
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -7,11 +11,6 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
|
|
||||||
public class LoreFormatManager implements Reloadable {
|
public class LoreFormatManager implements Reloadable {
|
||||||
private final Map<String, List<String>> formats = new HashMap<>();
|
private final Map<String, List<String>> formats = new HashMap<>();
|
||||||
|
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
|
import net.Indyuce.mmoitems.api.PluginUpdate;
|
||||||
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
|
import net.md_5.bungee.api.ChatColor;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -10,17 +20,6 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
|
||||||
import net.Indyuce.mmoitems.api.PluginUpdate;
|
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
|
||||||
import net.md_5.bungee.api.ChatColor;
|
|
||||||
|
|
||||||
public class PluginUpdateManager {
|
public class PluginUpdateManager {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import io.lumine.mythic.lib.api.crafting.recipes.MythicRecipeBlueprint;
|
||||||
|
import io.lumine.mythic.lib.api.crafting.recipes.MythicRecipeStation;
|
||||||
|
import io.lumine.mythic.lib.api.util.Ref;
|
||||||
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
||||||
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||||
|
import net.Indyuce.mmoitems.api.crafting.recipe.SmithingCombinationType;
|
||||||
|
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Keyed;
|
import org.bukkit.Keyed;
|
||||||
@ -23,18 +26,10 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import org.bukkit.inventory.Recipe;
|
import org.bukkit.inventory.Recipe;
|
||||||
import org.bukkit.inventory.RecipeChoice;
|
import org.bukkit.inventory.RecipeChoice;
|
||||||
import org.bukkit.inventory.SmokingRecipe;
|
import org.bukkit.inventory.SmokingRecipe;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
|
||||||
import io.lumine.mythic.lib.api.crafting.recipes.MythicRecipeBlueprint;
|
|
||||||
import io.lumine.mythic.lib.api.crafting.recipes.MythicRecipeStation;
|
|
||||||
import io.lumine.mythic.lib.api.util.Ref;
|
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import net.Indyuce.mmoitems.api.crafting.recipe.SmithingCombinationType;
|
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
import net.Indyuce.mmoitems.api.recipe.workbench.CustomRecipe;
|
import net.Indyuce.mmoitems.api.recipe.workbench.CustomRecipe;
|
||||||
@ -42,8 +37,10 @@ import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.AirIngredient;
|
|||||||
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.MMOItemIngredient;
|
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.MMOItemIngredient;
|
||||||
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.VanillaIngredient;
|
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.VanillaIngredient;
|
||||||
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.WorkbenchIngredient;
|
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.WorkbenchIngredient;
|
||||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
import net.Indyuce.mmoitems.stat.data.DoubleData;
|
||||||
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages the custom crafting of MMOItem components and stuff.
|
* Manages the custom crafting of MMOItem components and stuff.
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
|
import net.Indyuce.mmoitems.api.ItemSet;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
|
||||||
import net.Indyuce.mmoitems.api.ItemSet;
|
|
||||||
|
|
||||||
public class SetManager implements Reloadable {
|
public class SetManager implements Reloadable {
|
||||||
private final Map<String, ItemSet> itemSets = new HashMap<>();
|
private final Map<String, ItemSet> itemSets = new HashMap<>();
|
||||||
|
|
||||||
|
@ -12,13 +12,7 @@ import java.util.logging.Level;
|
|||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import net.Indyuce.mmoitems.stat.type.AttributeStat;
|
import net.Indyuce.mmoitems.stat.type.*;
|
||||||
import net.Indyuce.mmoitems.stat.type.ConsumableItemInteraction;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.DoubleStat;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.GemStoneStat;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemRestriction;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.SelfConsumable;
|
|
||||||
|
|
||||||
public class StatManager {
|
public class StatManager {
|
||||||
private final Map<String, ItemStat> stats = new LinkedHashMap<>();
|
private final Map<String, ItemStat> stats = new LinkedHashMap<>();
|
||||||
|
@ -1,20 +1,5 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackCategory;
|
||||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
@ -24,7 +9,17 @@ import net.Indyuce.mmoitems.api.Type;
|
|||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
import net.Indyuce.mmoitems.api.item.template.TemplateModifier;
|
import net.Indyuce.mmoitems.api.item.template.TemplateModifier;
|
||||||
import net.Indyuce.mmoitems.api.util.TemplateMap;
|
import net.Indyuce.mmoitems.api.util.TemplateMap;
|
||||||
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class TemplateManager implements Reloadable {
|
public class TemplateManager implements Reloadable {
|
||||||
|
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
import net.Indyuce.mmoitems.api.ItemTier;
|
import net.Indyuce.mmoitems.api.ItemTier;
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class TierManager implements Reloadable{
|
public class TierManager implements Reloadable{
|
||||||
private final Map<String, ItemTier> tiers = new HashMap<>();
|
private final Map<String, ItemTier> tiers = new HashMap<>();
|
||||||
|
@ -1,19 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import net.Indyuce.mmoitems.manager.ConfigManager.DefaultFile;
|
import net.Indyuce.mmoitems.manager.ConfigManager.DefaultFile;
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class TypeManager implements Reloadable {
|
public class TypeManager implements Reloadable {
|
||||||
private final Map<String, Type> map = new LinkedHashMap<>();
|
private final Map<String, Type> map = new LinkedHashMap<>();
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import io.lumine.mythic.lib.MythicLib;
|
||||||
import java.util.LinkedList;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
import io.lumine.mythic.lib.api.util.LegacyComponent;
|
||||||
import io.lumine.mythic.utils.adventure.text.Component;
|
import io.lumine.mythic.utils.adventure.text.Component;
|
||||||
import io.lumine.mythic.utils.adventure.text.format.NamedTextColor;
|
import io.lumine.mythic.utils.adventure.text.format.NamedTextColor;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||||
|
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||||
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -18,13 +21,9 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import org.bukkit.inventory.meta.Damageable;
|
import org.bukkit.inventory.meta.Damageable;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import io.lumine.mythic.lib.MythicLib;
|
import java.util.Arrays;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import java.util.LinkedList;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.List;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
|
||||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
|
||||||
|
|
||||||
public class UpdaterManager implements Listener {
|
public class UpdaterManager implements Listener {
|
||||||
/*public UpdaterManager() {
|
/*public UpdaterManager() {
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.Collection;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.HashMap;
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
import java.util.Map;
|
import net.Indyuce.mmoitems.api.UpgradeTemplate;
|
||||||
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
import java.util.Collection;
|
||||||
import net.Indyuce.mmoitems.api.UpgradeTemplate;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class UpgradeManager implements Reloadable {
|
public class UpgradeManager implements Reloadable {
|
||||||
private final Map<String, UpgradeTemplate> templates = new HashMap<>();
|
private final Map<String, UpgradeTemplate> templates = new HashMap<>();
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package net.Indyuce.mmoitems.manager;
|
package net.Indyuce.mmoitems.manager;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.Map;
|
import net.Indyuce.mmoitems.api.ConfigFile;
|
||||||
import java.util.Random;
|
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
||||||
import java.util.logging.Level;
|
import net.Indyuce.mmoitems.api.block.WorldGenTemplate;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -15,10 +14,10 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.world.ChunkLoadEvent;
|
import org.bukkit.event.world.ChunkLoadEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.HashMap;
|
||||||
import net.Indyuce.mmoitems.api.ConfigFile;
|
import java.util.Map;
|
||||||
import net.Indyuce.mmoitems.api.block.CustomBlock;
|
import java.util.Random;
|
||||||
import net.Indyuce.mmoitems.api.block.WorldGenTemplate;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class WorldGenManager implements Listener, Reloadable {
|
public class WorldGenManager implements Listener, Reloadable {
|
||||||
private final Map<String, WorldGenTemplate> templates = new HashMap<>();
|
private final Map<String, WorldGenTemplate> templates = new HashMap<>();
|
||||||
|
@ -5,23 +5,15 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import com.google.gson.*;
|
||||||
|
import io.lumine.mythic.lib.api.item.SupportedNBTTagValues;
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import com.google.gson.JsonElement;
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.google.gson.JsonParser;
|
|
||||||
import com.google.gson.JsonSyntaxException;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
|
||||||
import io.lumine.mythic.lib.api.item.SupportedNBTTagValues;
|
|
||||||
import io.lumine.mythic.lib.api.util.AltChar;
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
import net.Indyuce.mmoitems.api.ability.Ability;
|
import net.Indyuce.mmoitems.api.ability.Ability;
|
||||||
@ -39,6 +31,10 @@ import net.Indyuce.mmoitems.stat.data.random.RandomAbilityListData;
|
|||||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
|
import io.lumine.mythic.lib.api.util.AltChar;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class Abilities extends ItemStat {
|
public class Abilities extends ItemStat {
|
||||||
private final DecimalFormat modifierFormat = new DecimalFormat("0.#");
|
private final DecimalFormat modifierFormat = new DecimalFormat("0.#");
|
||||||
|
@ -1,42 +1,44 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.Block;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.util.BoundingBox;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import io.lumine.mythic.lib.api.item.ItemTag;
|
import io.lumine.mythic.lib.api.item.ItemTag;
|
||||||
import io.lumine.mythic.lib.api.item.NBTItem;
|
import io.lumine.mythic.lib.api.item.NBTItem;
|
||||||
import io.lumine.mythic.lib.api.item.SupportedNBTTagValues;
|
import io.lumine.mythic.lib.api.item.SupportedNBTTagValues;
|
||||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||||
|
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||||
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
import net.Indyuce.mmoitems.api.player.RPGPlayer;
|
||||||
import net.Indyuce.mmoitems.stat.data.StringData;
|
import net.Indyuce.mmoitems.stat.data.StringData;
|
||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import net.Indyuce.mmoitems.stat.type.ChooseStat;
|
import net.Indyuce.mmoitems.stat.type.ChooseStat;
|
||||||
import net.Indyuce.mmoitems.stat.type.GemStoneStat;
|
import net.Indyuce.mmoitems.stat.type.GemStoneStat;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemRestriction;
|
import net.Indyuce.mmoitems.stat.type.ItemRestriction;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.BoundingBox;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Gunging
|
* @author Gunging
|
||||||
*/
|
*/
|
||||||
public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneStat {
|
public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneStat {
|
||||||
public static final String
|
public static final String
|
||||||
NORMAL = "UNRESTRICTED",
|
NORMAL = "UNRESTRICTED",
|
||||||
DRY = "DRY",
|
DRY = "DRY",
|
||||||
WET = "WET",
|
WET = "WET",
|
||||||
DAMP = "DAMP",
|
DAMP = "DAMP",
|
||||||
LAVA = "LAVA",
|
LAVA = "LAVA",
|
||||||
MOLTEN = "MOLTEN",
|
MOLTEN = "MOLTEN",
|
||||||
LIQUID = "LIQUID",
|
LIQUID = "LIQUID",
|
||||||
SUBMERGED = "SUBMERGED";
|
SUBMERGED = "SUBMERGED";
|
||||||
|
|
||||||
public Amphibian() {
|
public Amphibian() {
|
||||||
super("AMPHIBIAN", Material.WATER_BUCKET, "Amphibian", new String[]{"May this item only be used in specific", "environments regarding liquids?"}, new String[]{"!block", "all"});
|
super("AMPHIBIAN", Material.WATER_BUCKET, "Amphibian", new String[] { "May this item only be used in specific", "environments regarding liquids?" }, new String[] { "!block", "all" });
|
||||||
|
|
||||||
// Create the list
|
// Create the list
|
||||||
ArrayList<String> amphibianStuff = new ArrayList<>();
|
ArrayList<String> amphibianStuff = new ArrayList<>();
|
||||||
@ -61,24 +63,17 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override public StatData getClearStatData() { return new StringData(NORMAL); }
|
||||||
public StatData getClearStatData() {
|
|
||||||
return new StringData(NORMAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canUse(RPGPlayer player, NBTItem item, boolean message) {
|
public boolean canUse(RPGPlayer player, NBTItem item, boolean message) {
|
||||||
|
|
||||||
// bruh
|
// bruh
|
||||||
if (!item.hasTag(getNBTPath())) {
|
if (!item.hasTag(getNBTPath())) { return true; }
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Find the relevant tags
|
// Find the relevant tags
|
||||||
ArrayList<ItemTag> relevantTags = new ArrayList<>();
|
ArrayList<ItemTag> relevantTags = new ArrayList<>();
|
||||||
if (item.hasTag(getNBTPath())) {
|
if (item.hasTag(getNBTPath())) { relevantTags.add(ItemTag.getTagAtPath(getNBTPath(), item, SupportedNBTTagValues.STRING)); }
|
||||||
relevantTags.add(ItemTag.getTagAtPath(getNBTPath(), item, SupportedNBTTagValues.STRING));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate data
|
// Generate data
|
||||||
StringData data = (StringData) getLoadedNBT(relevantTags);
|
StringData data = (StringData) getLoadedNBT(relevantTags);
|
||||||
@ -98,9 +93,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
||||||
if (b.isLiquid()) {
|
if (b.isLiquid()) {
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
||||||
return false;
|
return false; } }
|
||||||
}
|
|
||||||
}
|
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
||||||
return true;
|
return true;
|
||||||
case WET:
|
case WET:
|
||||||
@ -108,9 +101,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
||||||
if (b.getType().equals(Material.WATER)) {
|
if (b.getType().equals(Material.WATER)) {
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
||||||
return true;
|
return true; } }
|
||||||
}
|
|
||||||
}
|
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
||||||
return false;
|
return false;
|
||||||
case DAMP:
|
case DAMP:
|
||||||
@ -118,9 +109,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
||||||
if (!b.getType().equals(Material.WATER)) {
|
if (!b.getType().equals(Material.WATER)) {
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
||||||
return false;
|
return false; } }
|
||||||
}
|
|
||||||
}
|
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
||||||
return true;
|
return true;
|
||||||
case LAVA:
|
case LAVA:
|
||||||
@ -128,9 +117,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
||||||
if (b.getType().equals(Material.LAVA)) {
|
if (b.getType().equals(Material.LAVA)) {
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
||||||
return true;
|
return true; } }
|
||||||
}
|
|
||||||
}
|
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
||||||
return false;
|
return false;
|
||||||
case MOLTEN:
|
case MOLTEN:
|
||||||
@ -138,9 +125,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
||||||
if (!b.getType().equals(Material.LAVA)) {
|
if (!b.getType().equals(Material.LAVA)) {
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
||||||
return false;
|
return false; } }
|
||||||
}
|
|
||||||
}
|
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
||||||
return true;
|
return true;
|
||||||
case LIQUID:
|
case LIQUID:
|
||||||
@ -148,9 +133,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
||||||
if (b.isLiquid()) {
|
if (b.isLiquid()) {
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
||||||
return true;
|
return true; } }
|
||||||
}
|
|
||||||
}
|
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
||||||
return false;
|
return false;
|
||||||
case SUBMERGED:
|
case SUBMERGED:
|
||||||
@ -158,9 +141,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
//BKK//MMOItems. Log(" \u00a77>\u00a77>\u00a73>\u00a77 Examining \u00a7f" + b.getType().toString());
|
||||||
if (!b.isLiquid()) {
|
if (!b.isLiquid()) {
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7cFail");
|
||||||
return false;
|
return false; } }
|
||||||
}
|
|
||||||
}
|
|
||||||
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
//BKK//MMOItems. Log(" \u00a7a>\u00a73>\u00a7a> \u00a7aSucceed");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -169,9 +150,7 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isDynamic() {
|
public boolean isDynamic() { return true; }
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Yes
|
// Yes
|
||||||
ArrayList<Block> blocksTouchedByPlayer(@NotNull Player p) {
|
ArrayList<Block> blocksTouchedByPlayer(@NotNull Player p) {
|
||||||
@ -188,9 +167,9 @@ public class Amphibian extends ChooseStat implements ItemRestriction, GemStoneSt
|
|||||||
for (double dz = box.getMinZ(); dz <= box.getMaxZ(); dz += Math.min(1, Math.max(box.getWidthZ() - (dz - box.getMinZ()), 0.001))) {
|
for (double dz = box.getMinZ(); dz <= box.getMaxZ(); dz += Math.min(1, Math.max(box.getWidthZ() - (dz - box.getMinZ()), 0.001))) {
|
||||||
|
|
||||||
// Exclusion
|
// Exclusion
|
||||||
int dxI = SilentNumbers.floor(dx);
|
int dxI =SilentNumbers.floor(dx);
|
||||||
int dyI = SilentNumbers.floor(dy);
|
int dyI =SilentNumbers.floor(dy);
|
||||||
int dzI = SilentNumbers.floor(dz);
|
int dzI =SilentNumbers.floor(dz);
|
||||||
|
|
||||||
//BKK//MMOItems. Log(" \u00a77at \u00a76" + dxI + " " + dyI + " " + dzI + "\u00a78 (" + dx + " " + dy + " " + dz + ")");
|
//BKK//MMOItems. Log(" \u00a77at \u00a76" + dxI + " " + dyI + " " + dzI + "\u00a78 (" + dx + " " + dy + " " + dz + ")");
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user