Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
moom0o committed Nov 19, 2022
2 parents d470d6e + 88a4031 commit 4bf686e
Showing 1 changed file with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Boat;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
Expand Down Expand Up @@ -94,25 +96,27 @@ public void onPacketReceiving(PacketEvent event) {
return;
}

Player e = event.getPlayer();
if (e.isInsideVehicle() && e.getVehicle().getType() == EntityType.BOAT) {
if (boatLevels.get(e.getUniqueId()) != null) {
if (boatLevels.get(e.getUniqueId()) > plugin.getConfig().getInt("MaxEntityPacketsPer10Seconds")) {
Player player = event.getPlayer();
Entity vehicle = player.getVehicle();

if (vehicle instanceof Boat) {
if (boatLevels.get(player.getUniqueId()) != null) {
if (boatLevels.get(player.getUniqueId()) > plugin.getConfig().getInt("MaxEntityPacketsPer10Seconds")) {
new BukkitRunnable() {
public void run() {
e.getVehicle().remove();
vehicle.remove();
}
}.runTask(plugin);
if (plugin.getConfig().getBoolean("LogBoatFlyEvents")) {
plugin.getLogger().warning(e.getName() + " prevented from boatflying");
plugin.getLogger().warning(player.getName() + " prevented from boatflying");
}
} else {
boatLevels.merge(e.getUniqueId(), 1, Integer::sum);
Bukkit.getServer().getScheduler().runTaskLater(plugin, () -> boatLevels.put(e.getUniqueId(), boatLevels.get(e.getUniqueId()) - 1), 200L);
boatLevels.merge(player.getUniqueId(), 1, Integer::sum);
Bukkit.getServer().getScheduler().runTaskLater(plugin, () -> boatLevels.put(player.getUniqueId(), boatLevels.get(player.getUniqueId()) - 1), 200L);
}
} else {
boatLevels.put(e.getUniqueId(), 1);
Bukkit.getServer().getScheduler().runTaskLater(plugin, () -> boatLevels.put(e.getUniqueId(), boatLevels.get(e.getUniqueId()) - 1), 200L);
boatLevels.put(player.getUniqueId(), 1);
Bukkit.getServer().getScheduler().runTaskLater(plugin, () -> boatLevels.put(player.getUniqueId(), boatLevels.get(player.getUniqueId()) - 1), 200L);
}

}
Expand Down

0 comments on commit 4bf686e

Please sign in to comment.