diff --git a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/DeathrunChallengeEventMonth.java b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/DeathrunChallengeEventMonth.java index 92c3d37..76ea1ee 100644 --- a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/DeathrunChallengeEventMonth.java +++ b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/DeathrunChallengeEventMonth.java @@ -31,9 +31,13 @@ import org.bukkit.NamespacedKey; import org.bukkit.World; import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.AbstractHorse; import org.bukkit.entity.Animals; import org.bukkit.entity.Boat; import org.bukkit.entity.ChestBoat; +import org.bukkit.entity.Horse; import org.bukkit.entity.Monster; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -788,10 +792,24 @@ private static void logPlayerSpeed(Player player, int speed) { int maxSpeed = 10; - if (player.getVehicle() != null && player.getVehicle() instanceof Boat) { - maxSpeed = 35; + if (player.getVehicle() != null) { + if (player.getVehicle() instanceof Boat boat) { + Block block = boat.getLocation().getBlock().getRelative(BlockFace.DOWN); + if (block.getType() == Material.ICE || block.getType() == Material.PACKED_ICE || block.getType() == Material.BLUE_ICE) { + maxSpeed = 40; + } + } + if (player.getVehicle() instanceof AbstractHorse) { + maxSpeed = 15; + } } else if (player.hasPotionEffect(PotionEffectType.DOLPHINS_GRACE)) { maxSpeed = 11; + ItemStack boots = player.getInventory().getBoots(); + if (boots != null && boots.getItemMeta().hasEnchant(Enchantment.DEPTH_STRIDER)) { + maxSpeed = 40; + } + } else if (player.isRiptiding()) { + maxSpeed = 50; } if (speed > maxSpeed) { String gamemode = "Gamemode: " + player.getGameMode();