68 lines
1.7 KiB
Java
68 lines
1.7 KiB
Java
|
package net.minecraft.client.resources.model;
|
||
|
|
||
|
import javax.annotation.Nullable;
|
||
|
import net.minecraft.client.renderer.block.model.ItemTransforms;
|
||
|
import net.minecraft.client.renderer.block.model.TextureSlots;
|
||
|
import net.minecraft.resources.ResourceLocation;
|
||
|
import net.minecraftforge.api.distmarker.Dist;
|
||
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||
|
|
||
|
@OnlyIn(Dist.CLIENT)
|
||
|
public interface UnbakedModel {
|
||
|
String PARTICLE_TEXTURE_REFERENCE = "particle";
|
||
|
|
||
|
@Nullable
|
||
|
default Boolean ambientOcclusion() {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
@Nullable
|
||
|
default UnbakedModel.GuiLight guiLight() {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
@Nullable
|
||
|
default ItemTransforms transforms() {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
default TextureSlots.Data textureSlots() {
|
||
|
return TextureSlots.Data.EMPTY;
|
||
|
}
|
||
|
|
||
|
@Nullable
|
||
|
default UnbakedGeometry geometry() {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
@Nullable
|
||
|
default ResourceLocation parent() {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
@OnlyIn(Dist.CLIENT)
|
||
|
public static enum GuiLight {
|
||
|
FRONT("front"),
|
||
|
SIDE("side");
|
||
|
|
||
|
private final String name;
|
||
|
|
||
|
private GuiLight(final String p_377886_) {
|
||
|
this.name = p_377886_;
|
||
|
}
|
||
|
|
||
|
public static UnbakedModel.GuiLight getByName(String p_378162_) {
|
||
|
for (UnbakedModel.GuiLight unbakedmodel$guilight : values()) {
|
||
|
if (unbakedmodel$guilight.name.equals(p_378162_)) {
|
||
|
return unbakedmodel$guilight;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
throw new IllegalArgumentException("Invalid gui light: " + p_378162_);
|
||
|
}
|
||
|
|
||
|
public boolean lightLikeBlock() {
|
||
|
return this == SIDE;
|
||
|
}
|
||
|
}
|
||
|
}
|