All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minecraft.server.PacketPlayOutPosition Maven / Gradle / Ivy

package net.minecraft.server;

import java.io.IOException;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.Set;

public class PacketPlayOutPosition implements Packet {
	
	private double a;
	private double b;
	private double c;
	private float d;
	private float e;
	private Set f;
	
	public PacketPlayOutPosition() {
	}
	
	public PacketPlayOutPosition(double d0, double d1, double d2, float f, float f1, Set set) {
		this.a = d0;
		this.b = d1;
		this.c = d2;
		this.d = f;
		this.e = f1;
		this.f = set;
	}
	
	public void a(PacketDataSerializer packetdataserializer) throws IOException {
		this.a = packetdataserializer.readDouble();
		this.b = packetdataserializer.readDouble();
		this.c = packetdataserializer.readDouble();
		this.d = packetdataserializer.readFloat();
		this.e = packetdataserializer.readFloat();
		this.f = EnumPlayerTeleportFlags.a(packetdataserializer.readUnsignedByte());
	}
	
	public void b(PacketDataSerializer packetdataserializer) throws IOException {
		packetdataserializer.writeDouble(this.a);
		packetdataserializer.writeDouble(this.b);
		packetdataserializer.writeDouble(this.c);
		packetdataserializer.writeFloat(this.d);
		packetdataserializer.writeFloat(this.e);
		packetdataserializer.writeByte(EnumPlayerTeleportFlags.a(this.f));
	}
	
	public void a(PacketListenerPlayOut packetlistenerplayout) {
		packetlistenerplayout.a(this);
	}
	
	public enum EnumPlayerTeleportFlags {
		X(0),
		Y(1),
		Z(2),
		Y_ROT(3),
		X_ROT(4);
		
		private final int f;
		
		EnumPlayerTeleportFlags(int i) {
			this.f = i;
		}
		
		public static Set a(int i) {
			EnumSet enumset = EnumSet.noneOf(EnumPlayerTeleportFlags.class);
			EnumPlayerTeleportFlags[] apacketplayoutposition_enumplayerteleportflags = values();
			int j = apacketplayoutposition_enumplayerteleportflags.length;
			
			for (EnumPlayerTeleportFlags packetplayoutposition_enumplayerteleportflags : apacketplayoutposition_enumplayerteleportflags) {
				if (packetplayoutposition_enumplayerteleportflags.b(i)) {
					enumset.add(packetplayoutposition_enumplayerteleportflags);
				}
			}
			
			return enumset;
		}
		
		public static int a(Set set) {
			int i = 0;
			
			EnumPlayerTeleportFlags flags;
			
			for (Iterator iterator = set.iterator(); iterator.hasNext(); i |= flags.a()) {
				flags = iterator.next();
			}
			
			return i;
		}
		
		private int a() {
			return 1 << this.f;
		}
		
		private boolean b(int i) {
			return (i & this.a()) == this.a();
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy