ConnectedBlockOutput class

Пакет: com.hypixel.hytale.server.core.universe.world.connectedblocks.builtin

Файл: com/hypixel/hytale/server/core/universe/world/connectedblocks/builtin/ConnectedBlockOutput.java

Поля (9)

МодификаторыТипИмя
final BuilderCodec<ConnectedBlockOutput> CODEC
String var3
var3
var3
var3
BlockType var4
String var5
BlockType var6
int var7

Методы (6)

МодификаторыВозвратСигнатура
if if(var3 == null)
if if(var4 == null)
if if(this.state != null)
if if(var3 == null)
if if(var7 == Integer.MIN_VALUE)
public int resolveint resolve(BlockType var1, BlockTypeAssetMap<String, BlockType> var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.connectedblocks.builtin;

class="kw">import com.hypixel.hytale.assetstore.map.BlockTypeAssetMap;
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.server.core.asset.type.blocktype.config.BlockType;

class="kw">public class ConnectedBlockOutput {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ConnectedBlockOutput> CODEC = BuilderCodec.builder(ConnectedBlockOutput.class, ConnectedBlockOutput::new)
      .append(new KeyedCodec<>("State", Codec.STRING), (var0, var1) -> var0.state = var1, var0 -> var0.state)
      .documentation("An optional state definition to apply to the base block type")
      .add()
      .<String>append(new KeyedCodec<>("Block", Codec.STRING), (var0, var1) -> var0.blockTypeKey = var1, var0 -> var0.blockTypeKey)
      .documentation("An optional block ID to use instead of the base block type")
      .add()
      .build();
   class="kw">protected String state;
   class="kw">protected String blockTypeKey;

   class="kw">protected ConnectedBlockOutput() {
   }

   class="kw">public int resolve(BlockType var1, BlockTypeAssetMap<String, BlockType> var2) {
      String var3 = this.blockTypeKey;
      if (var3 == null) {
         var3 = var1.getId();
      }

      BlockType var4 = var2.getAsset(var3);
      if (var4 == null) {
         class="kw">return -1;
      }

      if (this.state != null) {
         String var5 = var4.getDefaultStateKey();
         BlockType var6 = var5 == null ? var4 : BlockType.getAssetMap().getAsset(var5);
         if ("class="kw">default".equals(this.state)) {
            var3 = var6.getId();
         } else {
            var3 = var6.getBlockKeyForState(this.state);
         }

         if (var3 == null) {
            class="kw">return -1;
         }
      }

      int var7 = var2.getIndex(var3);
      if (var7 == Integer.MIN_VALUE) {
         class="kw">return -1;
      }

      this.blockTypeKey = var3;
      class="kw">return var7;
   }
}