seppuku/src/main/java/me/rigamortis/seppuku/impl/module/player/NoPacketModule.java

62 lines
3.1 KiB
Java
Raw Normal View History

package me.rigamortis.seppuku.impl.module.player;
import me.rigamortis.seppuku.api.event.network.EventSendPacket;
import me.rigamortis.seppuku.api.module.Module;
import me.rigamortis.seppuku.api.value.Value;
import net.minecraft.network.play.client.*;
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
/**
* @author noil
*/
public final class NoPacketModule extends Module {
public final Value<Boolean> player = new Value<Boolean>("Player", new String[]{"pos", "p"}, "Cancel all player related movement packets.", false);
public final Value<Boolean> playerPosition = new Value<Boolean>("Position", new String[]{"pos", "p"}, "Cancel player position packets.", false);
public final Value<Boolean> playerRotation = new Value<Boolean>("Rotation", new String[]{"rot", "r"}, "Cancel player rotation packets.", false);
public final Value<Boolean> playerPosRot = new Value<Boolean>("PositionRotation", new String[]{"PosRot", "pr"}, "Cancel player position & rotation packets.", false);
public final Value<Boolean> steerBoat = new Value<Boolean>("SteerBoat", new String[]{"steer", "boat", "sb"}, "Cancel boat steering packets.", false);
public final Value<Boolean> vehicleMove = new Value<Boolean>("VehicleMove", new String[]{"vehicle", "vehicle-move", "vm", "move"}, "Cancel vehicle movement packets.", false);
public final Value<Boolean> input = new Value<Boolean>("Input", new String[]{"in", "i"}, "Cancel player input packets.", false);
public final Value<Boolean> abilities = new Value<Boolean>("Abilities", new String[]{"abilities", "player", "ability", "pa"}, "Cancel \"player-ability\" packets.", false);
public NoPacketModule() {
super("NoPacket", new String[]{"NoPacket", "NoPac", "AntiPacket", "PacketDisable", "PacketCancel"}, "Disables various packets from being sent to the server, or back to the client.", "NONE", -1, ModuleType.PLAYER);
}
@Listener
public void onSendPacket(EventSendPacket event) {
if (this.playerPosRot.getValue())
if (event.getPacket() instanceof CPacketPlayer.PositionRotation)
event.setCanceled(true);
if (this.playerPosition.getValue())
if (event.getPacket() instanceof CPacketPlayer.Position)
event.setCanceled(true);
if (this.playerRotation.getValue())
if (event.getPacket() instanceof CPacketPlayer.Rotation)
event.setCanceled(true);
if (this.player.getValue())
if (event.getPacket() instanceof CPacketPlayer)
event.setCanceled(true);
if (this.steerBoat.getValue())
if (event.getPacket() instanceof CPacketSteerBoat)
event.setCanceled(true);
if (this.vehicleMove.getValue())
if (event.getPacket() instanceof CPacketVehicleMove)
event.setCanceled(true);
if (this.abilities.getValue())
if (event.getPacket() instanceof CPacketPlayerAbilities)
event.setCanceled(true);
if (this.input.getValue())
if (event.getPacket() instanceof CPacketInput)
event.setCanceled(true);
}
}