Material class
Пакет: com.hypixel.hytale.builtin.buildertools.utils
Файл: com/hypixel/hytale/builtin/buildertools/utils/Material.java
Поля (13)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Material |
EMPTY |
|
BlockPattern.BlockEntry |
var1 |
|
BlockType |
var1 |
|
int |
var1 |
|
FluidPatternHelper.FluidInfo |
var2 |
|
String |
var2 |
|
BlockPattern.BlockEntry |
var2 |
|
int |
var3 |
|
Fluid |
var3 |
|
FluidPatternHelper.FluidInfo |
var3 |
|
FluidPatternHelper.FluidInfo |
var4 |
|
int |
var4 |
|
int |
var5 |
Методы (19)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return |
blockreturn block(var0, 0) |
public |
int |
getBlockIdint getBlockId() |
public |
int |
getFillerint getFiller() |
public |
int |
getFluidIdint getFluidId() |
public |
byte |
getFluidLevelbyte getFluidLevel() |
public |
int |
getRotationint getRotation() |
public |
int |
getSupportint getSupport() |
public |
boolean |
hasRotationboolean hasRotation() |
|
|
if if(var1 != null) |
|
|
if if(var2 != null) |
|
|
if if(var3 != Integer.MIN_VALUE) |
|
|
if if(var4 != null) |
|
|
if if(this == var1) |
|
|
if if(var2 != null) |
|
|
if if(var3 != null) |
|
|
if if(var4 != Integer.MIN_VALUE) |
public |
boolean |
isBlockboolean isBlock() |
public |
boolean |
isEmptyboolean isEmpty() |
public |
boolean |
isFluidboolean isFluid() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.utils;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import com.hypixel.hytale.server.core.asset.type.fluid.Fluid;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.mask.BlockPattern;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import java.util.Objects;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class="kw">final class Material {
class="kw">public class="kw">static class="kw">final Material EMPTY = new Material(0, 0, (byte)0, 0, 0, 0, null);
class="kw">private class="kw">final int blockId;
class="kw">private class="kw">final int fluidId;
class="kw">private class="kw">final byte fluidLevel;
class="kw">private class="kw">final int rotation;
class="kw">private class="kw">final int support;
class="kw">private class="kw">final int filler;
@Nullable
class="kw">private class="kw">final Holder<ChunkStore> holder;
class="kw">private Material(int var1, int var2, byte var3, int var4, int var5, int var6, @Nullable Holder<ChunkStore> var7) {
this.blockId = var1;
this.fluidId = var2;
this.fluidLevel = var3;
this.rotation = var4;
this.support = var5;
this.filler = var6;
this.holder = var7;
}
@Nonnull
class="kw">public class="kw">static Material block(int var0) {
class="kw">return block(var0, 0);
}
@Nonnull
class="kw">public class="kw">static Material block(int var0, int var1) {
class="kw">return var0 == 0 ? EMPTY : new Material(var0, 0, (byte)0, var1, 0, 0, null);
}
@Nonnull
class="kw">public class="kw">static Material fluid(int var0, byte var1) {
class="kw">return var0 == 0 ? EMPTY : new Material(0, var0, var1, 0, 0, 0, null);
}
@Nonnull
class="kw">public class="kw">static Material full(int var0, int var1, int var2, int var3, @Nullable Holder<ChunkStore> var4) {
class="kw">return var0 == 0 ? EMPTY : new Material(var0, 0, (byte)0, var1, var2, var3, var4);
}
@Nonnull
class="kw">public class="kw">static Material full(int var0, int var1, int var2, int var3, @Nullable Holder<ChunkStore> var4, int var5, byte var6) {
class="kw">return new Material(var0, var5, var6, var1, var2, var3, var4);
}
@Nullable
class="kw">public class="kw">static Material fromKey(@Nonnull String var0) {
if (var0.equalsIgnoreCase("empty")) {
class="kw">return EMPTY;
}
BlockPattern.BlockEntry var1 = BlockPattern.tryParseBlockTypeKey(var0);
if (var1 != null) {
FluidPatternHelper.FluidInfo var2 = FluidPatternHelper.getFluidInfo(var1.blockTypeKey());
if (var2 != null) {
class="kw">return fluid(var2.fluidId(), var2.fluidLevel());
}
int var3 = BlockType.getAssetMap().getIndex(var1.blockTypeKey());
if (var3 != Integer.MIN_VALUE) {
class="kw">return block(var3, var1.rotation());
}
}
FluidPatternHelper.FluidInfo var4 = FluidPatternHelper.getFluidInfo(var0);
if (var4 != null) {
class="kw">return fluid(var4.fluidId(), var4.fluidLevel());
}
int var5 = BlockType.getAssetMap().getIndex(var0);
class="kw">return var5 != Integer.MIN_VALUE ? block(var5) : null;
}
class="kw">public boolean isFluid() {
class="kw">return this.fluidId != 0;
}
class="kw">public boolean isBlock() {
class="kw">return this.blockId != 0 && this.fluidId == 0;
}
class="kw">public boolean isEmpty() {
class="kw">return this.blockId == 0 && this.fluidId == 0;
}
class="kw">public int getBlockId() {
class="kw">return this.blockId;
}
class="kw">public int getFluidId() {
class="kw">return this.fluidId;
}
class="kw">public byte getFluidLevel() {
class="kw">return this.fluidLevel;
}
class="kw">public int getRotation() {
class="kw">return this.rotation;
}
class="kw">public boolean hasRotation() {
class="kw">return this.rotation != 0;
}
class="kw">public int getSupport() {
class="kw">return this.support;
}
class="kw">public int getFiller() {
class="kw">return this.filler;
}
@Nullable
class="kw">public Holder<ChunkStore> getHolder() {
class="kw">return this.holder;
}
@Override
class="kw">public String toString() {
if (this.isEmpty()) {
class="kw">return "Material[empty]";
} else if (this.isFluid()) {
Fluid var3 = Fluid.getAssetMap().getAsset(this.fluidId);
class="kw">return "Material[fluid=" + (var3 != null ? var3.getId() : this.fluidId) + ", level=" + this.fluidLevel + "]";
} else {
BlockType var1 = BlockType.getAssetMap().getAsset(this.blockId);
String var2 = this.hasRotation() ? ", rotation=" + RotationTuple.get(this.rotation) : "";
class="kw">return "Material[block=" + (var1 != null ? var1.getId() : this.blockId) + var2 + "]";
}
}
@Override
class="kw">public boolean equals(Object var1) {
if (this == var1) {
class="kw">return true;
} else {
class="kw">return !(var1 class="kw">instanceof Material var2)
? false
: this.blockId == var2.blockId
&& this.fluidId == var2.fluidId
&& this.fluidLevel == var2.fluidLevel
&& this.rotation == var2.rotation
&& this.support == var2.support
&& this.filler == var2.filler
&& Objects.equals(this.holder, var2.holder);
}
}
@Override
class="kw">public int hashCode() {
int var1 = 31 * (31 * (31 * this.blockId + this.fluidId) + this.fluidLevel) + this.rotation;
class="kw">return 31 * (31 * (31 * var1 + this.support) + this.filler) + Objects.hashCode(this.holder);
}
@Nonnull
class="kw">public class="kw">static Material fromPattern(@Nonnull BlockPattern var0, @Nonnull Random var1) {
BlockPattern.BlockEntry var2 = var0.nextBlockTypeKey(var1);
if (var2 != null) {
FluidPatternHelper.FluidInfo var3 = FluidPatternHelper.getFluidInfo(var2.blockTypeKey());
if (var3 != null) {
class="kw">return fluid(var3.fluidId(), var3.fluidLevel());
}
int var4 = BlockType.getAssetMap().getIndex(var2.blockTypeKey());
if (var4 != Integer.MIN_VALUE) {
class="kw">return block(var4, var2.rotation());
}
}
class="kw">return block(var0.nextBlock(var1));
}
}