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