biomes = new HashSet<>();
for (JsonElement element : array) {
if (element.isJsonPrimitive() && element.getAsJsonPrimitive().isString()) {
String value = element.getAsString();
- if (PatternUtils.MINECRAFT_NAMESPACEDKEY.matcher(value).matches()) {
- String formattedValue = CommonPatterns.COLON.split(value)[1].toUpperCase(Locale.ROOT);
+ NamespacedKey biomeKey = NamespacedKey.fromString(value);
- try {
- Biome biome = Biome.valueOf(formattedValue);
+ if (biomeKey != null) {
+ Biome biome = Registry.BIOME.get(biomeKey);
+
+ if (biome != null) {
biomes.add(biome);
- } catch (IllegalArgumentException x) {
+ } else {
// Lenient Parsers will ignore unknown biomes
if (isLenient) {
continue;
@@ -180,7 +179,7 @@ private void readEntry(@Nonnull JsonObject entry) throws BiomeMapException {
throw new BiomeMapException(key, "The Biome '" + value + "' does not exist!");
}
} else {
- // The regular expression did not match
+ // The NamespacedKey could not be parsed
throw new BiomeMapException(key, "Could not recognize value '" + value + "'");
}
} else {
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEnchantment.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEnchantment.java
index d5063ce413..135f9ace12 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEnchantment.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEnchantment.java
@@ -17,6 +17,9 @@ public class VersionedEnchantment {
public static final Enchantment LUCK_OF_THE_SEA;
public static final Enchantment AQUA_AFFINITY;
public static final Enchantment FORTUNE;
+ public static final Enchantment DENSITY;
+ public static final Enchantment BREACH;
+ public static final Enchantment WIND_BURST;
static {
// DIG_SPEED is renamed to EFFICIENCY in 1.20.5
@@ -39,6 +42,11 @@ public class VersionedEnchantment {
// LOOT_BONUS_BLOCKS is renamed to FORTUNE in 1.20.5
FORTUNE = getKey("fortune");
+
+ // Added in 1.21
+ DENSITY = getKey("density");
+ BREACH = getKey("breach");
+ WIND_BURST = getKey("wind_burst");
}
@Nullable
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEntityType.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEntityType.java
index 10ae11e803..8728cc5d6e 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEntityType.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedEntityType.java
@@ -13,6 +13,12 @@ public class VersionedEntityType {
public static final EntityType MOOSHROOM;
public static final EntityType SNOW_GOLEM;
public static final EntityType FIREWORK;
+ public static final EntityType ARMADILLO;
+ public static final EntityType BOGGED;
+ public static final EntityType BREEZE;
+ public static final EntityType BREEZE_WIND_CHARGE;
+ public static final EntityType CREAKING;
+ public static final EntityType WIND_CHARGE;
static {
// MUSHROOM_COW is renamed to MOOSHROOM in 1.20.5
@@ -22,6 +28,16 @@ public class VersionedEntityType {
SNOW_GOLEM = getKey("snow_golem");
FIREWORK = getKey("firework_rocket");
+
+ // Added in 1.21
+ ARMADILLO = getKey("armadillo");
+ BOGGED = getKey("bogged");
+ BREEZE = getKey("breeze");
+ BREEZE_WIND_CHARGE = getKey("breeze_wind_charge");
+
+ // Added in 1.21.2
+ CREAKING = getKey("creaking");
+ WIND_CHARGE = getKey("wind_charge");
}
@Nullable
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedItemFlag.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedItemFlag.java
index 507a903a23..3e2126ea98 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedItemFlag.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedItemFlag.java
@@ -11,8 +11,22 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
public class VersionedItemFlag {
-
+
public static final ItemFlag HIDE_ADDITIONAL_TOOLTIP;
+ public static final ItemFlag HIDE_TOOLTIP;
+ public static final ItemFlag HIDE_VILLAGER_VARIANT;
+ public static final ItemFlag HIDE_WEAPON;
+ public static final ItemFlag HIDE_WOLF_COLLAR;
+ public static final ItemFlag HIDE_WOLF_SOUND_VARIANT;
+ public static final ItemFlag HIDE_WOLF_VARIANT;
+ public static final ItemFlag HIDE_WRITABLE_BOOK_CONTENT;
+ public static final ItemFlag HIDE_WRITTEN_BOOK_CONTENT;
+ public static final ItemFlag HIDE_LLAMA_VARIANT;
+ public static final ItemFlag HIDE_AXOLOTL_VARIANT;
+ public static final ItemFlag HIDE_CAT_VARIANT;
+ public static final ItemFlag HIDE_CAT_COLLAR;
+ public static final ItemFlag HIDE_SHEEP_COLOR;
+ public static final ItemFlag HIDE_SHULKER_COLOR;
static {
MinecraftVersion version = Slimefun.getMinecraftVersion();
@@ -20,6 +34,25 @@ public class VersionedItemFlag {
HIDE_ADDITIONAL_TOOLTIP = version.isAtLeast(MinecraftVersion.MINECRAFT_1_20_5)
? ItemFlag.HIDE_ADDITIONAL_TOOLTIP
: getKey("HIDE_POTION_EFFECTS");
+
+ ItemFlag hideTooltip = version.isAtLeast(MinecraftVersion.MINECRAFT_1_21)
+ ? getKey("HIDE_TOOLTIP")
+ : null;
+ HIDE_TOOLTIP = hideTooltip != null ? hideTooltip : HIDE_ADDITIONAL_TOOLTIP;
+
+ HIDE_VILLAGER_VARIANT = getKey("HIDE_VILLAGER_VARIANT");
+ HIDE_WEAPON = getKey("HIDE_WEAPON");
+ HIDE_WOLF_COLLAR = getKey("HIDE_WOLF_COLLAR");
+ HIDE_WOLF_SOUND_VARIANT = getKey("HIDE_WOLF_SOUND_VARIANT");
+ HIDE_WOLF_VARIANT = getKey("HIDE_WOLF_VARIANT");
+ HIDE_WRITABLE_BOOK_CONTENT = getKey("HIDE_WRITABLE_BOOK_CONTENT");
+ HIDE_WRITTEN_BOOK_CONTENT = getKey("HIDE_WRITTEN_BOOK_CONTENT");
+ HIDE_LLAMA_VARIANT = getKey("HIDE_LLAMA_VARIANT");
+ HIDE_AXOLOTL_VARIANT = getKey("HIDE_AXOLOTL_VARIANT");
+ HIDE_CAT_VARIANT = getKey("HIDE_CAT_VARIANT");
+ HIDE_CAT_COLLAR = getKey("HIDE_CAT_COLLAR");
+ HIDE_SHEEP_COLOR = getKey("HIDE_SHEEP_COLOR");
+ HIDE_SHULKER_COLOR = getKey("HIDE_SHULKER_COLOR");
}
@Nullable
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedMaterial.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedMaterial.java
new file mode 100644
index 0000000000..e98f07dd4b
--- /dev/null
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedMaterial.java
@@ -0,0 +1,42 @@
+package io.github.thebusybiscuit.slimefun4.utils.compatibility;
+
+import org.bukkit.Material;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/**
+ * Utility class providing {@link Material} constants that may not exist on
+ * older Minecraft versions. Each field is initialised using
+ * {@link Material#matchMaterial(String)} to avoid {@link NoSuchFieldError}
+ * when running on legacy servers.
+ *
+ * This class centralises lookups for new 1.21 materials so that other
+ * classes can reference them safely.
+ */
+public final class VersionedMaterial {
+
+ private VersionedMaterial() {
+ }
+
+ // 1.21 items
+ public static final Material ARMADILLO_SCUTE = get("ARMADILLO_SCUTE");
+ public static final Material BREEZE_ROD = get("BREEZE_ROD");
+ public static final Material WIND_CHARGE = get("WIND_CHARGE");
+ public static final Material CREAKING_HEART = get("CREAKING_HEART");
+ public static final Material OMINOUS_BOTTLE = get("OMINOUS_BOTTLE");
+ public static final Material TRIAL_KEY = get("TRIAL_KEY");
+ public static final Material VAULT = get("VAULT");
+ public static final Material TRIAL_SPAWNER = get("TRIAL_SPAWNER");
+ public static final Material HEAVY_CORE = get("HEAVY_CORE");
+ public static final Material MACE = get("MACE");
+ public static final Material WOLF_ARMOR = get("WOLF_ARMOR");
+ public static final Material CRAFTER = get("CRAFTER");
+ public static final Material COPPER_BULB = get("COPPER_BULB");
+ public static final Material BREEZE_SPAWN_EGG = get("BREEZE_SPAWN_EGG");
+
+ @Nullable
+ private static Material get(@Nonnull String name) {
+ return Material.matchMaterial(name);
+ }
+}
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedParticle.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedParticle.java
index fafd340cc0..03957fd440 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedParticle.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedParticle.java
@@ -21,6 +21,19 @@ public class VersionedParticle {
public static final Particle WITCH;
public static final Particle FIREWORK;
public static final Particle ENCHANT;
+ public static final Particle BREEZE_WIND;
+ public static final Particle TRIAL_SPAWNER_DETECTION;
+ public static final Particle TRIAL_SPAWNER_DETECTION_OMINOUS;
+ public static final Particle TRIAL_SPAWNER_EJECTION;
+ public static final Particle TRIAL_SPAWNER_EJECTION_OMINOUS;
+ public static final Particle TRIAL_SPAWNER_SMOKE;
+ public static final Particle TRIAL_SPAWNER_SMOKE_OMINOUS;
+ public static final Particle TRIAL_OMEN;
+ public static final Particle OMINOUS_SPAWNING;
+ public static final Particle GUST;
+ public static final Particle SMALL_GUST;
+ public static final Particle GUST_EMITTER_LARGE;
+ public static final Particle GUST_EMITTER_SMALL;
static {
MinecraftVersion version = Slimefun.getMinecraftVersion();
@@ -64,6 +77,21 @@ public class VersionedParticle {
ENCHANT = version.isAtLeast(MinecraftVersion.MINECRAFT_1_20_5)
? Particle.ENCHANT
: getKey("ENCHANTMENT_TABLE");
+
+ // Added in 1.21
+ BREEZE_WIND = getKey("BREEZE_WIND");
+ TRIAL_SPAWNER_DETECTION = getKey("TRIAL_SPAWNER_DETECTION");
+ TRIAL_SPAWNER_DETECTION_OMINOUS = getKey("TRIAL_SPAWNER_DETECTION_OMINOUS");
+ TRIAL_SPAWNER_EJECTION = getKey("TRIAL_SPAWNER_EJECTION");
+ TRIAL_SPAWNER_EJECTION_OMINOUS = getKey("TRIAL_SPAWNER_EJECTION_OMINOUS");
+ TRIAL_SPAWNER_SMOKE = getKey("TRIAL_SPAWNER_SMOKE");
+ TRIAL_SPAWNER_SMOKE_OMINOUS = getKey("TRIAL_SPAWNER_SMOKE_OMINOUS");
+ TRIAL_OMEN = getKey("TRIAL_OMEN");
+ OMINOUS_SPAWNING = getKey("OMINOUS_SPAWNING");
+ GUST = getKey("GUST");
+ SMALL_GUST = getKey("SMALL_GUST");
+ GUST_EMITTER_LARGE = getKey("GUST_EMITTER_LARGE");
+ GUST_EMITTER_SMALL = getKey("GUST_EMITTER_SMALL");
}
@Nullable
@@ -71,7 +99,8 @@ private static Particle getKey(@Nonnull String key) {
try {
Field field = Particle.class.getDeclaredField(key);
return (Particle) field.get(null);
- } catch(Exception e) {
+ } catch (Exception e) {
+ // Return null so callers can decide how to handle missing particles
return null;
}
}
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionEffectType.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionEffectType.java
index f3dbe6b6d1..49952e4067 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionEffectType.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionEffectType.java
@@ -22,6 +22,10 @@ public class VersionedPotionEffectType {
public static final PotionEffectType JUMP_BOOST;
public static final PotionEffectType NAUSEA;
public static final PotionEffectType RESISTANCE;
+ public static final PotionEffectType OOZING;
+ public static final PotionEffectType WEAVING;
+ public static final PotionEffectType WIND_CHARGED;
+ public static final PotionEffectType INFESTED;
static {
MinecraftVersion version = Slimefun.getMinecraftVersion();
@@ -61,6 +65,12 @@ public class VersionedPotionEffectType {
RESISTANCE = version.isAtLeast(MinecraftVersion.MINECRAFT_1_20_5)
? PotionEffectType.RESISTANCE
: getKey("DAMAGE_RESISTANCE");
+
+ // Added in 1.21
+ OOZING = getKey("OOZING");
+ WEAVING = getKey("WEAVING");
+ WIND_CHARGED = getKey("WIND_CHARGED");
+ INFESTED = getKey("INFESTED");
}
@Nullable
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionType.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionType.java
index 1713d77baf..c2483ec3b6 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionType.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/compatibility/VersionedPotionType.java
@@ -18,6 +18,10 @@ public class VersionedPotionType {
public static final PotionType HEALING;
public static final PotionType HARMING;
public static final PotionType REGENERATION;
+ public static final PotionType OOZING;
+ public static final PotionType WEAVING;
+ public static final PotionType WIND_CHARGED;
+ public static final PotionType INFESTED;
static {
MinecraftVersion version = Slimefun.getMinecraftVersion();
@@ -41,6 +45,12 @@ public class VersionedPotionType {
REGENERATION = version.isAtLeast(MinecraftVersion.MINECRAFT_1_20_5)
? PotionType.REGENERATION
: getKey("REGEN");
+
+ // Added in 1.21
+ OOZING = getKey("OOZING");
+ WEAVING = getKey("WEAVING");
+ WIND_CHARGED = getKey("WIND_CHARGED");
+ INFESTED = getKey("INFESTED");
}
@Nullable
diff --git a/src/main/resources/languages/ar/messages.yml b/src/main/resources/languages/ar/messages.yml
index ebf8011e98..0d7a05c752 100644
--- a/src/main/resources/languages/ar/messages.yml
+++ b/src/main/resources/languages/ar/messages.yml
@@ -156,6 +156,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7الرجاء كتابة النص المجسم في الشات. &r(رموز الألوان مدعومة!)'
inventory-title: 'محرر النص المجسم'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4لا يوجد وجهات'
pick-a-floor: '&3- اختر طابق -'
diff --git a/src/main/resources/languages/bg/messages.yml b/src/main/resources/languages/bg/messages.yml
index b4553da96d..822edaa6a8 100644
--- a/src/main/resources/languages/bg/messages.yml
+++ b/src/main/resources/languages/bg/messages.yml
@@ -251,6 +251,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Моля въведете желания текст за Хологрмата във вашият чат. &r(Цветовите Кодове са поддържани!)'
inventory-title: 'Редактор на Холограми'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Нямаше намерени дестинации'
pick-a-floor: '&3- Изберете Етаж -'
diff --git a/src/main/resources/languages/cs/messages.yml b/src/main/resources/languages/cs/messages.yml
index cf75d51422..76cca7396c 100644
--- a/src/main/resources/languages/cs/messages.yml
+++ b/src/main/resources/languages/cs/messages.yml
@@ -251,6 +251,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Napiš do chatu zprávu, kterou chceš, aby hologram ukazoval. &r(Barvy jsou podporovány!)'
inventory-title: 'Editor hologramu'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Žádné destinace nebyly nalezeny'
pick-a-floor: '&3- Vyber si patro -'
diff --git a/src/main/resources/languages/de/messages.yml b/src/main/resources/languages/de/messages.yml
index 5debea0c8e..d5e7e94bea 100644
--- a/src/main/resources/languages/de/messages.yml
+++ b/src/main/resources/languages/de/messages.yml
@@ -254,6 +254,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Bitte gebe ins Chatfenser einen Text für dieses Hologram ein. &r(Farbcodes werden unterstützt!)'
inventory-title: 'Hologrammeditor'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Es konnten keine weiteren Etagen gefunden werden'
pick-a-floor: '&3- Wähle eine Etage -'
diff --git a/src/main/resources/languages/en/messages.yml b/src/main/resources/languages/en/messages.yml
index 77bd80895a..c7d1ec9702 100644
--- a/src/main/resources/languages/en/messages.yml
+++ b/src/main/resources/languages/en/messages.yml
@@ -316,6 +316,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Please enter your desired Hologram Text into your Chat. &r(Color Codes are supported!)'
inventory-title: 'Hologram Editor'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4No destinations found'
diff --git a/src/main/resources/languages/es/messages.yml b/src/main/resources/languages/es/messages.yml
index a512c91313..d48fb4d013 100644
--- a/src/main/resources/languages/es/messages.yml
+++ b/src/main/resources/languages/es/messages.yml
@@ -251,6 +251,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Por favor, escribe en el chat el texto deseado. &r(¡Se permiten códigos de color!)'
inventory-title: 'Editor de Holograma'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4No se han encontrado destinos.'
pick-a-floor: '&3- Selecciona un piso -'
diff --git a/src/main/resources/languages/fa/messages.yml b/src/main/resources/languages/fa/messages.yml
index eadfe05e13..30567b3f5e 100644
--- a/src/main/resources/languages/fa/messages.yml
+++ b/src/main/resources/languages/fa/messages.yml
@@ -87,6 +87,7 @@ messages:
machines:
HOLOGRAM_PROJECTOR:
inventory-title: 'ویرایشگر هولوگرام'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4مقصدی پیدا نشد'
TELEPORTER:
diff --git a/src/main/resources/languages/fr/messages.yml b/src/main/resources/languages/fr/messages.yml
index a3ef433730..791df226d5 100644
--- a/src/main/resources/languages/fr/messages.yml
+++ b/src/main/resources/languages/fr/messages.yml
@@ -255,6 +255,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Veuillez saisir le texte voulu pour votre hologramme dans le chat. &r(Les codes couleur sont acceptés !)'
inventory-title: 'Éditeur d''hologramme'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Aucune destination trouvée'
pick-a-floor: '&3- Sélectionnez un étage -'
diff --git a/src/main/resources/languages/he/messages.yml b/src/main/resources/languages/he/messages.yml
index 00041a9ad0..a2158a8c53 100644
--- a/src/main/resources/languages/he/messages.yml
+++ b/src/main/resources/languages/he/messages.yml
@@ -255,6 +255,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7אנא הכנס את טקסט ההולוגרמה לצ''ט שלך. &r( קודי צבע נתמכים!)'
inventory-title: 'עורך הולוגרמה'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4לא נמצאו יעדים '
pick-a-floor: '&3- בחר קומה -'
diff --git a/src/main/resources/languages/hu/messages.yml b/src/main/resources/languages/hu/messages.yml
index 9f135acb48..ce29498b21 100644
--- a/src/main/resources/languages/hu/messages.yml
+++ b/src/main/resources/languages/hu/messages.yml
@@ -256,6 +256,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Kérlek, írd be a kívánt hologram szöveget a chatre. &r(Színkódok is használhatóak!)'
inventory-title: 'Hologram szerkesztő'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Nem található úticél'
pick-a-floor: '&3- Válassz emeletet -'
diff --git a/src/main/resources/languages/id/messages.yml b/src/main/resources/languages/id/messages.yml
index d19eb84def..6e8f4ceb0c 100644
--- a/src/main/resources/languages/id/messages.yml
+++ b/src/main/resources/languages/id/messages.yml
@@ -186,6 +186,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Masukan teks sesuai yang anda inginkan. &r(Mendukung warna teks!)'
inventory-title: 'Pengedit hologram'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Tujuan tidak ditemukan'
pick-a-floor: '&3- Pilih Lantai -'
diff --git a/src/main/resources/languages/ja/messages.yml b/src/main/resources/languages/ja/messages.yml
index 43a343ae1f..9e8e9ceac1 100644
--- a/src/main/resources/languages/ja/messages.yml
+++ b/src/main/resources/languages/ja/messages.yml
@@ -253,6 +253,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7指定したい文字列をチャットに入力してください&r(カラーコード対応)'
inventory-title: 'ホログラムエディタ'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4他の階が見つかりません'
pick-a-floor: '&3- 行先の選択 -'
diff --git a/src/main/resources/languages/ko/messages.yml b/src/main/resources/languages/ko/messages.yml
index 85d87150ff..2e87d4a2bd 100644
--- a/src/main/resources/languages/ko/messages.yml
+++ b/src/main/resources/languages/ko/messages.yml
@@ -172,6 +172,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7원하는 홀로그램 텍스트를 대화 상자에 입력해 주십시오. &r(색상 코드가 지원됨!)'
inventory-title: '홀로그램 편집기'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: "&4대상을 찾을 수 없습니다.\n"
pick-a-floor: "&3- 바닥을 고르세요 -\n"
diff --git a/src/main/resources/languages/nl/messages.yml b/src/main/resources/languages/nl/messages.yml
index 049d06f7ee..50350f6df5 100644
--- a/src/main/resources/languages/nl/messages.yml
+++ b/src/main/resources/languages/nl/messages.yml
@@ -252,6 +252,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Type astublieft de gewenste text in het gespreksvenster. &r(Kleurcodes zijn ondersteund)'
inventory-title: 'Hologram-editor'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Geen doelen gevonden'
pick-a-floor: '&3- Kies een verdieping -'
diff --git a/src/main/resources/languages/pl/messages.yml b/src/main/resources/languages/pl/messages.yml
index bae152e144..1545164ffa 100644
--- a/src/main/resources/languages/pl/messages.yml
+++ b/src/main/resources/languages/pl/messages.yml
@@ -171,6 +171,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Wprowadź żądany tekst hologramu na czacie. &r(Kody kolorów są obsługiwane!)'
inventory-title: 'Edytor hologramów'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Nie znaleziono miejsc docelowych'
pick-a-floor: '&3- Wybierz piętro-'
diff --git a/src/main/resources/languages/pt-BR/messages.yml b/src/main/resources/languages/pt-BR/messages.yml
index 9b63333863..3bc8cc46e4 100644
--- a/src/main/resources/languages/pt-BR/messages.yml
+++ b/src/main/resources/languages/pt-BR/messages.yml
@@ -198,6 +198,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Digite o nome do holograma no bate-papo. &r(Códigos de cores são suportados!)'
inventory-title: 'Editor de Holograma'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Nenhum destino encontrado!'
pick-a-floor: '&3- Escolha um andar -'
diff --git a/src/main/resources/languages/pt/messages.yml b/src/main/resources/languages/pt/messages.yml
index 23ddfacb86..3b24bf9346 100644
--- a/src/main/resources/languages/pt/messages.yml
+++ b/src/main/resources/languages/pt/messages.yml
@@ -168,6 +168,7 @@ machines:
unknown-recipe: '&4Receita desconhecida! &cUsa a receita correta!'
HOLOGRAM_PROJECTOR:
inventory-title: 'Editor de Holograma'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Não foram encontrados destinos'
pick-a-floor: '&3- Escolha um piso -'
diff --git a/src/main/resources/languages/ru/messages.yml b/src/main/resources/languages/ru/messages.yml
index 61b0dbfb5b..bd8a5530f5 100644
--- a/src/main/resources/languages/ru/messages.yml
+++ b/src/main/resources/languages/ru/messages.yml
@@ -224,6 +224,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Пожалуйста, введите желаемый текст для голограммы в чат. &r(можно использовать цветовые коды!)'
inventory-title: 'Редактирование голограммы'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Этажи не найдены'
pick-a-floor: '&3- Выберите пункт назначения -'
diff --git a/src/main/resources/languages/sk/messages.yml b/src/main/resources/languages/sk/messages.yml
index 17e1f58236..8c8a064fdd 100644
--- a/src/main/resources/languages/sk/messages.yml
+++ b/src/main/resources/languages/sk/messages.yml
@@ -153,6 +153,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Prosím napíš text pre hologram do chatu. &r(Kódy farieb sú podporované!)'
inventory-title: 'Editor hologramu'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Nenájdený žiaden cieľ'
pick-a-floor: '&3- Výber podlažia -'
diff --git a/src/main/resources/languages/sv/messages.yml b/src/main/resources/languages/sv/messages.yml
index aa141bee30..ed9e53d136 100644
--- a/src/main/resources/languages/sv/messages.yml
+++ b/src/main/resources/languages/sv/messages.yml
@@ -158,6 +158,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Skriv in önskad hologramtext i chatten &r(färgkoder stöds!)'
inventory-title: 'Hologramändrare'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Ingen destination funnen'
pick-a-floor: '&3- Välj en våning -'
diff --git a/src/main/resources/languages/th/messages.yml b/src/main/resources/languages/th/messages.yml
index b2a7cbac04..2dd73a44ef 100644
--- a/src/main/resources/languages/th/messages.yml
+++ b/src/main/resources/languages/th/messages.yml
@@ -145,6 +145,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7โปรดพิมพ์ข้อความที่คุณต้องการแสดง Hologram ในแชท. &r(รองรับรหัสสี!)'
inventory-title: 'แก้ไข Hologram'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4ไม่พบจุดหมาย'
pick-a-floor: '&3- เลือกชั้น -'
diff --git a/src/main/resources/languages/tr/messages.yml b/src/main/resources/languages/tr/messages.yml
index eb3a9f2276..d478a43ef0 100644
--- a/src/main/resources/languages/tr/messages.yml
+++ b/src/main/resources/languages/tr/messages.yml
@@ -239,6 +239,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Lütfen Sohbette istediğiniz Hologram Metnini yazın. &r(Renk Kodları destekleniyor!)'
inventory-title: 'Hologram Editörü'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Varış noktası bulunamadı'
pick-a-floor: '&3- Bir kat seçin -'
diff --git a/src/main/resources/languages/uk/messages.yml b/src/main/resources/languages/uk/messages.yml
index 7546559141..5d2457f519 100644
--- a/src/main/resources/languages/uk/messages.yml
+++ b/src/main/resources/languages/uk/messages.yml
@@ -154,6 +154,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Будь ласка, введіть бажаний текст для голограми в чат. &r(кольори підтримуються!)'
inventory-title: 'Редагування голограми'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Поверхи не знайдено'
pick-a-floor: '&3- Виберіть поверх -'
diff --git a/src/main/resources/languages/vi/messages.yml b/src/main/resources/languages/vi/messages.yml
index 7fec92891b..87fb46681a 100644
--- a/src/main/resources/languages/vi/messages.yml
+++ b/src/main/resources/languages/vi/messages.yml
@@ -201,6 +201,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7Vui lòng nhập Văn Bản Ba Chiều mong muốn của bạn vào Khung trò chuyện. &r(Mã màu được hỗ trợ!)'
inventory-title: 'Trình chỉnh sửa ảnh ba chiều'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4Không tìm thấy điểm đến'
pick-a-floor: '&4- Chọn một tầng -'
diff --git a/src/main/resources/languages/zh-CN/messages.yml b/src/main/resources/languages/zh-CN/messages.yml
index e79b887552..8c83e46560 100644
--- a/src/main/resources/languages/zh-CN/messages.yml
+++ b/src/main/resources/languages/zh-CN/messages.yml
@@ -276,6 +276,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7请写下想显示在全息文本上的话. &r(支持颜色代码)'
inventory-title: '全息图像编辑器'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4找不到上下楼'
pick-a-floor: '&3- 选择一个楼层 -'
diff --git a/src/main/resources/languages/zh-TW/messages.yml b/src/main/resources/languages/zh-TW/messages.yml
index 548f26bce6..3ae5c27cac 100644
--- a/src/main/resources/languages/zh-TW/messages.yml
+++ b/src/main/resources/languages/zh-TW/messages.yml
@@ -252,6 +252,7 @@ machines:
HOLOGRAM_PROJECTOR:
enter-text: '&7請輸入你想要顯示的文字訊息。 &r(可以輸入顏色代碼)'
inventory-title: '全息投影編輯器'
+ projector-missing: '&4The hologram projector was removed before your message could be saved.'
ELEVATOR:
no-destinations: '&4找不到目的地'
pick-a-floor: '&3- 選擇樓層 -'
diff --git a/src/main/resources/tags/cargo_supported_storage_blocks.json b/src/main/resources/tags/cargo_supported_storage_blocks.json
index eb960c5e48..cc02b20bb6 100644
--- a/src/main/resources/tags/cargo_supported_storage_blocks.json
+++ b/src/main/resources/tags/cargo_supported_storage_blocks.json
@@ -1,11 +1,12 @@
{
- "values" : [
- "#slimefun:shulker_boxes",
- "minecraft:chest",
- "minecraft:trapped_chest",
- "minecraft:barrel",
- "minecraft:furnace",
- "minecraft:dispenser",
+ "values" : [
+ "#slimefun:shulker_boxes",
+ "minecraft:chest",
+ "minecraft:trapped_chest",
+ "minecraft:barrel",
+ "minecraft:crafter",
+ "minecraft:furnace",
+ "minecraft:dispenser",
"minecraft:dropper",
"minecraft:hopper",
"minecraft:brewing_stand",
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/TestPluginClass.java b/src/test/java/io/github/thebusybiscuit/slimefun4/TestPluginClass.java
index 1d22dd98ed..c51a1a2934 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/TestPluginClass.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/TestPluginClass.java
@@ -9,7 +9,7 @@
import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestPluginClass {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockBreakEvent.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockBreakEvent.java
index 9eb9225213..d73205abed 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockBreakEvent.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockBreakEvent.java
@@ -1,9 +1,9 @@
package io.github.thebusybiscuit.slimefun4.api.events;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.block.BlockMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.block.BlockMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.BlockListener;
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockPlaceEvent.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockPlaceEvent.java
index c33db57184..860a5ea2a9 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockPlaceEvent.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunBlockPlaceEvent.java
@@ -1,9 +1,9 @@
package io.github.thebusybiscuit.slimefun4.api.events;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.block.BlockMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.block.BlockMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.BlockListener;
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunRegistryFinalizedEvent.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunRegistryFinalizedEvent.java
index bef63828c9..95ca372cff 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunRegistryFinalizedEvent.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestSlimefunRegistryFinalizedEvent.java
@@ -7,8 +7,8 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.implementation.setup.PostSetup;
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestTalismanActivateEvent.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestTalismanActivateEvent.java
index 40cfc61fe5..4f5844d223 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestTalismanActivateEvent.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/events/TestTalismanActivateEvent.java
@@ -1,7 +1,7 @@
package io.github.thebusybiscuit.slimefun4.api.events;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/geo/TestResourceRegistration.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/geo/TestResourceRegistration.java
index 53f9eb906b..fe39e33c1e 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/geo/TestResourceRegistration.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/geo/TestResourceRegistration.java
@@ -23,7 +23,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.resources.GEOResourcesSetup;
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
@TestMethodOrder(value = OrderAnnotation.class)
class TestResourceRegistration {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/gps/TestWaypoints.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/gps/TestWaypoints.java
index 3b769c44a0..d456631817 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/gps/TestWaypoints.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/gps/TestWaypoints.java
@@ -16,8 +16,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.FileUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestWaypoints {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestDoubleRangeSetting.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestDoubleRangeSetting.java
index de8e8b0179..a89704df2c 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestDoubleRangeSetting.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestDoubleRangeSetting.java
@@ -12,7 +12,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestDoubleRangeSetting {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestEnumSetting.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestEnumSetting.java
index 9b41cd8807..0961331628 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestEnumSetting.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestEnumSetting.java
@@ -12,7 +12,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestEnumSetting {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestIntRangeSetting.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestIntRangeSetting.java
index 24d644a45e..1077243dab 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestIntRangeSetting.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestIntRangeSetting.java
@@ -12,7 +12,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestIntRangeSetting {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestItemSettings.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestItemSettings.java
index 47004780a0..db9e1efc3d 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestItemSettings.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestItemSettings.java
@@ -15,7 +15,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestItemSettings {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestMaterialTagSetting.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestMaterialTagSetting.java
index 0154809ebe..120d37d5f3 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestMaterialTagSetting.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/items/settings/TestMaterialTagSetting.java
@@ -18,7 +18,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestMaterialTagSetting {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestAsyncProfileLoadEvent.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestAsyncProfileLoadEvent.java
index 17ea900f19..9d6b198d6e 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestAsyncProfileLoadEvent.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestAsyncProfileLoadEvent.java
@@ -14,9 +14,9 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.mocks.MockProfile;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.OfflinePlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.OfflinePlayerMock;
class TestAsyncProfileLoadEvent {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestGuideHistory.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestGuideHistory.java
index fc8441b463..f340f047ef 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestGuideHistory.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestGuideHistory.java
@@ -18,8 +18,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestGuideHistory {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerBackpacks.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerBackpacks.java
index 90d475d479..a0e5b1733a 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerBackpacks.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerBackpacks.java
@@ -14,8 +14,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestPlayerBackpacks {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerProfile.java b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerProfile.java
index 61c49f0c32..5ef860eea5 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerProfile.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/api/profiles/TestPlayerProfile.java
@@ -16,9 +16,9 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.OfflinePlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.OfflinePlayerMock;
class TestPlayerProfile {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestBackpackCommand.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestBackpackCommand.java
index 9b876fc822..7c913c47ca 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestBackpackCommand.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestBackpackCommand.java
@@ -21,8 +21,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestBackpackCommand {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestChargeCommand.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestChargeCommand.java
index 6ca4577a16..b1af366ab5 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestChargeCommand.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestChargeCommand.java
@@ -18,8 +18,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.LoreBuilder;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestChargeCommand {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestDebugFishCommand.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestDebugFishCommand.java
index 476f6aeaab..bae730ee24 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestDebugFishCommand.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestDebugFishCommand.java
@@ -12,8 +12,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestDebugFishCommand {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestGuideCommand.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestGuideCommand.java
index 57560503a7..3f7e7f8d49 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestGuideCommand.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestGuideCommand.java
@@ -14,8 +14,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestGuideCommand {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestResearchCommand.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestResearchCommand.java
index 00fdecdb9a..8f8fbbb930 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestResearchCommand.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/commands/TestResearchCommand.java
@@ -13,8 +13,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestResearchCommand {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/debug/TestDebugLogging.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/debug/TestDebugLogging.java
index cc7caf76ca..15faf0eef5 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/debug/TestDebugLogging.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/debug/TestDebugLogging.java
@@ -14,7 +14,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestDebugLogging {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/guide/TestGuideOpening.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/guide/TestGuideOpening.java
index a8685b9736..74752efeb4 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/guide/TestGuideOpening.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/guide/TestGuideOpening.java
@@ -25,8 +25,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestGuideOpening {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/multiblocks/TestMultiBlocks.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/multiblocks/TestMultiBlocks.java
index e3d408e7e3..b84801a7d0 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/multiblocks/TestMultiBlocks.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/multiblocks/TestMultiBlocks.java
@@ -13,7 +13,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestMultiBlocks {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/networks/TestNetworkManager.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/networks/TestNetworkManager.java
index 4ac8db287e..c17e683b20 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/networks/TestNetworkManager.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/networks/TestNetworkManager.java
@@ -21,8 +21,8 @@
import io.github.thebusybiscuit.slimefun4.core.networks.cargo.CargoNet;
import io.github.thebusybiscuit.slimefun4.test.mocks.MockNetwork;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestNetworkManager {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestProfileResearches.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestProfileResearches.java
index c6072275eb..49a151b3cf 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestProfileResearches.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestProfileResearches.java
@@ -15,8 +15,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestProfileResearches {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearchUnlocking.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearchUnlocking.java
index 7d376cc111..9ccb2740c7 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearchUnlocking.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearchUnlocking.java
@@ -19,8 +19,8 @@
import io.github.thebusybiscuit.slimefun4.api.researches.Research;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestResearchUnlocking {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearches.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearches.java
index fd8a5864e1..471edc7e40 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearches.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/researching/TestResearches.java
@@ -22,8 +22,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestResearches {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestBlockDataService.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestBlockDataService.java
index 909f050f26..a183ce4d25 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestBlockDataService.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestBlockDataService.java
@@ -10,7 +10,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestBlockDataService {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestCustomTextureService.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestCustomTextureService.java
index 919de0d374..54351b004a 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestCustomTextureService.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestCustomTextureService.java
@@ -15,7 +15,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestCustomTextureService {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestItemDataService.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestItemDataService.java
index ec323ff6f4..8ecc13ff79 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestItemDataService.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestItemDataService.java
@@ -14,7 +14,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestItemDataService {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestPermissionsService.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestPermissionsService.java
index c5d692ebc4..6f32a7c14a 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestPermissionsService.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestPermissionsService.java
@@ -20,8 +20,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestPermissionsService {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestRecipeService.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestRecipeService.java
index bc30dbf583..6662113673 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestRecipeService.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestRecipeService.java
@@ -21,8 +21,8 @@
import io.github.bakedlibs.dough.recipes.RecipeSnapshot;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestRecipeService {
@@ -46,7 +46,7 @@ void testRecipe() {
MinecraftRecipeService service = new MinecraftRecipeService(plugin);
NamespacedKey key = new NamespacedKey(plugin, "furnace_recipe_test");
- ItemStack result = new ItemStack(Material.EMERALD_BLOCK);
+ ItemStack result = new ItemStack(Material.BEDROCK);
FurnaceRecipe recipe = new FurnaceRecipe(key, result, new MaterialChoice(Material.DIAMOND), 1, 2);
server.addRecipe(recipe);
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestUpdaterService.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestUpdaterService.java
index 4de8e01e62..53c29a56a9 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestUpdaterService.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/TestUpdaterService.java
@@ -8,10 +8,13 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
+import io.github.bakedlibs.dough.updater.PluginUpdater;
+import io.github.bakedlibs.dough.versions.PrefixedVersion;
import io.github.thebusybiscuit.slimefun4.api.SlimefunBranch;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockito.Mockito;
class TestUpdaterService {
@@ -36,8 +39,7 @@ void testDevelopmentBuilds() {
UpdaterService service = new UpdaterService(plugin, "Dev - 131 (git 123456)", file);
Assertions.assertEquals(SlimefunBranch.DEVELOPMENT, service.getBranch());
Assertions.assertTrue(service.getBranch().isOfficial());
- // Cannot currently be tested... yay
- // Assertions.assertEquals(131, service.getBuildNumber());
+ Assertions.assertEquals(131, service.getBuildNumber());
}
@Test
@@ -46,8 +48,15 @@ void testStableBuilds() {
UpdaterService service = new UpdaterService(plugin, "RC - 6 (git 123456)", file);
Assertions.assertEquals(SlimefunBranch.STABLE, service.getBranch());
Assertions.assertTrue(service.getBranch().isOfficial());
- // Cannot currently be tested... yay
- // Assertions.assertEquals(6, service.getBuildNumber());
+ Assertions.assertEquals(6, service.getBuildNumber());
+ }
+
+ @Test
+ @DisplayName("Test build parsing with invalid number")
+ void testInvalidBuildNumber() {
+ UpdaterService service = new UpdaterService(plugin, "Dev - abc", file);
+ Assertions.assertEquals(SlimefunBranch.DEVELOPMENT, service.getBranch());
+ Assertions.assertEquals(-1, service.getBuildNumber());
}
@Test
@@ -67,4 +76,30 @@ void testUnknownBuilds() {
Assertions.assertFalse(service.getBranch().isOfficial());
Assertions.assertEquals(-1, service.getBuildNumber());
}
+
+ @Test
+ @DisplayName("Test if auto-update config is respected")
+ void testAutoUpdateConfig() {
+ PluginUpdater updater = Mockito.mock(PluginUpdater.class);
+ UpdaterService service = new UpdaterService(plugin, updater, SlimefunBranch.DEVELOPMENT);
+
+ Slimefun.getCfg().setValue("options.auto-update", false);
+ Assertions.assertFalse(service.isEnabled());
+
+ Slimefun.getCfg().setValue("options.auto-update", true);
+ Assertions.assertTrue(service.isEnabled());
+ }
+
+ @Test
+ @DisplayName("Test getting the latest version")
+ void testGetLatestVersion() {
+ PluginUpdater updater = Mockito.mock(PluginUpdater.class);
+ PrefixedVersion version = Mockito.mock(PrefixedVersion.class);
+ Mockito.when(version.getVersionNumber()).thenReturn(42);
+ java.util.concurrent.CompletableFuture future = java.util.concurrent.CompletableFuture.completedFuture(version);
+ Mockito.when(updater.getLatestVersion()).thenReturn(future);
+
+ UpdaterService service = new UpdaterService(plugin, updater, SlimefunBranch.DEVELOPMENT);
+ Assertions.assertEquals(42, service.getLatestVersion());
+ }
}
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/localization/AbstractLocaleRegexChecker.java b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/localization/AbstractLocaleRegexChecker.java
index df8668f285..abab336655 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/localization/AbstractLocaleRegexChecker.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/core/services/localization/AbstractLocaleRegexChecker.java
@@ -24,7 +24,7 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.provider.Arguments;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class AbstractLocaleRegexChecker {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestDamageableItem.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestDamageableItem.java
index 7a97e33cf3..493dded997 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestDamageableItem.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestDamageableItem.java
@@ -21,8 +21,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.mocks.MockDamageable;
import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedEnchantment;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestDamageableItem {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestRadioactiveItem.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestRadioactiveItem.java
index 6c7853da2d..065cdf8415 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestRadioactiveItem.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestRadioactiveItem.java
@@ -16,7 +16,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestRadioactiveItem {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestSlimefunItem.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestSlimefunItem.java
index 1bd21a0d3f..aaed1084a8 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestSlimefunItem.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/TestSlimefunItem.java
@@ -21,7 +21,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestSlimefunItem {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAbstractRecipe.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAbstractRecipe.java
index 3ff2381f4b..1ac9ba49f7 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAbstractRecipe.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAbstractRecipe.java
@@ -21,7 +21,7 @@
import io.github.bakedlibs.dough.items.CustomItemStack;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestAbstractRecipe {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAutoCrafter.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAutoCrafter.java
index ac40d14416..05aea22f44 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAutoCrafter.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/TestAutoCrafter.java
@@ -21,9 +21,9 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.inventory.ChestInventoryMock;
-import be.seeseemelk.mockbukkit.inventory.InventoryMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.inventory.ChestInventoryMock;
+import org.mockbukkit.mockbukkit.inventory.InventoryMock;
class TestAutoCrafter {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/backpacks/TestEnderBackpack.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/backpacks/TestEnderBackpack.java
index 62b22112a1..3ef90400bd 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/backpacks/TestEnderBackpack.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/backpacks/TestEnderBackpack.java
@@ -15,8 +15,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.presets.SlimefunItemTest;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestEnderBackpack implements SlimefunItemTest {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/TestAutoBrewerPotions.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/TestAutoBrewerPotions.java
new file mode 100644
index 0000000000..ceb78ea7d6
--- /dev/null
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/TestAutoBrewerPotions.java
@@ -0,0 +1,40 @@
+package io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+import java.lang.reflect.Field;
+import java.util.Map;
+
+import org.bukkit.Material;
+import org.bukkit.potion.PotionType;
+import org.junit.jupiter.api.Test;
+
+import io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.AutoBrewer;
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedPotionType;
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedMaterial;
+
+class TestAutoBrewerPotions {
+
+ @SuppressWarnings("unchecked")
+ private Map getPotionRecipes() throws Exception {
+ Field field = AutoBrewer.class.getDeclaredField("potionRecipes");
+ field.setAccessible(true);
+ return (Map) field.get(null);
+ }
+
+ @Test
+ void testNewPotionRecipes() throws Exception {
+ Map recipes = getPotionRecipes();
+
+ assertEquals(VersionedPotionType.OOZING, recipes.get(Material.SLIME_BLOCK));
+ assertEquals(VersionedPotionType.WEAVING, recipes.get(Material.COBWEB));
+ assertEquals(VersionedPotionType.INFESTED, recipes.get(Material.STONE));
+
+ if (VersionedMaterial.BREEZE_ROD != null) {
+ assertEquals(VersionedPotionType.WIND_CHARGED, recipes.get(VersionedMaterial.BREEZE_ROD));
+ } else {
+ assertNotNull(VersionedMaterial.BREEZE_ROD, "BREEZE_ROD material should exist on 1.21");
+ }
+ }
+}
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestDietCookie.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestDietCookie.java
index 693e5f03cf..53c32cbb2b 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestDietCookie.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestDietCookie.java
@@ -16,9 +16,9 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.presets.SlimefunItemTest;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestDietCookie implements SlimefunItemTest {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMeatJerky.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMeatJerky.java
index ea78037705..b91affafb6 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMeatJerky.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMeatJerky.java
@@ -14,9 +14,9 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.presets.SlimefunItemTest;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestMeatJerky implements SlimefunItemTest {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMonsterJerky.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMonsterJerky.java
index ed279f4e93..e033f7e0b5 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMonsterJerky.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/TestMonsterJerky.java
@@ -15,9 +15,9 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.presets.SlimefunItemTest;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestMonsterJerky implements SlimefunItemTest {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestClimbingPick.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestClimbingPick.java
index 9a43bc12f5..3ffc94836c 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestClimbingPick.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestClimbingPick.java
@@ -28,10 +28,10 @@
import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedEnchantment;
import io.github.thebusybiscuit.slimefun4.utils.tags.SlimefunTag;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.block.BlockMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.block.BlockMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestClimbingPick implements SlimefunItemTest {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestPortableDustbin.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestPortableDustbin.java
index 8b9d710a37..a62767fde5 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestPortableDustbin.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestPortableDustbin.java
@@ -16,8 +16,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.presets.SlimefunItemTest;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestPortableDustbin implements SlimefunItemTest {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestTapeMeasure.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestTapeMeasure.java
index 6a05e5c34e..317d081edb 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestTapeMeasure.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/TestTapeMeasure.java
@@ -21,11 +21,11 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.presets.SlimefunItemTest;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.WorldMock;
-import be.seeseemelk.mockbukkit.block.BlockMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.world.WorldMock;
+import org.mockbukkit.mockbukkit.block.BlockMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestTapeMeasure implements SlimefunItemTest {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestAnvilListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestAnvilListener.java
index cf57add8ac..8db469f17f 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestAnvilListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestAnvilListener.java
@@ -23,8 +23,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.crafting.AnvilListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestAnvilListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBackpackListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBackpackListener.java
index 443d47c3c7..cfc62505c0 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBackpackListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBackpackListener.java
@@ -38,9 +38,9 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.tags.SlimefunTag;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.ItemEntityMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.ItemEntityMock;
class TestBackpackListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBeeListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBeeListener.java
index f84dc953bd..0175d25a2d 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBeeListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBeeListener.java
@@ -20,8 +20,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.entity.BeeListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestBeeListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBrewingStandListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBrewingStandListener.java
index 7a78612680..d0f318bb7e 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBrewingStandListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestBrewingStandListener.java
@@ -25,8 +25,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.crafting.BrewingStandListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestBrewingStandListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCargoNodeListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCargoNodeListener.java
index 0951dce2ca..cb0b4af6e8 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCargoNodeListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCargoNodeListener.java
@@ -24,8 +24,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.providers.SlimefunItemsSource;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestCargoNodeListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCartographyTableListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCartographyTableListener.java
index 892fd5b4ad..c78dbdac3e 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCartographyTableListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCartographyTableListener.java
@@ -23,8 +23,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.crafting.CartographyTableListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestCartographyTableListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCauldronListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCauldronListener.java
index fd39063195..efaa73a8e2 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCauldronListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCauldronListener.java
@@ -22,9 +22,9 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.crafting.CauldronListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.block.BlockMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.block.BlockMock;
class TestCauldronListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCoolerListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCoolerListener.java
index e606840cbc..cfe7f976d1 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCoolerListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCoolerListener.java
@@ -25,8 +25,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.items.backpacks.Cooler;
import io.github.thebusybiscuit.slimefun4.implementation.items.food.Juice;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestCoolerListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCraftingTableListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCraftingTableListener.java
index 5819ad3a32..426ddae6cb 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCraftingTableListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestCraftingTableListener.java
@@ -28,8 +28,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.crafting.CraftingTableListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestCraftingTableListener {
@@ -54,6 +54,7 @@ private CraftItemEvent mockCraftingEvent(ItemStack item) {
Player player = server.addPlayer();
CraftingInventory inv = Mockito.mock(CraftingInventory.class);
+ Mockito.when(inv.getType()).thenReturn(org.bukkit.event.inventory.InventoryType.CRAFTING);
Mockito.when(inv.getContents()).thenReturn(new ItemStack[] { item, null, null, null, null, null, null, null, null });
InventoryView view = player.openInventory(inv);
@@ -67,6 +68,7 @@ private PrepareItemCraftEvent mockPreCraftingEvent(ItemStack item) {
Player player = server.addPlayer();
CraftingInventory inv = Mockito.mock(CraftingInventory.class);
+ Mockito.when(inv.getType()).thenReturn(org.bukkit.event.inventory.InventoryType.CRAFTING);
MutableObject result = new MutableObject(new ItemStack(Material.EMERALD));
Mockito.doAnswer(invocation -> {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestDeathpointListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestDeathpointListener.java
index f135535373..e657ea71c1 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestDeathpointListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestDeathpointListener.java
@@ -12,8 +12,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestDeathpointListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestFireworksListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestFireworksListener.java
index bcea6c1817..6529a1ed75 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestFireworksListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestFireworksListener.java
@@ -15,8 +15,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.entity.FireworksListener;
import io.github.thebusybiscuit.slimefun4.utils.FireworkUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestFireworksListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestGrindstoneListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestGrindstoneListener.java
index ff604beb04..4f11806be2 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestGrindstoneListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestGrindstoneListener.java
@@ -27,8 +27,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.crafting.GrindstoneListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestGrindstoneListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestIronGolemListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestIronGolemListener.java
index b536f6b00a..570f33abb3 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestIronGolemListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestIronGolemListener.java
@@ -21,8 +21,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.entity.IronGolemListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestIronGolemListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestItemPickupListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestItemPickupListener.java
index 8af24cd9b0..b056863811 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestItemPickupListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestItemPickupListener.java
@@ -21,10 +21,10 @@
import io.github.thebusybiscuit.slimefun4.implementation.items.altar.AncientPedestal;
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.ItemEntityMock;
-import be.seeseemelk.mockbukkit.inventory.HopperInventoryMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.ItemEntityMock;
+import org.mockbukkit.mockbukkit.inventory.HopperInventoryMock;
class TestItemPickupListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestMultiblockListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestMultiblockListener.java
index 55f9a5e5b6..44d94f2d72 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestMultiblockListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestMultiblockListener.java
@@ -22,8 +22,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestMultiblockListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestNetworkListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestNetworkListener.java
index b6ef3148d6..5e8837ca42 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestNetworkListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestNetworkListener.java
@@ -18,8 +18,8 @@
import io.github.thebusybiscuit.slimefun4.core.networks.NetworkManager;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestNetworkListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPiglinListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPiglinListener.java
index d9e2b1fb87..9640813bb5 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPiglinListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPiglinListener.java
@@ -25,9 +25,9 @@
import io.github.thebusybiscuit.slimefun4.implementation.listeners.entity.PiglinListener;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.ItemEntityMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.ItemEntityMock;
class TestPiglinListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPlayerProfileListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPlayerProfileListener.java
index 0ee300a138..49a3bce0ca 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPlayerProfileListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestPlayerProfileListener.java
@@ -13,8 +13,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestPlayerProfileListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunGuideListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunGuideListener.java
index 6b58f849b7..f25a1274c8 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunGuideListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunGuideListener.java
@@ -17,9 +17,9 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestSlimefunGuideListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunItemInteractListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunItemInteractListener.java
index cc33e3750a..d63860dcd3 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunItemInteractListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSlimefunItemInteractListener.java
@@ -30,9 +30,9 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestSlimefunItemInteractListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSmithingTableListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSmithingTableListener.java
index 3c57ed5060..c94ce2e694 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSmithingTableListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSmithingTableListener.java
@@ -1,7 +1,7 @@
package io.github.thebusybiscuit.slimefun4.implementation.listeners;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
import org.apache.commons.lang3.mutable.MutableObject;
import org.bukkit.Material;
@@ -71,6 +71,7 @@ private SmithItemEvent mockSmithingEvent(ItemStack tool, ItemStack material) {
SmithingInventory inv = Mockito.mock(SmithingInventory.class);
// MinecraftVersion#isAtLeast always returns true during unit test, so we use the 1.20 layout here.
+ Mockito.when(inv.getType()).thenReturn(org.bukkit.event.inventory.InventoryType.SMITHING);
Mockito.when(inv.getContents()).thenReturn(new ItemStack[] { new ItemStack(Material.NETHERITE_UPGRADE_SMITHING_TEMPLATE), tool, material, null });
InventoryView view = player.openInventory(inv);
@@ -92,6 +93,7 @@ private PrepareSmithingEvent mockPrepareSmithingEvent(ItemStack tool, ItemStack
return null;
}).when(inv).setResult(Mockito.any());
+ Mockito.when(inv.getType()).thenReturn(org.bukkit.event.inventory.InventoryType.SMITHING);
Mockito.when(inv.getResult()).thenAnswer(invocation -> result.getValue());
// MinecraftVersion#isAtLeast always returns true during unit test, so we use the 1.20 layout here.
Mockito.when(inv.getContents()).thenReturn(new ItemStack[] { new ItemStack(Material.NETHERITE_UPGRADE_SMITHING_TEMPLATE), tool, material, null });
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSoulboundListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSoulboundListener.java
index ad0e2fc916..fa417dfab8 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSoulboundListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestSoulboundListener.java
@@ -18,9 +18,9 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.entity.PlayerMock;
class TestSoulboundListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestVillagerTradingListener.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestVillagerTradingListener.java
index da15c02de0..6e7631be6a 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestVillagerTradingListener.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TestVillagerTradingListener.java
@@ -27,8 +27,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.items.misc.SyntheticEmerald;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestVillagerTradingListener {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemGroups.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemGroups.java
index d290992ff9..c701decffe 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemGroups.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemGroups.java
@@ -27,8 +27,8 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestItemGroups {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemHandlers.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemHandlers.java
index 4df0b505b9..5888b1e92d 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemHandlers.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestItemHandlers.java
@@ -19,7 +19,7 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.mocks.MockItemHandler;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestItemHandlers {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRechargeableItems.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRechargeableItems.java
index 59938126f5..bb7d65fbe2 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRechargeableItems.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRechargeableItems.java
@@ -18,7 +18,7 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.LoreBuilder;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestRechargeableItems {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRegistration.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRegistration.java
index 8364ca3409..f33023cdf1 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRegistration.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestRegistration.java
@@ -32,7 +32,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.setup.ResearchSetup;
import io.github.thebusybiscuit.slimefun4.implementation.setup.SlimefunItemSetup;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
@TestMethodOrder(value = OrderAnnotation.class)
class TestRegistration {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestSlimefunItemRegistration.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestSlimefunItemRegistration.java
index 1c0d4c24d9..d7fb8ab562 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestSlimefunItemRegistration.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/registration/TestSlimefunItemRegistration.java
@@ -17,7 +17,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.items.VanillaItem;
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestSlimefunItemRegistration {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/TestArmorTask.java b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/TestArmorTask.java
index 87995a039d..05f0243c30 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/TestArmorTask.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/TestArmorTask.java
@@ -28,8 +28,8 @@
import io.github.thebusybiscuit.slimefun4.test.TestUtilities;
import io.github.thebusybiscuit.slimefun4.test.mocks.MockHazmatSuit;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
class TestArmorTask {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/storage/backend/TestLegacyBackend.java b/src/test/java/io/github/thebusybiscuit/slimefun4/storage/backend/TestLegacyBackend.java
index 98653ee5b7..5653ed04fc 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/storage/backend/TestLegacyBackend.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/storage/backend/TestLegacyBackend.java
@@ -22,8 +22,8 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
import io.github.thebusybiscuit.slimefun4.api.gps.Waypoint;
import io.github.thebusybiscuit.slimefun4.api.player.PlayerProfile;
import io.github.thebusybiscuit.slimefun4.api.researches.Research;
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/test/TestUtilities.java b/src/test/java/io/github/thebusybiscuit/slimefun4/test/TestUtilities.java
index edd6a458af..bd0620b2ef 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/test/TestUtilities.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/test/TestUtilities.java
@@ -26,8 +26,8 @@
import org.junit.jupiter.api.Assertions;
import org.mockito.Mockito;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.block.BlockMock;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.block.BlockMock;
import io.github.bakedlibs.dough.items.CustomItemStack;
import io.github.thebusybiscuit.slimefun4.api.events.SlimefunBlockPlaceEvent;
import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/test/presets/SlimefunItemTest.java b/src/test/java/io/github/thebusybiscuit/slimefun4/test/presets/SlimefunItemTest.java
index 36218a9506..ed2a3efbc7 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/test/presets/SlimefunItemTest.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/test/presets/SlimefunItemTest.java
@@ -16,7 +16,7 @@
import io.github.thebusybiscuit.slimefun4.core.handlers.ItemUseHandler;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.block.BlockMock;
+import org.mockbukkit.mockbukkit.block.BlockMock;
/**
* This is a convenient interface for us to use in unit test classes
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChargeUtils.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChargeUtils.java
index 1f91b38415..1f56782d29 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChargeUtils.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChargeUtils.java
@@ -15,7 +15,7 @@
import io.github.bakedlibs.dough.data.persistent.PersistentDataAPI;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestChargeUtils {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChatUtils.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChatUtils.java
index 794b02e4b5..8072d6feff 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChatUtils.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestChatUtils.java
@@ -43,4 +43,14 @@ void testPluralization() {
Assertions.assertEquals("Bananas", ChatUtils.checkPlurality(input, 2));
}
+ @Test
+ @DisplayName("Test ChatUtils.crop(...)")
+ void testCrop() {
+ String longText = "abcdefghijklmnopqrstuvw";
+ Assertions.assertEquals(ChatColor.RED + "abcdefghijklmnop...", ChatUtils.crop(ChatColor.RED, longText));
+
+ String shortText = "short";
+ Assertions.assertEquals(ChatColor.BLUE + "short", ChatUtils.crop(ChatColor.BLUE, shortText));
+ }
+
}
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestFireworkUtils.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestFireworkUtils.java
index a32183d663..c633b47892 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestFireworkUtils.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestFireworkUtils.java
@@ -17,8 +17,8 @@
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.WorldMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.world.WorldMock;
class TestFireworkUtils {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestInfiniteBlockGenerators.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestInfiniteBlockGenerators.java
index 5d0d2fec68..09e9f76c9e 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestInfiniteBlockGenerators.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestInfiniteBlockGenerators.java
@@ -20,9 +20,9 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
-import be.seeseemelk.mockbukkit.ServerMock;
-import be.seeseemelk.mockbukkit.WorldMock;
+import org.mockbukkit.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.ServerMock;
+import org.mockbukkit.mockbukkit.world.WorldMock;
class TestInfiniteBlockGenerators {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestItemStackWrapper.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestItemStackWrapper.java
index 510584bbfc..c1922df67e 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestItemStackWrapper.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestItemStackWrapper.java
@@ -17,7 +17,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.utils.itemstack.ItemStackWrapper;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestItemStackWrapper {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestLoreComparison.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestLoreComparison.java
index 7441f22502..d24e59ad11 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestLoreComparison.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestLoreComparison.java
@@ -12,7 +12,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestLoreComparison {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestMinecraftVersion.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestMinecraftVersion.java
index 74a2622cce..d101574c62 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestMinecraftVersion.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestMinecraftVersion.java
@@ -14,10 +14,12 @@ void testMatches() {
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_16.isMinecraftVersion(16, -1));
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_17.isMinecraftVersion(17, -1));
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20_5.isMinecraftVersion(20, 5));
+ Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_21.isMinecraftVersion(21, -1));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_17.isMinecraftVersion(16, -1));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_16.isMinecraftVersion(0, -1));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_20_5.isMinecraftVersion(20, 4));
+ Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_21.isMinecraftVersion(20, -1));
}
@Test
@@ -28,10 +30,13 @@ void testMatchesMinor() {
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20.isMinecraftVersion(20, 4));
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20_5.isMinecraftVersion(20, 6));
+ Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_21.isMinecraftVersion(21, 7));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_20.isMinecraftVersion(20, 5));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_16.isMinecraftVersion(17, 1));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_20_5.isMinecraftVersion(20, 4));
+ Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_21.isMinecraftVersion(21, 8));
+
}
@Test
@@ -42,8 +47,10 @@ void testAtLeast() {
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_17.isAtLeast(MinecraftVersion.MINECRAFT_1_17));
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20.isAtLeast(MinecraftVersion.MINECRAFT_1_20));
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20_5.isAtLeast(MinecraftVersion.MINECRAFT_1_20));
+ Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_21.isAtLeast(MinecraftVersion.MINECRAFT_1_20_5));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_17.isAtLeast(MinecraftVersion.MINECRAFT_1_18));
+ Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_20_5.isAtLeast(MinecraftVersion.MINECRAFT_1_21));
}
@Test
@@ -61,9 +68,11 @@ void testAtLeastUnknown() {
void testIsBefore() {
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_16.isBefore(MinecraftVersion.MINECRAFT_1_17));
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_16.isBefore(MinecraftVersion.MINECRAFT_1_18));
+ Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20_5.isBefore(MinecraftVersion.MINECRAFT_1_21));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_17.isBefore(MinecraftVersion.MINECRAFT_1_17));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_17.isBefore(MinecraftVersion.MINECRAFT_1_16));
+ Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_21.isBefore(MinecraftVersion.MINECRAFT_1_20_5));
}
@Test
@@ -82,6 +91,9 @@ void testIsBeforeMinor() {
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_20_5.isBefore(20, 4));
Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_20_5.isBefore(20, 5));
Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20_5.isBefore(20, 6));
+ Assertions.assertFalse(MinecraftVersion.MINECRAFT_1_21.isBefore(21, 7));
+ Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_21.isBefore(21, 8));
+ Assertions.assertTrue(MinecraftVersion.MINECRAFT_1_20_5.isBefore(21, 0));
}
@Test
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestSoulboundItem.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestSoulboundItem.java
index 9720494842..56406fb931 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestSoulboundItem.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestSoulboundItem.java
@@ -17,7 +17,7 @@
import io.github.thebusybiscuit.slimefun4.core.attributes.Soulbound;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestSoulboundItem {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestVersionedCompatibility.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestVersionedCompatibility.java
new file mode 100644
index 0000000000..bd80a63073
--- /dev/null
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/TestVersionedCompatibility.java
@@ -0,0 +1,78 @@
+package io.github.thebusybiscuit.slimefun4.utils;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+import org.junit.jupiter.api.Test;
+
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedEnchantment;
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedEntityType;
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedPotionEffectType;
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedPotionType;
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedItemFlag;
+import io.github.thebusybiscuit.slimefun4.utils.compatibility.VersionedParticle;
+import org.bukkit.Particle;
+
+class TestVersionedCompatibility {
+
+ @Test
+ void testNewEntityTypes() {
+ assertNotNull(VersionedEntityType.ARMADILLO);
+ assertNotNull(VersionedEntityType.BOGGED);
+ assertNotNull(VersionedEntityType.BREEZE);
+ assertNotNull(VersionedEntityType.WIND_CHARGE);
+ assertNotNull(VersionedEntityType.CREAKING);
+ }
+
+ @Test
+ void testNewEnchantments() {
+ assertNotNull(VersionedEnchantment.DENSITY);
+ assertNotNull(VersionedEnchantment.BREACH);
+ assertNotNull(VersionedEnchantment.WIND_BURST);
+ }
+
+ @Test
+ void testNewPotionEffects() {
+ assertNotNull(VersionedPotionEffectType.OOZING);
+ assertNotNull(VersionedPotionEffectType.WEAVING);
+ assertNotNull(VersionedPotionEffectType.WIND_CHARGED);
+ assertNotNull(VersionedPotionEffectType.INFESTED);
+ }
+
+ @Test
+ void testNewPotionTypes() {
+ assertNotNull(VersionedPotionType.OOZING);
+ assertNotNull(VersionedPotionType.WEAVING);
+ assertNotNull(VersionedPotionType.WIND_CHARGED);
+ assertNotNull(VersionedPotionType.INFESTED);
+ }
+
+ @Test
+ void testNewItemFlag() {
+ assertNotNull(VersionedItemFlag.HIDE_TOOLTIP);
+ }
+
+ @Test
+ void testNewParticles() {
+ assertParticle("BREEZE_WIND", VersionedParticle.BREEZE_WIND);
+ assertParticle("TRIAL_SPAWNER_DETECTION", VersionedParticle.TRIAL_SPAWNER_DETECTION);
+ assertParticle("TRIAL_SPAWNER_DETECTION_OMINOUS", VersionedParticle.TRIAL_SPAWNER_DETECTION_OMINOUS);
+ assertParticle("TRIAL_SPAWNER_EJECTION", VersionedParticle.TRIAL_SPAWNER_EJECTION);
+ assertParticle("TRIAL_SPAWNER_EJECTION_OMINOUS", VersionedParticle.TRIAL_SPAWNER_EJECTION_OMINOUS);
+ assertParticle("TRIAL_SPAWNER_SMOKE", VersionedParticle.TRIAL_SPAWNER_SMOKE);
+ assertParticle("TRIAL_SPAWNER_SMOKE_OMINOUS", VersionedParticle.TRIAL_SPAWNER_SMOKE_OMINOUS);
+ assertParticle("GUST", VersionedParticle.GUST);
+ assertParticle("SMALL_GUST", VersionedParticle.SMALL_GUST);
+ assertParticle("GUST_EMITTER_LARGE", VersionedParticle.GUST_EMITTER_LARGE);
+ assertParticle("GUST_EMITTER_SMALL", VersionedParticle.GUST_EMITTER_SMALL);
+ }
+
+ private void assertParticle(String field, Particle particle) {
+ try {
+ Particle.class.getDeclaredField(field);
+ assertNotNull(particle);
+ } catch (NoSuchFieldException e) {
+ assertNull(particle);
+ }
+ }
+}
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMap.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMap.java
index 756c5044cf..13022b3f5d 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMap.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMap.java
@@ -16,7 +16,7 @@
import io.github.thebusybiscuit.slimefun4.api.exceptions.BiomeMapException;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestBiomeMap {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapCompatibility.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapCompatibility.java
index 99f7c6100f..064a7eb9fb 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapCompatibility.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapCompatibility.java
@@ -29,7 +29,7 @@
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.utils.JsonUtils;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
/**
* This test checks if biome maps work across multiple versions of Minecraft.
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapParser.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapParser.java
index 0aa6bf9c81..b29e95bb41 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapParser.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/biomes/TestBiomeMapParser.java
@@ -17,7 +17,7 @@
import io.github.thebusybiscuit.slimefun4.api.exceptions.BiomeMapException;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestBiomeMapParser {
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestSlimefunTags.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestSlimefunTags.java
index 0e9fe8e3f6..f48d5bca7e 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestSlimefunTags.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestSlimefunTags.java
@@ -19,7 +19,7 @@
import io.github.thebusybiscuit.slimefun4.api.exceptions.TagMisconfigurationException;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestSlimefunTags {
@@ -126,6 +126,14 @@ void testGetTag() {
Assertions.assertThrows(IllegalArgumentException.class, () -> SlimefunTag.getTag(null));
}
+ @Test
+ @DisplayName("Crafter should be cargo-compatible")
+ void testCrafterIsCargoStorage() throws TagMisconfigurationException {
+ SlimefunTag.reloadAll();
+
+ Assertions.assertTrue(SlimefunTag.CARGO_SUPPORTED_STORAGE_BLOCKS.isTagged(Material.CRAFTER));
+ }
+
private void assertNotCyclic(@Nonnull SlimefunTag tag) {
Set visiting = new HashSet<>();
Set visited = new HashSet<>();
diff --git a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestTagParser.java b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestTagParser.java
index 68f3748715..029da3786c 100644
--- a/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestTagParser.java
+++ b/src/test/java/io/github/thebusybiscuit/slimefun4/utils/tags/TestTagParser.java
@@ -12,7 +12,7 @@
import io.github.thebusybiscuit.slimefun4.api.exceptions.TagMisconfigurationException;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
-import be.seeseemelk.mockbukkit.MockBukkit;
+import org.mockbukkit.mockbukkit.MockBukkit;
class TestTagParser {
diff --git a/src/test/resources/biomes/1.21.x.json b/src/test/resources/biomes/1.21.x.json
new file mode 100644
index 0000000000..dfe92f1834
--- /dev/null
+++ b/src/test/resources/biomes/1.21.x.json
@@ -0,0 +1,67 @@
+[
+ "minecraft:ocean",
+ "minecraft:plains",
+ "minecraft:desert",
+ "minecraft:windswept_hills",
+ "minecraft:forest",
+ "minecraft:taiga",
+ "minecraft:swamp",
+ "minecraft:mangrove_swamp",
+ "minecraft:river",
+ "minecraft:nether_wastes",
+ "minecraft:the_end",
+ "minecraft:frozen_ocean",
+ "minecraft:frozen_river",
+ "minecraft:snowy_plains",
+ "minecraft:mushroom_fields",
+ "minecraft:beach",
+ "minecraft:jungle",
+ "minecraft:sparse_jungle",
+ "minecraft:deep_ocean",
+ "minecraft:stony_shore",
+ "minecraft:snowy_beach",
+ "minecraft:birch_forest",
+ "minecraft:dark_forest",
+ "minecraft:snowy_taiga",
+ "minecraft:old_growth_pine_taiga",
+ "minecraft:windswept_forest",
+ "minecraft:savanna",
+ "minecraft:savanna_plateau",
+ "minecraft:badlands",
+ "minecraft:wooded_badlands",
+ "minecraft:small_end_islands",
+ "minecraft:end_midlands",
+ "minecraft:end_highlands",
+ "minecraft:end_barrens",
+ "minecraft:warm_ocean",
+ "minecraft:lukewarm_ocean",
+ "minecraft:cold_ocean",
+ "minecraft:deep_lukewarm_ocean",
+ "minecraft:deep_cold_ocean",
+ "minecraft:deep_frozen_ocean",
+ "minecraft:the_void",
+ "minecraft:sunflower_plains",
+ "minecraft:windswept_gravelly_hills",
+ "minecraft:flower_forest",
+ "minecraft:ice_spikes",
+ "minecraft:old_growth_birch_forest",
+ "minecraft:old_growth_spruce_taiga",
+ "minecraft:windswept_savanna",
+ "minecraft:eroded_badlands",
+ "minecraft:bamboo_jungle",
+ "minecraft:soul_sand_valley",
+ "minecraft:crimson_forest",
+ "minecraft:warped_forest",
+ "minecraft:basalt_deltas",
+ "minecraft:dripstone_caves",
+ "minecraft:lush_caves",
+ "minecraft:deep_dark",
+ "minecraft:meadow",
+ "minecraft:grove",
+ "minecraft:snowy_slopes",
+ "minecraft:frozen_peaks",
+ "minecraft:jagged_peaks",
+ "minecraft:stony_peaks",
+ "minecraft:cherry_grove",
+ "minecraft:custom",
+]
\ No newline at end of file