Small fixes, add majorVersion method, nicer getter names in some classes

None of the deprecated methods will be removed anytime soon.
This commit is contained in:
Nassim Jahnke 2021-08-28 22:15:28 +02:00
parent e7a0b4cf04
commit f2147179c2
No known key found for this signature in database
GPG Key ID: 6BE3B555EBC5982B
38 changed files with 238 additions and 98 deletions

View File

@ -167,12 +167,12 @@ public class ProtocolVersion {
Preconditions.checkArgument(!versionWildcard || versionRange == null, "A version cannot be a wildcard and a range at the same time!");
if (versionRange != null) {
includedVersions = new LinkedHashSet<>();
for (int i = versionRange.getRangeFrom(); i <= versionRange.getRangeTo(); i++) {
for (int i = versionRange.rangeFrom(); i <= versionRange.rangeTo(); i++) {
if (i == 0) {
includedVersions.add(versionRange.getBaseVersion()); // Keep both the base version and with ".0" appended
includedVersions.add(versionRange.baseVersion()); // Keep both the base version and with ".0" appended
}
includedVersions.add(versionRange.getBaseVersion() + "." + i);
includedVersions.add(versionRange.baseVersion() + "." + i);
}
} else {
includedVersions = Collections.singleton(name);

View File

@ -46,13 +46,25 @@ import java.util.UUID;
public interface ViaAPI<T> {
/**
* Returns the API version incremented with meaningful API changes.
* Returns the <b>major version</b> matching {@link #getVersion()}.
* It is highly advised to check against the major version and to disable/not initiate
* any hooks into ViaVersion if given and expected versions do not match.
*
* @return major plugin version
* @since 4.0.2
*/
default int majorVersion() {
return 4;
}
/**
* Returns an <b>internally based API version</b> incremented with meaningful API changes.
* This includes breaking changes to existing API and larger additions.
*
* @return API version incremented with meaningful API changes
*/
default int apiVersion() {
return 4;
return 5;
}
/**

View File

@ -89,10 +89,10 @@ public class MappingDataBase implements MappingData {
if (diffmapping != null && diffmapping.has("tags")) {
this.tags = new EnumMap<>(RegistryType.class);
JsonObject tags = diffmapping.getAsJsonObject("tags");
if (tags.has(RegistryType.ITEM.getResourceLocation())) {
if (tags.has(RegistryType.ITEM.resourceLocation())) {
loadTags(RegistryType.ITEM, tags, MappingDataLoader.indexedObjectToMap(newMappings.getAsJsonObject("items")));
}
if (tags.has(RegistryType.BLOCK.getResourceLocation())) {
if (tags.has(RegistryType.BLOCK.resourceLocation())) {
loadTags(RegistryType.BLOCK, tags, MappingDataLoader.indexedObjectToMap(newMappings.getAsJsonObject("blocks")));
}
}
@ -101,7 +101,7 @@ public class MappingDataBase implements MappingData {
}
private void loadTags(RegistryType type, JsonObject object, Object2IntMap<String> typeMapping) {
JsonObject tags = object.getAsJsonObject(type.getResourceLocation());
JsonObject tags = object.getAsJsonObject(type.resourceLocation());
List<TagData> tagsList = new ArrayList<>(tags.size());
for (Map.Entry<String, JsonElement> entry : tags.entrySet()) {
JsonArray array = entry.getValue().getAsJsonArray();

View File

@ -62,18 +62,38 @@ public enum BlockFace {
return opposites.get(this);
}
public byte modX() {
return modX;
}
public byte modY() {
return modY;
}
public byte modZ() {
return modZ;
}
public EnumAxis axis() {
return axis;
}
@Deprecated/*(forRemoval = true)*/
public byte getModX() {
return modX;
}
@Deprecated/*(forRemoval = true)*/
public byte getModY() {
return modY;
}
@Deprecated/*(forRemoval = true)*/
public byte getModZ() {
return modZ;
}
@Deprecated/*(forRemoval = true)*/
public EnumAxis getAxis() {
return axis;
}

View File

@ -34,6 +34,11 @@ public enum Environment {
this.id = id;
}
public int id() {
return id;
}
@Deprecated/*(forRemoval = true)*/
public int getId() {
return id;
}

View File

@ -33,14 +33,29 @@ public class EulerAngle {
this.z = z;
}
public float x() {
return x;
}
public float y() {
return y;
}
public float z() {
return z;
}
@Deprecated/*(forRemoval = true)*/
public float getX() {
return x;
}
@Deprecated/*(forRemoval = true)*/
public float getY() {
return y;
}
@Deprecated/*(forRemoval = true)*/
public float getZ() {
return z;
}

View File

@ -33,28 +33,43 @@ public class Position {
this.z = z;
}
@Deprecated/*(forRemoval=true)*/
public Position(int x, short y, int z) {
this.x = x;
this.y = y;
this.z = z;
this(x, (int) y, z);
}
@Deprecated/*(forRemoval=true)*/
public Position(Position toCopy) {
this(toCopy.getX(), toCopy.getY(), toCopy.getZ());
this(toCopy.x(), toCopy.y(), toCopy.z());
}
public Position getRelative(BlockFace face) {
return new Position(x + face.getModX(), (short) (y + face.getModY()), z + face.getModZ());
return new Position(x + face.modX(), (short) (y + face.modY()), z + face.modZ());
}
public int x() {
return x;
}
public int y() {
return y;
}
public int z() {
return z;
}
@Deprecated/*(forRemoval=true)*/
public int getX() {
return x;
}
@Deprecated/*(forRemoval=true)*/
public int getY() {
return y;
}
@Deprecated/*(forRemoval=true)*/
public int getZ() {
return z;
}

View File

@ -58,7 +58,12 @@ public enum RegistryType {
this.resourceLocation = resourceLocation;
}
@Deprecated/*(forRemoval = true)*/
public String getResourceLocation() {
return resourceLocation;
}
public String resourceLocation() {
return resourceLocation;
}
}

View File

@ -33,26 +33,44 @@ public class Vector {
this.blockZ = blockZ;
}
public int blockX() {
return blockX;
}
public int blockY() {
return blockY;
}
public int blockZ() {
return blockZ;
}
@Deprecated/*(forRemoval=true)*/
public int getBlockX() {
return blockX;
}
public void setBlockX(int blockX) {
this.blockX = blockX;
}
@Deprecated/*(forRemoval=true)*/
public int getBlockY() {
return blockY;
}
public void setBlockY(int blockY) {
this.blockY = blockY;
}
@Deprecated/*(forRemoval=true)*/
public int getBlockZ() {
return blockZ;
}
@Deprecated/*(forRemoval=true)*/
public void setBlockX(int blockX) {
this.blockX = blockX;
}
@Deprecated/*(forRemoval=true)*/
public void setBlockY(int blockY) {
this.blockY = blockY;
}
@Deprecated/*(forRemoval=true)*/
public void setBlockZ(int blockZ) {
this.blockZ = blockZ;
}

View File

@ -33,14 +33,29 @@ public class VillagerData {
this.level = level;
}
public int type() {
return type;
}
public int profession() {
return profession;
}
public int level() {
return level;
}
@Deprecated/*(forRemoval=true)*/
public int getType() {
return type;
}
@Deprecated/*(forRemoval=true)*/
public int getProfession() {
return profession;
}
@Deprecated/*(forRemoval=true)*/
public int getLevel() {
return level;
}

View File

@ -121,7 +121,7 @@ public final class Metadata {
if (o == null || getClass() != o.getClass()) return false;
Metadata metadata = (Metadata) o;
if (id != metadata.id) return false;
if (metaType != metaType) return false;
if (metaType != metadata.metaType) return false;
return Objects.equals(value, metadata.value);
}

View File

@ -26,16 +26,26 @@ public interface ProtocolPathEntry {
/**
* Returns the resulting protocol after transformation using
* the {@link #getProtocol()} protocol handlers.
* the {@link #protocol()} protocol handlers.
*
* @return output protocol version after transformation
*/
int getOutputProtocolVersion();
int outputProtocolVersion();
/**
* Returns the protocol to be applied with this entry.
*
* @return protocol to be applied with this entry
*/
Protocol getProtocol();
Protocol<?, ?, ?, ?> protocol();
@Deprecated/*(forRemoval = true)*/
default int getOutputProtocolVersion() {
return outputProtocolVersion();
}
@Deprecated/*(forRemoval = true)*/
default Protocol getProtocol() {
return protocol();
}
}

View File

@ -29,12 +29,22 @@ public interface ProtocolPathKey {
*
* @return client protocol version
*/
int getClientProtocolVersion();
int clientProtocolVersion();
/**
* Returns the server protocol version.
*
* @return server protocol version
*/
int getServerProtocolVersion();
int serverProtocolVersion();
@Deprecated/*(forRemoval = true)*/
default int getClientProtocolVersion() {
return clientProtocolVersion();
}
@Deprecated/*(forRemoval = true)*/
default int getServerProtocolVersion() {
return serverProtocolVersion();
}
}

View File

@ -215,12 +215,12 @@ public class ProtocolVersion {
Preconditions.checkArgument(!versionWildcard || versionRange == null, "A version cannot be a wildcard and a range at the same time!");
if (versionRange != null) {
includedVersions = new LinkedHashSet<>();
for (int i = versionRange.getRangeFrom(); i <= versionRange.getRangeTo(); i++) {
for (int i = versionRange.rangeFrom(); i <= versionRange.rangeTo(); i++) {
if (i == 0) {
includedVersions.add(versionRange.getBaseVersion()); // Keep both the base version and with ".0" appended
includedVersions.add(versionRange.baseVersion()); // Keep both the base version and with ".0" appended
}
includedVersions.add(versionRange.getBaseVersion() + "." + i);
includedVersions.add(versionRange.baseVersion() + "." + i);
}
} else {
includedVersions = Collections.singleton(name);

View File

@ -50,7 +50,7 @@ public class VersionRange {
*
* @return major version name
*/
public String getBaseVersion() {
public String baseVersion() {
return baseVersion;
}
@ -59,7 +59,7 @@ public class VersionRange {
*
* @return lowest included minor version
*/
public int getRangeFrom() {
public int rangeFrom() {
return rangeFrom;
}
@ -68,6 +68,21 @@ public class VersionRange {
*
* @return highest included minor version
*/
public int rangeTo() {
return rangeTo;
}
@Deprecated/*(forRemoval = true)*/
public String getBaseVersion() {
return baseVersion;
}
@Deprecated/*(forRemoval = true)*/
public int getRangeFrom() {
return rangeFrom;
}
@Deprecated/*(forRemoval = true)*/
public int getRangeTo() {
return rangeTo;
}

View File

@ -42,8 +42,8 @@ public class EulerAngleType extends Type<EulerAngle> {
@Override
public void write(ByteBuf buffer, EulerAngle object) throws Exception {
Type.FLOAT.writePrimitive(buffer, object.getX());
Type.FLOAT.writePrimitive(buffer, object.getY());
Type.FLOAT.writePrimitive(buffer, object.getZ());
Type.FLOAT.writePrimitive(buffer, object.x());
Type.FLOAT.writePrimitive(buffer, object.y());
Type.FLOAT.writePrimitive(buffer, object.z());
}
}

View File

@ -44,8 +44,8 @@ public class Position1_14Type extends Type<Position> {
@Override
public void write(ByteBuf buffer, Position object) {
buffer.writeLong((((long) object.getX() & 0x3ffffff) << 38)
| (object.getY() & 0xfff)
| ((((long) object.getZ()) & 0x3ffffff) << 12));
buffer.writeLong((((long) object.x() & 0x3ffffff) << 38)
| (object.y() & 0xfff)
| ((((long) object.z()) & 0x3ffffff) << 12));
}
}

View File

@ -44,8 +44,8 @@ public class PositionType extends Type<Position> {
@Override
public void write(ByteBuf buffer, Position object) {
buffer.writeLong((((long) object.getX() & 0x3ffffff) << 38)
| ((((long) object.getY()) & 0xfff) << 26)
| (object.getZ() & 0x3ffffff));
buffer.writeLong((((long) object.x() & 0x3ffffff) << 38)
| ((((long) object.y()) & 0xfff) << 26)
| (object.z() & 0x3ffffff));
}
}

View File

@ -42,8 +42,8 @@ public class VectorType extends Type<Vector> {
@Override
public void write(ByteBuf buffer, Vector object) throws Exception {
Type.INT.write(buffer, object.getBlockX());
Type.INT.write(buffer, object.getBlockY());
Type.INT.write(buffer, object.getBlockZ());
Type.INT.write(buffer, object.blockX());
Type.INT.write(buffer, object.blockY());
Type.INT.write(buffer, object.blockZ());
}
}

View File

@ -38,8 +38,8 @@ public class VillagerDataType extends Type<VillagerData> {
@Override
public void write(ByteBuf buffer, VillagerData object) throws Exception {
Type.VAR_INT.writePrimitive(buffer, object.getType());
Type.VAR_INT.writePrimitive(buffer, object.getProfession());
Type.VAR_INT.writePrimitive(buffer, object.getLevel());
Type.VAR_INT.writePrimitive(buffer, object.type());
Type.VAR_INT.writePrimitive(buffer, object.profession());
Type.VAR_INT.writePrimitive(buffer, object.level());
}
}

View File

@ -194,7 +194,7 @@ public class BungeeServerHandler implements Listener {
} else {
List<Protocol> protocols = new ArrayList<>(protocolPath.size());
for (ProtocolPathEntry entry : protocolPath) {
protocols.add(entry.getProtocol());
protocols.add(entry.protocol());
}
pipeline.add(protocols);
}

View File

@ -236,7 +236,7 @@ public class ProtocolManagerImpl implements ProtocolManager {
supportedVersions.add(version.getVersion());
for (ProtocolPathEntry pathEntry : protocolPath) {
supportedVersions.add(pathEntry.getOutputProtocolVersion());
supportedVersions.add(pathEntry.outputProtocolVersion());
}
}
}

View File

@ -22,20 +22,20 @@ import com.viaversion.viaversion.api.protocol.ProtocolPathEntry;
public class ProtocolPathEntryImpl implements ProtocolPathEntry {
private final int outputProtocolVersion;
private final Protocol protocol;
private final Protocol<?, ?, ?, ?> protocol;
public ProtocolPathEntryImpl(int outputProtocolVersion, Protocol protocol) {
public ProtocolPathEntryImpl(int outputProtocolVersion, Protocol<?, ?, ?, ?> protocol) {
this.outputProtocolVersion = outputProtocolVersion;
this.protocol = protocol;
}
@Override
public int getOutputProtocolVersion() {
public int outputProtocolVersion() {
return outputProtocolVersion;
}
@Override
public Protocol getProtocol() {
public Protocol<?, ?, ?, ?> protocol() {
return protocol;
}

View File

@ -29,12 +29,12 @@ public class ProtocolPathKeyImpl implements ProtocolPathKey {
}
@Override
public int getClientProtocolVersion() {
public int clientProtocolVersion() {
return clientProtocolVersion;
}
@Override
public int getServerProtocolVersion() {
public int serverProtocolVersion() {
return serverProtocolVersion;
}

View File

@ -152,7 +152,7 @@ public class VersionedPacketTransformerImpl<C extends ClientboundPacketType, S e
if (path != null) {
protocolList = new ArrayList<>(path.size());
for (ProtocolPathEntry entry : path) {
protocolList.add(entry.getProtocol());
protocolList.add(entry.protocol());
}
} else if (serverProtocolVersion != clientProtocolVersion) {
throw new RuntimeException("No protocol path between client version " + clientProtocolVersion + " and server version " + serverProtocolVersion);

View File

@ -72,10 +72,10 @@ public class BaseProtocol extends AbstractProtocol {
if (protocolPath != null) {
List<Protocol> protocols = new ArrayList<>(protocolPath.size());
for (ProtocolPathEntry entry : protocolPath) {
protocols.add(entry.getProtocol());
protocols.add(entry.protocol());
// Ensure mapping data has already been loaded
Via.getManager().getProtocolManager().completeMappingDataLoading(entry.getProtocol().getClass());
Via.getManager().getProtocolManager().completeMappingDataLoading(entry.protocol().getClass());
}
// Add protocols to pipeline

View File

@ -108,9 +108,9 @@ public class Protocol1_13To1_12_2 extends AbstractProtocol<ClientboundPackets1_1
public static final PacketHandler POS_TO_3_INT = wrapper -> {
Position position = wrapper.read(Type.POSITION);
wrapper.write(Type.INT, position.getX());
wrapper.write(Type.INT, position.getY());
wrapper.write(Type.INT, position.getZ());
wrapper.write(Type.INT, position.x());
wrapper.write(Type.INT, position.y());
wrapper.write(Type.INT, position.z());
};
private static final PacketHandler SEND_DECLARE_COMMANDS_AND_TAGS =

View File

@ -58,7 +58,7 @@ public class ConnectionData {
public static void update(UserConnection user, Position position) {
for (BlockFace face : BlockFace.values()) {
Position pos = position.getRelative(face);
int blockState = blockConnectionProvider.getBlockData(user, pos.getX(), pos.getY(), pos.getZ());
int blockState = blockConnectionProvider.getBlockData(user, pos.x(), pos.y(), pos.z());
ConnectionHandler handler = connectionHandlerMap.get(blockState);
if (handler == null) continue;
@ -151,12 +151,12 @@ public class ConnectionData {
}
public static void updateBlock(UserConnection user, Position pos, List<BlockChangeRecord1_8> records) {
int blockState = blockConnectionProvider.getBlockData(user, pos.getX(), pos.getY(), pos.getZ());
int blockState = blockConnectionProvider.getBlockData(user, pos.x(), pos.y(), pos.z());
ConnectionHandler handler = getConnectionHandler(blockState);
if (handler == null) return;
int newBlockState = handler.connect(user, pos, blockState);
records.add(new BlockChangeRecord1_8(pos.getX() & 0xF, pos.getY(), pos.getZ() & 0xF, newBlockState));
records.add(new BlockChangeRecord1_8(pos.x() & 0xF, pos.y(), pos.z() & 0xF, newBlockState));
}
public static void updateBlockStorage(UserConnection userConnection, int x, int y, int z, int blockState) {

View File

@ -27,6 +27,6 @@ public abstract class ConnectionHandler {
public abstract int connect(UserConnection user, Position position, int blockState);
public int getBlockData(UserConnection user, Position position) {
return Via.getManager().getProviders().get(BlockConnectionProvider.class).getBlockData(user, position.getX(), position.getY(), position.getZ());
return Via.getManager().getProviders().get(BlockConnectionProvider.class).getBlockData(user, position.x(), position.y(), position.z());
}
}

View File

@ -122,7 +122,7 @@ public class StairConnectionHandler extends ConnectionHandler {
StairData relativeStair = stairDataMap.get(getBlockData(user, position.getRelative(facing)));
if (relativeStair != null && relativeStair.isBottom() == stair.isBottom()) {
BlockFace facing2 = relativeStair.getFacing();
if (facing.getAxis() != facing2.getAxis() && checkOpposite(user, stair, position, facing2.opposite())) {
if (facing.axis() != facing2.axis() && checkOpposite(user, stair, position, facing2.opposite())) {
return facing2 == rotateAntiClockwise(facing) ? 3 : 4; // outer_left : outer_right
}
}
@ -130,7 +130,7 @@ public class StairConnectionHandler extends ConnectionHandler {
relativeStair = stairDataMap.get(getBlockData(user, position.getRelative(facing.opposite())));
if (relativeStair != null && relativeStair.isBottom() == stair.isBottom()) {
BlockFace facing2 = relativeStair.getFacing();
if (facing.getAxis() != facing2.getAxis() && checkOpposite(user, stair, position, facing2)) {
if (facing.axis() != facing2.axis() && checkOpposite(user, stair, position, facing2)) {
return facing2 == rotateAntiClockwise(facing) ? 1 : 2; // inner_left : inner_right
}
}

View File

@ -167,7 +167,7 @@ public class WorldPackets {
if (blockId == 73) { // Note block
PacketWrapper blockChange = wrapper.create(0x0B); // block change
blockChange.write(Type.POSITION, new Position(pos)); // Clone because position is mutable
blockChange.write(Type.POSITION, pos);
blockChange.write(Type.VAR_INT, 249 + (action * 24 * 2) + (param * 2));
blockChange.send(Protocol1_13To1_12_2.class);
}
@ -191,7 +191,7 @@ public class WorldPackets {
UserConnection userConnection = wrapper.user();
if (Via.getConfig().isServersideBlockConnections()) {
ConnectionData.updateBlockStorage(userConnection, position.getX(), position.getY(), position.getZ(), newId);
ConnectionData.updateBlockStorage(userConnection, position.x(), position.y(), position.z(), newId);
newId = ConnectionData.connect(userConnection, position, newId);
}
wrapper.set(Type.VAR_INT, 0, checkStorage(wrapper.user(), position, newId));
@ -229,7 +229,7 @@ public class WorldPackets {
record.getSectionZ() + (chunkZ * 16));
if (Via.getConfig().isServersideBlockConnections()) {
ConnectionData.updateBlockStorage(userConnection, position.getX(), position.getY(), position.getZ(), newBlock);
ConnectionData.updateBlockStorage(userConnection, position.x(), position.y(), position.z(), newBlock);
}
record.setBlockId(checkStorage(wrapper.user(), position, newBlock));
}
@ -297,7 +297,7 @@ public class WorldPackets {
records[i] = position;
// Set to air
ConnectionData.updateBlockStorage(userConnection, position.getX(), position.getY(), position.getZ(), 0);
ConnectionData.updateBlockStorage(userConnection, position.x(), position.y(), position.z(), 0);
}
// Workaround for packet order issue

View File

@ -133,7 +133,7 @@ public class BlockConnectionStorage implements StorableObject {
}
private long getChunkSectionIndex(Position position) {
return getChunkSectionIndex(position.getX(), position.getY(), position.getZ());
return getChunkSectionIndex(position.x(), position.y(), position.z());
}
private short encodeBlockPos(int x, int y, int z) {
@ -141,7 +141,7 @@ public class BlockConnectionStorage implements StorableObject {
}
private short encodeBlockPos(Position pos) {
return encodeBlockPos(pos.getX(), pos.getY(), pos.getZ());
return encodeBlockPos(pos.x(), pos.y(), pos.z());
}
private <T> Map<Long, T> createLongObjectMap() {

View File

@ -410,14 +410,14 @@ public class WorldPackets {
for (BlockFace blockFace : BlockFace.values()) {
NibbleArray skyLightArray = section.getLight().getSkyLightNibbleArray();
NibbleArray blockLightArray = section.getLight().getBlockLightNibbleArray();
int neighbourX = x + blockFace.getModX();
int neighbourY = y + blockFace.getModY();
int neighbourZ = z + blockFace.getModZ();
int neighbourX = x + blockFace.modX();
int neighbourY = y + blockFace.modY();
int neighbourZ = z + blockFace.modZ();
if (blockFace.getModX() != 0) {
if (blockFace.modX() != 0) {
// Another chunk, nothing we can do without an unnecessary amount of caching
if (neighbourX == 16 || neighbourX == -1) continue;
} else if (blockFace.getModY() != 0) {
} else if (blockFace.modY() != 0) {
if (neighbourY == 16 || neighbourY == -1) {
if (neighbourY == 16) {
ySection += 1;
@ -435,7 +435,7 @@ public class WorldPackets {
skyLightArray = newSection.getLight().getSkyLightNibbleArray();
blockLightArray = newSection.getLight().getBlockLightNibbleArray();
}
} else if (blockFace.getModZ() != 0) {
} else if (blockFace.modZ() != 0) {
// Another chunk, nothing we can do without an unnecessary amount of caching
if (neighbourZ == 16 || neighbourZ == -1) continue;
}
@ -451,7 +451,7 @@ public class WorldPackets {
if (skyLightArray != null && skyLight != 15) {
int neighbourSkyLight = skyLightArray.get(neighbourX, neighbourY, neighbourZ);
if (neighbourSkyLight == 15) {
if (blockFace.getModY() == 1) {
if (blockFace.modY() == 1) {
// Keep 15 if block is exposed to sky
skyLight = 15;
continue;

View File

@ -67,7 +67,7 @@ public final class Protocol1_17To1_16_4 extends AbstractProtocol<ClientboundPack
wrapper.write(Type.VAR_INT, 5);
for (RegistryType type : RegistryType.getValues()) {
// Prefix with resource location
wrapper.write(Type.STRING, type.getResourceLocation());
wrapper.write(Type.STRING, type.resourceLocation());
// Id conversion
tagRewriter.handle(wrapper, tagRewriter.getRewriter(type), tagRewriter.getNewTags(type));
@ -79,7 +79,7 @@ public final class Protocol1_17To1_16_4 extends AbstractProtocol<ClientboundPack
}
// New Game Event tags type
wrapper.write(Type.STRING, RegistryType.GAME_EVENT.getResourceLocation());
wrapper.write(Type.STRING, RegistryType.GAME_EVENT.resourceLocation());
wrapper.write(Type.VAR_INT, NEW_GAME_EVENT_TAGS.length);
for (String tag : NEW_GAME_EVENT_TAGS) {
wrapper.write(Type.STRING, tag);

View File

@ -78,9 +78,9 @@ public class Protocol1_9_3To1_9_1_2 extends AbstractProtocol<ClientboundPackets1
//Create nbt
CompoundTag tag = new CompoundTag();
tag.put("id", new StringTag("Sign"));
tag.put("x", new IntTag(position.getX()));
tag.put("y", new IntTag(position.getY()));
tag.put("z", new IntTag(position.getZ()));
tag.put("x", new IntTag(position.x()));
tag.put("y", new IntTag(position.y()));
tag.put("z", new IntTag(position.z()));
for (int i = 0; i < lines.length; i++) {
tag.put("Text" + (i + 1), new StringTag(lines[i].toString()));
}

View File

@ -156,8 +156,8 @@ public class WorldPackets {
// Unload the empty chunks
if (Via.getConfig().isChunkBorderFix()) {
for (BlockFace face : BlockFace.HORIZONTAL) {
int chunkX = chunk.getX() + face.getModX();
int chunkZ = chunk.getZ() + face.getModZ();
int chunkX = chunk.getX() + face.modX();
int chunkZ = chunk.getZ() + face.modZ();
if (!clientChunks.getLoadedChunks().contains(ClientChunks.toLong(chunkX, chunkZ))) {
PacketWrapper unloadChunk = wrapper.create(ClientboundPackets1_9.UNLOAD_CHUNK);
unloadChunk.write(Type.INT, chunkX);
@ -174,8 +174,8 @@ public class WorldPackets {
// Send empty chunks surrounding the loaded chunk to force 1.9+ clients to render the new chunk
if (Via.getConfig().isChunkBorderFix()) {
for (BlockFace face : BlockFace.HORIZONTAL) {
int chunkX = chunk.getX() + face.getModX();
int chunkZ = chunk.getZ() + face.getModZ();
int chunkX = chunk.getX() + face.modX();
int chunkZ = chunk.getZ() + face.modZ();
if (!clientChunks.getLoadedChunks().contains(ClientChunks.toLong(chunkX, chunkZ))) {
PacketWrapper emptyChunk = wrapper.create(ClientboundPackets1_9.CHUNK_DATA);
Chunk c = new BaseChunk(chunkX, chunkZ, true, false, 0, new ChunkSection[16], new int[256], new ArrayList<>());
@ -210,8 +210,8 @@ public class WorldPackets {
// Send empty chunks surrounding the loaded chunk to force 1.9+ clients to render the new chunk
if (Via.getConfig().isChunkBorderFix()) {
for (BlockFace face : BlockFace.HORIZONTAL) {
int chunkX = chunk.getX() + face.getModX();
int chunkZ = chunk.getZ() + face.getModZ();
int chunkX = chunk.getX() + face.modX();
int chunkZ = chunk.getZ() + face.modZ();
if (!clientChunks.getLoadedChunks().contains(ClientChunks.toLong(chunkX, chunkZ))) {
PacketWrapper emptyChunk = wrapper.create(ClientboundPackets1_9.CHUNK_DATA);
Chunk c = new BaseChunk(chunkX, chunkZ, true, false, 0, new ChunkSection[16], new int[256], new ArrayList<>());
@ -406,9 +406,9 @@ public class WorldPackets {
if (face == 255)
return;
Position p = wrapper.get(Type.POSITION, 0);
int x = p.getX();
int y = p.getY();
int z = p.getZ();
int x = p.x();
int y = p.y();
int z = p.z();
switch (face) {
case 0:
y--;

View File

@ -52,8 +52,8 @@ public class CommandBlockStorage implements StorableObject {
}
private Pair<Integer, Integer> getChunkCoords(Position position) {
int chunkX = Math.floorDiv(position.getX(), 16);
int chunkZ = Math.floorDiv(position.getZ(), 16);
int chunkX = Math.floorDiv(position.x(), 16);
int chunkZ = Math.floorDiv(position.z(), 16);
return new Pair<>(chunkX, chunkZ);
}

View File

@ -276,12 +276,12 @@ public abstract class EntityRewriter<T extends Protocol> extends RewriterBase<T>
* @param entityType entity type
* @param intType int type of the entity id
*/
public void registerTracker(ClientboundPacketType packetType, EntityType entityType, Type<? extends Integer> intType) {
public void registerTracker(ClientboundPacketType packetType, EntityType entityType, Type<Integer> intType) {
protocol.registerClientbound(packetType, new PacketRemapper() {
@Override
public void registerMap() {
handler(wrapper -> {
int entityId = (int) wrapper.passthrough(intType);
int entityId = wrapper.passthrough(intType);
tracker(wrapper.user()).addEntity(entityId, entityType);
});
}