Material class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.material
Файл: com/hypixel/hytale/builtin/hytalegenerator/material/Material.java
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
boolean |
isCalculated |
|
int |
value |
Методы (6)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
private |
Hashprivate Hash() |
static |
int |
hashCodeint hashCode(@Nonnull SolidMaterial var0, @Nonnull FluidMaterial var1) |
public |
int |
hashMaterialIdsint hashMaterialIds() |
static |
int |
hashMaterialIdsint hashMaterialIds(@Nonnull SolidMaterial var0, @Nonnull FluidMaterial var1) |
|
|
if if(this.hashCode.isCalculated) |
|
|
if if(this.materialIdsHash.isCalculated) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.material;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">final class Material {
@Nonnull
class="kw">private class="kw">final SolidMaterial solid;
@Nonnull
class="kw">private class="kw">final FluidMaterial fluid;
class="kw">private Material.Hash hashCode;
class="kw">private Material.Hash materialIdsHash;
class="kw">public Material(@Nonnull SolidMaterial var1, @Nonnull FluidMaterial var2) {
this.solid = var1;
this.fluid = var2;
this.hashCode = new Material.Hash();
this.materialIdsHash = new Material.Hash();
}
@Override
class="kw">public boolean equals(Object var1) {
class="kw">return !(var1 class="kw">instanceof Material var2) ? false : Objects.equals(this.solid, var2.solid) && Objects.equals(this.fluid, var2.fluid);
}
@Override
class="kw">public int hashCode() {
if (this.hashCode.isCalculated) {
class="kw">return this.hashCode.value;
}
this.hashCode.value = hashCode(this.solid, this.fluid);
this.hashCode.isCalculated = true;
class="kw">return this.hashCode.value;
}
class="kw">public int hashMaterialIds() {
if (this.materialIdsHash.isCalculated) {
class="kw">return this.materialIdsHash.value;
}
this.materialIdsHash.value = hashMaterialIds(this.solid, this.fluid);
this.materialIdsHash.isCalculated = true;
class="kw">return this.materialIdsHash.value;
}
class="kw">public class="kw">static int hashCode(@Nonnull SolidMaterial var0, @Nonnull FluidMaterial var1) {
class="kw">return Objects.hash(var0.hashCode(), var1.hashCode());
}
class="kw">public class="kw">static int hashMaterialIds(@Nonnull SolidMaterial var0, @Nonnull FluidMaterial var1) {
class="kw">return Objects.hash(var0.blockId, var1.fluidId);
}
@Nonnull
class="kw">public SolidMaterial solid() {
class="kw">return this.solid;
}
@Nonnull
class="kw">public FluidMaterial fluid() {
class="kw">return this.fluid;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "Material[solid=" + this.solid + ", fluid=" + this.fluid + "]";
}
class="kw">private class="kw">static class Hash {
int value = 0;
boolean isCalculated = false;
class="kw">private Hash() {
}
}
}