StripedMaterialProvider class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.materialproviders

Файл: com/hypixel/hytale/builtin/hytalegenerator/materialproviders/StripedMaterialProvider.java

extends: MaterialProvider<V>

Поля (3)

МодификаторыТипИмя
private final int bottomY
private final int topY
StripedMaterialProvider.Stripe var4

Методы (4)

МодификаторыВозвратСигнатура
public Stripepublic Stripe(int var1, int var2)
public boolean containspublic boolean contains(int var1)
for for(StripedMaterialProvider.Stripe var5 : this.stripes)
abstract for for(int var3 = 0; var3 < var2.size()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.materialproviders;

class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class StripedMaterialProvider<V> class="kw">extends MaterialProvider<V> {
   @Nonnull
   class="kw">private class="kw">final MaterialProvider<V> materialProvider;
   @Nonnull
   class="kw">private class="kw">final StripedMaterialProvider.Stripe[] stripes;

   class="kw">public StripedMaterialProvider(@Nonnull MaterialProvider<V> var1, @Nonnull List<StripedMaterialProvider.Stripe> var2) {
      this.materialProvider = var1;
      this.stripes = new StripedMaterialProvider.Stripe[var2.size()];

      for (int var3 = 0; var3 < var2.size(); var3++) {
         StripedMaterialProvider.Stripe var4 = var2.get(var3);
         this.stripes[var3] = var4;
      }
   }

   @Nullable
   @Override
   class="kw">public V getVoxelTypeAt(@Nonnull MaterialProvider.Context var1) {
      for (StripedMaterialProvider.Stripe var5 : this.stripes) {
         if (var5.contains(var1.position.y)) {
            class="kw">return this.materialProvider.getVoxelTypeAt(var1);
         }
      }

      class="kw">return null;
   }

   class="kw">public class="kw">static class Stripe {
      class="kw">private class="kw">final int topY;
      class="kw">private class="kw">final int bottomY;

      class="kw">public Stripe(int var1, int var2) {
         this.topY = var1;
         this.bottomY = var2;
      }

      class="kw">public boolean contains(int var1) {
         class="kw">return var1 >= this.bottomY && var1 <= this.topY;
      }
   }
}