MixTintProvider class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/tintproviders/MixTintProvider.java

extends: TintProvider

Поля (7)

МодификаторыТипИмя
assert false
Color var10
double var2
TintProvider.Result var4
TintProvider.Result var5
double var6
double var8

Методы (1)

МодификаторыВозвратСигнатура
if if(var4.tint == var5.tint)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.TintUtil;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.protocol.Color;
class="kw">import com.hypixel.hytale.server.core.asset.util.ColorParseUtil;
class="kw">import it.unimi.dsi.fastutil.doubles.DoubleArrayList;
class="kw">import it.unimi.dsi.fastutil.doubles.DoubleList;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class MixTintProvider class="kw">extends TintProvider {
   @Nonnull
   class="kw">private class="kw">final Density density;
   @Nonnull
   class="kw">private class="kw">final TintProvider tintA;
   @Nonnull
   class="kw">private class="kw">final TintProvider tintB;
   @Nonnull
   class="kw">private class="kw">final List<Color> rColorList;
   @Nonnull
   class="kw">private class="kw">final DoubleList rWeightList;
   @Nonnull
   class="kw">private class="kw">final Density.Context rDensityContext;

   class="kw">public MixTintProvider(@Nonnull Density var1, @Nonnull TintProvider var2, @Nonnull TintProvider var3) {
      this.density = var1;
      this.tintA = var2;
      this.tintB = var3;
      this.rColorList = new ArrayList<>(2);
      this.rWeightList = new DoubleArrayList(2);
      this.rDensityContext = new Density.Context();
   }

   @Override
   class="kw">public TintProvider.Result getValue(@Nonnull TintProvider.Context var1) {
      this.rDensityContext.assign(var1);
      double var2 = this.density.process(this.rDensityContext);
      TintProvider.Result var4 = this.tintA.getValue(var1);
      if (Double.isNaN(var2)) {
         assert false;
         this.rDensityContext.clearReferences();
         class="kw">return var4;
      } else {
         TintProvider.Result var5 = this.tintB.getValue(var1);
         if (var4.tint == var5.tint) {
            this.rDensityContext.clearReferences();
            class="kw">return var4;
         } else {
            this.rColorList.clear();
            this.rColorList.add(ColorParseUtil.argbIntToColor(this.tintA.getValue(var1).tint));
            this.rColorList.add(ColorParseUtil.argbIntToColor(this.tintB.getValue(var1).tint));
            double var6 = MathUtil.clamp(var2, 0.0, 1.0);
            double var8 = 1.0 - var6;
            this.rWeightList.clear();
            this.rWeightList.add(var8);
            this.rWeightList.add(var6);
            this.rDensityContext.clearReferences();
            Color var10 = TintUtil.blend(this.rColorList, this.rWeightList);
            class="kw">return new TintProvider.Result(ColorParseUtil.colorToARGBInt(var10));
         }
      }
   }
}