Spaces:
Build error
Build error
package net.minecraft.client.resources.model; | |
import javax.annotation.Nullable; | |
import net.minecraft.client.renderer.block.model.ItemTransform; | |
import net.minecraft.client.renderer.block.model.ItemTransforms; | |
import net.minecraft.client.renderer.block.model.TextureSlots; | |
import net.minecraft.world.item.ItemDisplayContext; | |
import net.minecraftforge.api.distmarker.Dist; | |
import net.minecraftforge.api.distmarker.OnlyIn; | |
public interface UnbakedModel extends ResolvableModel { | |
boolean DEFAULT_AMBIENT_OCCLUSION = true; | |
UnbakedModel.GuiLight DEFAULT_GUI_LIGHT = UnbakedModel.GuiLight.SIDE; | |
BakedModel bake(TextureSlots p_376037_, ModelBaker p_250133_, ModelState p_119536_, boolean p_378145_, boolean p_377763_, ItemTransforms p_375499_); | |
default Boolean getAmbientOcclusion() { | |
return null; | |
} | |
default UnbakedModel.GuiLight getGuiLight() { | |
return null; | |
} | |
default ItemTransforms getTransforms() { | |
return null; | |
} | |
default TextureSlots.Data getTextureSlots() { | |
return TextureSlots.Data.EMPTY; | |
} | |
default UnbakedModel getParent() { | |
return null; | |
} | |
static BakedModel bakeWithTopModelValues(UnbakedModel p_377580_, ModelBaker p_375760_, ModelState p_377199_) { | |
TextureSlots textureslots = getTopTextureSlots(p_377580_, p_375760_.rootName()); | |
boolean flag = getTopAmbientOcclusion(p_377580_); | |
boolean flag1 = getTopGuiLight(p_377580_).lightLikeBlock(); | |
ItemTransforms itemtransforms = getTopTransforms(p_377580_); | |
return p_377580_.bake(textureslots, p_375760_, p_377199_, flag, flag1, itemtransforms); | |
} | |
static TextureSlots getTopTextureSlots(UnbakedModel p_375427_, ModelDebugName p_378400_) { | |
TextureSlots.Resolver textureslots$resolver = new TextureSlots.Resolver(); | |
while (p_375427_ != null) { | |
textureslots$resolver.addLast(p_375427_.getTextureSlots()); | |
p_375427_ = p_375427_.getParent(); | |
} | |
return textureslots$resolver.resolve(p_378400_); | |
} | |
static boolean getTopAmbientOcclusion(UnbakedModel p_377158_) { | |
while (p_377158_ != null) { | |
Boolean obool = p_377158_.getAmbientOcclusion(); | |
if (obool != null) { | |
return obool; | |
} | |
p_377158_ = p_377158_.getParent(); | |
} | |
return true; | |
} | |
static UnbakedModel.GuiLight getTopGuiLight(UnbakedModel p_375581_) { | |
while (p_375581_ != null) { | |
UnbakedModel.GuiLight unbakedmodel$guilight = p_375581_.getGuiLight(); | |
if (unbakedmodel$guilight != null) { | |
return unbakedmodel$guilight; | |
} | |
p_375581_ = p_375581_.getParent(); | |
} | |
return DEFAULT_GUI_LIGHT; | |
} | |
static ItemTransform getTopTransform(UnbakedModel p_377137_, ItemDisplayContext p_376495_) { | |
while (p_377137_ != null) { | |
ItemTransforms itemtransforms = p_377137_.getTransforms(); | |
if (itemtransforms != null) { | |
ItemTransform itemtransform = itemtransforms.getTransform(p_376495_); | |
if (itemtransform != ItemTransform.NO_TRANSFORM) { | |
return itemtransform; | |
} | |
} | |
p_377137_ = p_377137_.getParent(); | |
} | |
return ItemTransform.NO_TRANSFORM; | |
} | |
static ItemTransforms getTopTransforms(UnbakedModel p_377896_) { | |
ItemTransform itemtransform = getTopTransform(p_377896_, ItemDisplayContext.THIRD_PERSON_LEFT_HAND); | |
ItemTransform itemtransform1 = getTopTransform(p_377896_, ItemDisplayContext.THIRD_PERSON_RIGHT_HAND); | |
ItemTransform itemtransform2 = getTopTransform(p_377896_, ItemDisplayContext.FIRST_PERSON_LEFT_HAND); | |
ItemTransform itemtransform3 = getTopTransform(p_377896_, ItemDisplayContext.FIRST_PERSON_RIGHT_HAND); | |
ItemTransform itemtransform4 = getTopTransform(p_377896_, ItemDisplayContext.HEAD); | |
ItemTransform itemtransform5 = getTopTransform(p_377896_, ItemDisplayContext.GUI); | |
ItemTransform itemtransform6 = getTopTransform(p_377896_, ItemDisplayContext.GROUND); | |
ItemTransform itemtransform7 = getTopTransform(p_377896_, ItemDisplayContext.FIXED); | |
return new ItemTransforms(itemtransform, itemtransform1, itemtransform2, itemtransform3, itemtransform4, itemtransform5, itemtransform6, itemtransform7); | |
} | |
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; | |
} | |
} | |
} |