diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutAbilities.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutAbilities.java new file mode 100644 index 0000000..74872f2 --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutAbilities.java @@ -0,0 +1,32 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.Anticheat; +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import dev.brighten.ac.packet.wrapper.objects.PlayerCapabilities; +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +public class WPacketPlayOutAbilities implements WPacket { + + private PlayerCapabilities capabilities; + + @Override + public PacketType getPacketType() { + return PacketType.SERVER_ABILITIES; + } + + @Override + public Object getPacket() { + return Anticheat.INSTANCE.getPacketProcessor().getPacketConverter().processOutAbilities(this); + } + + @Override + public String toString() { + return "WPacketPlayOutAbilities{" + + "capabilities=" + capabilities + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutAttachEntity.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutAttachEntity.java new file mode 100644 index 0000000..3e1703e --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutAttachEntity.java @@ -0,0 +1,33 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +public class WPacketPlayOutAttachEntity implements WPacket { + + private int attachedEntityId, holdingEntityId; + private boolean isLeashModifer = true; + + @Override + public PacketType getPacketType() { + return PacketType.ATTACH; + } + + @Override + public Object getPacket() { + return null; + } + + @Override + public String toString() { + return "WPacketPlayOutAttachEntity{" + + "attachedEntityId=" + attachedEntityId + + ", holdingEntityId=" + holdingEntityId + + ", isLeashModifer=" + isLeashModifer + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutBlockChange.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutBlockChange.java new file mode 100644 index 0000000..170c042 --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutBlockChange.java @@ -0,0 +1,35 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import dev.brighten.ac.utils.math.IntVector; +import lombok.Builder; +import lombok.Getter; +import org.bukkit.Material; + +@Builder +@Getter +public class WPacketPlayOutBlockChange implements WPacket { + + private IntVector blockLocation; + private Material material; + + + @Override + public PacketType getPacketType() { + return PacketType.BLOCK_CHANGE; + } + + @Override + public Object getPacket() { + return null; + } + + @Override + public String toString() { + return "WPacketPlayOutBlockChange{" + + "blockLocation=" + blockLocation + + ", material=" + material + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntity.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntity.java new file mode 100644 index 0000000..e39dbab --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntity.java @@ -0,0 +1,41 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +public class WPacketPlayOutEntity implements WPacket { + + private int id; + private boolean looked, moved, onGround; + private double x, y, z; + private float yaw, pitch; + + @Override + public PacketType getPacketType() { + return PacketType.ENTITY; + } + + @Override + public Object getPacket() { + return null; + } + + @Override + public String toString() { + return "WPacketPlayOutEntity{" + + "id=" + id + + ", looked=" + looked + + ", moved=" + moved + + ", onGround=" + onGround + + ", x=" + x + + ", y=" + y + + ", z=" + z + + ", yaw=" + yaw + + ", pitch=" + pitch + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityEffect.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityEffect.java new file mode 100644 index 0000000..c4f614f --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityEffect.java @@ -0,0 +1,35 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +public class WPacketPlayOutEntityEffect implements WPacket { + + private int entityId, effectId, duration; + private byte amplifier, flags; + + @Override + public PacketType getPacketType() { + return PacketType.ENTITY_EFFECT; + } + + @Override + public Object getPacket() { + return null; + } + + @Override + public String toString() { + return "WPacketPlayOutEntityEffect{" + + "entityId=" + entityId + + ", effectId=" + effectId + + ", duration=" + duration + + ", amplifier=" + amplifier + + ", flags=" + flags + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityTeleport.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityTeleport.java new file mode 100644 index 0000000..2c1de07 --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityTeleport.java @@ -0,0 +1,39 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +public class WPacketPlayOutEntityTeleport implements WPacket { + + private int entityId; + private double x, y, z; + private float yaw, pitch; + private boolean onGround; + + @Override + public PacketType getPacketType() { + return PacketType.ENTITY_TELEPORT; + } + + @Override + public Object getPacket() { + return null; + } + + @Override + public String toString() { + return "WPacketPlayOutEntityTeleport{" + + "entityId=" + entityId + + ", x=" + x + + ", y=" + y + + ", z=" + z + + ", yaw=" + yaw + + ", pitch=" + pitch + + ", onGround=" + onGround + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityVelocity.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityVelocity.java new file mode 100644 index 0000000..1f6b232 --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutEntityVelocity.java @@ -0,0 +1,34 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.Anticheat; +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import lombok.Builder; +import lombok.Getter; + +@Getter +@Builder +public class WPacketPlayOutEntityVelocity implements WPacket { + private int entityId; + private double deltaX, deltaY, deltaZ; + + @Override + public PacketType getPacketType() { + return PacketType.VELOCITY; + } + + @Override + public Object getPacket() { + return Anticheat.INSTANCE.getPacketProcessor().getPacketConverter().processVelocity(this); + } + + @Override + public String toString() { + return "WPacketPlayOutEntityVelocity{" + + "entityId=" + entityId + + ", deltaX=" + deltaX + + ", deltaY=" + deltaY + + ", deltaZ=" + deltaZ + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutMultiBlockChange.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutMultiBlockChange.java new file mode 100644 index 0000000..cfc1d76 --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutMultiBlockChange.java @@ -0,0 +1,51 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import dev.brighten.ac.utils.math.IntVector; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import org.bukkit.Material; + +import java.util.Arrays; + +@Builder +@Getter +public class WPacketPlayOutMultiBlockChange implements WPacket { + private int[] chunk; + private BlockChange[] changes; + + @Override + public PacketType getPacketType() { + return PacketType.MULTI_BLOCK_CHANGE; + } + + @Override + public Object getPacket() { + return null; + } + + @AllArgsConstructor + @Getter + public static class BlockChange { + private IntVector location; + private Material material; + + @Override + public String toString() { + return "BlockChange{" + + "location=" + location + + ", material=" + material + + '}'; + } + } + + @Override + public String toString() { + return "WPacketPlayOutMultiBlockChange{" + + "chunk=" + Arrays.toString(chunk) + + ", changes=" + Arrays.toString(changes) + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutPlayerInfo.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutPlayerInfo.java new file mode 100644 index 0000000..4760660 --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutPlayerInfo.java @@ -0,0 +1,4 @@ +package dev.brighten.ac.packet.wrapper.out; + +public class WPacketPlayOutPlayerInfo { +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutPosition.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutPosition.java new file mode 100644 index 0000000..7b1d4ff --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutPosition.java @@ -0,0 +1,94 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import lombok.Builder; +import lombok.Getter; + +import java.util.EnumSet; +import java.util.Iterator; +import java.util.Set; + +@Builder +@Getter +public class WPacketPlayOutPosition implements WPacket { + + private double x, y, z; + private float yaw, pitch; + private int teleportAwait; + private Set flags; + + + @Override + public PacketType getPacketType() { + return PacketType.SERVER_POSITION; + } + + @Override + public Object getPacket() { + return null; + } + + public enum EnumPlayerTeleportFlags { + X(0), + Y(1), + Z(2), + Y_ROT(3), + X_ROT(4); + + private int f; + + private EnumPlayerTeleportFlags(int var3) { + this.f = var3; + } + + private int a() { + return 1 << this.f; + } + + private boolean b(int var1) { + return (var1 & this.a()) == this.a(); + } + + public static Set a(int var0) { + EnumSet var1 = EnumSet.noneOf(EnumPlayerTeleportFlags.class); + EnumPlayerTeleportFlags[] var2 = values(); + int var3 = var2.length; + + for(int var4 = 0; var4 < var3; ++var4) { + EnumPlayerTeleportFlags var5 = var2[var4]; + if (var5.b(var0)) { + var1.add(var5); + } + } + + return var1; + } + + public static int a(Set var0) { + int var1 = 0; + + EnumPlayerTeleportFlags var3; + for(Iterator var2 = var0.iterator(); var2.hasNext(); var1 |= var3.a()) { + var3 = (EnumPlayerTeleportFlags)var2.next(); + } + + return var1; + } + + + } + + @Override + public String toString() { + return "WPacketPlayOutPosition{" + + "x=" + x + + ", y=" + y + + ", z=" + z + + ", yaw=" + yaw + + ", pitch=" + pitch + + ", teleportAwait=" + teleportAwait + + ", flags=" + flags + + '}'; + } +} diff --git a/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutWorldParticles.java b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutWorldParticles.java new file mode 100644 index 0000000..8a27abe --- /dev/null +++ b/src/main/java/dev/brighten/ac/packet/wrapper/out/WPacketPlayOutWorldParticles.java @@ -0,0 +1,47 @@ +package dev.brighten.ac.packet.wrapper.out; + +import dev.brighten.ac.Anticheat; +import dev.brighten.ac.packet.wrapper.PacketType; +import dev.brighten.ac.packet.wrapper.WPacket; +import dev.brighten.ac.packet.wrapper.objects.EnumParticle; +import lombok.Builder; +import lombok.Getter; + +import java.util.Arrays; + +@Getter +@Builder +public class WPacketPlayOutWorldParticles implements WPacket { + private EnumParticle particle; + private float x, y, z, offsetX, offsetY, offsetZ, speed; + private int amount; + private int[] data; + private boolean longD; + + @Override + public PacketType getPacketType() { + return PacketType.WORLD_PARTICLE; + } + + @Override + public Object getPacket() { + return Anticheat.INSTANCE.getPacketProcessor().getPacketConverter().processParticles(this); + } + + @Override + public String toString() { + return "WPacketPlayOutWorldParticles{" + + "particle=" + particle + + ", x=" + x + + ", y=" + y + + ", z=" + z + + ", offsetX=" + offsetX + + ", offsetY=" + offsetY + + ", offsetZ=" + offsetZ + + ", speed=" + speed + + ", amount=" + amount + + ", data=" + Arrays.toString(data) + + ", longD=" + longD + + '}'; + } +}