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;
   }
}