diff --git a/EpicSpawners-API/pom.xml b/EpicSpawners-API/pom.xml
index 2d97861..b42d31c 100644
--- a/EpicSpawners-API/pom.xml
+++ b/EpicSpawners-API/pom.xml
@@ -7,7 +7,7 @@
com.craftaro
EpicSpawners-Parent
- 8.2.2
+ 8.5.0
../pom.xml
EpicSpawners-API
@@ -42,7 +42,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.6.3
+ 3.8.0
@@ -64,7 +64,7 @@
org.apache.maven.plugins
maven-source-plugin
- 3.3.0
+ 3.3.1
diff --git a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/boosts/types/Boosted.java b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/boosts/types/Boosted.java
index d9d628a..f1e5593 100644
--- a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/boosts/types/Boosted.java
+++ b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/boosts/types/Boosted.java
@@ -1,8 +1,7 @@
package com.craftaro.epicspawners.api.boosts.types;
-import com.craftaro.core.database.Data;
+public interface Boosted {
-public interface Boosted extends Data {
int getAmountBoosted();
long getEndTime();
diff --git a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/PlacedSpawner.java b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/PlacedSpawner.java
index 6139c3f..18bc3be 100644
--- a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/PlacedSpawner.java
+++ b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/PlacedSpawner.java
@@ -16,7 +16,7 @@ import java.util.List;
import java.util.Set;
import java.util.UUID;
-public interface PlacedSpawner extends Data {
+public interface PlacedSpawner {
int spawn(int amountToSpawn, String particle, Set canSpawnOn, SpawnedEntity spawned, EntityType... types);
SpawnerStack addSpawnerStack(SpawnerStack spawnerStack);
diff --git a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/SpawnerManager.java b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/SpawnerManager.java
index f11576e..33f70b0 100644
--- a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/SpawnerManager.java
+++ b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/spawners/spawner/SpawnerManager.java
@@ -42,11 +42,13 @@ public interface SpawnerManager {
PlacedSpawner removeSpawnerFromWorld(PlacedSpawner spawner);
+ void removeSpawnersFromWorld(List spawners);
+
Collection getSpawners();
void addSpawners(Map spawners);
- void addSpawners(List spawners);
+ void addSpawners(List spawners);
void addCooldown(PlacedSpawner spawner);
diff --git a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/utils/HeadType.java b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/utils/HeadType.java
deleted file mode 100644
index 236ec55..0000000
--- a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/utils/HeadType.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.craftaro.epicspawners.api.utils;
-
-public enum HeadType {
- BAT("978862a56119227aaad4b7c246c8b2256db985db0951f55b0a1f8616c191f"),
- BLAZE("b78ef2e4cf2c41a2d14bfde9caff10219f5b1bf5b35a49eb51c6467882cb5f0"),
- CHICKEN("1638469a599ceef7207537603248a9ab11ff591fd378bea4735b346a7fae893"),
- COW("5d6c6eda942f7f5f71c3161c7306f4aed307d82895f9d2b07ab4525718edc5"),
- CREEPER("295ef836389af993158aba27ff37b6567185f7a721ca90fdfeb937a7cb5747"),
- CAVE_SPIDER("eccc4a32d45d74e8b14ef1ffd55cd5f381a06d4999081d52eaea12e13293e209"),
- DONKEY("9ffca9f0859834da81af524c2865fa3186b5bf58bd1c4e3742837c4fd6853887"),
- ELDER_GUARDIAN("dbb9491b7a1768e3291959796232eb6f61b9c39aa2f81e13d287a3ab5d16dec"),
- ENDERMAN("7a59bb0a7a32965b3d90d8eafa899d1835f424509eadd4e6b709ada50b9cf"),
- ENDERMITE("e8c6cb8ceaad5a2ad5cc9a67bce6d5bdbf5cbb7e312955ccf9f162509355b1"),
- ENDER_DRAGON("74ecc040785e54663e855ef0486da72154d69bb4b7424b7381ccf95b095a"),
- EVOKER("d954135dc82213978db478778ae1213591b93d228d36dd54f1ea1da48e7cba6"),
- GHAST("8b6a72138d69fbbd2fea3fa251cabd87152e4f1c97e5f986bf685571db3cc0"),
- GIANT("56fc854bb84cf4b7697297973e02b79bc10698460b51a639c60e5e417734e11"),
- GUARDIAN("932c24524c82ab3b3e57c2052c533f13dd8c0beb8bdd06369bb2554da86c123"),
- HORSE("61902898308730c4747299cb5a5da9c25838b1d059fe46fc36896fee662729"),
- HUSK("6ae3a5bfcaa943d126988ed17ce8e4a7fb4231b05a5c5c947e5cc9752a199962"),
- ILLUSIONER("c269a9dabe4f9fd6b4d74b7cd9c7ee6b24d87549b5acabbeb36cd756cc373"),
- IRON_GOLEM("e13f34227283796bc017244cb46557d64bd562fa9dab0e12af5d23ad699cf697"),
- LLAMA("6bc438fc1fbbaea2289aabecedd3fdf269ddc979bf8b5c6a8fc4bb8dcd4e1fe"),
- MAGMA_CUBE("38957d5023c937c4c41aa2412d43410bda23cf79a9f6ab36b76fef2d7c429"),
- MULE("46dcda265e57e4f51b145aacbf5b59bdc6099ffd3cce0a661b2c0065d80930d8"),
- MUSHROOM_COW("d0bc61b9757a7b83e03cd2507a2157913c2cf016e7c096a4d6cf1fe1b8db"),
- OCELOT("d03a2e37418e0cffaa2b513910c5282b9bb06c35a1d47039a5cc51b234a542f3"),
- OMNI("afe097f7f7a6568884198b562cb58cfb84a3936fbf72828954aaa1f58cba32"),
- PARROT("fd7cca30a1dc2fb25d3b7fb16318330ac79742d97deeeabe5393fb8a2cb878"),
- PIG("621668ef7cb79dd9c22ce3d1f3f4cb6e2559893b6df4a469514e667c16aa4"),
- PIG_ZOMBIE("74e9c6e98582ffd8ff8feb3322cd1849c43fb16b158abb11ca7b42eda7743eb"),
- POLAR_BEAR("d46d23f04846369fa2a3702c10f759101af7bfe8419966429533cd81a11d2b"),
- RABBIT("dc7a317ec5c1ed7788f89e7f1a6af3d2eeb92d1e9879c05343c57f9d863de130"),
- SHEEP("f31f9ccc6b3e32ecf13b8a11ac29cd33d18c95fc73db8a66c5d657ccb8be70"),
- SHULKER("1433a4b73273a64c8ab2830b0fff777a61a488c92f60f83bfb3e421f428a44"),
- SILVERFISH("453a6aedbc9e4a22266cd70d2d4a2850a7e4b5864fbcbddf952b748fbabdb2"),
- SKELETON("2e5be6a3c0159d2c1f3b1e4e1d8384b6f7ebac993d58b10b9f8989c78a232"),
- SKELETON_HORSE("39be68887f5cf8c8044ebcdc5e768a172b2ef3e99545acd75b5ff74a263a"),
- SLIME("16ad20fc2d579be250d3db659c832da2b478a73a698b7ea10d18c9162e4d9b5"),
- SNOWMAN("a528df1653962e4e995dfd064a72b2cbff9b7197912880143f941a37db46c"),
- SPIDER("cd541541daaff50896cd258bdbdd4cf80c3ba816735726078bfe393927e57f1"),
- SQUID("01433be242366af126da434b8735df1eb5b3cb2cede39145974e9c483607bac"),
- STRAY("96e58aeeaf75e9695813aeaabd3973c83d5ff8c285fe6b944550bc41b953"),
- VEX("6dc4b59be077f7f2f6b488666afb85e45d96cc57b57934ae11ba9734bb4811"),
- VILLAGER("126ec1ca185b47aad39f931db8b0a8500ded86a127a204886ed4b3783ad1775c"),
- VINDICATOR("7a5b31aeab7f728cd7e90f81e2ffad4cd198c1907574f57be2b7c42f49ddd"),
- WITCH("2e139130d7efd41fbad53735f64f8aff265bd7c54977189c02babbec4b0d07b"),
- WITHER("cdf74e323ed41436965f5c57ddf2815d5332fe999e68fbb9d6cf5c8bd4139f"),
- WITHER_SKELETON("233b41fa79cd53a230e2db942863843183a70404533bbc01fab744769bcb"),
- WOLF("e95cbb4f75ea87617f2f713c6d49dac3209ba1bd4b9369654b1459ea15317"),
- ZOMBIE("56fc854bb84cf4b7697297973e02b79bc10698460b51a639c60e5e417734e11"),
- ZOMBIE_HORSE("d898e3eacff9949a9de9777ddfada8a7f62a4102de47b54db35f9f843e1ce4"),
- ZOMBIE_VILLAGER("1a207a2b872fe8dd22ce5e27fc3263622621635efd8ea6abbdf317f99c5843"),
- TURTLE("8df85c60a2e6061a5b4100e224422d19373badae2c0a1ca13e4d94897f7cbcf3"),
- PHANTOM("fc060c4c1565f337a1b399ccf247cf300d3c3843efaaa610e5d894a79d9957fe"),
- DOLPHIN("546fd34b06c61f68e94f357f38e62d334e339edf2b930d26951971921bbb5268"),
- PUFFERFISH("13bc144030373790ca5a03bf111ca4127d31729bf0788d1e05a019206e62da92"),
- SALMON("c1102e3a82c44ad4180e5be1cedda386158f5b8b20a52a8bd941104f7b695b9f"),
- COD("a5eef52a468f681fab6a56bf5cc9986c1868ff0795d115c6ab0009d8faf972a4"),
- TROPICAL_FISH("b80f5955825e822eff416182925c7d650a7e0947ec9f855a75450e03175e8338"),
- DROWNED("71f2469f9b4bd92aa6a8ba3415f1ab76fd746041400062dc40fe13b646c0cc5d"),
- DROPPED_ITEM("452fe4ce1f1d53a12ed443eeba7297e81da581e0c7a39954d9d7bba7de59c46"),
- WANDERING_TRADER("4e8882cb316875e867b8d90c197f3ab57ff809fe8dd4a88368354afada48cdb4"),
- PANDA("3cddc208575aadfdc47c1c707f8230b4775f70cec7531a9a355774f59e6bffa7"),
- CAT("ff1b549341ad53b2bcd851b224ec56dbadb54887eaa0f771ba8eb39f58cf1d59"),
- FOX("add8cd97dc3b34402b6d5e12f991ebaef246254c931803eb8dcb45fa4b4fba53"),
- PILLAGER("63550f89aea88665804c2fd1b6682930c23233184fdc060991305718ed660597"),
- RAVAGER("d91a9d864e36fbec19b584bcb71292530755b10c4e60784fec92b51f8189363c"),
- TRADER_LLAMA("6bc438fc1fbbaea2289aabecedd3fdf269ddc979bf8b5c6a8fc4bb8dcd4e1fe"),
- BEE("5162dd0b9f65b58a1e70f81d8e03e8ff6c53e4e985bdbe0186558d8a69a81189"),
- PIGLIN("8ed4c6c5e8ba2c3ab05cb47258a4fe95bd3b92ba0a68db6d6e961d830baa0179"),
- HOGLIN("6c8c7fb74e69885f294ca6652553dd5938dac1164f652d4843abe0e891453da4"),
- STRIDER("16a9186a317e31e77b85a625f9d0b1cf1809f9d46a4aa153e639b60d30743fcf"),
- ZOMBIFIED_PIGLIN("f05e06b1d1357a3574268a5189615983ceffc185993047da47ac947f3b7507f3"),
- ZOGLIN("f05e06b1d1357a3574268a5189615983ceffc185993047da47ac947f3b7507f3"),
- PIGLIN_BRUTE("7543ec4797511285efeb76d909d124dcecb255e048c7d65ae66b6ee2bae152e7"),
- AXOLOTL("fd792cd16e006d6e3e6303186d0498ea189e0c59389296a8e612a6db67af22cf"),
- GLOW_SQUID("72356ab9fc794c4b3e494aa26238a4156a1f2ec8571b198d5687a42b7f5581f1"),
- GOAT("5cc9fd5d95bbd035e2f6dc91e34670d67f89151b6d45ab106424e26101b94814"),
- ALLAY("df5de940bfe499c59ee8dac9f9c3919e7535eff3a9acb16f4842bf290f4c679f"),
- FROG("2ca4a8e494582c62aaa2c92474b16d69cd63baa3d3f50a4b631d6559ca0f33f5"),
- TADPOLE("b23ebf26b7a441e10a86fb5c2a5f3b519258a5c5dddd6a1a75549f517332815b"),
- WARDEN("bc9c84349742164a22971ee54516fff91d868da72cdcce62069db128c42154b2"),
- CAMEL("3642c9f71131b5df4a8c21c8c6f10684f22abafb8cd68a1d55ac4bf263a53a31"),
- SNIFFER("87ad920a66e38cc3426a5bff084667e8772116915e298098567c139f222e2c42"),
- BREEZE("80843a94f925b5598924ff9b52b7999c8d29d1b790ad487dd54e27956e540d20");
-
- private final String urlHash;
-
- HeadType(String urlHash) {
- this.urlHash = urlHash;
- }
-
- /**
- * @deprecated Use {@link #getUrlHash()} instead.
- */
- @Deprecated
- public String getUrl() {
- return this.urlHash;
- }
-
- public String getUrlHash() {
- return this.urlHash;
- }
-}
diff --git a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/utils/HeadUtils.java b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/utils/HeadUtils.java
index 05bbd45..a3d4de1 100644
--- a/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/utils/HeadUtils.java
+++ b/EpicSpawners-API/src/main/java/com/craftaro/epicspawners/api/utils/HeadUtils.java
@@ -1,11 +1,10 @@
package com.craftaro.epicspawners.api.utils;
-import com.craftaro.third_party.com.cryptomorin.xseries.SkullUtils;
-import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
+import com.craftaro.core.utils.HeadType;
+import com.craftaro.core.utils.SkullItemCreator;
import com.craftaro.epicspawners.api.spawners.spawner.SpawnerData;
import com.craftaro.epicspawners.api.spawners.spawner.SpawnerTier;
import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.meta.SkullMeta;
import java.util.EnumMap;
import java.util.Map;
@@ -32,14 +31,8 @@ public class HeadUtils {
return createSkullForSkinHash(headType.getUrlHash());
}
- private static ItemStack createSkullForSkinHash(String textureHash) {
- ItemStack head = XMaterial.PLAYER_HEAD.parseItem();
-
- SkullMeta meta = (SkullMeta) head.getItemMeta();
- SkullUtils.applySkin(meta, textureHash);
- head.setItemMeta(meta);
-
- return head;
+ private static ItemStack createSkullForSkinHash(String textureUrlHash) {
+ return SkullItemCreator.byTextureUrlHash(textureUrlHash);
}
private static HeadType getHeadTypeOrDefault(String name) {
diff --git a/EpicSpawners-Plugin/pom.xml b/EpicSpawners-Plugin/pom.xml
index 5ac1b97..4e47187 100644
--- a/EpicSpawners-Plugin/pom.xml
+++ b/EpicSpawners-Plugin/pom.xml
@@ -7,7 +7,7 @@
com.craftaro
EpicSpawners-Parent
- 8.2.2
+ 8.5.0
../pom.xml
EpicSpawners-Plugin
@@ -17,7 +17,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.5.2
+ 3.6.0
@@ -56,10 +56,10 @@
false
**/nms/v*/**
+ **/third_party/net/kyori/**
**/third_party/org/apache/**
- **/third_party/net/kyori/**
**/third_party/com/zaxxer/**
**/third_party/org/jooq/**
**/third_party/org/mariadb/**
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/EpicSpawners.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/EpicSpawners.java
index 0860a99..6fe85eb 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/EpicSpawners.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/EpicSpawners.java
@@ -127,7 +127,7 @@ public class EpicSpawners extends SongodaPlugin {
// Set Economy & Hologram preference
EconomyManager.getManager().setPreferredHook(Settings.ECONOMY_PLUGIN.getString());
- EconomyManager.setCurrencySymbol(getLocale().getMessage("general.nametag.currency").getMessage());
+ EconomyManager.setCurrencySymbol(getLocale().getMessage("general.nametag.currency").toText());
HologramManager.getManager().setPreferredHook(Settings.HOLOGRAM_PLUGIN.getString());
// Register commands
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/boost/types/BoostedImpl.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/boost/types/BoostedImpl.java
index b6afb5c..1158dc6 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/boost/types/BoostedImpl.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/boost/types/BoostedImpl.java
@@ -1,11 +1,19 @@
package com.craftaro.epicspawners.boost.types;
+import com.craftaro.core.database.Data;
import com.craftaro.epicspawners.api.boosts.types.Boosted;
-public abstract class BoostedImpl implements Boosted {
+
+public abstract class BoostedImpl implements Boosted, Data {
private final int amountBoosted;
private final long endTime;
+ //Default constructor for database use
+ public BoostedImpl() {
+ this.amountBoosted = 0;
+ this.endTime = 0;
+ }
+
public BoostedImpl(int amountBoosted, long endTime) {
this.amountBoosted = amountBoosted;
this.endTime = endTime;
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_2_AddTiers.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_2_AddTiers.java
index 29da334..3a9c494 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_2_AddTiers.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_2_AddTiers.java
@@ -14,7 +14,9 @@ public class _2_AddTiers extends DataMigration {
@Override
public void migrate(Connection connection, String tablePrefix) throws SQLException {
try (Statement statement = connection.createStatement()) {
- statement.execute("ALTER TABLE " + tablePrefix + "spawner_stacks ADD COLUMN IF NOT EXISTS tier VARCHAR(100) DEFAULT 'Tier_1' NOT NULL");
+ statement.execute("ALTER TABLE " + tablePrefix + "spawner_stacks ADD COLUMN tier VARCHAR(100) DEFAULT 'Tier_1' NOT NULL");
+ } catch (Exception ignored) {
+ //Column already exists
}
}
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_3_AddUniqueIndex.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_3_AddUniqueIndex.java
index 9a501af..11455dd 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_3_AddUniqueIndex.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/database/migrations/_3_AddUniqueIndex.java
@@ -18,16 +18,38 @@ public class _3_AddUniqueIndex extends DataMigration {
//Delete duplicate entries from previous versions
try (Statement statement = connection.createStatement()) {
//Delete duplicate data before adding unique index
+ //MariaDB and H2
statement.execute("DELETE FROM " + tablePrefix + "entity_kills WHERE count < (SELECT MAX(count) FROM " + tablePrefix + "entity_kills AS t2 WHERE t2.player = " + tablePrefix + "entity_kills.player AND t2.entity_type = " + tablePrefix + "entity_kills.entity_type)");
+ } catch (Exception e) {
+ //MySQL
+ try (PreparedStatement statement = connection.prepareStatement("CREATE TEMPORARY TABLE temp_table AS SELECT player, entity_type, MAX(count) as max_count FROM " + tablePrefix + "entity_kills GROUP BY player, entity_type")) {
+ statement.execute();
+ } catch (Exception ignored) {
+ //Table already exists
+ }
+
+ try (PreparedStatement statement = connection.prepareStatement("DELETE e FROM " + tablePrefix + "entity_kills e INNER JOIN temp_table t ON e.player = t.player AND e.entity_type = t.entity_type WHERE e.count < t.max_count")) {
+ statement.execute();
+ } catch (Exception ignored) {
+ //Table already exists
+ }
+
+ try (PreparedStatement statement = connection.prepareStatement("DROP TEMPORARY TABLE temp_table")) {
+ statement.execute();
+ } catch (Exception ignored) {
+ //Table already exists
+ }
}
try (Statement statement = connection.createStatement()) {
//MySQL and MariaDB
- statement.execute("ALTER TABLE " + tablePrefix + "entity_kills ADD UNIQUE INDEX IF NOT EXISTS player_uuid_entity_type (player, entity_type))");
+ statement.execute("ALTER TABLE " + tablePrefix + "entity_kills ADD UNIQUE INDEX player_uuid_entity_type (player, entity_type)");
} catch (Exception ignored) {
//H2
try (Statement statement = connection.createStatement()) {
statement.execute("ALTER TABLE " + tablePrefix + "entity_kills ADD CONSTRAINT IF NOT EXISTS player_uuid_entity_type UNIQUE (player, entity_type)");
+ } catch (Exception ignored2) {
+ //Index already exists in the MySQL or MariaDB
}
}
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorDropsGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorDropsGui.java
index 46da944..9e7491b 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorDropsGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorDropsGui.java
@@ -37,7 +37,7 @@ public class EditorDropsGui extends Gui {
setTitle(spawnerTier.getGuiTitle());
setButton(8, GuiUtils.createButtonItem(XMaterial.ARROW,
- plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ plugin.getLocale().getMessage("general.nametag.back")),
(event) -> this.guiManager.showGUI(event.player, back));
paint();
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorEditGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorEditGui.java
index f39bd31..0140df1 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorEditGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorEditGui.java
@@ -134,7 +134,7 @@ public class EditorEditGui extends Gui {
}, 1L);
setButton(0, GuiUtils.createButtonItem(XMaterial.OAK_DOOR,
- TextUtils.formatText(this.plugin.getLocale().getMessage("general.nametag.back").getMessage())),
+ this.plugin.getLocale().getMessage("general.nametag.back")),
(event) -> this.guiManager.showGUI(event.player, this.back));
if (this.editType != EditType.ITEM && this.editType != EditType.BLOCK) {
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorGeneralGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorGeneralGui.java
index 1489b1f..06b3a5d 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorGeneralGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorGeneralGui.java
@@ -48,7 +48,7 @@ public class EditorGeneralGui extends Gui {
mirrorFill(0, 1, true, true, glass2);
setButton(0, GuiUtils.createButtonItem(XMaterial.OAK_DOOR,
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back")),
(event) -> this.guiManager.showGUI(event.player, this.back));
setButton(22, GuiUtils.createButtonItem(XMaterial.FIRE_CHARGE, TextUtils.formatText("&c&lSpawn On Fire",
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorOverviewGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorOverviewGui.java
index 329e3f8..46aa492 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorOverviewGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorOverviewGui.java
@@ -4,12 +4,12 @@ import com.craftaro.core.gui.AnvilGui;
import com.craftaro.core.gui.Gui;
import com.craftaro.core.gui.GuiUtils;
import com.craftaro.core.input.ChatPrompt;
+import com.craftaro.core.utils.HeadType;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.core.utils.TextUtils;
import com.craftaro.epicspawners.EpicSpawners;
import com.craftaro.epicspawners.api.spawners.spawner.SpawnerData;
import com.craftaro.epicspawners.api.spawners.spawner.SpawnerTier;
-import com.craftaro.epicspawners.api.utils.HeadType;
import com.craftaro.epicspawners.api.utils.HeadUtils;
import com.craftaro.epicspawners.settings.Settings;
import org.bukkit.entity.Player;
@@ -82,7 +82,7 @@ public class EditorOverviewGui extends Gui {
setItem(53, glass3);
setButton(8, GuiUtils.createButtonItem(XMaterial.OAK_DOOR,
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back")),
(event) -> EditorTiersGui.openTiersInReverse(this.plugin, this.player, this.spawnerTier));
ItemStack item = HeadUtils.getTexturedSkull(this.spawnerTier);
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorParticleGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorParticleGui.java
index a97e501..2e424f7 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorParticleGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorParticleGui.java
@@ -59,7 +59,7 @@ public class EditorParticleGui extends Gui {
setItem(44, glass2);
setButton(0, GuiUtils.createButtonItem(XMaterial.OAK_DOOR,
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back")),
(event) -> this.guiManager.showGUI(event.player, this.back));
setButton(20, GuiUtils.createButtonItem(XMaterial.ENDER_PEARL, TextUtils.formatText("&5&lParticle Types",
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorSelectorGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorSelectorGui.java
index 5f5e41e..bff18d9 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorSelectorGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorSelectorGui.java
@@ -51,8 +51,8 @@ public class EditorSelectorGui extends Gui {
this.pages = (int) Math.max(1, Math.ceil(this.entities.size() / ((double) 28)));
// enable page event
- setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").getMessage()));
- setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").getMessage()));
+ setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next")));
+ setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back")));
setOnPage((event) -> showPage());
List data = this.entities.stream()
@@ -61,7 +61,7 @@ public class EditorSelectorGui extends Gui {
|| this.shownType == Type.CUSTOM && s.isCustom()).skip((this.page - 1) * 28).limit(28).collect(Collectors.toList());
setButton(8, GuiUtils.createButtonItem(XMaterial.OAK_DOOR,
- this.plugin.getLocale().getMessage("general.nametag.exit").getMessage()), (event) -> close());
+ this.plugin.getLocale().getMessage("general.nametag.exit")), (event) -> close());
int num = 10;
for (int i = 0; i < 28; i++) {
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTierGeneralGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTierGeneralGui.java
index 7210673..6db78a8 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTierGeneralGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTierGeneralGui.java
@@ -45,7 +45,7 @@ public class EditorTierGeneralGui extends Gui {
mirrorFill(1, 1, false, true, glass3);
setButton(0, GuiUtils.createButtonItem(XMaterial.OAK_DOOR,
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back")),
(event) -> this.guiManager.showGUI(event.player, this.back));
setButton(10, GuiUtils.createButtonItem(XMaterial.SUNFLOWER, TextUtils.formatText("&6&lIn Shop",
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTiersGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTiersGui.java
index 0e60400..ced9ef0 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTiersGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/EditorTiersGui.java
@@ -3,6 +3,7 @@ package com.craftaro.epicspawners.gui;
import com.craftaro.core.gui.Gui;
import com.craftaro.core.gui.GuiUtils;
import com.craftaro.core.input.ChatPrompt;
+import com.craftaro.epicspawners.spawners.spawner.PlacedSpawnerImpl;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.core.utils.TextUtils;
import com.craftaro.epicspawners.EpicSpawners;
@@ -64,8 +65,8 @@ public class EditorTiersGui extends Gui {
this.pages = (int) Math.max(1, Math.ceil(tiersSource.size() / ((double) 28)));
// enable page event
- setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").getMessage()));
- setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").getMessage()));
+ setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next")));
+ setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back")));
setOnPage((event) -> showPage());
List tiers = tiersSource.stream().skip((this.page - 1) * 28).limit(28).collect(Collectors.toList());
@@ -157,7 +158,7 @@ public class EditorTiersGui extends Gui {
}
if (modified) {
this.plugin.updateHologram(spawner);
- this.plugin.getDataManager().save(spawner);
+ this.plugin.getDataManager().save((PlacedSpawnerImpl)spawner);
}
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerBoostGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerBoostGui.java
index 9f6bb2c..e001410 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerBoostGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerBoostGui.java
@@ -1,9 +1,16 @@
package com.craftaro.epicspawners.gui;
+import com.craftaro.core.chat.AdventureUtils;
import com.craftaro.core.database.DataManager;
import com.craftaro.core.gui.CustomizableGui;
import com.craftaro.core.gui.GuiUtils;
import com.craftaro.core.hooks.EconomyManager;
+import com.craftaro.core.utils.SkullItemCreator;
+import com.craftaro.core.utils.TextUtils;
+import com.craftaro.epicspawners.EpicSpawners;
+import com.craftaro.epicspawners.api.spawners.spawner.PlacedSpawner;
+import com.craftaro.epicspawners.boost.types.BoostedSpawnerImpl;
+import com.craftaro.epicspawners.settings.Settings;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.third_party.com.cryptomorin.xseries.XSound;
import com.craftaro.third_party.org.apache.commons.lang3.math.NumberUtils;
@@ -11,12 +18,6 @@ import com.craftaro.third_party.org.apache.commons.text.WordUtils;
import com.craftaro.third_party.org.jooq.Record;
import com.craftaro.third_party.org.jooq.Result;
import com.craftaro.third_party.org.jooq.impl.DSL;
-import com.craftaro.core.utils.ItemUtils;
-import com.craftaro.core.utils.TextUtils;
-import com.craftaro.epicspawners.EpicSpawners;
-import com.craftaro.epicspawners.api.spawners.spawner.PlacedSpawner;
-import com.craftaro.epicspawners.boost.types.BoostedSpawnerImpl;
-import com.craftaro.epicspawners.settings.Settings;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@@ -68,32 +69,34 @@ public class SpawnerBoostGui extends CustomizableGui {
mirrorFill("mirrorfill_4", 1, 0, false, true, glass2);
mirrorFill("mirrorfill_5", 1, 1, false, true, glass3);
- setButton("boost5", 10, GuiUtils.createButtonItem(XMaterial.COAL, this.plugin.getLocale().getMessage("interface.boost.boostfor")
- .processPlaceholder("amount", "5").getMessage(),
+ setButton("boost5", 10, GuiUtils.createButtonItem(XMaterial.COAL,
+ this.plugin.getLocale().getMessage("interface.boost.boostfor")
+ .processPlaceholder("amount", "5"),
this.plugin.getLocale().getMessage("interface.boost.cost")
- .processPlaceholder("cost", getBoostCost(5, this.amount)).getMessage()),
+ .processPlaceholder("cost", getBoostCost(5, this.amount))
+ ),
event -> purchaseBoost(this.player, 5, this.amount));
setButton("boost15", 12, GuiUtils.createButtonItem(XMaterial.IRON_INGOT, this.plugin.getLocale().getMessage("interface.boost.boostfor")
- .processPlaceholder("amount", "15").getMessage(),
+ .processPlaceholder("amount", "15"),
this.plugin.getLocale().getMessage("interface.boost.cost")
- .processPlaceholder("cost", getBoostCost(15, this.amount)).getMessage()),
+ .processPlaceholder("cost", getBoostCost(15, this.amount))),
event -> purchaseBoost(this.player, 15, this.amount));
setButton("boost30", 14, GuiUtils.createButtonItem(XMaterial.DIAMOND, this.plugin.getLocale().getMessage("interface.boost.boostfor")
- .processPlaceholder("amount", "30").getMessage(),
+ .processPlaceholder("amount", "30"),
this.plugin.getLocale().getMessage("interface.boost.cost")
- .processPlaceholder("cost", getBoostCost(30, this.amount)).getMessage()),
+ .processPlaceholder("cost", getBoostCost(30, this.amount))),
event -> purchaseBoost(this.player, 30, this.amount));
setButton("boost60", 16, GuiUtils.createButtonItem(XMaterial.EMERALD, this.plugin.getLocale().getMessage("interface.boost.boostfor")
- .processPlaceholder("amount", "60").getMessage(),
+ .processPlaceholder("amount", "60"),
this.plugin.getLocale().getMessage("interface.boost.cost")
- .processPlaceholder("cost", getBoostCost(60, this.amount)).getMessage()),
+ .processPlaceholder("cost", getBoostCost(60, this.amount))),
event -> purchaseBoost(this.player, 60, this.amount));
setButton("back", 4, GuiUtils.createButtonItem(Settings.EXIT_ICON.getMaterial(),
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back")),
event -> this.spawner.overview(this.player));
if (this.amount != 1)
@@ -104,13 +107,16 @@ public class SpawnerBoostGui extends CustomizableGui {
paint();
});
- if (this.amount < Settings.MAX_PLAYER_BOOST.getInt())
- setButton("plus1", 8, GuiUtils.createButtonItem(ItemUtils.getCustomHead("1b6f1a25b6bc199946472aedb370522584ff6f4e83221e5946bd2e41b5ca13b"),
- TextUtils.formatText("&6&l+1")), event -> {
+ if (this.amount < Settings.MAX_PLAYER_BOOST.getInt()) {
+ ItemStack head = SkullItemCreator.byTextureUrlHash("19bf3292e126a105b54eba713aa1b152d541a1d8938829c56364d178ed22bf");
+ AdventureUtils.formatItemName(head, "&6&l+1");
+
+ setButton("plus1", 8, head, event -> {
this.amount++;
setUp();
paint();
});
+ }
}
private void purchaseBoost(Player player, int time, int amt) {
@@ -194,7 +200,7 @@ public class SpawnerBoostGui extends CustomizableGui {
}
public String getBoostCost(int time, int amount) {
- StringBuilder cost = new StringBuilder("&6&l");
+ StringBuilder cost = new StringBuilder();
String[] parts = Settings.BOOST_COST.getString().split(":");
String type = parts[0];
@@ -203,7 +209,7 @@ public class SpawnerBoostGui extends CustomizableGui {
int co = boostCost(multi, time, amount);
if (type.equals("ECO")) {
- cost.append('$').append(EconomyManager.formatEconomy(co));
+ cost.append(EconomyManager.formatEconomy(co));
} else if (type.equals("XP")) {
cost.append(co).append(" &7Levels");
} else {
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerConvertGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerConvertGui.java
index 5198132..a8e86f7 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerConvertGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerConvertGui.java
@@ -41,7 +41,7 @@ public class SpawnerConvertGui extends CustomizableGui {
this.entities.add(spawnerData);
}
- setTitle(plugin.getLocale().getMessage("interface.convert.title").getMessage());
+ setTitle(plugin.getLocale().getMessage("interface.convert.title").toString());
showPage();
}
@@ -64,8 +64,8 @@ public class SpawnerConvertGui extends CustomizableGui {
this.pages = (int) Math.max(1, Math.ceil(this.entities.size() / ((double) 28)));
// enable page event
- setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").getMessage()));
- setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").getMessage()));
+ setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").toString()));
+ setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").toString()));
setOnPage((event) -> showPage());
// Sort entities by their shopOrder val
@@ -93,8 +93,8 @@ public class SpawnerConvertGui extends CustomizableGui {
ArrayList lore = new ArrayList<>();
double price = spawnerData.getConvertPrice();
- lore.add(this.plugin.getLocale().getMessage("interface.shop.buyprice").processPlaceholder("cost", EconomyManager.formatEconomy(price)).getMessage());
- String loreString = this.plugin.getLocale().getMessage("interface.convert.lore").getMessage();
+ lore.add(this.plugin.getLocale().getMessage("interface.shop.buyprice").processPlaceholder("cost", EconomyManager.formatEconomy(price)).toText());
+ String loreString = this.plugin.getLocale().getMessage("interface.convert.lore").toText();
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
loreString = me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(this.player, loreString.replace(" ", "_")).replace("_", " ");
}
@@ -108,7 +108,7 @@ public class SpawnerConvertGui extends CustomizableGui {
}
setButton("back", 8, GuiUtils.createButtonItem(Settings.EXIT_ICON.getMaterial(),
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back").toString()),
event -> this.guiManager.showGUI(this.player, new SpawnerOverviewGui(this.plugin, this.stack, this.player)));
}
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerOverviewGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerOverviewGui.java
index 563b142..c486cbb 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerOverviewGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerOverviewGui.java
@@ -1,5 +1,6 @@
package com.craftaro.epicspawners.gui;
+import com.craftaro.core.chat.AdventureUtils;
import com.craftaro.core.gui.CustomizableGui;
import com.craftaro.core.hooks.EconomyManager;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
@@ -80,7 +81,7 @@ public class SpawnerOverviewGui extends CustomizableGui {
if (this.spawner.getSpawnerStacks().size() != 1) {
setButton("back", 0, com.craftaro.core.gui.GuiUtils.createButtonItem(Settings.EXIT_ICON.getMaterial(),
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back")),
(event) -> this.guiManager.showGUI(event.player, new SpawnerTiersGui(this.plugin, this.player, this.spawner)));
}
@@ -105,8 +106,7 @@ public class SpawnerOverviewGui extends CustomizableGui {
}
}
- ItemMeta itemmeta = spawnerItem.getItemMeta();
- itemmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.statstitle").getMessage());
+ AdventureUtils.formatItemName(spawnerItem, this.plugin.getLocale().getMessage("interface.spawner.statstitle").getMessage());
ArrayList lore = new ArrayList<>();
List blocks = this.tier.getSpawnBlocksList();
@@ -126,7 +126,7 @@ public class SpawnerOverviewGui extends CustomizableGui {
}
String onlyStr = this.plugin.getLocale().getMessage("interface.spawner.onlyspawnson")
- .processPlaceholder("block", only.toString()).getMessage();
+ .processPlaceholder("block", only.toString()).toString();
lore.addAll(TextUtils.wrap("7", onlyStr));
@@ -136,7 +136,7 @@ public class SpawnerOverviewGui extends CustomizableGui {
if (met) {
met = false;
lore.add("");
- lore.add(this.plugin.getLocale().getMessage("interface.spawner.paused").getMessage());
+ lore.add(this.plugin.getLocale().getMessage("interface.spawner.paused").toString());
}
lore.addAll(TextUtils.wrap("7", " ยป " + condition.getDescription()));
}
@@ -145,37 +145,36 @@ public class SpawnerOverviewGui extends CustomizableGui {
if (this.spawner.getSpawnerStacks().size() == 1) {
lore.add("");
lore.add(this.plugin.getLocale().getMessage("interface.spawner.stats")
- .processPlaceholder("amount", NumberUtils.formatNumber(this.spawner.getSpawnCount())).getMessage());
+ .processPlaceholder("amount", NumberUtils.formatNumber(this.spawner.getSpawnCount())).toString());
}
- itemmeta.setLore(lore);
- spawnerItem.setItemMeta(itemmeta);
+ AdventureUtils.formatItemLore(spawnerItem, lore);
double levelsCost = this.nextTier == null ? -1 : this.nextTier.getUpgradeCost(CostType.LEVELS) * this.spawner.getStackSize();
double economyCost = this.nextTier == null ? -1 : this.nextTier.getUpgradeCost(CostType.ECONOMY) * this.spawner.getStackSize();
ItemStack itemLevels = Settings.XP_ICON.getMaterial().parseItem();
ItemMeta itemmetaXP = itemLevels.getItemMeta();
- itemmetaXP.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.upgradewithlevels").getMessage());
+ itemmetaXP.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.upgradewithlevels").toString());
ArrayList loreXP = new ArrayList<>();
if (this.nextTier != null) {
loreXP.add(this.plugin.getLocale().getMessage("interface.spawner.upgradewithlevelslore")
- .processPlaceholder("cost", Double.toString(levelsCost)).getMessage());
+ .processPlaceholder("cost", Double.toString(levelsCost)).toString());
} else {
- loreXP.add(this.plugin.getLocale().getMessage("event.upgrade.maxed").getMessage());
+ loreXP.add(this.plugin.getLocale().getMessage("event.upgrade.maxed").toString());
}
itemmetaXP.setLore(loreXP);
itemLevels.setItemMeta(itemmetaXP);
ItemStack itemECO = Settings.ECO_ICON.getMaterial().parseItem();
ItemMeta itemmetaECO = itemECO.getItemMeta();
- itemmetaECO.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.upgradewitheconomy").getMessage());
+ itemmetaECO.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.upgradewitheconomy").toString());
ArrayList loreECO = new ArrayList<>();
if (this.nextTier != null) {
loreECO.add(this.plugin.getLocale().getMessage("interface.spawner.upgradewitheconomylore")
- .processPlaceholder("cost", EconomyManager.formatEconomy(economyCost)).getMessage());
+ .processPlaceholder("cost", EconomyManager.formatEconomy(economyCost)).toString());
} else {
- loreECO.add(this.plugin.getLocale().getMessage("event.upgrade.maxed").getMessage());
+ loreECO.add(this.plugin.getLocale().getMessage("event.upgrade.maxed").toString());
}
itemmetaECO.setLore(loreECO);
itemECO.setItemMeta(itemmetaECO);
@@ -184,7 +183,7 @@ public class SpawnerOverviewGui extends CustomizableGui {
if (this.player.hasPermission("epicspawners.convert") && this.data.isConvertible()) {
setButton("convert", 4, GuiUtils.createButtonItem(Settings.CONVERT_ICON.getMaterial(),
- this.plugin.getLocale().getMessage("interface.spawner.convert").getMessage()),
+ this.plugin.getLocale().getMessage("interface.spawner.convert").toString()),
(event) -> this.guiManager.showGUI(this.player, new SpawnerConvertGui(this.plugin, this.stack, this.player)));
}
@@ -195,9 +194,9 @@ public class SpawnerOverviewGui extends CustomizableGui {
if (Settings.DISPLAY_HELP_BUTTON.getBoolean()) {
ItemStack itemO = new ItemStack(Material.PAPER, 1);
ItemMeta itemmetaO = itemO.getItemMeta();
- itemmetaO.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.tutorialtitle").getMessage());
+ itemmetaO.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.tutorialtitle").toString());
ArrayList loreO = new ArrayList<>();
- String text = this.plugin.getLocale().getMessage("interface.spawner.tutorial").getMessage();
+ String text = this.plugin.getLocale().getMessage("interface.spawner.tutorial").toString();
int start = (14 * this.infoPage) - 14;
int li = 1; // 12
@@ -232,9 +231,9 @@ public class SpawnerOverviewGui extends CustomizableGui {
}
if (max) {
- loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtonext").getMessage());
+ loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtonext").toString());
} else {
- loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtoback").getMessage());
+ loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtoback").toString());
}
itemmetaO.setLore(loreO);
@@ -272,9 +271,9 @@ public class SpawnerOverviewGui extends CustomizableGui {
private void addInfo() {
ItemStack itemO = new ItemStack(Material.PAPER, 1);
ItemMeta itemmetaO = itemO.getItemMeta();
- itemmetaO.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.tutorialtitle").getMessage());
+ itemmetaO.setDisplayName(this.plugin.getLocale().getMessage("interface.spawner.tutorialtitle").toString());
List loreO = new ArrayList<>();
- String text = this.plugin.getLocale().getMessage("interface.spawner.tutorial").getMessage();
+ String text = this.plugin.getLocale().getMessage("interface.spawner.tutorial").toString();
int start = (14 * this.infoPage) - 14;
int li = 1; // 12
@@ -309,9 +308,9 @@ public class SpawnerOverviewGui extends CustomizableGui {
}
if (max) {
- loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtonext").getMessage());
+ loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtonext").toString());
} else {
- loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtoback").getMessage());
+ loreO.add(this.plugin.getLocale().getMessage("interface.spawner.howtoback").toString());
}
itemmetaO.setLore(loreO);
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopGui.java
index 37430f7..a8f80a0 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopGui.java
@@ -39,7 +39,7 @@ public class SpawnerShopGui extends CustomizableGui {
this.entities.add(spawnerData);
}
- setTitle(plugin.getLocale().getMessage("interface.shop.title").getMessage());
+ setTitle(plugin.getLocale().getMessage("interface.shop.title").toString());
showPage();
}
@@ -62,8 +62,8 @@ public class SpawnerShopGui extends CustomizableGui {
this.pages = (int) Math.max(1, Math.ceil(this.entities.size() / ((double) 28)));
// enable page event
- setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").getMessage()));
- setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").getMessage()));
+ setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").toString()));
+ setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").toString()));
setOnPage((event) -> showPage());
// Sort entities by their shopOrder val
@@ -91,8 +91,8 @@ public class SpawnerShopGui extends CustomizableGui {
ArrayList lore = new ArrayList<>();
double price = spawnerData.getShopPrice();
lore.add(TextUtils.formatText(this.plugin.getLocale().getMessage("interface.shop.buyprice")
- .processPlaceholder("cost", EconomyManager.formatEconomy(price)).getMessage()));
- String loreString = this.plugin.getLocale().getMessage("interface.shop.lore").getMessage();
+ .processPlaceholder("cost", EconomyManager.formatEconomy(price)).toString()));
+ String loreString = this.plugin.getLocale().getMessage("interface.shop.lore").toString();
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
loreString = me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(this.player, loreString.replace(" ", "_")).replace("_", " ");
}
@@ -106,7 +106,7 @@ public class SpawnerShopGui extends CustomizableGui {
}
setButton("exit", 8, GuiUtils.createButtonItem(Settings.EXIT_ICON.getMaterial(),
- this.plugin.getLocale().getMessage("general.nametag.exit").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.exit").toString()),
event -> this.player.closeInventory());
}
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopItemGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopItemGui.java
index 587fc5c..f1a9e89 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopItemGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerShopItemGui.java
@@ -35,7 +35,7 @@ public class SpawnerShopItemGui extends CustomizableGui {
setTitle(plugin.getLocale().getMessage("interface.shop.spawnershoptitle")
.processPlaceholder("type", spawnerTier.getCompiledDisplayName())
- .getMessage());
+ .toString());
paint();
}
@@ -72,14 +72,14 @@ public class SpawnerShopItemGui extends CustomizableGui {
itemmeta.setDisplayName(name);
ArrayList lore = new ArrayList<>();
lore.add(this.plugin.getLocale().getMessage("interface.shop.buyprice")
- .processPlaceholder("cost", EconomyManager.formatEconomy(price)).getMessage());
+ .processPlaceholder("cost", EconomyManager.formatEconomy(price)).toString());
itemmeta.setLore(lore);
item.setItemMeta(itemmeta);
setItem("spawner", 22, item);
ItemStack plus = XMaterial.LIME_STAINED_GLASS_PANE.parseItem();
ItemMeta plusmeta = plus.getItemMeta();
- plusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.add1").getMessage());
+ plusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.add1").toString());
plus.setItemMeta(plusmeta);
if (item.getAmount() + 1 <= 64) {
setButton("add1", 15, plus, event -> {
@@ -90,7 +90,7 @@ public class SpawnerShopItemGui extends CustomizableGui {
plus = XMaterial.LIME_STAINED_GLASS_PANE.parseItem();
plus.setAmount(10);
- plusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.add10").getMessage());
+ plusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.add10").toString());
plus.setItemMeta(plusmeta);
if (item.getAmount() + 10 <= 64) {
setButton("add10", 33, plus, event -> {
@@ -101,7 +101,7 @@ public class SpawnerShopItemGui extends CustomizableGui {
plus = XMaterial.LIME_STAINED_GLASS_PANE.parseItem();
plus.setAmount(64);
- plusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.set64").getMessage());
+ plusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.set64").toString());
plus.setItemMeta(plusmeta);
if (item.getAmount() != 64) {
setButton("set64", 25, plus, event -> {
@@ -113,7 +113,7 @@ public class SpawnerShopItemGui extends CustomizableGui {
ItemStack minus = XMaterial.RED_STAINED_GLASS_PANE.parseItem();
minus.setAmount(1);
ItemMeta minusmeta = minus.getItemMeta();
- minusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.remove1").getMessage());
+ minusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.remove1").toString());
minus.setItemMeta(minusmeta);
if (item.getAmount() != 1) {
setButton("remove1", 11, minus, event -> {
@@ -124,7 +124,7 @@ public class SpawnerShopItemGui extends CustomizableGui {
minus = XMaterial.RED_STAINED_GLASS_PANE.parseItem();
minus.setAmount(10);
- minusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.remove10").getMessage());
+ minusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.remove10").toString());
minus.setItemMeta(minusmeta);
if (item.getAmount() - 10 >= 0) {
setButton("remove10", 29, minus, event -> {
@@ -135,7 +135,7 @@ public class SpawnerShopItemGui extends CustomizableGui {
minus = XMaterial.RED_STAINED_GLASS_PANE.parseItem();
minus.setAmount(1);
- minusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.set1").getMessage());
+ minusmeta.setDisplayName(this.plugin.getLocale().getMessage("interface.shop.set1").toString());
minus.setItemMeta(minusmeta);
if (item.getAmount() != 1) {
setButton("set1", 19, minus, event -> {
@@ -145,14 +145,14 @@ public class SpawnerShopItemGui extends CustomizableGui {
}
setButton("exit", 8, GuiUtils.createButtonItem(Settings.EXIT_ICON.getMaterial(),
- this.plugin.getLocale().getMessage("general.nametag.exit").getMessage()), event -> event.player.closeInventory());
+ this.plugin.getLocale().getMessage("general.nametag.exit").toString()), event -> event.player.closeInventory());
setButton("back", 0, GuiUtils.createButtonItem(XMaterial.ARROW,
- this.plugin.getLocale().getMessage("general.nametag.back").getMessage()),
+ this.plugin.getLocale().getMessage("general.nametag.back").toString()),
event -> this.guiManager.showGUI(event.player, this.back));
setButton("buy", 40, GuiUtils.createButtonItem(Settings.BUY_ICON.getMaterial(),
- this.plugin.getLocale().getMessage("general.nametag.confirm").getMessage()), event -> {
+ this.plugin.getLocale().getMessage("general.nametag.confirm").toString()), event -> {
Player player = event.player;
confirm(player, this.amount);
player.closeInventory();
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerStatsGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerStatsGui.java
index c334fba..6b7e9f8 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerStatsGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerStatsGui.java
@@ -37,7 +37,7 @@ public class SpawnerStatsGui extends CustomizableGui {
}
}
- setTitle(plugin.getLocale().getMessage("interface.spawnerstats.title").getMessage());
+ setTitle(plugin.getLocale().getMessage("interface.spawnerstats.title").toString());
showPage();
}
@@ -60,12 +60,12 @@ public class SpawnerStatsGui extends CustomizableGui {
this.pages = (int) Math.max(1, Math.ceil(this.entities.size() / ((double) 28)));
// enable page event
- setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").getMessage()));
- setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").getMessage()));
+ setNextPage(5, 7, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.next").toString()));
+ setPrevPage(5, 1, GuiUtils.createButtonItem(XMaterial.ARROW, this.plugin.getLocale().getMessage("general.nametag.back").toString()));
setOnPage((event) -> showPage());
setButton("exit", 8, GuiUtils.createButtonItem(XMaterial.valueOf(this.plugin.getConfig().getString("Interfaces.Exit Icon")),
- this.plugin.getLocale().getMessage("general.nametag.exit").getMessage()), (event) -> this.player.closeInventory());
+ this.plugin.getLocale().getMessage("general.nametag.exit").toString()), (event) -> this.player.closeInventory());
Set> entries = this.entities.entrySet().stream().skip((this.page - 1) * 28).limit(28)
.sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())).collect(Collectors.toCollection(LinkedHashSet::new));
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerTiersGui.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerTiersGui.java
index 49ee2d6..38f91ba 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerTiersGui.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/gui/SpawnerTiersGui.java
@@ -32,7 +32,7 @@ public class SpawnerTiersGui extends CustomizableGui {
this.player = player;
this.spawner = spawner;
- setTitle(plugin.getLocale().getMessage("interface.tiers.title").getMessage());
+ setTitle(plugin.getLocale().getMessage("interface.tiers.title").toString());
setOnClose(event -> {
Bukkit.getScheduler().cancelTask(this.task);
plugin.getSpawnerManager().saveSpawnerDataToFile();
@@ -87,9 +87,9 @@ public class SpawnerTiersGui extends CustomizableGui {
GuiUtils.applyBoosted(5, this, this.plugin, this.player, this.spawner);
- setItem("stats", 3, GuiUtils.createButtonItem(XMaterial.PAPER, this.plugin.getLocale().getMessage("interface.spawner.statstitle").getMessage(),
+ setItem("stats", 3, GuiUtils.createButtonItem(XMaterial.PAPER, this.plugin.getLocale().getMessage("interface.spawner.statstitle").toString(),
this.plugin.getLocale().getMessage("interface.spawner.stats")
- .processPlaceholder("amount", NumberUtils.formatNumber(this.spawner.getSpawnCount())).getMessage()));
+ .processPlaceholder("amount", NumberUtils.formatNumber(this.spawner.getSpawnCount())).toString()));
}
private void runTask() {
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/BlockListeners.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/BlockListeners.java
index 8b3aa2f..9eda3d8 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/BlockListeners.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/BlockListeners.java
@@ -176,7 +176,7 @@ public class BlockListeners implements Listener {
if (maxSpawners != -1 && amountPlaced > maxSpawners) {
player.sendMessage(this.plugin.getLocale().getMessage("event.spawner.toomany")
- .processPlaceholder("amount", maxSpawners).getMessage());
+ .processPlaceholder("amount", maxSpawners).toString());
event.setCancelled(true);
return;
}
@@ -208,7 +208,7 @@ public class BlockListeners implements Listener {
try {
creatureSpawner.setSpawnedType(spawnerTier.getEntities().get(0));
} catch (Exception ex) {
- creatureSpawner.setSpawnedType(ServerVersion.isServerVersionAtLeast(ServerVersion.V1_9) ? EntityType.EGG : EntityType.DROPPED_ITEM);
+ creatureSpawner.setSpawnedType(ServerVersion.isServerVersionBelow(ServerVersion.V1_9) ? EntityType.EGG : EntityType.DROPPED_ITEM);
}
spawner.updateDelay();
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/EntityListeners.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/EntityListeners.java
index 058e42b..b2abbf2 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/EntityListeners.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/EntityListeners.java
@@ -173,11 +173,11 @@ public class EntityListeners implements Listener {
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_9)) {
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(this.plugin.getLocale().getMessage("event.goal.alert")
.processPlaceholder("goal", goal - amt)
- .processPlaceholder("type", spawnerTier.getDisplayName()).getMessage()));
+ .processPlaceholder("type", spawnerTier.getDisplayName()).toString()));
} else {
player.sendTitle("", this.plugin.getLocale().getMessage("event.goal.alert")
.processPlaceholder("goal", goal - amt)
- .processPlaceholder("type", spawnerTier.getDisplayName()).getMessage());
+ .processPlaceholder("type", spawnerTier.getDisplayName()).toString());
}
}
@@ -200,7 +200,7 @@ public class EntityListeners implements Listener {
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_9)) {
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(this.plugin.getLocale().getMessage("event.goal.reached")
- .processPlaceholder("type", spawnerTier.getIdentifyingName()).getMessage()));
+ .processPlaceholder("type", spawnerTier.getIdentifyingName()).toString()));
}
}
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/InteractListeners.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/InteractListeners.java
index 539ea64..b7a8c61 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/InteractListeners.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/InteractListeners.java
@@ -140,7 +140,7 @@ public class InteractListeners implements Listener {
}
if (Settings.USE_PROTECTION_PLUGINS.getBoolean() && !ProtectionManager.canInteract(player, block.getLocation())) {
- player.sendMessage(this.plugin.getLocale().getMessage("event.general.protected").getPrefixedMessage());
+ this.plugin.getLocale().getMessage("event.general.protected").sendPrefixedMessage(player);
return;
}
@@ -216,7 +216,7 @@ public class InteractListeners implements Listener {
if (!player.isSneaking()) {
if (!spawner.getPlacedBy().getUniqueId().equals(event.getPlayer().getUniqueId())) {
- player.sendMessage(this.plugin.getLocale().getMessage("event.general.protected").getPrefixedMessage());
+ this.plugin.getLocale().getMessage("event.general.protected").sendPrefixedMessage(player);
return;
}
SpawnerTier spawnerTier = this.plugin.getSpawnerManager().getSpawnerTier(item);
@@ -225,7 +225,7 @@ public class InteractListeners implements Listener {
}
if (player.hasPermission("epicspawners.stack." + spawnerTier.getIdentifyingName()) || player.hasPermission("epicspawners.stack.*")) {
if (Settings.USE_PROTECTION_PLUGINS.getBoolean() && !ProtectionManager.canInteract(player, block.getLocation())) {
- player.sendMessage(this.plugin.getLocale().getMessage("event.general.protected").getPrefixedMessage());
+ this.plugin.getLocale().getMessage("event.general.protected").sendPrefixedMessage(player);
return;
}
@@ -248,7 +248,7 @@ public class InteractListeners implements Listener {
}
if (Settings.USE_PROTECTION_PLUGINS.getBoolean() && !ProtectionManager.canInteract(player, block.getLocation())) {
- player.sendMessage(this.plugin.getLocale().getMessage("event.general.protected").getPrefixedMessage());
+ this.plugin.getLocale().getMessage("event.general.protected").sendPrefixedMessage(player);
return;
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/WorldListeners.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/WorldListeners.java
index 1fc9ca9..859eb7b 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/WorldListeners.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/listeners/WorldListeners.java
@@ -6,6 +6,9 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.world.WorldLoadEvent;
+import java.util.ArrayList;
+import java.util.List;
+
public class WorldListeners implements Listener {
private final EpicSpawners plugin;
@@ -16,10 +19,12 @@ public class WorldListeners implements Listener {
@EventHandler
public void onWorldLoad(WorldLoadEvent e) {
// Unload previous spawners belonging to this world.
+ List remove = new ArrayList<>();
for (PlacedSpawner ps : this.plugin.getSpawnerManager().getSpawners()) {
- if (e.getWorld().getName().equals(ps.getWorld().getName())) {
- this.plugin.getSpawnerManager().removeSpawnerFromWorld(ps);
+ if (ps.getWorld() == null || e.getWorld().getName().equals(ps.getWorld().getName())) {
+ remove.add(ps);
}
}
+ this.plugin.getSpawnerManager().removeSpawnersFromWorld(remove);
}
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionBiome.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionBiome.java
index e185316..ca69c97 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionBiome.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionBiome.java
@@ -30,9 +30,9 @@ public class SpawnConditionBiome implements SpawnCondition {
public String getDescription() {
return (this.biomes.size() == 1)
? EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionBiome1")
- .processPlaceholder("biome", getFriendlyBiomeName()).getMessage()
+ .processPlaceholder("biome", getFriendlyBiomeName()).toString()
: EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionBiome2")
- .getMessage();
+ .toString();
}
@Override
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionHeight.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionHeight.java
index 616c1ce..d6976dc 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionHeight.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionHeight.java
@@ -22,7 +22,7 @@ public class SpawnConditionHeight implements SpawnCondition {
return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionHeight")
.processPlaceholder("min", this.min)
.processPlaceholder("max", this.max)
- .getMessage();
+ .toString();
}
@Override
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionLightDark.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionLightDark.java
index 7dfd00e..db22730 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionLightDark.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionLightDark.java
@@ -21,9 +21,9 @@ public class SpawnConditionLightDark implements SpawnCondition {
public String getDescription() {
switch (this.lightDark) {
case LIGHT:
- return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionLight").getMessage();
+ return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionLight").toString();
case DARK:
- return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionDark").getMessage();
+ return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionDark").toString();
default:
return null;
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyEntities.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyEntities.java
index 5b2115f..a83f152 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyEntities.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyEntities.java
@@ -29,8 +29,7 @@ public class SpawnConditionNearbyEntities implements SpawnCondition {
@Override
public String getDescription() {
- return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionNearbyEntities")
- .processPlaceholder("max", this.max).getMessage();
+ return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionNearbyEntities").processPlaceholder("max", this.max).toString();
}
@Override
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyPlayers.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyPlayers.java
index 7da4ce4..8cee5e4 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyPlayers.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/condition/SpawnConditionNearbyPlayers.java
@@ -31,7 +31,7 @@ public class SpawnConditionNearbyPlayers implements SpawnCondition {
return EpicSpawners.getInstance().getLocale().getMessage("interface.spawner.conditionNearbyPlayers")
.processPlaceholder("amount", this.amount)
.processPlaceholder("distance", this.distance)
- .getMessage();
+ .toString();
}
@Override
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/PlacedSpawnerImpl.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/PlacedSpawnerImpl.java
index 740ccbe..efc4739 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/PlacedSpawnerImpl.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/PlacedSpawnerImpl.java
@@ -49,7 +49,7 @@ import java.util.Objects;
import java.util.Set;
import java.util.UUID;
-public class PlacedSpawnerImpl implements PlacedSpawner {
+public class PlacedSpawnerImpl implements PlacedSpawner, Data {
// This is the unique identifier for this hologram.
// It is reset on every plugin load.
// Used for holograms.
@@ -497,24 +497,25 @@ public class PlacedSpawnerImpl implements PlacedSpawner {
if (boost instanceof BoostedPlayerImpl && this.placedBy == null) {
continue;
}
- BoostedSpawnerImpl boostedSpawner = (BoostedSpawnerImpl) boost;
- if (System.currentTimeMillis() >= boost.getEndTime()) {
- instance.getBoostManager().removeBoost(boost);
- instance.getDataManager().getAsyncPool().execute(() -> {
- instance.getDataManager().getDatabaseConnector().connectDSL(dslContext -> {
- dslContext.deleteFrom(DSL.table(instance.getDataManager().getTablePrefix() + "boosted_spawners"))
- .where(DSL.field("world").eq(boostedSpawner.getLocation().getWorld().getName()))
- .and(DSL.field("x").eq(boostedSpawner.getLocation().getBlockX()))
- .and(DSL.field("y").eq(boostedSpawner.getLocation().getBlockY()))
- .and(DSL.field("z").eq(boostedSpawner.getLocation().getBlockZ()))
- .execute();
- });
- });
- continue;
- }
+ Boosted boosted = boost;
if (boost instanceof BoostedSpawnerImpl) {
- if (!this.location.equals(((BoostedSpawnerImpl) boost).getLocation())) {
+ BoostedSpawnerImpl boostedSpawner = (BoostedSpawnerImpl) boost;
+ if (System.currentTimeMillis() >= boost.getEndTime()) {
+ instance.getBoostManager().removeBoost(boost);
+ instance.getDataManager().getAsyncPool().execute(() -> {
+ instance.getDataManager().getDatabaseConnector().connectDSL(dslContext -> {
+ dslContext.deleteFrom(DSL.table(instance.getDataManager().getTablePrefix() + "boosted_spawners"))
+ .where(DSL.field("world").eq(boostedSpawner.getLocation().getWorld().getName()))
+ .and(DSL.field("x").eq(boostedSpawner.getLocation().getBlockX()))
+ .and(DSL.field("y").eq(boostedSpawner.getLocation().getBlockY()))
+ .and(DSL.field("z").eq(boostedSpawner.getLocation().getBlockZ()))
+ .execute();
+ });
+ });
+ continue;
+ }
+ if (!this.location.equals(boostedSpawner.getLocation())) {
continue;
}
} else if (boost instanceof BoostedPlayerImpl) {
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerDataImpl.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerDataImpl.java
index f3da37b..ce5c182 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerDataImpl.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerDataImpl.java
@@ -1,5 +1,6 @@
package com.craftaro.epicspawners.spawners.spawner;
+import com.craftaro.core.compatibility.ServerVersion;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.epicspawners.api.spawners.spawner.SpawnerData;
import com.craftaro.epicspawners.api.spawners.spawner.SpawnerTier;
@@ -238,7 +239,11 @@ public class SpawnerDataImpl implements SpawnerData {
public void addDefaultTier() {
SpawnerTier tier = new SpawnerTierImpl(this);
tier.addCondition(new SpawnConditionNearbyPlayers(16, 1));
- tier.addCondition(new SpawnConditionHeight(0, 265));
+ if (ServerVersion.isServerVersionBelow(ServerVersion.V1_17)) {
+ tier.addCondition(new SpawnConditionHeight(0, 265));
+ } else {
+ tier.addCondition(new SpawnConditionHeight(-64, 320));
+ }
tier.addCondition(new SpawnConditionBiome(Biome.values()));
tier.addCondition(new SpawnConditionLightDark(SpawnConditionLightDark.Type.BOTH));
tier.addCondition(new SpawnConditionStorm(false));
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerManagerImpl.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerManagerImpl.java
index 19a76a5..d565553 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerManagerImpl.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerManagerImpl.java
@@ -1,6 +1,7 @@
package com.craftaro.epicspawners.spawners.spawner;
import com.craftaro.core.compatibility.CompatibleBiome;
+import com.craftaro.core.compatibility.ServerVersion;
import com.craftaro.core.configuration.Config;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem;
@@ -173,6 +174,11 @@ public class SpawnerManagerImpl implements SpawnerManager {
return this.spawnersInWorld.remove(spawner.getLocation());
}
+ @Override
+ public void removeSpawnersFromWorld(List spawners) {
+ spawners.forEach(spawner -> this.spawnersInWorld.remove(spawner.getLocation()));
+ }
+
@Override
public Collection getSpawners() {
return Collections.unmodifiableCollection(this.spawnersInWorld.values());
@@ -184,7 +190,7 @@ public class SpawnerManagerImpl implements SpawnerManager {
}
@Override
- public void addSpawners(List spawners) {
+ public void addSpawners(List spawners) {
spawners.forEach(spawner -> this.spawnersInWorld.put(spawner.getLocation(), (PlacedSpawnerImpl) spawner));
}
@@ -262,7 +268,11 @@ public class SpawnerManagerImpl implements SpawnerManager {
} else {
tier.addCondition(new SpawnConditionBiome(Biome.values()));
// TODO: These values should probably be *world* dependent as even in older versions, the max build height could be higher (vanilla spawners probably work up there too?)
- tier.addCondition(new SpawnConditionHeight(-64, 320));
+ if (ServerVersion.isServerVersionBelow(ServerVersion.V1_17)) {
+ tier.addCondition(new SpawnConditionHeight(0, 265));
+ } else {
+ tier.addCondition(new SpawnConditionHeight(-64, 320));
+ }
}
if (Monster.class.isAssignableFrom(type.getEntityClass())) {
tier.addCondition(new SpawnConditionLightDark(SpawnConditionLightDark.Type.DARK));
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerTierImpl.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerTierImpl.java
index 620fe92..845ff68 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerTierImpl.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/SpawnerTierImpl.java
@@ -229,7 +229,7 @@ public class SpawnerTierImpl implements SpawnerTier {
String displayName = getDisplayName();
nameFormat = nameFormat.replace("{TYPE}", omni ?
- EpicSpawners.getInstance().getLocale().getMessage("general.nametag.omni").getMessage() : displayName);
+ EpicSpawners.getInstance().getLocale().getMessage("general.nametag.omni").toText() : displayName);
if (stackSize > 1 || Settings.DISPLAY_TIER_ONE.getBoolean() && stackSize >= 0) {
nameFormat = nameFormat.replace("{AMT}", Integer.toString(stackSize))
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionBlock.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionBlock.java
index 19c46f3..a6803e4 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionBlock.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionBlock.java
@@ -1,5 +1,6 @@
package com.craftaro.epicspawners.spawners.spawner.option;
+import com.craftaro.epicspawners.spawners.spawner.PlacedSpawnerImpl;
import com.craftaro.third_party.com.cryptomorin.xseries.XBlock;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.epicspawners.EpicSpawners;
@@ -68,7 +69,7 @@ public class SpawnOptionBlock implements SpawnOption {
}
}
- EpicSpawners.getInstance().getDataManager().save(spawner);
+ EpicSpawners.getInstance().getDataManager().save((PlacedSpawnerImpl)spawner);
}
@Override
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionCommand.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionCommand.java
index 935252a..9ca1b2f 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionCommand.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionCommand.java
@@ -1,5 +1,6 @@
package com.craftaro.epicspawners.spawners.spawner.option;
+import com.craftaro.epicspawners.spawners.spawner.PlacedSpawnerImpl;
import com.craftaro.third_party.org.apache.commons.lang3.math.NumberUtils;
import com.craftaro.epicspawners.EpicSpawners;
import com.craftaro.epicspawners.api.boosts.types.Boosted;
@@ -91,7 +92,7 @@ public class SpawnOptionCommand implements SpawnOption {
}
}
- EpicSpawners.getInstance().getDataManager().save(spawner);
+ EpicSpawners.getInstance().getDataManager().save((PlacedSpawnerImpl)spawner);
}
@Override
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionEntity.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionEntity.java
index 0f9290f..2c6d0e8 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionEntity.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionEntity.java
@@ -1,7 +1,7 @@
package com.craftaro.epicspawners.spawners.spawner.option;
import com.craftaro.core.math.MathUtils;
-import com.craftaro.core.utils.EntityUtils;
+import com.craftaro.core.nms.Nms;
import com.craftaro.epicspawners.EpicSpawners;
import com.craftaro.epicspawners.api.boosts.types.Boosted;
import com.craftaro.epicspawners.api.events.SpawnerSpawnEvent;
@@ -14,6 +14,7 @@ import com.craftaro.epicspawners.api.spawners.spawner.option.SpawnOption;
import com.craftaro.epicspawners.api.spawners.spawner.option.SpawnOptionType;
import com.craftaro.epicspawners.settings.Settings;
import com.craftaro.epicspawners.spawners.condition.SpawnConditionNearbyEntities;
+import com.craftaro.epicspawners.spawners.spawner.PlacedSpawnerImpl;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.EntityType;
@@ -62,7 +63,7 @@ public class SpawnOptionEntity implements SpawnOption {
equation = equation.replace("{RAND}", Integer.toString(randomAmt));
equation = equation.replace("{STACK_SIZE}", Integer.toString(stack.getStackSize()));
- spawnCount += MathUtils.eval(equation, "EpicSpawners (Mobs Spawned Per Single Spawn) Equation");
+ spawnCount += (int) MathUtils.eval(equation, "EpicSpawners (Mobs Spawned Per Single Spawn) Equation");
}
// Get the max entities allowed around a spawner.
@@ -107,7 +108,7 @@ public class SpawnOptionEntity implements SpawnOption {
}
if (Settings.NO_AI.getBoolean()) {
- EntityUtils.setUnaware(entity);
+ Nms.getImplementations().getEntity().setMobAware(entity,false);
}
this.plugin.getSpawnManager().addUnnaturalSpawn(entity.getUniqueId());
@@ -115,7 +116,7 @@ public class SpawnOptionEntity implements SpawnOption {
}, this.types);
spawner.setSpawnCount(spawner.getSpawnCount() + amountSpawned);
- EpicSpawners.getInstance().getDataManager().save(spawner);
+ EpicSpawners.getInstance().getDataManager().save((PlacedSpawnerImpl)spawner);
}
@Override
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionItem.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionItem.java
index 4966df3..c8df3be 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionItem.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/spawners/spawner/option/SpawnOptionItem.java
@@ -1,6 +1,7 @@
package com.craftaro.epicspawners.spawners.spawner.option;
import com.craftaro.core.compatibility.ServerVersion;
+import com.craftaro.epicspawners.spawners.spawner.PlacedSpawnerImpl;
import com.craftaro.third_party.com.cryptomorin.xseries.XSound;
import com.craftaro.epicspawners.EpicSpawners;
import com.craftaro.epicspawners.api.boosts.types.Boosted;
@@ -66,7 +67,7 @@ public class SpawnOptionItem implements SpawnOption {
}
}
- EpicSpawners.getInstance().getDataManager().save(spawner);
+ EpicSpawners.getInstance().getDataManager().save((PlacedSpawnerImpl)spawner);
}
public SpawnOptionType getType() {
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/tasks/AppearanceTask.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/tasks/AppearanceTask.java
index 7dff7f9..5d588f2 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/tasks/AppearanceTask.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/tasks/AppearanceTask.java
@@ -120,7 +120,7 @@ public class AppearanceTask extends BukkitRunnable {
EntityType next = spawnerTier.getEntities().get(0);
spawner.getCreatureSpawner().setSpawnedType(next);
} catch (Exception failure) {
- spawner.getCreatureSpawner().setSpawnedType(ServerVersion.isServerVersionAtLeast(ServerVersion.V1_9) ? EntityType.EGG : EntityType.DROPPED_ITEM);
+ spawner.getCreatureSpawner().setSpawnedType(ServerVersion.isServerVersionBelow(ServerVersion.V1_9) ? EntityType.EGG : EntityType.DROPPED_ITEM);
if (itemStack.getType() == Material.AIR) {
return;
}
diff --git a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/utils/GuiUtils.java b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/utils/GuiUtils.java
index 432b494..eb4a86b 100644
--- a/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/utils/GuiUtils.java
+++ b/EpicSpawners-Plugin/src/main/java/com/craftaro/epicspawners/utils/GuiUtils.java
@@ -35,9 +35,9 @@ public class GuiUtils extends com.craftaro.core.gui.GuiUtils {
String[] parts = plugin.getLocale().getMessage("interface.spawner.boostedstats")
.processPlaceholder("amount", Integer.toString(boostTotal))
.processPlaceholder("time", boostEnd == Long.MAX_VALUE
- ? plugin.getLocale().getMessage("interface.spawner.boostednever")
+ ? plugin.getLocale().getMessage("interface.spawner.boostednever").toString()
: TimeUtils.makeReadable(boostEnd - System.currentTimeMillis()))
- .getMessage().split("\\|");
+ .toString().split("\\|");
lore.addAll(TextUtils.formatText(parts));
@@ -45,8 +45,8 @@ public class GuiUtils extends com.craftaro.core.gui.GuiUtils {
} else {
gui.setButton("boost", slot, createButtonItem(Settings.BOOST_ICON.getMaterial(),
spawner.getBoosts().stream().mapToInt(Boosted::getAmountBoosted).sum() == 0
- ? plugin.getLocale().getMessage("interface.spawner.boost").getMessage()
- : plugin.getLocale().getMessage("interface.spawner.cantboost").getMessage(), lore), event ->
+ ? plugin.getLocale().getMessage("interface.spawner.boost").toString()
+ : plugin.getLocale().getMessage("interface.spawner.cantboost").toString(), lore), event ->
plugin.getGuiManager().showGUI(player, new SpawnerBoostGui(plugin, spawner, player)));
}
}
diff --git a/pom.xml b/pom.xml
index 5ae5917..8c90689 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
com.craftaro
EpicSpawners-Parent
pom
- 8.2.2
+ 8.5.0
EpicSpawners-API
@@ -19,7 +19,7 @@
https://craftaro.com/marketplace/product/13
- 3.0.0-SNAPSHOT
+ 3.5.0-SNAPSHOT
8
1.8