diff --git a/pom.xml b/pom.xml
index 3d624ef..e5eb1ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,8 +34,8 @@
maven-compiler-plugin
3.13.0
- 17
- 17
+ 21
+ 21
@@ -96,7 +96,7 @@
io.papermc.paper
paper-api
- 1.19.4-R0.1-SNAPSHOT
+ 1.21-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/com/kicas/rp/event/EntityEventHandler.java b/src/main/java/com/kicas/rp/event/EntityEventHandler.java
index d997952..371529f 100644
--- a/src/main/java/com/kicas/rp/event/EntityEventHandler.java
+++ b/src/main/java/com/kicas/rp/event/EntityEventHandler.java
@@ -132,7 +132,7 @@ public void onEntityFormBlock(EntityBlockFormEvent event) {
if (flags == null)
return;
- if ((event.getEntity().getType() == EntityType.SNOWMAN && !flags.isAllowed(RegionFlag.ANIMAL_GRIEF_BLOCKS)))
+ if ((event.getEntity().getType() == EntityType.SNOW_GOLEM && !flags.isAllowed(RegionFlag.ANIMAL_GRIEF_BLOCKS)))
event.setCancelled(true);
else if (event.getEntity().getType() == EntityType.PLAYER) {
if (!flags.isAllowed(RegionFlag.ICE_CHANGE))
@@ -151,7 +151,7 @@ else if (!flags.getFlagMeta(RegionFlag.TRUST).hasTrust((Player) event
*/
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEntityExplosion(EntityExplodeEvent event) {
- if (EntityType.PRIMED_TNT.equals(event.getEntityType())) {
+ if (EntityType.TNT.equals(event.getEntityType())) {
// If the explosion occurs in a location where tnt is not allowed, cancel the event altogether
FlagContainer flags = RegionProtection.getDataManager().getFlagsAt(event.getLocation());
if (flags != null && !flags.isAllowed(RegionFlag.TNT)) {
diff --git a/src/main/java/com/kicas/rp/event/PlayerEventHandler.java b/src/main/java/com/kicas/rp/event/PlayerEventHandler.java
index 1a9d899..3eb72f5 100644
--- a/src/main/java/com/kicas/rp/event/PlayerEventHandler.java
+++ b/src/main/java/com/kicas/rp/event/PlayerEventHandler.java
@@ -444,7 +444,7 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
}
// Handle breaking leash hitches
- if (event.getRightClicked().getType() == EntityType.LEASH_HITCH) {
+ if (event.getRightClicked().getType() == EntityType.LEASH_KNOT) {
if (flags.getFlagMeta(RegionFlag.DENY_BREAK).isBlocked(Material.LEAD)) {
if (EquipmentSlot.HAND == event.getHand())
event.getPlayer().sendMessage(ChatColor.RED + "You cannot break that here.");
@@ -464,7 +464,7 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
Material heldItem = Materials.stackType(Materials.heldItem(event.getPlayer(), event.getHand()));
if ((heldItem == Material.NAME_TAG ||
- (heldItem == Material.SHEARS && event.getRightClicked().getType() == EntityType.MUSHROOM_COW)) &&
+ (heldItem == Material.SHEARS && event.getRightClicked().getType() == EntityType.MOOSHROOM)) &&
!flags.getFlagMeta(RegionFlag.TRUST).hasTrust(event.getPlayer(), TrustLevel.BUILD, flags)) {
if (EquipmentSlot.HAND == event.getHand())
event.getPlayer().sendMessage(ChatColor.RED + "This belongs to " + flags.getOwnerName() + ".");
@@ -971,7 +971,7 @@ private void onPlayerTranslocate(PlayerMoveEvent event, boolean isTeleport) {
if (!allowFlight && (player.isFlying() || player.getFallDistance() > 3)) {
player.addPotionEffect(new PotionEffect(
- PotionEffectType.DAMAGE_RESISTANCE,
+ PotionEffectType.RESISTANCE,
200, 4,false, false, false
));
}
diff --git a/src/main/java/com/kicas/rp/util/Entities.java b/src/main/java/com/kicas/rp/util/Entities.java
index 9086f6c..b9c06e3 100644
--- a/src/main/java/com/kicas/rp/util/Entities.java
+++ b/src/main/java/com/kicas/rp/util/Entities.java
@@ -18,16 +18,16 @@
public final class Entities {
private static final List CHEST_HOLDERS = Arrays.asList(MULE, DONKEY, LLAMA);
private static final List INVENTORY_HOLDERS = Arrays.asList(ARMOR_STAND, ITEM_FRAME, TRADER_LLAMA,
- MINECART_CHEST, MINECART_FURNACE, MINECART_HOPPER, HORSE, SKELETON_HORSE, ZOMBIE_HORSE);
- private static final List INTERACTABLES = Arrays.asList(SHEEP, COW, MUSHROOM_COW, VILLAGER, BEE,
+ CHEST_MINECART, FURNACE_MINECART, HOPPER_MINECART, HORSE, SKELETON_HORSE, ZOMBIE_HORSE);
+ private static final List INTERACTABLES = Arrays.asList(SHEEP, COW, MOOSHROOM, VILLAGER, BEE,
WANDERING_TRADER, TRADER_LLAMA, TURTLE, CHICKEN, CAT, FOX, OCELOT, PANDA, PARROT, PIG, RABBIT, WOLF);
private static final List HOSTILES = Arrays.asList(WITHER_SKELETON, WITHER, SILVERFISH, ENDERMAN,
CAVE_SPIDER, SPIDER, VINDICATOR, WITCH, SLIME, CREEPER, BLAZE, ZOMBIE, SKELETON, EntityType.DROWNED,
ELDER_GUARDIAN, ENDER_DRAGON, ENDERMITE, EVOKER, GHAST, GIANT, GUARDIAN, HUSK, ILLUSIONER, MAGMA_CUBE,
PHANTOM, PILLAGER, RAVAGER, SHULKER, STRAY, VEX, ZOMBIE_VILLAGER, ZOMBIFIED_PIGLIN, ZOGLIN, HOGLIN);
- private static final List AGGERABLES = Arrays.asList(POLAR_BEAR, IRON_GOLEM, PIGLIN, WOLF, SNOWMAN, BEE);
+ private static final List AGGERABLES = Arrays.asList(POLAR_BEAR, IRON_GOLEM, PIGLIN, WOLF, SNOW_GOLEM, BEE);
private static final List PASSIVES = Arrays.asList(CAT, CHICKEN, COW, DONKEY, DOLPHIN, FOX, HORSE,
- LLAMA, MUSHROOM_COW, MULE, OCELOT, PANDA, PARROT, PIG, RABBIT, SHEEP, TURTLE,
+ LLAMA, MOOSHROOM, MULE, OCELOT, PANDA, PARROT, PIG, RABBIT, SHEEP, TURTLE,
WANDERING_TRADER, TRADER_LLAMA, VILLAGER, STRIDER);
private static final List ARTIFICIAL_SPAWN_REASONS = Arrays.asList(SPAWNER,
SPAWNER_EGG, BUILD_SNOWMAN, BUILD_IRONGOLEM, BUILD_WITHER, BREEDING, DISPENSE_EGG, CUSTOM, DEFAULT);
diff --git a/src/main/java/com/kicas/rp/util/Materials.java b/src/main/java/com/kicas/rp/util/Materials.java
index 8bbdda6..0eb191a 100644
--- a/src/main/java/com/kicas/rp/util/Materials.java
+++ b/src/main/java/com/kicas/rp/util/Materials.java
@@ -77,8 +77,8 @@ public static List materialsEndingWith(String with) {
*/
@SuppressWarnings("deprecation")
public static List materialsEndingWith(String with, List except) {
- return Arrays.stream(Material.values()).filter(material -> !material.isLegacy() &&
- material.name().endsWith(with) && !except.contains(material)).collect(Collectors.toList());
+ return Arrays.stream(values()).filter(material -> !material.isLegacy() &&
+ material.name().endsWith(with) && !except.contains(material)).collect(Collectors.toList());
}
/**
@@ -196,28 +196,39 @@ public static boolean hasRecipe(Material material) {
* @return the material associated with the given entity, or AIR if not material is associated.
*/
public static Material forEntity(Entity entity) {
- if (entity instanceof Boat) {
- switch (((Boat) entity).getWoodType()) {
- case GENERIC:
- return Material.OAK_BOAT;
- case REDWOOD:
- return Material.SPRUCE_BOAT;
- default:
- return Material.valueOf(((Boat) entity).getWoodType().name() + "_BOAT");
- }
+ if (entity instanceof ChestBoat boat) {
+ return switch (boat.getBoatType()) {
+ case OAK -> OAK_CHEST_BOAT;
+ case SPRUCE -> SPRUCE_CHEST_BOAT;
+ case BIRCH -> BIRCH_CHEST_BOAT;
+ case JUNGLE -> JUNGLE_CHEST_BOAT;
+ case ACACIA -> ACACIA_CHEST_BOAT;
+ case CHERRY -> CHERRY_CHEST_BOAT;
+ case DARK_OAK -> DARK_OAK_CHEST_BOAT;
+ case MANGROVE -> MANGROVE_CHEST_BOAT;
+ case BAMBOO -> BAMBOO_CHEST_RAFT;
+ };
}
- switch (entity.getType()) {
- case MINECART_COMMAND: return COMMAND_BLOCK_MINECART;
- case MINECART_CHEST: return CHEST_MINECART;
- case MINECART_TNT: return TNT_MINECART;
- case MINECART_FURNACE: return FURNACE_MINECART;
- case MINECART_HOPPER: return HOPPER_MINECART;
- case LEASH_HITCH: return LEAD;
- default:
- {
- Material mat = Utils.safeValueOf(Material::valueOf, entity.getType().name());
- return mat == null ? AIR : mat;
- }
+ else if (entity instanceof Boat boat) {
+ return switch (boat.getBoatType()) {
+ case OAK -> OAK_BOAT;
+ case SPRUCE -> SPRUCE_BOAT;
+ case BIRCH -> BIRCH_BOAT;
+ case JUNGLE -> JUNGLE_BOAT;
+ case ACACIA -> ACACIA_BOAT;
+ case CHERRY -> CHERRY_BOAT;
+ case DARK_OAK -> DARK_OAK_BOAT;
+ case MANGROVE -> MANGROVE_BOAT;
+ case BAMBOO -> BAMBOO_RAFT;
+ };
+ } else {
+ return switch (entity.getType()) {
+ case LEASH_KNOT -> LEAD;
+ default -> {
+ Material mat = Utils.safeValueOf(Material::valueOf, entity.getType().name());
+ yield mat == null ? AIR : mat;
+ }
+ };
}
}