Skip to content

Commit b0ef568

Browse files
authored
Update to Minecraft 1.21.11 (#6364)
Aliases TBD
1 parent faa02b5 commit b0ef568

File tree

9 files changed

+438
-7
lines changed

9 files changed

+438
-7
lines changed

Essentials/src/main/java/com/earth2me/essentials/Mob.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ public enum Mob {
127127
CREAKING("Creaking", Enemies.ENEMY, "CREAKING"),
128128
HAPPY_GHAST("HappyGhast", Enemies.FRIENDLY, "HAPPY_GHAST"),
129129
COPPER_GOLEM("CopperGolem", Enemies.FRIENDLY, "COPPER_GOLEM"),
130+
CAMEL_HUSK("CamelHusk", Enemies.NEUTRAL, "CAMEL_HUSK"),
131+
NAUTILUS("Nautilus", Enemies.NEUTRAL, "NAUTILUS"),
132+
ZOMBIE_NAUTILUS("ZombieNautilus", Enemies.NEUTRAL, "ZOMBIE_NAUTILUS"),
133+
PARCHED("Parched", Enemies.ENEMY, "PARCHED"),
130134
;
131135

132136
private static final Map<String, Mob> hashMap = new HashMap<>();

Essentials/src/main/java/com/earth2me/essentials/MobCompat.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import net.ess3.nms.refl.ReflUtil;
77
import org.bukkit.Material;
88
import org.bukkit.TreeSpecies;
9+
import org.bukkit.entity.AbstractNautilus;
910
import org.bukkit.entity.Axolotl;
1011
import org.bukkit.entity.Boat;
1112
import org.bukkit.entity.Camel;
@@ -26,6 +27,7 @@
2627
import org.bukkit.entity.TropicalFish;
2728
import org.bukkit.entity.Villager;
2829
import org.bukkit.entity.Wolf;
30+
import org.bukkit.entity.ZombieNautilus;
2931
import org.bukkit.inventory.ItemStack;
3032

3133
import java.lang.invoke.MethodHandle;
@@ -69,6 +71,9 @@ public final class MobCompat {
6971
public static final EntityType FROG = getEntityType("FROG");
7072
public static final EntityType CAMEL = getEntityType("CAMEL");
7173
public static final EntityType SALMON = getEntityType("SALMON");
74+
public static final EntityType CAMEL_HUSK = getEntityType("CAMEL_HUSK");
75+
public static final EntityType NAUTILUS = getEntityType("NAUTILUS");
76+
public static final EntityType ZOMBIE_NAUTILUS = getEntityType("ZOMBIE_NAUTILUS");
7277

7378
// Constants for mobs that have changed since earlier versions
7479
public static final EntityType CAT = getEntityType("CAT", "OCELOT");
@@ -304,6 +309,30 @@ public static void setPigVariant(final Entity spawned, final String variant) {
304309
}
305310
}
306311

312+
public static void setZombieNautilusVariant(final Entity spawned, final String variant) {
313+
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_21_11_R01)) {
314+
return;
315+
}
316+
317+
if (spawned instanceof ZombieNautilus) {
318+
//noinspection DataFlowIssue
319+
((ZombieNautilus) spawned).setVariant(RegistryUtil.valueOf(ZombieNautilus.Variant.class, variant));
320+
}
321+
}
322+
323+
public static void setNautilusSaddle(final Entity entity, final Player target) {
324+
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_21_11_R01)) {
325+
return;
326+
}
327+
328+
if (entity instanceof AbstractNautilus) {
329+
final AbstractNautilus nautilus = (AbstractNautilus) entity;
330+
nautilus.setTamed(true);
331+
nautilus.setOwner(target);
332+
nautilus.getInventory().setSaddle(new ItemStack(Material.SADDLE, 1));
333+
}
334+
}
335+
307336
public enum CatType {
308337
// These are (loosely) Mojang names for the cats
309338
SIAMESE("SIAMESE", "SIAMESE_CAT"),

Essentials/src/main/java/com/earth2me/essentials/MobData.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ public enum MobData {
8282
SADDLE_HORSE("saddle", EntityType.HORSE, Data.HORSESADDLE, true),
8383
GOLD_ARMOR_HORSE("goldarmor", EntityType.HORSE, EnumUtil.getMaterial("GOLDEN_HORSE_ARMOR", "GOLD_BARDING"), true),
8484
DIAMOND_ARMOR_HORSE("diamondarmor", EntityType.HORSE, EnumUtil.getMaterial("DIAMOND_HORSE_ARMOR", "DIAMOND_BARDING"), true),
85+
NETHERITE_HORSE_ARMOR("netheritearmor", EntityType.HORSE, EnumUtil.getMaterial("NETHERITE_HORSE_ARMOR"), true),
8586
ARMOR_HORSE("armor", EntityType.HORSE, EnumUtil.getMaterial("IRON_HORSE_ARMOR", "IRON_BARDING"), true),
8687
SIAMESE_CAT("siamese", MobCompat.CAT, MobCompat.CatType.SIAMESE, true),
8788
WHITE_CAT("white", MobCompat.CAT, MobCompat.CatType.WHITE, false),
@@ -231,6 +232,11 @@ public enum MobData {
231232
TEMPERATE_PIG("temperate", Pig.class, "pig:TEMPERATE", true),
232233
WARM_PIG("warm", Pig.class, "pig:WARM", true),
233234
COLD_PIG("cold", Pig.class, "pig:COLD", true),
235+
SADDLE_CAMEL_HUSK("saddle", MobCompat.CAMEL_HUSK, Data.CAMELHUSKSADDLE, true),
236+
TEMPERATE_ZOMBIE_NAUTILUS("temperate", MobCompat.ZOMBIE_NAUTILUS, "zombienautilus:TEMPERATE", true),
237+
WARM_ZOMBIE_NAUTILUS("warm", MobCompat.ZOMBIE_NAUTILUS, "zombienautilus:WARM", true),
238+
SADDLE_NAUTILUS("saddle", MobCompat.NAUTILUS, Data.NAUTILUSSADDLE, true),
239+
SADDLE_ZOMBIE_NAUTILUS("saddle", MobCompat.ZOMBIE_NAUTILUS, Data.NAUTILUSSADDLE, true)
234240
;
235241

236242
final private String nickname;
@@ -411,6 +417,12 @@ public void setData(final Entity spawned, final Player target, final String rawD
411417
((Goat) spawned).setScreaming(true);
412418
} else if (this.value.equals(Data.CAMELSADDLE)) {
413419
MobCompat.setCamelSaddle(spawned, target);
420+
} else if (this.value.equals(Data.CAMELHUSKSADDLE)) {
421+
MobCompat.setCamelSaddle(spawned, target);
422+
} else if (this.value.equals(Data.NAUTILUSSADDLE)) {
423+
MobCompat.setNautilusSaddle(spawned, target);
424+
} else if (this.value.equals(Data.ZOMBIENAUTILUSSADDLE)) {
425+
MobCompat.setNautilusSaddle(spawned, target);
414426
} else if (this.value instanceof MobCompat.BoatVariant) {
415427
MobCompat.setBoatVariant(spawned, (MobCompat.BoatVariant) this.value);
416428
} else if (this.value instanceof String) {
@@ -461,6 +473,9 @@ public void setData(final Entity spawned, final Player target, final String rawD
461473
case "pig":
462474
MobCompat.setPigVariant(spawned, split[1]);
463475
break;
476+
case "zombienautilus":
477+
MobCompat.setZombieNautilusVariant(spawned, split[1]);
478+
break;
464479
}
465480
} else {
466481
Essentials.getWrappedLogger().warning("Unknown mob data type: " + this.toString());
@@ -486,5 +501,8 @@ public enum Data {
486501
FISH_PATTERN_COLOR,
487502
GOAT_SCREAMING,
488503
CAMELSADDLE,
504+
CAMELHUSKSADDLE,
505+
NAUTILUSSADDLE,
506+
ZOMBIENAUTILUSSADDLE,
489507
}
490508
}

Essentials/src/main/java/com/earth2me/essentials/Potions.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,14 @@ public final class Potions {
161161
ALIASPOTIONS.put("wind", PotionEffectType.WIND_CHARGED);
162162
} catch (final Throwable ignored) {
163163
}
164+
165+
// 1.21.11
166+
try {
167+
POTIONS.put("breathofthenautilus", PotionEffectType.BREATH_OF_THE_NAUTILUS);
168+
ALIASPOTIONS.put("nautilusbreath", PotionEffectType.BREATH_OF_THE_NAUTILUS);
169+
ALIASPOTIONS.put("nautilus", PotionEffectType.BREATH_OF_THE_NAUTILUS);
170+
} catch (final Throwable ignored) {
171+
}
164172
}
165173

166174
private Potions() {

Essentials/src/main/java/com/earth2me/essentials/utils/VersionUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ public final class VersionUtil {
4343
public static final BukkitVersion v1_21_3_R01 = BukkitVersion.fromString("1.21.3-R0.1-SNAPSHOT");
4444
public static final BukkitVersion v1_21_5_R01 = BukkitVersion.fromString("1.21.5-R0.1-SNAPSHOT");
4545
public static final BukkitVersion v1_21_8_R01 = BukkitVersion.fromString("1.21.8-R0.1-SNAPSHOT");
46-
public static final BukkitVersion v1_21_10_R01 = BukkitVersion.fromString("1.21.10-R0.1-SNAPSHOT");
46+
public static final BukkitVersion v1_21_11_R01 = BukkitVersion.fromString("1.21.11-R0.1-SNAPSHOT");
4747

48-
private static final Set<BukkitVersion> supportedVersions = ImmutableSet.of(v1_8_8_R01, v1_9_4_R01, v1_10_2_R01, v1_11_2_R01, v1_12_2_R01, v1_13_2_R01, v1_14_4_R01, v1_15_2_R01, v1_16_5_R01, v1_17_1_R01, v1_18_2_R01, v1_19_4_R01, v1_20_6_R01, v1_21_10_R01);
48+
private static final Set<BukkitVersion> supportedVersions = ImmutableSet.of(v1_8_8_R01, v1_9_4_R01, v1_10_2_R01, v1_11_2_R01, v1_12_2_R01, v1_13_2_R01, v1_14_4_R01, v1_15_2_R01, v1_16_5_R01, v1_17_1_R01, v1_18_2_R01, v1_19_4_R01, v1_20_6_R01, v1_21_11_R01);
4949

5050
public static final boolean PRE_FLATTENING = VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01);
5151

0 commit comments

Comments
 (0)