ConnectedBlockRule class
Пакет: com.hypixel.hytale.protocol
Файл: com/hypixel/hytale/protocol/ConnectedBlockRule.java
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
int |
MAX_SIZE |
|
long |
var3 |
|
int |
var3 |
|
int |
var5 |
|
int |
var6 |
Методы (12)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract abstract |
int |
computeSizeint computeSize() |
public |
int |
computeSizeWithTypeIdint computeSizeWithTypeId() |
public |
int |
getTypeIdint getTypeId() |
|
|
if if(this instanceof FaceTagConnectedBlockRule var6) |
abstract abstract |
int |
serializeint serialize(@Nonnull MemorySegment var1, int var2) |
public |
int |
serializeWithTypeIdint serializeWithTypeId(@Nonnull MemorySegment var1, int var2) |
|
return |
switchreturn switch(var5) |
static |
ConnectedBlockRule |
toObjectConnectedBlockRule toObject(MemorySegment var0) |
static |
ConnectedBlockRule |
toObjectConnectedBlockRule toObject(MemorySegment var0, int var1) |
static |
ConnectedBlockRule |
toObjectConnectedBlockRule toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) |
abstract |
return |
toObjectreturn toObject(var0, 0, null) |
abstract |
return |
toObjectreturn toObject(var0, var1, null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.protocol;
class="kw">import com.hypixel.hytale.protocol.io.ProtocolException;
class="kw">import com.hypixel.hytale.protocol.io.ReadCursor;
class="kw">import com.hypixel.hytale.protocol.io.VarInt;
class="kw">import java.lang.foreign.MemorySegment;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class="kw">abstract class ConnectedBlockRule {
class="kw">public class="kw">static class="kw">final int MAX_SIZE = 1677721605;
class="kw">public ConnectedBlockRule() {
}
class="kw">public class="kw">static ConnectedBlockRule toObject(MemorySegment var0) {
class="kw">return toObject(var0, 0, null);
}
class="kw">public class="kw">static ConnectedBlockRule toObject(MemorySegment var0, int var1) {
class="kw">return toObject(var0, var1, null);
}
class="kw">public class="kw">static ConnectedBlockRule toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
long var3 = VarInt.getWithLength(var0, var1);
int var5 = (int)var3;
int var6 = (int)(var3 >>> 32);
class="kw">return class="kw">switch (var5) {
case 0 -> FaceTagConnectedBlockRule.toObject(var0, var1 + var6, var2);
case 1 -> AndConnectedBlockRule.toObject(var0, var1 + var6, var2);
case 2 -> OrConnectedBlockRule.toObject(var0, var1 + var6, var2);
case 3 -> NotConnectedBlockRule.toObject(var0, var1 + var6, var2);
case 4 -> ShapeConnectedBlockRule.toObject(var0, var1 + var6, var2);
class="kw">default -> throw ProtocolException.unknownPolymorphicType("ConnectedBlockRule", var5);
};
}
class="kw">public int getTypeId() {
if (this class="kw">instanceof FaceTagConnectedBlockRule var6) {
class="kw">return 0;
} else if (this class="kw">instanceof AndConnectedBlockRule var5) {
class="kw">return 1;
} else if (this class="kw">instanceof OrConnectedBlockRule var4) {
class="kw">return 2;
} else if (this class="kw">instanceof NotConnectedBlockRule var3) {
class="kw">return 3;
} else if (this class="kw">instanceof ShapeConnectedBlockRule var1) {
class="kw">return 4;
} else {
throw new IllegalStateException("Unknown subtype: " + this.getClass().getName());
}
}
class="kw">public class="kw">abstract int serialize(@Nonnull MemorySegment var1, int var2);
class="kw">public class="kw">abstract int computeSize();
class="kw">public int serializeWithTypeId(@Nonnull MemorySegment var1, int var2) {
int var3 = VarInt.set(var1, var2, this.getTypeId());
class="kw">return var3 + this.serialize(var1, var2 + var3);
}
class="kw">public int computeSizeWithTypeId() {
class="kw">return VarInt.size(this.getTypeId()) + this.computeSize();
}
}