PrefabBufferSelectionConverter class
Пакет: com.hypixel.hytale.server.core.prefab.selection.buffer
Файл: com/hypixel/hytale/server/core/prefab/selection/buffer/PrefabBufferSelectionConverter.java
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int |
var1 |
|
TransformComponent |
var12 |
|
int |
var2 |
|
int |
var3 |
|
BlockSelection |
var4 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(Holder var11 : var6) |
|
|
if if(var9 < 1.0F) |
|
|
if if(var6 != null) |
|
|
if if(var12 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.prefab.selection.buffer;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.prefab.config.SelectionPrefabSerializer;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.buffer.impl.IPrefabBuffer;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.buffer.impl.PrefabBuffer;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.standard.BlockSelection;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">public class PrefabBufferSelectionConverter {
class="kw">private PrefabBufferSelectionConverter() {
}
@Nonnull
class="kw">public class="kw">static PrefabBuffer toPrefabBuffer(@Nonnull Path var0, @Nonnull BlockSelection var1) {
class="kw">return BsonPrefabBufferDeserializer.INSTANCE.deserialize(var0, SelectionPrefabSerializer.serialize(var1));
}
@Nonnull
class="kw">public class="kw">static BlockSelection toBlockSelection(@Nonnull PrefabBuffer var0) {
int var1 = var0.getAnchorX();
int var2 = var0.getAnchorY();
int var3 = var0.getAnchorZ();
BlockSelection var4 = new BlockSelection();
var4.setAnchor(var1, var2, var3);
var0.newAccess().forEachRaw(IPrefabBuffer.iterateAllColumns(), (var4x, var5, var6, var7, var8, var9, var10, var11, var12, var13, var14) -> {
if (var9 < 1.0F) {
throw new IllegalStateException("Block selections do not support chance-based blocks (at " + var4x + ", " + var5 + ", " + var6 + ")");
}
var4.addBlockAtLocalPos(var4x + var1, var5 + var2, var6 + var3, var8, var12, var13, var11, var10);
}, (var4x, var5, var6, var7, var8, var9) -> var4.addFluidAtLocalPos(var4x + var1, var5 + var2, var6 + var3, var7, var8), (var4x, var5, var6, var7) -> {
if (var6 != null) {
for (Holder var11 : var6) {
TransformComponent var12 = var11.getComponent(TransformComponent.getComponentType());
if (var12 != null) {
var12.getPosition().add(var1, var2, var3);
}
var4.addEntityHolderRaw(var11);
}
}
}, null);
class="kw">return var4;
}
}