Skip to content
24 changes: 18 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>net.hypixel</groupId>
<artifactId>mod-api</artifactId>
<version>0.1.7</version>
<version>dev-SNAPSHOT</version>

<properties>
<maven.compiler.source>8</maven.compiler.source>
Expand Down Expand Up @@ -35,10 +35,9 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.2</version>
<scope>test</scope>
<groupId>net.hypixel</groupId>
<artifactId>hypixel-data</artifactId>
<version>0.1.2</version>
</dependency>
</dependencies>

Expand All @@ -47,13 +46,26 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<version>3.13.0</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

Expand Down
10 changes: 0 additions & 10 deletions src/main/java/net/hypixel/modapi/data/Environment.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.hypixel.modapi.packet.impl.clientbound.ClientboundLocationPacket;
import net.hypixel.modapi.packet.impl.clientbound.ClientboundPartyInfoPacket;
import net.hypixel.modapi.packet.impl.clientbound.ClientboundPingPacket;
import net.hypixel.modapi.packet.impl.clientbound.ClientboundPlayerInfoPacket;
import net.hypixel.modapi.serializer.PacketSerializer;
import org.jetbrains.annotations.Nullable;

Expand All @@ -15,6 +16,7 @@ public enum HypixelPacketType {
PING(ClientboundPingPacket::new),
LOCATION(ClientboundLocationPacket::new),
PARTY_INFO(ClientboundPartyInfoPacket::new),
PLAYER_INFO(ClientboundPlayerInfoPacket::new),
;
private static final String IDENTIFIER_PREFIX = "hypixel:";
private static final Map<String, HypixelPacketType> BY_IDENTIFIER = Arrays.stream(values()).collect(HashMap::new, (map, type) -> map.put(type.getIdentifier(), type), HashMap::putAll);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@
import net.hypixel.modapi.serializer.PacketSerializer;

public abstract class VersionedPacket implements HypixelPacket {
private final byte version;
private final int version;

public VersionedPacket(byte version) {
public VersionedPacket(int version) {
this.version = version;
}

public VersionedPacket(PacketSerializer byteBuf) {
this.version = byteBuf.readByte();
this.version = byteBuf.readVarInt();
}

@Override
public void write(PacketSerializer serializer) {
serializer.writeByte(version);
serializer.writeVarInt(version);
}

public byte getVersion() {
public int getVersion() {
return version;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package net.hypixel.modapi.packet.impl.clientbound;

import net.hypixel.modapi.data.Environment;
import net.hypixel.data.region.Environment;
import net.hypixel.data.type.ServerType;
import net.hypixel.modapi.packet.HypixelPacketType;
import net.hypixel.modapi.packet.impl.VersionedPacket;
import net.hypixel.modapi.serializer.PacketSerializer;
Expand All @@ -9,21 +10,21 @@
import java.util.Optional;

public class ClientboundLocationPacket extends VersionedPacket {
private static final byte CURRENT_VERSION = 1;
private static final int CURRENT_VERSION = 1;

private final Environment environment;
private final String proxyName;
private final String serverName;
@Nullable
private final String serverType;
private final ServerType serverType;
@Nullable
private final String lobbyName;
@Nullable
private final String mode;
@Nullable
private final String map;

public ClientboundLocationPacket(Environment environment, String proxyName, String serverName, @Nullable String serverType, @Nullable String lobbyName, @Nullable String mode, @Nullable String map) {
public ClientboundLocationPacket(Environment environment, String proxyName, String serverName, @Nullable ServerType serverType, @Nullable String lobbyName, @Nullable String mode, @Nullable String map) {
super(CURRENT_VERSION);
this.environment = environment;
this.proxyName = proxyName;
Expand All @@ -36,10 +37,10 @@ public ClientboundLocationPacket(Environment environment, String proxyName, Stri

public ClientboundLocationPacket(PacketSerializer serializer) {
super(serializer);
this.environment = Environment.VALUES[serializer.readVarInt()];
this.environment = Environment.getById(serializer.readVarInt()).orElseThrow(() -> new IllegalArgumentException("Invalid environment ID"));
this.proxyName = serializer.readString();
this.serverName = serializer.readString();
this.serverType = serializer.readBoolean() ? serializer.readString() : null;
this.serverType = serializer.readBoolean() ? ServerType.valueOf(serializer.readString()).orElse(null) : null;
this.lobbyName = serializer.readBoolean() ? serializer.readString() : null;
this.mode = serializer.readBoolean() ? serializer.readString() : null;
this.map = serializer.readBoolean() ? serializer.readString() : null;
Expand All @@ -59,7 +60,7 @@ public void write(PacketSerializer serializer) {

serializer.writeBoolean(serverType != null);
if (serverType != null) {
serializer.writeString(serverType);
serializer.writeString(serverType.name());
}

serializer.writeBoolean(lobbyName != null);
Expand Down Expand Up @@ -90,7 +91,7 @@ public String getServerName() {
return serverName;
}

public Optional<String> getServerType() {
public Optional<ServerType> getServerType() {
return Optional.ofNullable(serverType);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.*;

public class ClientboundPartyInfoPacket extends VersionedPacket {
private static final byte CURRENT_VERSION = 1;
private static final int CURRENT_VERSION = 1;

private final boolean inParty;
private final UUID leader;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.hypixel.modapi.serializer.PacketSerializer;

public class ClientboundPingPacket extends VersionedPacket {
private static final byte CURRENT_VERSION = 1;
private static final int CURRENT_VERSION = 1;

private final String response;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package net.hypixel.modapi.packet.impl.clientbound;

import net.hypixel.data.rank.MonthlyPackageRank;
import net.hypixel.data.rank.PackageRank;
import net.hypixel.data.rank.PlayerRank;
import net.hypixel.modapi.packet.HypixelPacketType;
import net.hypixel.modapi.packet.impl.VersionedPacket;
import net.hypixel.modapi.serializer.PacketSerializer;
import org.jetbrains.annotations.Nullable;

import java.util.Optional;

public class ClientboundPlayerInfoPacket extends VersionedPacket {
private static final int CURRENT_VERSION = 1;

private final PlayerRank playerRank;
private final PackageRank packageRank;
private final MonthlyPackageRank monthlyPackageRank;
@Nullable
private final String prefix;

public ClientboundPlayerInfoPacket(PlayerRank playerRank, PackageRank packageRank, MonthlyPackageRank monthlyPackageRank, @Nullable String prefix) {
super(CURRENT_VERSION);
this.playerRank = playerRank;
this.packageRank = packageRank;
this.monthlyPackageRank = monthlyPackageRank;
this.prefix = prefix;
}

public ClientboundPlayerInfoPacket(PacketSerializer serializer) {
super(serializer);
this.playerRank = PlayerRank.getById(serializer.readVarInt()).orElseThrow(() -> new IllegalArgumentException("Invalid player rank ID"));
this.packageRank = PackageRank.getById(serializer.readVarInt()).orElseThrow(() -> new IllegalArgumentException("Invalid package rank ID"));
this.monthlyPackageRank = MonthlyPackageRank.getById(serializer.readVarInt()).orElseThrow(() -> new IllegalArgumentException("Invalid monthly package rank ID"));
this.prefix = serializer.readBoolean() ? serializer.readString() : null;
}

@Override
public HypixelPacketType getType() {
return HypixelPacketType.PLAYER_INFO;
}

@Override
public void write(PacketSerializer serializer) {
super.write(serializer);
serializer.writeVarInt(playerRank.getId());
serializer.writeVarInt(packageRank.getId());
serializer.writeVarInt(monthlyPackageRank.getId());
serializer.writeBoolean(prefix != null);
if (prefix != null) {
serializer.writeString(prefix);
}
}

public PlayerRank getPlayerRank() {
return playerRank;
}

public PackageRank getPackageRank() {
return packageRank;
}

public MonthlyPackageRank getMonthlyPackageRank() {
return monthlyPackageRank;
}

public Optional<String> getPrefix() {
return Optional.ofNullable(prefix);
}

@Override
public String toString() {
return "ClientboundPlayerInfoPacket{" +
"playerRank=" + playerRank +
", packageRank=" + packageRank +
", monthlyPackageRank=" + monthlyPackageRank +
", prefix='" + prefix + '\'' +
"} " + super.toString();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.hypixel.modapi.serializer.PacketSerializer;

public class ServerboundLocationPacket extends VersionedPacket {
private static final byte CURRENT_VERSION = 1;
private static final int CURRENT_VERSION = 1;

public ServerboundLocationPacket() {
super(CURRENT_VERSION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.hypixel.modapi.serializer.PacketSerializer;

public class ServerboundPartyInfoPacket extends VersionedPacket {
private static final byte CURRENT_VERSION = 1;
private static final int CURRENT_VERSION = 1;

public ServerboundPartyInfoPacket() {
super(CURRENT_VERSION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.hypixel.modapi.serializer.PacketSerializer;

public class ServerboundPingPacket extends VersionedPacket {
private static final byte CURRENT_VERSION = 1;
private static final int CURRENT_VERSION = 1;

public ServerboundPingPacket() {
super(CURRENT_VERSION);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package net.hypixel.modapi.packet.impl.serverbound;

import net.hypixel.modapi.packet.HypixelPacketType;
import net.hypixel.modapi.packet.impl.VersionedPacket;
import net.hypixel.modapi.serializer.PacketSerializer;

public class ServerboundPlayerInfoPacket extends VersionedPacket {
private static final int CURRENT_VERSION = 1;

public ServerboundPlayerInfoPacket() {
super(CURRENT_VERSION);
}

public ServerboundPlayerInfoPacket(PacketSerializer serializer) {
super(serializer);
}

@Override
public HypixelPacketType getType() {
return HypixelPacketType.PLAYER_INFO;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,6 @@ public void writeVarInt(int i) {
this.buf.writeByte(i);
}

public byte readByte() {
return this.buf.readByte();
}

public PacketSerializer writeByte(int value) {
this.buf.writeByte(value);
return this;
}

public String readString() {
return this.readString(MAX_STRING_LENGTH);
}
Expand Down