BlockFaceSupport class
Пакет: com.hypixel.hytale.server.core.asset.type.blocktype.config
Файл: com/hypixel/hytale/server/core/asset/type/blocktype/config/BlockFaceSupport.java
implements: NetworkSerializable<com.hypixel.hytale.protocol.BlockFaceSupport>
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<BlockFaceSupport> |
CODEC |
|
com.hypixel.hytale.protocol.BlockFaceSupport |
var1 |
|
com.hypixel.hytale.protocol.Vector3i[] |
var2 |
|
Vector3i[] |
var4 |
|
Vector3i |
var4 |
Методы (6)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var3 = 0; var3 < this.filler.length; var3++) |
public |
String |
getFaceTypeString getFaceType() |
public |
Vector3i[] |
getFillerVector3i[] getFiller() |
|
|
if if(var0 == ALL) |
|
|
if if(this.filler != null) |
public |
boolean |
providesSupportFromFillerboolean providesSupportFromFiller(Vector3i var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.blocktype.config;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.math.vector.Vector3iUtil;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;
class="kw">public class BlockFaceSupport class="kw">implements NetworkSerializable<com.hypixel.hytale.protocol.BlockFaceSupport> {
class="kw">public class="kw">static class="kw">final BuilderCodec<BlockFaceSupport> CODEC = BuilderCodec.builder(BlockFaceSupport.class, BlockFaceSupport::new)
.append(new KeyedCodec<>("FaceType", Codec.STRING), (var0, var1) -> var0.faceType = var1, var0 -> var0.faceType)
.add()
.documentation("Can be any string. Compared with FaceType in \"Support\". A LOT of blocks use 'Full'.")
.append(new KeyedCodec<>("Filler", new ArrayCodec<>(Vector3iUtil.CODEC, Vector3i[]::new)), (var0, var1) -> var0.filler = var1, var0 -> var0.filler)
.add()
.build();
class="kw">public class="kw">static class="kw">final BlockFaceSupport ALL = new BlockFaceSupport();
class="kw">public class="kw">static class="kw">final String FULL_SUPPORTING_FACE = "Full";
class="kw">protected String faceType = "Full";
class="kw">protected Vector3i[] filler;
class="kw">public BlockFaceSupport() {
}
class="kw">public BlockFaceSupport(String var1, Vector3i[] var2) {
this.faceType = var1;
this.filler = var2;
}
class="kw">public String getFaceType() {
class="kw">return this.faceType;
}
class="kw">public Vector3i[] getFiller() {
class="kw">return this.filler;
}
class="kw">public boolean providesSupportFromFiller(Vector3i var1) {
class="kw">return this.filler == null || ArrayUtil.contains(this.filler, var1);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "BlockFaceSupport{faceType='" + this.faceType + "', filler=" + Arrays.toString(this.filler) + "}";
}
@Nonnull
class="kw">public class="kw">static BlockFaceSupport rotate(@Nonnull BlockFaceSupport var0, @Nonnull Rotation var1, @Nonnull Rotation var2, @Nonnull Rotation var3) {
if (var0 == ALL) {
class="kw">return ALL;
}
Vector3i[] var4 = ArrayUtil.copyAndMutate(var0.filler, var3x -> Rotation.rotate(var3x, var1, var2, var3), Vector3i[]::new);
class="kw">return new BlockFaceSupport(var0.faceType, var4);
}
@Nonnull
class="kw">public com.hypixel.hytale.protocol.BlockFaceSupport toPacket() {
com.hypixel.hytale.protocol.BlockFaceSupport var1 = new com.hypixel.hytale.protocol.BlockFaceSupport();
var1.faceType = this.faceType;
if (this.filler != null) {
com.hypixel.hytale.protocol.Vector3i[] var2 = new com.hypixel.hytale.protocol.Vector3i[this.filler.length];
for (int var3 = 0; var3 < this.filler.length; var3++) {
Vector3i var4 = this.filler[var3];
var2[var3] = new com.hypixel.hytale.protocol.Vector3i(var4.x, var4.y, var4.z);
}
var1.filler = var2;
}
class="kw">return var1;
}
}