Fabric port in progress

This commit is contained in:
Sebastian Hartte
2020-06-27 23:25:38 +02:00
parent 80fbb58d4f
commit b79cd732b2
368 changed files with 2498 additions and 2698 deletions
@@ -22,7 +22,7 @@ import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.client.renderer.color.IBlockColor;
import net.minecraft.client.color.block.BlockColorProvider;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILightReader;
@@ -32,7 +32,7 @@ import appeng.api.util.AEColor;
/**
* Automatically exposes the color of a colorable tile using tint indices 0-2
*/
public class ColorableTileBlockColor implements IBlockColor {
public class ColorableTileBlockColor implements BlockColorProvider {
public static final ColorableTileBlockColor INSTANCE = new ColorableTileBlockColor();
@@ -41,7 +41,7 @@ public class ColorableTileBlockColor implements IBlockColor {
AEColor color = AEColor.TRANSPARENT; // Default to a neutral color
if (worldIn != null && pos != null) {
BlockEntity te = worldIn.getTileEntity(pos);
BlockEntity te = worldIn.getBlockEntity(pos);
if (te instanceof IColorableTile) {
color = ((IColorableTile) te).getColor();
}
@@ -23,20 +23,20 @@ import java.util.Random;
import javax.annotation.Nullable;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.math.Direction;
public abstract class DelegateBakedModel implements IBakedModel {
private final IBakedModel baseModel;
public abstract class DelegateBakedModel implements BakedModel {
private final BakedModel baseModel;
protected DelegateBakedModel(IBakedModel base) {
protected DelegateBakedModel(BakedModel base) {
this.baseModel = base;
}
@@ -57,7 +57,7 @@ public abstract class DelegateBakedModel implements IBakedModel {
}
@Override
public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
baseModel.handlePerspective(cameraTransformType, mat);
return this;
}
@@ -87,7 +87,7 @@ public abstract class DelegateBakedModel implements IBakedModel {
return this.baseModel.isBuiltInRenderer();
}
public IBakedModel getBaseModel() {
public BakedModel getBaseModel() {
return this.baseModel;
}
}
@@ -27,7 +27,7 @@ import com.google.common.collect.ImmutableList;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.math.Direction;
@@ -37,7 +37,7 @@ import net.minecraft.util.math.Direction;
* @version rv6 - 2018-01-22
* @since rv6 2018-01-22
*/
public class DummyFluidBakedModel implements IBakedModel {
public class DummyFluidBakedModel implements BakedModel {
private final ImmutableList<BakedQuad> quads;
public DummyFluidBakedModel(ImmutableList<BakedQuad> quads) {
@@ -31,7 +31,7 @@ import com.google.common.collect.ImmutableList;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.renderer.texture.AtlasTexture;
@@ -55,8 +55,8 @@ import appeng.fluids.items.FluidDummyItem;
public class DummyFluidDispatcherBakedModel extends DelegateBakedModel {
private final Function<Material, TextureAtlasSprite> bakedTextureGetter;
public DummyFluidDispatcherBakedModel(IBakedModel baseModel,
Function<Material, TextureAtlasSprite> bakedTextureGetter) {
public DummyFluidDispatcherBakedModel(BakedModel baseModel,
Function<Material, TextureAtlasSprite> bakedTextureGetter) {
super(baseModel);
this.bakedTextureGetter = bakedTextureGetter;
}
@@ -86,8 +86,8 @@ public class DummyFluidDispatcherBakedModel extends DelegateBakedModel {
public ItemOverrideList getOverrides() {
return new ItemOverrideList() {
@Override
public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
if (!(stack.getItem() instanceof FluidDummyItem)) {
return originalModel;
}
@@ -25,12 +25,12 @@ import java.util.function.Function;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
@@ -48,10 +48,10 @@ public class DummyFluidItemModel implements IModelGeometry<DummyFluidItemModel>
"item/dummy_fluid_item_base");
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
IBakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
BakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
return new DummyFluidDispatcherBakedModel(bakedBaseModel, spriteGetter);
}
@@ -26,8 +26,8 @@ import java.util.Random;
import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.Direction;
@@ -48,7 +48,7 @@ public class FacadeBakedItemModel extends DelegateBakedModel {
private final FacadeBuilder facadeBuilder;
private List<BakedQuad> quads = null;
protected FacadeBakedItemModel(IBakedModel base, ItemStack textureStack, FacadeBuilder facadeBuilder) {
protected FacadeBakedItemModel(BakedModel base, ItemStack textureStack, FacadeBuilder facadeBuilder) {
super(base);
this.textureStack = textureStack;
this.facadeBuilder = facadeBuilder;
@@ -20,7 +20,7 @@ package appeng.client.render;
import java.util.Objects;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack;
@@ -41,7 +41,7 @@ public class FacadeDispatcherBakedModel extends DelegateBakedModel {
private final FacadeBuilder facadeBuilder;
private final Int2ObjectMap<FacadeBakedItemModel> cache = new Int2ObjectArrayMap<>();
public FacadeDispatcherBakedModel(IBakedModel baseModel, FacadeBuilder facadeBuilder) {
public FacadeDispatcherBakedModel(BakedModel baseModel, FacadeBuilder facadeBuilder) {
super(baseModel);
this.facadeBuilder = facadeBuilder;
}
@@ -50,8 +50,8 @@ public class FacadeDispatcherBakedModel extends DelegateBakedModel {
public ItemOverrideList getOverrides() {
return new ItemOverrideList() {
@Override
public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
if (!(stack.getItem() instanceof FacadeItem)) {
return originalModel;
}
@@ -43,10 +43,10 @@ public class FacadeItemModel implements IModelGeometry<FacadeItemModel> {
private static final Identifier MODEL_BASE = new Identifier(AppEng.MOD_ID, "item/facade_base");
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
IBakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
BakedModel bakedBaseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
FacadeBuilder facadeBuilder = new FacadeBuilder();
return new FacadeDispatcherBakedModel(bakedBaseModel, facadeBuilder);
@@ -25,7 +25,7 @@ import com.mojang.blaze3d.systems.RenderSystem;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.renderer.RenderHelper;
@@ -57,7 +57,7 @@ public class SpatialSkyRender implements SkyRenderHandler {
new Quaternion(0.0F, 0.0F, 90.0F, true), new Quaternion(0.0F, 0.0F, -90.0F, true), };
@Override
public void render(int ticks, float partialTicks, MatrixStack matrixStack, ClientWorld world, Minecraft mc) {
public void render(int ticks, float partialTicks, MatrixStack matrixStack, ClientWorld world, MinecraftClient mc) {
final long now = System.currentTimeMillis();
if (now - this.cycle > 2000) {
this.cycle = now;
@@ -21,7 +21,7 @@ package appeng.client.render;
import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.color.IBlockColor;
import net.minecraft.client.color.block.BlockColorProvider;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILightReader;
@@ -30,7 +30,7 @@ import appeng.api.util.AEColor;
/**
* Returns the shades of a single AE color for tint indices 0, 1, and 2.
*/
public class StaticBlockColor implements IBlockColor {
public class StaticBlockColor implements BlockColorProvider {
private final AEColor color;
@@ -18,7 +18,7 @@
package appeng.client.render;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.client.color.item.ItemColorProvider;
import net.minecraft.item.ItemStack;
import appeng.api.util.AEColor;
@@ -26,7 +26,7 @@ import appeng.api.util.AEColor;
/**
* Returns the shades of a single AE color for tint indices 0, 1, and 2.
*/
public class StaticItemColor implements IItemColor {
public class StaticItemColor implements ItemColorProvider {
private final AEColor color;
@@ -18,10 +18,10 @@
package appeng.client.render;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.render.model.ItemCameraTransforms;
@@ -92,7 +92,7 @@ public class TesrRenderHelper {
// effect at least from head-on
matrixStack.scale(scale, scale, 0.0002f);
Minecraft.getInstance().getItemRenderer().renderItem(itemStack, ItemCameraTransforms.TransformType.GUI,
MinecraftClient.getInstance().getItemRenderer().renderItem(itemStack, ItemCameraTransforms.TransformType.GUI,
combinedLightIn, OverlayTexture.NO_OVERLAY, matrixStack, buffers);
matrixStack.pop();
@@ -120,7 +120,7 @@ public class TesrRenderHelper {
final String renderedStackSize = NUMBER_CONVERTER.toWideReadableForm(stackSize);
// Render the item count
final FontRenderer fr = Minecraft.getInstance().fontRenderer;
final FontRenderer fr = MinecraftClient.getInstance().fontRenderer;
final int width = fr.getStringWidth(renderedStackSize);
matrixStack.push();
matrixStack.translate(0.0f, spacing, 0.02f);
@@ -31,9 +31,9 @@ import java.util.Random;
import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.MissingTextureSprite;
@@ -48,7 +48,7 @@ import appeng.api.parts.IPartModel;
import appeng.api.util.AECableType;
import appeng.api.util.AEColor;
public class CableBusBakedModel implements IBakedModel {
public class CableBusBakedModel implements BakedModel {
private static final Map<CableBusRenderState, List<BakedQuad>> CABLE_MODEL_CACHE = new HashMap<>();
@@ -56,12 +56,12 @@ public class CableBusBakedModel implements IBakedModel {
private final FacadeBuilder facadeBuilder;
private final Map<Identifier, IBakedModel> partModels;
private final Map<Identifier, BakedModel> partModels;
private final TextureAtlasSprite particleTexture;
CableBusBakedModel(CableBuilder cableBuilder, FacadeBuilder facadeBuilder,
Map<Identifier, IBakedModel> partModels, TextureAtlasSprite particleTexture) {
Map<Identifier, BakedModel> partModels, TextureAtlasSprite particleTexture) {
this.cableBuilder = cableBuilder;
this.facadeBuilder = facadeBuilder;
this.partModels = partModels;
@@ -82,14 +82,14 @@ public class CableBusBakedModel implements IBakedModel {
return Collections.emptyList();
}
RenderType layer = MinecraftForgeClient.getRenderLayer();
RenderLayer layer = MinecraftForgeClient.getRenderLayer();
List<BakedQuad> quads = new ArrayList<>();
// The core parts of the cable will only be rendered in the CUTOUT layer.
// Facades will add them selves to what ever the block would be rendered with,
// except when transparent facades are enabled, they are forced to TRANSPARENT.
if (layer == RenderType.getCutout()) {
if (layer == RenderLayer.getCutout()) {
// First, handle the cable at the center of the cable bus
final List<BakedQuad> cableModel = CABLE_MODEL_CACHE.computeIfAbsent(renderState, k -> {
@@ -112,7 +112,7 @@ public class CableBusBakedModel implements IBakedModel {
}
for (Identifier model : partModel.getModels()) {
IBakedModel bakedModel = this.partModels.get(model);
BakedModel bakedModel = this.partModels.get(model);
if (bakedModel == null) {
throw new IllegalStateException("Trying to use an unregistered part model: " + model);
@@ -282,7 +282,7 @@ public class CableBusBakedModel implements IBakedModel {
IPartModel partModel = renderState.getAttachments().get(side);
for (Identifier model : partModel.getModels()) {
IBakedModel bakedModel = this.partModels.get(model);
BakedModel bakedModel = this.partModels.get(model);
if (bakedModel == null) {
throw new IllegalStateException("Trying to use an unregistered part model: " + model);
@@ -27,12 +27,12 @@ import java.util.function.Function;
import com.google.common.collect.ImmutableMap;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
@@ -54,10 +54,10 @@ public class CableBusModel implements IModelGeometry<CableBusModel> {
}
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
Map<Identifier, IBakedModel> partModels = this.loadPartModels(bakery, spriteGetter, modelTransform);
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
Map<Identifier, BakedModel> partModels = this.loadPartModels(bakery, spriteGetter, modelTransform);
CableBuilder cableBuilder = new CableBuilder(spriteGetter);
FacadeBuilder facadeBuilder = new FacadeBuilder();
@@ -76,12 +76,12 @@ public class CableBusModel implements IModelGeometry<CableBusModel> {
return Collections.unmodifiableList(CableBuilder.getTextures());
}
private Map<Identifier, IBakedModel> loadPartModels(ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetterIn, IModelTransform transformIn) {
ImmutableMap.Builder<Identifier, IBakedModel> result = ImmutableMap.builder();
private Map<Identifier, BakedModel> loadPartModels(ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetterIn, IModelTransform transformIn) {
ImmutableMap.Builder<Identifier, BakedModel> result = ImmutableMap.builder();
for (Identifier location : this.partModels.getModels()) {
IBakedModel bakedModel = bakery.getBakedModel(location, transformIn, spriteGetterIn);
BakedModel bakedModel = bakery.getBakedModel(location, transformIn, spriteGetterIn);
if (bakedModel == null) {
AELog.warn("Failed to bake part model {}", location);
} else {
@@ -365,7 +365,7 @@ public class CubeBuilder {
builder.put(i, x, y, z);
break;
case NORMAL:
builder.put(i, face.getXOffset(), face.getYOffset(), face.getZOffset());
builder.put(i, face.getOffsetX(), face.getOffsetY(), face.getZOffset());
break;
case COLOR:
// Color format is RGBA
@@ -51,8 +51,8 @@ public class FacadeBlockAccess implements ILightReader {
@Nullable
@Override
public BlockEntity getTileEntity(BlockPos pos) {
return this.world.getTileEntity(pos);
public BlockEntity getBlockEntity(BlockPos pos) {
return this.world.getBlockEntity(pos);
}
@Override
@@ -30,13 +30,13 @@ import java.util.function.Function;
import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraft.client.renderer.color.BlockColors;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
@@ -104,8 +104,8 @@ public class FacadeBuilder {
);
private final ThreadLocal<Quad> collectors = ThreadLocal.withInitial(Quad::new);
public void buildFacadeQuads(RenderType layer, CableBusRenderState renderState, Random rand, List<BakedQuad> quads,
Function<Identifier, IBakedModel> modelLookup) {
public void buildFacadeQuads(RenderLayer layer, CableBusRenderState renderState, Random rand, List<BakedQuad> quads,
Function<Identifier, BakedModel> modelLookup) {
BakedPipeline pipeline = this.pipelines.get();
Quad collectorQuad = this.collectors.get();
boolean transparent = AEApi.instance().partHelper().getCableRenderMode().transparentFacades;
@@ -114,7 +114,7 @@ public class FacadeBuilder {
Set<Direction> sidesWithParts = renderState.getAttachments().keySet();
ILightReader parentWorld = renderState.getWorld();
BlockPos pos = renderState.getPos();
BlockColors blockColors = Minecraft.getInstance().getBlockColors();
BlockColors blockColors = MinecraftClient.getInstance().getBlockColors();
boolean thinFacades = isUseThinFacades(partBoxes);
for (Entry<Direction, FacadeRenderState> entry : facadeStates.entrySet()) {
@@ -122,16 +122,16 @@ public class FacadeBuilder {
int sideIndex = side.ordinal();
FacadeRenderState facadeRenderState = entry.getValue();
boolean renderStilt = !sidesWithParts.contains(side);
if (layer == RenderType.getCutout() && renderStilt) {
if (layer == RenderLayer.getCutout() && renderStilt) {
for (Identifier part : CableAnchorPart.FACADE_MODELS.getModels()) {
IBakedModel partModel = modelLookup.apply(part);
BakedModel partModel = modelLookup.apply(part);
QuadRotator rotator = new QuadRotator();
quads.addAll(rotator.rotateQuads(gatherQuads(partModel, null, rand, EmptyModelData.INSTANCE), side,
Direction.UP));
}
}
// If we are forcing transparency and this isn't the Translucent layer.
if (transparent && layer != RenderType.getTranslucent()) {
if (transparent && layer != RenderLayer.getTranslucent()) {
continue;
}
@@ -191,15 +191,15 @@ public class FacadeBuilder {
List<Box> holeStrips = getBoxes(facadeBox, cutOutBox, side.getAxis());
ILightReader facadeAccess = new FacadeBlockAccess(parentWorld, pos, side, blockState);
BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher();
IBakedModel model = dispatcher.getModelForState(blockState);
BlockRendererDispatcher dispatcher = MinecraftClient.getInstance().getBlockRendererDispatcher();
BakedModel model = dispatcher.getModelForState(blockState);
IModelData modelData = model.getModelData(facadeAccess, pos, blockState, EmptyModelData.INSTANCE);
List<BakedQuad> modelQuads = new ArrayList<>();
// If we are forcing transparent facades, fake the render layer, and grab all
// quads.
if (transparent || layer == null) {
for (RenderType forcedLayer : RenderType.getBlockRenderTypes()) {
for (RenderLayer forcedLayer : RenderLayer.getBlockRenderTypes()) {
// Check if the block renders on the layer we want to force.
if (RenderTypeLookup.canRenderInLayer(blockState, forcedLayer)) {
// Force the layer and gather quads.
@@ -287,7 +287,7 @@ public class FacadeBuilder {
*/
public List<BakedQuad> buildFacadeItemQuads(ItemStack textureItem, Direction side) {
List<BakedQuad> facadeQuads = new ArrayList<>();
IBakedModel model = Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(textureItem, null,
BakedModel model = MinecraftClient.getInstance().getItemRenderer().getItemModelWithOverrides(textureItem, null,
null);
List<BakedQuad> modelQuads = gatherQuads(model, null, new Random(), EmptyModelData.INSTANCE);
@@ -307,7 +307,7 @@ public class FacadeBuilder {
collectorQuad.reset(format);
// If we have a tint index, setup the tinter and enable it.
if (quad.hasTintIndex()) {
tinter.setTint(Minecraft.getInstance().getItemColors().getColor(textureItem, quad.getColorIndex()));
tinter.setTint(MinecraftClient.getInstance().getItemColors().getColor(textureItem, quad.getColorIndex()));
pipeline.enableElement("tinter");
}
// Disable elements we don't need for items.
@@ -328,7 +328,7 @@ public class FacadeBuilder {
}
// Helper to gather all quads from a model into a list.
private static List<BakedQuad> gatherQuads(IBakedModel model, BlockState state, Random rand, IModelData data) {
private static List<BakedQuad> gatherQuads(BakedModel model, BlockState state, Random rand, IModelData data) {
List<BakedQuad> modelQuads = new ArrayList<>();
for (Direction face : Direction.values()) {
modelQuads.addAll(model.getQuads(state, face, rand, data));
@@ -7,12 +7,12 @@ import java.util.function.Function;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
@@ -26,9 +26,9 @@ public class P2PTunnelFrequencyModel implements IModelGeometry<P2PTunnelFrequenc
new Identifier(AppEng.MOD_ID, "parts/p2p_tunnel_frequency"));
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
try {
final TextureAtlasSprite texture = spriteGetter.apply(TEXTURE);
return new P2PTunnelFrequencyBakedModel(texture);
@@ -25,12 +25,12 @@ import java.util.function.Function;
import com.google.common.collect.ImmutableList;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
@@ -75,9 +75,9 @@ class CraftingCubeModel implements IModelGeometry<CraftingCubeModel> {
}
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
// Retrieve our textures and pass them on to the baked model
TextureAtlasSprite ringCorner = spriteGetter.apply(RING_CORNER);
TextureAtlasSprite ringSideHor = spriteGetter.apply(RING_SIDE_HOR);
@@ -19,7 +19,7 @@
package appeng.client.render.crafting;
import net.fabricmc.api.Environment;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.render.RenderLayer;
import net.fabricmc.api.EnvType;
import appeng.bootstrap.BlockRenderingCustomizer;
@@ -33,7 +33,7 @@ public class CraftingCubeRendering extends BlockRenderingCustomizer {
@Override
@Environment(EnvType.CLIENT)
public void customize(IBlockRendering rendering, IItemRendering itemRendering) {
rendering.renderType(RenderType.getCutout());
rendering.renderType(RenderLayer.getCutout());
// Disable auto-rotation
rendering.modelCustomizer((loc, model) -> model);
}
@@ -19,30 +19,30 @@
package appeng.client.render.crafting;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.util.math.Direction;
import net.fabricmc.api.EnvType;
import appeng.api.storage.data.IAEItemStack;
import appeng.client.render.TesrRenderHelper;
import appeng.tile.crafting.CraftingMonitorTileEntity;
import appeng.tile.crafting.CraftingMonitorBlockEntity;
/**
* Renders the item currently being crafted
*/
@Environment(EnvType.CLIENT)
public class CraftingMonitorTESR extends TileEntityRenderer<CraftingMonitorTileEntity> {
public class CraftingMonitorTESR extends BlockEntityRenderer<CraftingMonitorBlockEntity> {
public CraftingMonitorTESR(TileEntityRendererDispatcher rendererDispatcherIn) {
public CraftingMonitorTESR(BlockEntityRenderDispatcher rendererDispatcherIn) {
super(rendererDispatcherIn);
}
@Override
public void render(CraftingMonitorTileEntity te, float partialTicks, MatrixStack matrixStack,
public void render(CraftingMonitorBlockEntity te, float partialTicks, MatrixStack matrixStack,
VertexConsumerProvider buffers, int combinedLight, int combinedOverlay) {
Direction facing = te.getForward();
@@ -3,12 +3,12 @@ package appeng.client.render.crafting;
import javax.annotation.Nullable;
import com.google.common.collect.ImmutableMap;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.entity.LivingEntity;
@@ -36,7 +36,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
private final CustomOverrideList overrides;
EncodedPatternBakedModel(IBakedModel baseModel) {
EncodedPatternBakedModel(BakedModel baseModel) {
super(baseModel);
this.overrides = new CustomOverrideList();
}
@@ -58,9 +58,9 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
*/
private static class ShiftHoldingModelWrapper extends DelegateBakedModel {
private final IBakedModel outputModel;
private final BakedModel outputModel;
private ShiftHoldingModelWrapper(IBakedModel patternModel, IBakedModel outputModel) {
private ShiftHoldingModelWrapper(BakedModel patternModel, BakedModel outputModel) {
super(patternModel);
this.outputModel = outputModel;
}
@@ -71,7 +71,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
}
@Override
public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
// No need to re-check for shift being held since this model is only handed out
// in that case
if (cameraTransformType == ItemCameraTransforms.TransformType.GUI) {
@@ -98,7 +98,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
}
@Override
public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
return getBaseModel().handlePerspective(cameraTransformType, mat);
}
@@ -112,14 +112,14 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
@Nullable
@Override
public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, @Nullable World world,
@Nullable LivingEntity entity) {
public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, @Nullable World world,
@Nullable LivingEntity entity) {
boolean shiftHeld = Screen.hasShiftDown();
if (shiftHeld) {
EncodedPatternItem iep = (EncodedPatternItem) stack.getItem();
ItemStack output = iep.getOutput(stack);
if (!output.isEmpty()) {
IBakedModel realModel = Minecraft.getInstance().getItemRenderer().getItemModelMesher()
BakedModel realModel = MinecraftClient.getInstance().getItemRenderer().getItemModelMesher()
.getItemModel(output);
// Give the item model a chance to handle the overrides as well
realModel = realModel.getOverrides().getModelWithOverrides(realModel, output, world, entity);
@@ -6,12 +6,12 @@ import java.util.function.Function;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
@@ -35,10 +35,10 @@ public class EncodedPatternModel implements IModelGeometry<EncodedPatternModel>
}
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
IBakedModel baseModel = bakery.getBakedModel(this.baseModel, modelTransform, spriteGetter);
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
BakedModel baseModel = bakery.getBakedModel(this.baseModel, modelTransform, spriteGetter);
return new EncodedPatternBakedModel(baseModel);
}
@@ -24,7 +24,7 @@ import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.particle.IAnimatedSprite;
import net.minecraft.client.particle.IParticleFactory;
import net.minecraft.client.particle.IParticleRenderType;
@@ -135,7 +135,7 @@ public class LightningFX extends SpriteTexturedParticle {
double oy = 0;
double oz = 0;
final PlayerEntity p = Minecraft.getInstance().player;
final PlayerEntity p = MinecraftClient.getInstance().player;
// FIXME: Billboard rotation is not applied to the particle yet,
// FIXME The old version apparently did this by hand using rX,rZ -> replicate
@@ -32,9 +32,9 @@ import com.google.common.cache.LoadingCache;
import com.google.common.collect.ImmutableList;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.renderer.Vector4f;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
@@ -52,12 +52,12 @@ import net.minecraftforge.client.model.pipeline.QuadGatheringTransformer;
import appeng.client.render.FacingToRotation;
public class AutoRotatingBakedModel implements IBakedModel {
public class AutoRotatingBakedModel implements BakedModel {
private final IBakedModel parent;
private final BakedModel parent;
private final LoadingCache<AutoRotatingCacheKey, List<BakedQuad>> quadCache;
public AutoRotatingBakedModel(IBakedModel parent) {
public AutoRotatingBakedModel(BakedModel parent) {
this.parent = parent;
// 6 (DUNSWE) * 6 (DUNSWE) * 7 (DUNSWE + null) = 252
this.quadCache = CacheBuilder.newBuilder().maximumSize(252)
@@ -11,11 +11,11 @@ import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.collect.ImmutableList;
import com.mojang.authlib.GameProfile;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
@@ -30,9 +30,9 @@ import appeng.api.util.AEColor;
import appeng.client.render.cablebus.CubeBuilder;
import appeng.core.AELog;
class BiometricCardBakedModel implements IBakedModel {
class BiometricCardBakedModel implements BakedModel {
private final IBakedModel baseModel;
private final BakedModel baseModel;
private final TextureAtlasSprite texture;
@@ -42,12 +42,12 @@ class BiometricCardBakedModel implements IBakedModel {
private final ImmutableList<BakedQuad> generalQuads;
BiometricCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture) {
BiometricCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture) {
this(baseModel, texture, 0, createCache());
}
private BiometricCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture, int hash,
Cache<Integer, BiometricCardBakedModel> modelCache) {
private BiometricCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture, int hash,
Cache<Integer, BiometricCardBakedModel> modelCache) {
this.baseModel = baseModel;
this.texture = texture;
this.hash = hash;
@@ -143,8 +143,8 @@ class BiometricCardBakedModel implements IBakedModel {
public ItemOverrideList getOverrides() {
return new ItemOverrideList() {
@Override
public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
String username = "";
if (stack.getItem() instanceof IBiometricCard) {
final GameProfile gp = ((IBiometricCard) stack.getItem()).getProfile(stack);
@@ -182,7 +182,7 @@ class BiometricCardBakedModel implements IBakedModel {
}
@Override
public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
baseModel.handlePerspective(cameraTransformType, mat);
return this;
}
@@ -9,12 +9,12 @@ import javax.annotation.Nullable;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
@@ -41,12 +41,12 @@ public class BiometricCardModel implements IModelGeometry<BiometricCardModel> {
@Nullable
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform transformIn,
ItemOverrideList overrides, Identifier locationIn) {
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform transformIn,
ItemOverrideList overrides, Identifier locationIn) {
TextureAtlasSprite texture = spriteGetter.apply(TEXTURE);
IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, transformIn, spriteGetter);
BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, transformIn, spriteGetter);
return new BiometricCardBakedModel(baseModel, texture);
}
@@ -7,11 +7,11 @@ import java.util.Random;
import javax.annotation.Nullable;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
@@ -20,9 +20,9 @@ import net.minecraft.util.math.Direction;
import net.minecraftforge.client.model.PerspectiveMapWrapper;
import net.minecraftforge.client.model.data.EmptyModelData;
class ColorApplicatorBakedModel implements IBakedModel {
class ColorApplicatorBakedModel implements BakedModel {
private final IBakedModel baseModel;
private final BakedModel baseModel;
private final IModelTransform transforms;
@@ -30,8 +30,8 @@ class ColorApplicatorBakedModel implements IBakedModel {
private final List<BakedQuad> generalQuads;
ColorApplicatorBakedModel(IBakedModel baseModel, IModelTransform transforms, TextureAtlasSprite texDark,
TextureAtlasSprite texMedium, TextureAtlasSprite texBright) {
ColorApplicatorBakedModel(BakedModel baseModel, IModelTransform transforms, TextureAtlasSprite texDark,
TextureAtlasSprite texMedium, TextureAtlasSprite texBright) {
this.baseModel = baseModel;
this.transforms = transforms;
@@ -113,7 +113,7 @@ class ColorApplicatorBakedModel implements IBakedModel {
}
@Override
public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
return PerspectiveMapWrapper.handlePerspective(this, transforms, cameraTransformType, mat);
}
}
@@ -7,12 +7,12 @@ import java.util.function.Function;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
@@ -44,10 +44,10 @@ public class ColorApplicatorModel implements IModelGeometry<ColorApplicatorModel
}
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
TextureAtlasSprite texDark = spriteGetter.apply(TEXTURE_DARK);
TextureAtlasSprite texMedium = spriteGetter.apply(TEXTURE_MEDIUM);
@@ -27,9 +27,9 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.item.Item;
import net.minecraft.util.math.Direction;
import net.minecraftforge.client.model.data.IModelData;
@@ -42,9 +42,9 @@ import appeng.client.render.DelegateBakedModel;
import appeng.core.Api;
public class DriveBakedModel extends DelegateBakedModel {
private final Map<DriveSlotCellType, IBakedModel> bakedCells;
private final Map<DriveSlotCellType, BakedModel> bakedCells;
public DriveBakedModel(IBakedModel bakedBase, Map<DriveSlotCellType, IBakedModel> bakedCells) {
public DriveBakedModel(BakedModel bakedBase, Map<DriveSlotCellType, BakedModel> bakedCells) {
super(bakedBase);
this.bakedCells = bakedCells;
}
@@ -79,7 +79,7 @@ public class DriveBakedModel extends DelegateBakedModel {
// Add the drive chassis
Item cell = slotsState.getCell(slot);
IBakedModel cellChassisModel = getCellChassisModel(cell);
BakedModel cellChassisModel = getCellChassisModel(cell);
addModel(state, rand, extraData, result, cellChassisModel, transform);
}
}
@@ -98,7 +98,7 @@ public class DriveBakedModel extends DelegateBakedModel {
}
// Determine which drive chassis to show based on the used cell
private IBakedModel getCellChassisModel(Item cell) {
private BakedModel getCellChassisModel(Item cell) {
IItems items = Api.INSTANCE.definitions().items();
if (cell == null) {
return bakedCells.get(DriveSlotCellType.EMPTY);
@@ -112,7 +112,7 @@ public class DriveBakedModel extends DelegateBakedModel {
}
private static void addModel(@Nullable BlockState state, @Nonnull Random rand, @Nonnull IModelData extraData,
List<BakedQuad> result, IBakedModel bakedCell, Matrix4f transform) {
List<BakedQuad> result, BakedModel bakedCell, Matrix4f transform) {
MatrixVertexTransformer transformer = new MatrixVertexTransformer(transform);
for (BakedQuad bakedQuad : bakedCell.getQuads(state, null, rand, extraData)) {
BakedQuadBuilder builder = new BakedQuadBuilder();
@@ -29,12 +29,12 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
@@ -56,18 +56,18 @@ public class DriveModel implements IModelGeometry<DriveModel> {
.addAll(MODELS_CELLS.values()).add(MODEL_BASE).build();
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
EnumMap<DriveSlotCellType, IBakedModel> cellModels = new EnumMap<>(DriveSlotCellType.class);
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
EnumMap<DriveSlotCellType, BakedModel> cellModels = new EnumMap<>(DriveSlotCellType.class);
// Load the base model and the model for each cell state.
for (DriveSlotCellType cellType : MODELS_CELLS.keySet()) {
IBakedModel cellModel = bakery.getBakedModel(MODELS_CELLS.get(cellType), modelTransform, spriteGetter);
BakedModel cellModel = bakery.getBakedModel(MODELS_CELLS.get(cellType), modelTransform, spriteGetter);
cellModels.put(cellType, cellModel);
}
IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
return new DriveBakedModel(baseModel, cellModels);
}
@@ -25,12 +25,12 @@ import java.util.function.Function;
import com.google.common.collect.ImmutableSet;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
@@ -42,9 +42,9 @@ import net.minecraftforge.client.model.geometry.IModelGeometry;
public class GlassModel implements IModelGeometry<GlassModel> {
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
return new GlassBakedModel(spriteGetter);
}
@@ -15,7 +15,7 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
@@ -30,12 +30,12 @@ import appeng.api.util.AEColor;
import appeng.client.render.cablebus.CubeBuilder;
import appeng.core.AELog;
class MemoryCardBakedModel implements IBakedModel {
class MemoryCardBakedModel implements BakedModel {
private static final AEColor[] DEFAULT_COLOR_CODE = new AEColor[] { AEColor.TRANSPARENT, AEColor.TRANSPARENT,
AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT, AEColor.TRANSPARENT,
AEColor.TRANSPARENT, };
private final IBakedModel baseModel;
private final BakedModel baseModel;
private final TextureAtlasSprite texture;
@@ -45,12 +45,12 @@ class MemoryCardBakedModel implements IBakedModel {
private final ImmutableList<BakedQuad> generalQuads;
MemoryCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture) {
MemoryCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture) {
this(baseModel, texture, DEFAULT_COLOR_CODE, createCache());
}
private MemoryCardBakedModel(IBakedModel baseModel, TextureAtlasSprite texture, AEColor[] hash,
Cache<CacheKey, MemoryCardBakedModel> modelCache) {
private MemoryCardBakedModel(BakedModel baseModel, TextureAtlasSprite texture, AEColor[] hash,
Cache<CacheKey, MemoryCardBakedModel> modelCache) {
this.baseModel = baseModel;
this.texture = texture;
this.colorCode = hash;
@@ -128,8 +128,8 @@ class MemoryCardBakedModel implements IBakedModel {
public ItemOverrideList getOverrides() {
return new ItemOverrideList() {
@Override
public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, World world,
LivingEntity entity) {
try {
if (stack.getItem() instanceof IMemoryCard) {
final IMemoryCard memoryCard = (IMemoryCard) stack.getItem();
@@ -150,7 +150,7 @@ class MemoryCardBakedModel implements IBakedModel {
}
@Override
public IBakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
baseModel.handlePerspective(cameraTransformType, mat);
return this;
}
@@ -9,12 +9,12 @@ import javax.annotation.Nullable;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
@@ -41,12 +41,12 @@ public class MemoryCardModel implements IModelGeometry<MemoryCardModel> {
@Nullable
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
TextureAtlasSprite texture = spriteGetter.apply(TEXTURE);
IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
return new MemoryCardBakedModel(baseModel, texture);
}
@@ -26,10 +26,10 @@ import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
@@ -56,13 +56,13 @@ public class SkyCompassBakedModel implements IDynamicBakedModel {
// Rotation is expressed as radians
public static final ModelProperty<Float> ROTATION = new ModelProperty<>();
private final IBakedModel base;
private final BakedModel base;
private final IBakedModel pointer;
private final BakedModel pointer;
private float fallbackRotation = 0;
public SkyCompassBakedModel(IBakedModel base, IBakedModel pointer) {
public SkyCompassBakedModel(BakedModel base, BakedModel pointer) {
this.base = base;
this.pointer = pointer;
}
@@ -149,8 +149,8 @@ public class SkyCompassBakedModel implements IDynamicBakedModel {
*/
return new ItemOverrideList() {
@Override
public IBakedModel getModelWithOverrides(IBakedModel originalModel, ItemStack stack, @Nullable World world,
@Nullable LivingEntity entity) {
public BakedModel getModelWithOverrides(BakedModel originalModel, ItemStack stack, @Nullable World world,
@Nullable LivingEntity entity) {
// FIXME: This check prevents compasses being held by OTHERS from getting the
// rotation, BUT do we actually still need this???
if (world != null && entity instanceof ClientPlayerEntity) {
@@ -27,12 +27,12 @@ import java.util.function.Function;
import com.google.common.collect.ImmutableList;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
@@ -53,11 +53,11 @@ public class SkyCompassModel implements IModelGeometry<SkyCompassModel> {
public static final List<Identifier> DEPENDENCIES = ImmutableList.of(MODEL_BASE, MODEL_POINTER);
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
IBakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
IBakedModel pointerModel = bakery.getBakedModel(MODEL_POINTER, modelTransform, spriteGetter);
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
BakedModel baseModel = bakery.getBakedModel(MODEL_BASE, modelTransform, spriteGetter);
BakedModel pointerModel = bakery.getBakedModel(MODEL_POINTER, modelTransform, spriteGetter);
return new SkyCompassBakedModel(baseModel, pointerModel);
}
@@ -31,20 +31,21 @@ import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.BlockFaceUV;
import net.minecraft.client.render.model.BlockModel;
import net.minecraft.client.render.model.BlockPart;
import net.minecraft.client.render.model.BlockPartFace;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemCameraTransforms;
@@ -52,7 +53,6 @@ import net.minecraft.client.render.model.ItemOverride;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.ItemTransformVec3f;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.resources.IResourceManager;
import net.minecraft.util.math.Direction;
@@ -142,9 +142,9 @@ public class UVLModelLoader implements IModelLoader<UVLModelLoader.UVLModelWrapp
}
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
TextureAtlasSprite particle = spriteGetter.apply(owner.resolveTexture("particle"));
IModelBuilder<?> builder = IModelBuilder.of(owner, overrides, particle);
@@ -175,7 +175,7 @@ public class UVLModelLoader implements IModelLoader<UVLModelLoader.UVLModelWrapp
// FIXME: just piping through the quads and manipulating uv index 2 directly
// seems way easier than this
BakedQuadBuilder builder = new BakedQuadBuilder(sprite);
VertexLighterFlat trans = new VertexLighterFlat(Minecraft.getInstance().getBlockColors()) {
VertexLighterFlat trans = new VertexLighterFlat(MinecraftClient.getInstance().getBlockColors()) {
@Override
protected void updateLightmap(float[] normal, float[] lightmap, float x, float y, float z) {
@@ -21,10 +21,10 @@ package appeng.client.render.renderable;
import java.util.function.Function;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.VertexConsumerProvider;
import org.apache.commons.lang3.tuple.Pair;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.item.ItemStack;
@@ -47,7 +47,7 @@ public class ItemRenderable<T extends BlockEntity> implements Renderable<T> {
} else {
matrixStack.push();
}
Minecraft.getInstance().getItemRenderer().renderItem(pair.getLeft(),
MinecraftClient.getInstance().getItemRenderer().renderItem(pair.getLeft(),
ItemCameraTransforms.TransformType.GROUND, combinedLight, combinedOverlay, matrixStack, buffers);
matrixStack.pop();
}
@@ -36,7 +36,7 @@ import net.minecraftforge.client.model.data.IDynamicBakedModel;
import net.minecraftforge.client.model.data.IModelData;
import appeng.client.render.cablebus.CubeBuilder;
import appeng.tile.spatial.SpatialPylonTileEntity;
import appeng.tile.spatial.SpatialPylonBlockEntity;
/**
* The baked model that will be used for rendering the spatial pylon.
@@ -59,16 +59,16 @@ class SpatialPylonBakedModel implements IDynamicBakedModel {
if (flags != 0) {
Direction ori = null;
int displayAxis = flags & SpatialPylonTileEntity.DISPLAY_Z;
if (displayAxis == SpatialPylonTileEntity.DISPLAY_X) {
int displayAxis = flags & SpatialPylonBlockEntity.DISPLAY_Z;
if (displayAxis == SpatialPylonBlockEntity.DISPLAY_X) {
ori = Direction.EAST;
if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) {
if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) {
builder.setUvRotation(Direction.SOUTH, 1);
builder.setUvRotation(Direction.NORTH, 1);
builder.setUvRotation(Direction.UP, 2);
builder.setUvRotation(Direction.DOWN, 2);
} else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) {
} else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) {
builder.setUvRotation(Direction.SOUTH, 2);
builder.setUvRotation(Direction.NORTH, 2);
builder.setUvRotation(Direction.UP, 1);
@@ -81,9 +81,9 @@ class SpatialPylonBakedModel implements IDynamicBakedModel {
}
}
else if (displayAxis == SpatialPylonTileEntity.DISPLAY_Y) {
else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Y) {
ori = Direction.UP;
if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) {
if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) {
builder.setUvRotation(Direction.NORTH, 3);
builder.setUvRotation(Direction.SOUTH, 3);
builder.setUvRotation(Direction.EAST, 3);
@@ -91,12 +91,12 @@ class SpatialPylonBakedModel implements IDynamicBakedModel {
}
}
else if (displayAxis == SpatialPylonTileEntity.DISPLAY_Z) {
else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Z) {
ori = Direction.NORTH;
if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) {
if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) {
builder.setUvRotation(Direction.EAST, 2);
builder.setUvRotation(Direction.WEST, 1);
} else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) {
} else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) {
builder.setUvRotation(Direction.EAST, 1);
builder.setUvRotation(Direction.WEST, 2);
builder.setUvRotation(Direction.UP, 3);
@@ -116,7 +116,7 @@ class SpatialPylonBakedModel implements IDynamicBakedModel {
builder.addCube(0, 0, 0, 16, 16, 16);
if ((flags
& SpatialPylonTileEntity.DISPLAY_POWERED_ENABLED) == SpatialPylonTileEntity.DISPLAY_POWERED_ENABLED) {
& SpatialPylonBlockEntity.DISPLAY_POWERED_ENABLED) == SpatialPylonBlockEntity.DISPLAY_POWERED_ENABLED) {
builder.setRenderFullBright(true);
}
@@ -139,7 +139,7 @@ class SpatialPylonBakedModel implements IDynamicBakedModel {
}
private int getFlags(IModelData modelData) {
Integer flags = modelData.getData(SpatialPylonTileEntity.STATE);
Integer flags = modelData.getData(SpatialPylonBlockEntity.STATE);
return flags != null ? flags : 0;
}
@@ -148,11 +148,11 @@ class SpatialPylonBakedModel implements IDynamicBakedModel {
return SpatialPylonTextureType.BASE;
}
if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_MIDDLE) {
if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_MIDDLE) {
return SpatialPylonTextureType.BASE_SPANNED;
} else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) {
} else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) {
return SpatialPylonTextureType.BASE_END;
} else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) {
} else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) {
return SpatialPylonTextureType.BASE_END;
}
@@ -160,17 +160,17 @@ class SpatialPylonBakedModel implements IDynamicBakedModel {
}
private static SpatialPylonTextureType getTextureTypeFromSideInside(int flags, Direction ori, Direction dir) {
final boolean good = (flags & SpatialPylonTileEntity.DISPLAY_ENABLED) == SpatialPylonTileEntity.DISPLAY_ENABLED;
final boolean good = (flags & SpatialPylonBlockEntity.DISPLAY_ENABLED) == SpatialPylonBlockEntity.DISPLAY_ENABLED;
if (ori == dir || ori.getOpposite() == dir) {
return good ? SpatialPylonTextureType.DIM : SpatialPylonTextureType.RED;
}
if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_MIDDLE) {
if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_MIDDLE) {
return good ? SpatialPylonTextureType.DIM_SPANNED : SpatialPylonTextureType.RED_SPANNED;
} else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MIN) {
} else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MIN) {
return good ? SpatialPylonTextureType.DIM_END : SpatialPylonTextureType.RED_END;
} else if ((flags & SpatialPylonTileEntity.DISPLAY_MIDDLE) == SpatialPylonTileEntity.DISPLAY_END_MAX) {
} else if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) {
return good ? SpatialPylonTextureType.DIM_END : SpatialPylonTextureType.RED_END;
}
@@ -28,12 +28,12 @@ import java.util.stream.Collectors;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelBakery;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Identifier;
@@ -45,9 +45,9 @@ import appeng.core.AppEng;
public class SpatialPylonModel implements IModelGeometry<SpatialPylonModel> {
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
Map<SpatialPylonTextureType, TextureAtlasSprite> textures = new EnumMap<>(SpatialPylonTextureType.class);
for (SpatialPylonTextureType type : SpatialPylonTextureType.values()) {
@@ -19,7 +19,7 @@
package appeng.client.render.spatial;
import net.fabricmc.api.EnvType;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.render.RenderLayer;
import net.fabricmc.api.Environment;
import appeng.bootstrap.BlockRenderingCustomizer;
@@ -31,7 +31,7 @@ public class SpatialPylonRendering extends BlockRenderingCustomizer {
@Override
@Environment(EnvType.CLIENT)
public void customize(IBlockRendering rendering, IItemRendering itemRendering) {
rendering.renderType(RenderType.getCutout());
rendering.renderType(RenderLayer.getCutout());
}
}
@@ -20,36 +20,36 @@ package appeng.client.render.tesr;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.util.math.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Atlases;
import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import appeng.client.render.FacingToRotation;
import appeng.tile.grindstone.CrankTileEntity;
import appeng.tile.grindstone.CrankBlockEntity;
/**
* This FastTESR only handles the animated model of the turning crank. When the
* crank is at rest, it is rendered using a normal model.
*/
@Environment(EnvType.CLIENT)
public class CrankTESR extends TileEntityRenderer<CrankTileEntity> {
public class CrankTESR extends BlockEntityRenderer<CrankBlockEntity> {
public CrankTESR(TileEntityRendererDispatcher rendererDispatcherIn) {
public CrankTESR(BlockEntityRenderDispatcher rendererDispatcherIn) {
super(rendererDispatcherIn);
}
@Override
public void render(CrankTileEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLightIn, int combinedOverlayIn) {
public void render(CrankBlockEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLightIn, int combinedOverlayIn) {
// Apply GL transformations relative to the center of the block: 1) TE rotation
// and 2) crank rotation
@@ -59,9 +59,9 @@ public class CrankTESR extends TileEntityRenderer<CrankTileEntity> {
ms.rotate(new Quaternion(0, te.getVisibleRotation(), 0, true));
ms.translate(-0.5, -0.5, -0.5);
BlockState blockState = te.getBlockState();
BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher();
IBakedModel model = dispatcher.getModelForState(blockState);
BlockState blockState = te.getCachedState();
BlockRendererDispatcher dispatcher = MinecraftClient.getInstance().getBlockRendererDispatcher();
BakedModel model = dispatcher.getModelForState(blockState);
IVertexBuilder buffer = buffers.getBuffer(Atlases.getTranslucentBlockType());
dispatcher.getBlockModelRenderer().renderModelBrightnessColor(ms.getLast(), buffer, null, model, 1, 1, 1,
combinedLightIn, combinedOverlayIn);
@@ -2,15 +2,15 @@ package appeng.client.render.tesr;
import java.util.EnumMap;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.client.util.math.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.renderer.RenderState;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -18,13 +18,13 @@ import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import appeng.block.storage.DriveSlotState;
import appeng.client.render.FacingToRotation;
import appeng.tile.storage.DriveTileEntity;
import appeng.tile.storage.DriveBlockEntity;
/**
* Renders the drive cell status indicators.
*/
@Environment(EnvType.CLIENT)
public class DriveLedTileEntityRenderer extends TileEntityRenderer<DriveTileEntity> {
public class DriveLedTileEntityRenderer extends BlockEntityRenderer<DriveBlockEntity> {
private static final EnumMap<DriveSlotState, Vector3f> STATE_COLORS;
@@ -60,16 +60,16 @@ public class DriveLedTileEntityRenderer extends TileEntityRenderer<DriveTileEnti
// Bottom Face
R, B, FR, L, B, FR, L, B, BA, R, B, BA, };
private static final RenderType STATE = RenderType.makeType("ae_drive_leds", DefaultVertexFormats.POSITION_COLOR, 7,
32565, false, true, RenderType.State.getBuilder().build(false));
private static final RenderLayer STATE = RenderLayer.makeType("ae_drive_leds", DefaultVertexFormats.POSITION_COLOR, 7,
32565, false, true, RenderLayer.State.getBuilder().build(false));
public DriveLedTileEntityRenderer(TileEntityRendererDispatcher rendererDispatcherIn) {
public DriveLedTileEntityRenderer(BlockEntityRenderDispatcher rendererDispatcherIn) {
super(rendererDispatcherIn);
}
@Override
public void render(DriveTileEntity drive, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLightIn, int combinedOverlayIn) {
public void render(DriveBlockEntity drive, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLightIn, int combinedOverlayIn) {
if (drive.getCellCount() != 10) {
throw new IllegalStateException("Expected drive to have 10 slots");
@@ -82,8 +82,8 @@ public class DriveLedTileEntityRenderer extends TileEntityRenderer<DriveTileEnti
RenderState.TransparencyState TRANSLUCENT_TRANSPARENCY = ObfuscationReflectionHelper
.getPrivateValue(RenderState.class, null, "field_228515_g_");
RenderType rt = RenderType.makeType("ae_drive_leds", DefaultVertexFormats.POSITION_COLOR, 7, 32565, false, true,
RenderType.State.getBuilder().transparency(TRANSLUCENT_TRANSPARENCY).build(false));
RenderLayer rt = RenderLayer.makeType("ae_drive_leds", DefaultVertexFormats.POSITION_COLOR, 7, 32565, false, true,
RenderLayer.State.getBuilder().transparency(TRANSLUCENT_TRANSPARENCY).build(false));
IVertexBuilder buffer = buffers.getBuffer(STATE);
for (int row = 0; row < 5; row++) {
@@ -119,7 +119,7 @@ public class DriveLedTileEntityRenderer extends TileEntityRenderer<DriveTileEnti
}
private Vector3f getColorForSlot(DriveTileEntity drive, int slot, float partialTicks) {
private Vector3f getColorForSlot(DriveBlockEntity drive, int slot, float partialTicks) {
DriveSlotState state = DriveSlotState.fromCellStatus(drive.getCellStatus(slot));
if (state == DriveSlotState.EMPTY) {
return null;
@@ -2,19 +2,19 @@
package appeng.client.render.tesr;
import alexiil.mc.lib.attributes.item.ItemTransferable;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import net.minecraft.inventory.container.PlayerContainer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.Direction;
@@ -25,26 +25,26 @@ import appeng.api.features.InscriberProcessType;
import appeng.client.render.FacingToRotation;
import appeng.core.AppEng;
import appeng.recipes.handlers.InscriberRecipe;
import appeng.tile.misc.InscriberTileEntity;
import appeng.tile.misc.InscriberBlockEntity;
/**
* Renders the dynamic parts of an inscriber (the presses, the animation and the
* item being smashed)
*/
public final class InscriberTESR extends TileEntityRenderer<InscriberTileEntity> {
public final class InscriberTESR extends BlockEntityRenderer<InscriberBlockEntity> {
private static final float ITEM_RENDER_SCALE = 1.0f / 1.2f;
private static final Material TEXTURE_INSIDE = new Material(PlayerContainer.LOCATION_BLOCKS_TEXTURE,
new Identifier(AppEng.MOD_ID, "block/inscriber_inside"));
public InscriberTESR(TileEntityRendererDispatcher rendererDispatcherIn) {
public InscriberTESR(BlockEntityRenderDispatcher rendererDispatcherIn) {
super(rendererDispatcherIn);
}
@Override
public void render(InscriberTileEntity tile, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLight, int combinedOverlay) {
public void render(InscriberBlockEntity tile, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLight, int combinedOverlay) {
// render inscriber
@@ -84,7 +84,7 @@ public final class InscriberTESR extends TileEntityRenderer<InscriberTileEntity>
final TextureAtlasSprite tas = TEXTURE_INSIDE.getSprite();
IVertexBuilder buffer = buffers.getBuffer(RenderType.getSolid());
IVertexBuilder buffer = buffers.getBuffer(RenderLayer.getSolid());
// Bottom of Top Stamp
addVertex(buffer, ms, tas, TwoPx, middle + press, TwoPx, 2, 13, combinedOverlay, combinedLight, Direction.DOWN);
@@ -178,7 +178,7 @@ public final class InscriberTESR extends TileEntityRenderer<InscriberTileEntity>
vb.tex(sprite.getInterpolatedU(texU), sprite.getInterpolatedV(texV));
vb.overlay(overlayUV);
vb.lightmap(lightmapUV);
vb.normal(ms.getLast().getNormal(), front.getXOffset(), front.getYOffset(), front.getZOffset());
vb.normal(ms.getLast().getNormal(), front.getOffsetX(), front.getOffsetY(), front.getZOffset());
vb.endVertex();
}
@@ -194,7 +194,7 @@ public final class InscriberTESR extends TileEntityRenderer<InscriberTileEntity>
// set scale
ms.scale(ITEM_RENDER_SCALE, ITEM_RENDER_SCALE, ITEM_RENDER_SCALE);
ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer();
ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer();
// heuristic to scale items down much further than blocks
if (!stack.getItem().getTags().contains(TAG_STORAGE_BLOCKS)) {
@@ -21,25 +21,25 @@ package appeng.client.render.tesr;
import java.util.List;
import com.google.common.collect.ImmutableList;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import appeng.client.render.FacingToRotation;
import appeng.client.render.renderable.Renderable;
import appeng.tile.AEBaseTileEntity;
import appeng.tile.AEBaseBlockEntity;
@Environment(EnvType.CLIENT)
public class ModularTESR<T extends AEBaseTileEntity> extends TileEntityRenderer<T> {
public class ModularTESR<T extends AEBaseBlockEntity> extends BlockEntityRenderer<T> {
private final List<Renderable<? super T>> renderables;
@SafeVarargs
public ModularTESR(TileEntityRendererDispatcher rendererDispatcherIn, Renderable<? super T>... renderables) {
public ModularTESR(BlockEntityRenderDispatcher rendererDispatcherIn, Renderable<? super T>... renderables) {
super(rendererDispatcherIn);
this.renderables = ImmutableList.copyOf(renderables);
}
@@ -21,28 +21,28 @@ package appeng.client.render.tesr;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.client.util.math.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.Atlases;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.event.TextureStitchEvent;
import appeng.block.storage.SkyChestBlock;
import appeng.block.storage.SkyChestBlock.SkyChestType;
import appeng.core.AppEng;
import appeng.tile.storage.SkyChestTileEntity;
import appeng.tile.storage.SkyChestBlockEntity;
// This is mostly a copy&paste job of the vanilla chest TESR
@Environment(EnvType.CLIENT)
public class SkyChestTESR extends TileEntityRenderer<SkyChestTileEntity> {
public class SkyChestTESR extends BlockEntityRenderer<SkyChestBlockEntity> {
public static final Material TEXTURE_STONE = new Material(Atlases.CHEST_ATLAS,
new Identifier(AppEng.MOD_ID, "models/skychest"));
@@ -53,7 +53,7 @@ public class SkyChestTESR extends TileEntityRenderer<SkyChestTileEntity> {
private final ModelRenderer singleBottom;
private final ModelRenderer singleLatch;
public SkyChestTESR(TileEntityRendererDispatcher rendererDispatcherIn) {
public SkyChestTESR(BlockEntityRenderDispatcher rendererDispatcherIn) {
super(rendererDispatcherIn);
this.singleBottom = new ModelRenderer(64, 64, 0, 19);
@@ -68,7 +68,7 @@ public class SkyChestTESR extends TileEntityRenderer<SkyChestTileEntity> {
}
@Override
public void render(SkyChestTileEntity tileEntityIn, float partialTicks, MatrixStack matrixStackIn,
public void render(SkyChestBlockEntity tileEntityIn, float partialTicks, MatrixStack matrixStackIn,
VertexConsumerProvider bufferIn, int combinedLightIn, int combinedOverlayIn) {
matrixStackIn.push();
float f = tileEntityIn.getForward().getHorizontalAngle();
@@ -80,7 +80,7 @@ public class SkyChestTESR extends TileEntityRenderer<SkyChestTileEntity> {
f1 = 1.0F - f1;
f1 = 1.0F - f1 * f1 * f1;
Material material = this.getMaterial(tileEntityIn);
IVertexBuilder ivertexbuilder = material.getBuffer(bufferIn, RenderType::getEntityCutout);
IVertexBuilder ivertexbuilder = material.getBuffer(bufferIn, RenderLayer::getEntityCutout);
this.renderModels(matrixStackIn, ivertexbuilder, this.singleLid, this.singleLatch, this.singleBottom, f1,
combinedLightIn, combinedOverlayIn);
@@ -97,10 +97,10 @@ public class SkyChestTESR extends TileEntityRenderer<SkyChestTileEntity> {
chestBottom.render(matrixStackIn, bufferIn, combinedLightIn, combinedOverlayIn);
}
protected Material getMaterial(SkyChestTileEntity tileEntity) {
protected Material getMaterial(SkyChestBlockEntity tileEntity) {
SkyChestType type = SkyChestType.BLOCK;
if (tileEntity.getWorld() != null) {
Block blockType = tileEntity.getBlockState().getBlock();
Block blockType = tileEntity.getCachedState().getBlock();
if (blockType instanceof SkyChestBlock) {
type = ((SkyChestBlock) blockType).type;
@@ -19,46 +19,46 @@
package appeng.client.render.tesr;
import net.fabricmc.api.EnvType;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.util.math.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.renderer.Atlases;
import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.model.IBakedModel;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.util.math.Direction;
import net.fabricmc.api.Environment;
import net.minecraftforge.client.model.data.ModelDataMap;
import appeng.client.render.FacingToRotation;
import appeng.client.render.model.SkyCompassBakedModel;
import appeng.tile.misc.SkyCompassTileEntity;
import appeng.tile.misc.SkyCompassBlockEntity;
@Environment(EnvType.CLIENT)
public class SkyCompassTESR extends TileEntityRenderer<SkyCompassTileEntity> {
public class SkyCompassTESR extends BlockEntityRenderer<SkyCompassBlockEntity> {
private static BlockRendererDispatcher blockRenderer;
public SkyCompassTESR(TileEntityRendererDispatcher rendererDispatcherIn) {
public SkyCompassTESR(BlockEntityRenderDispatcher rendererDispatcherIn) {
super(rendererDispatcherIn);
}
@Override
public void render(SkyCompassTileEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLightIn, int combinedOverlayIn) {
public void render(SkyCompassBlockEntity te, float partialTicks, MatrixStack ms, VertexConsumerProvider buffers,
int combinedLightIn, int combinedOverlayIn) {
if (blockRenderer == null) {
blockRenderer = Minecraft.getInstance().getBlockRendererDispatcher();
blockRenderer = MinecraftClient.getInstance().getBlockRendererDispatcher();
}
IVertexBuilder buffer = buffers.getBuffer(Atlases.getTranslucentBlockType());
BlockState blockState = te.getBlockState();
IBakedModel model = blockRenderer.getBlockModelShapes().getModel(blockState);
BlockState blockState = te.getCachedState();
BakedModel model = blockRenderer.getBlockModelShapes().getModel(blockState);
// FIXME: Rotation was previously handled by an auto rotating model I think, but
// FIXME: Should be handled using matrices instead
@@ -86,7 +86,7 @@ public class SkyCompassTESR extends TileEntityRenderer<SkyCompassTileEntity> {
}
private static float getRotation(SkyCompassTileEntity skyCompass) {
private static float getRotation(SkyCompassBlockEntity skyCompass) {
float rotation;
if (skyCompass.getForward() == Direction.UP || skyCompass.getForward() == Direction.DOWN) {