50 lines
3.2 KiB
Diff
50 lines
3.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: l_MrBoom_l <admin@epserv.ru>
|
|
Date: Wed, 30 Sep 2020 18:20:12 +0300
|
|
Subject: [PATCH] Configurable flight checks
|
|
|
|
Original code by YatopiaMC, licensed under MIT
|
|
You can find the original code on https://github.com/YatopiaMC/Yatopia
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
index f0e7c7c84052f29349b60ad06ec4f9ee1771f4bb..62e348c46b7a48e83a5bed5bc7bfa0878e61bc3c 100644
|
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
@@ -316,7 +316,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
|
++this.tickCount;
|
|
this.knownMovePacketCount = this.receivedMovePacketCount;
|
|
if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger()) {
|
|
- if (++this.aboveGroundTickCount > 80) {
|
|
+ if (wtf.etil.mirai.MiraiConfig.checkFlying && ++this.aboveGroundTickCount > 80) { // Yatopia - Configurable flight checks
|
|
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString());
|
|
this.disconnect(com.destroystokyo.paper.PaperConfig.flyingKickPlayerMessage, org.bukkit.event.player.PlayerKickEvent.Cause.FLYING_PLAYER); // Paper - use configurable kick message & kick event cause
|
|
return;
|
|
@@ -335,7 +335,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
|
this.vehicleLastGoodY = this.lastVehicle.getY();
|
|
this.vehicleLastGoodZ = this.lastVehicle.getZ();
|
|
if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) {
|
|
- if (++this.aboveGroundVehicleTickCount > 80) {
|
|
+ if (wtf.etil.mirai.MiraiConfig.checkVehicleFlying && ++this.aboveGroundVehicleTickCount > 80) { // Yatopia - Configurable flight checks
|
|
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString());
|
|
this.disconnect(com.destroystokyo.paper.PaperConfig.flyingKickVehicleMessage, org.bukkit.event.player.PlayerKickEvent.Cause.FLYING_VEHICLE); // Paper - use configurable kick message & kick event cause
|
|
return;
|
|
diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java
|
|
index 667eaabe95e9b44cad64dd5aba5ac693f4d726ed..a24a35f3ef2812d2951fb13439f856ee9495226b 100644
|
|
--- a/src/main/java/wtf/etil/mirai/MiraiConfig.java
|
|
+++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java
|
|
@@ -194,4 +194,13 @@ public class MiraiConfig {
|
|
maxBees = getInt("max-bees-in-hive", maxBees);
|
|
}
|
|
|
|
+ public static boolean checkFlying = true;
|
|
+ public static boolean checkVehicleFlying = true;
|
|
+ private static void flightChecks() {
|
|
+ checkFlying = getBoolean("checks.flight", checkFlying);
|
|
+ checkVehicleFlying = getBoolean("checks.vehicle-flight", checkVehicleFlying);
|
|
+ }
|
|
+
|
|
+
|
|
+
|
|
}
|
|
\ No newline at end of file
|