Utils ported

This commit is contained in:
Sebastian Hartte
2020-06-28 15:47:44 +02:00
parent 46955643b9
commit f5412152a4
132 changed files with 488 additions and 528 deletions
@@ -57,7 +57,7 @@ public abstract class DelegateBakedModel implements BakedModel {
}
@Override
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) {
baseModel.handlePerspective(cameraTransformType, mat);
return this;
}
@@ -30,7 +30,7 @@ import com.google.common.collect.ImmutableList;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.json.ModelOverrideList;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.util.math.AffineTransformation;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.Material;
@@ -108,7 +108,7 @@ public class DummyFluidDispatcherBakedModel extends DelegateBakedModel {
}
return new DummyFluidBakedModel(
ItemLayerModel.getQuadsForSprite(0, sprite, TransformationMatrix.identity()));
ItemLayerModel.getQuadsForSprite(0, sprite, AffineTransformation.identity()));
}
};
}
@@ -22,7 +22,7 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.util.math.Vector3f;
import net.minecraft.client.renderer.Vector4f;
import net.minecraft.util.math.Direction;
import net.minecraft.util.IStringSerializable;
@@ -22,9 +22,9 @@ import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.AffineTransformation;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.util.math.Vector3f;
import appeng.api.storage.data.IAEItemStack;
import appeng.core.AEConfig;
@@ -67,7 +67,7 @@ public class StackSizeRenderer {
final float inverseScaleFactor = 1.0f / scaleFactor;
final int offset = AEConfig.instance().isUseLargeFonts() ? 0 : -1;
TransformationMatrix tm = new TransformationMatrix(new Vector3f(0, 0, 300), // Taken from
AffineTransformation tm = new AffineTransformation(new Vector3f(0, 0, 300), // Taken from
// ItemRenderer.renderItemOverlayIntoGUI
null, new Vector3f(scaleFactor, scaleFactor, scaleFactor), null);
@@ -23,7 +23,7 @@ import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.util.math.Vector3f;
import net.minecraft.client.render.model.json.ModelTransformation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.item.ItemStack;
@@ -92,7 +92,7 @@ public class TesrRenderHelper {
// effect at least from head-on
matrixStack.scale(scale, scale, 0.0002f);
MinecraftClient.getInstance().getItemRenderer().renderItem(itemStack, ModelTransformation.TransformType.GUI,
MinecraftClient.getInstance().getItemRenderer().renderItem(itemStack, ModelTransformation.Mode.GUI,
combinedLightIn, OverlayTexture.NO_OVERLAY, matrixStack, buffers);
matrixStack.pop();
@@ -1,7 +1,7 @@
package appeng.client.render.cablebus;
import net.minecraft.client.particle.IParticleRenderType;
import net.minecraft.client.particle.SpriteTexturedParticle;
import net.minecraft.client.particle.SpriteBillboardParticle;
import net.minecraft.client.texture.Sprite;
import net.minecraft.world.World;
import net.fabricmc.api.EnvType;
@@ -10,7 +10,7 @@ import net.fabricmc.api.Environment;
// Derived from Vanilla's BreakingParticle, but allows
// a texture to be specified directly rather than via an itemstack
@Environment(EnvType.CLIENT)
public class CableBusBreakingParticle extends SpriteTexturedParticle {
public class CableBusBreakingParticle extends SpriteBillboardParticle {
private final float field_217571_C;
private final float field_217572_F;
@@ -365,7 +365,7 @@ public class CubeBuilder {
builder.put(i, x, y, z);
break;
case NORMAL:
builder.put(i, face.getOffsetX(), face.getOffsetY(), face.getZOffset());
builder.put(i, face.getOffsetX(), face.getOffsetY(), face.getOffsetZ());
break;
case COLOR:
// Color format is RGBA
@@ -22,7 +22,7 @@ import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.util.math.Vector3f;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.math.Direction;
@@ -10,7 +10,7 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.util.math.AffineTransformation;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@@ -30,7 +30,7 @@ import appeng.items.misc.EncodedPatternItem;
* a custom IBakedModel ({@link ShiftHoldingModelWrapper} if the player is
* holding down shift from the override list. This custom baked model implements
* {@link #doesHandlePerspectives()} and returns the crafting result model if
* the model for {@link ModelTransformation.TransformType#GUI} is requested.
* the model for {@link ModelTransformation.Mode#GUI} is requested.
*/
public class EncodedPatternBakedModel extends DelegateBakedModel {
@@ -71,11 +71,11 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
}
@Override
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) {
// No need to re-check for shift being held since this model is only handed out
// in that case
if (cameraTransformType == ModelTransformation.TransformType.GUI) {
ImmutableMap<ModelTransformation.TransformType, TransformationMatrix> transforms = PerspectiveMapWrapper
if (cameraTransformType == ModelTransformation.Mode.GUI) {
ImmutableMap<ModelTransformation.Mode, AffineTransformation> transforms = PerspectiveMapWrapper
.getTransforms(outputModel.getTransformation());
return PerspectiveMapWrapper.handlePerspective(this.outputModel, transforms, cameraTransformType, mat);
} else {
@@ -98,7 +98,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
}
@Override
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) {
return getBaseModel().handlePerspective(cameraTransformType, mat);
}
@@ -23,7 +23,7 @@ import net.minecraft.client.particle.IAnimatedSprite;
import net.minecraft.client.particle.IParticleFactory;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.RedstoneParticle;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.particles.RedstoneParticleData;
import net.minecraft.world.World;
import net.fabricmc.api.EnvType;
@@ -50,7 +50,7 @@ public class ChargedOreFX extends RedstoneParticle {
}
@Environment(EnvType.CLIENT)
public static class Factory implements IParticleFactory<BasicParticleType> {
public static class Factory implements IParticleFactory<DefaultParticleType> {
private final IAnimatedSprite spriteSet;
public Factory(IAnimatedSprite p_i50477_1_) {
@@ -58,8 +58,8 @@ public class ChargedOreFX extends RedstoneParticle {
}
@Override
public Particle makeParticle(BasicParticleType typeIn, World worldIn, double x, double y, double z,
double xSpeed, double ySpeed, double zSpeed) {
public Particle makeParticle(DefaultParticleType typeIn, World worldIn, double x, double y, double z,
double xSpeed, double ySpeed, double zSpeed) {
return new ChargedOreFX(worldIn, x, y, z, xSpeed, ySpeed, zSpeed, this.spriteSet);
}
}
@@ -25,17 +25,17 @@ import net.minecraft.client.particle.IAnimatedSprite;
import net.minecraft.client.particle.IParticleFactory;
import net.minecraft.client.particle.IParticleRenderType;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.SpriteTexturedParticle;
import net.minecraft.client.particle.SpriteBillboardParticle;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.client.util.math.Vector3f;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public class CraftingFx extends SpriteTexturedParticle {
public class CraftingFx extends SpriteBillboardParticle {
// Offset relative to center of block, is the starting point of the particle
// movement
@@ -126,7 +126,7 @@ public class CraftingFx extends SpriteTexturedParticle {
}
@Environment(EnvType.CLIENT)
public static class Factory implements IParticleFactory<BasicParticleType> {
public static class Factory implements IParticleFactory<DefaultParticleType> {
private final IAnimatedSprite spriteSet;
public Factory(IAnimatedSprite p_i50477_1_) {
@@ -134,8 +134,8 @@ public class CraftingFx extends SpriteTexturedParticle {
}
@Override
public Particle makeParticle(BasicParticleType data, World worldIn, double x, double y, double z, double xSpeed,
double ySpeed, double zSpeed) {
public Particle makeParticle(DefaultParticleType data, World worldIn, double x, double y, double z, double xSpeed,
double ySpeed, double zSpeed) {
return new CraftingFx(worldIn, x, y, z, spriteSet);
}
}
@@ -28,7 +28,7 @@ import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
@Environment(EnvType.CLIENT)
public class EnergyFx extends SpriteTexturedParticle {
public class EnergyFx extends SpriteBillboardParticle {
private final int startBlkX;
private final int startBlkY;
@@ -24,12 +24,12 @@ import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.particles.IParticleData;
import net.minecraft.particles.ParticleType;
import net.minecraft.particle.ParticleEffect;
import net.minecraft.particle.ParticleType;
import appeng.api.util.AEPartLocation;
public class EnergyParticleData implements IParticleData {
public class EnergyParticleData implements ParticleEffect {
public static final EnergyParticleData FOR_BLOCK = new EnergyParticleData(false, AEPartLocation.INTERNAL);
@@ -42,9 +42,9 @@ public class EnergyParticleData implements IParticleData {
this.direction = direction;
}
public static final IDeserializer<EnergyParticleData> DESERIALIZER = new IDeserializer<EnergyParticleData>() {
public static final Factory<EnergyParticleData> DESERIALIZER = new Factory<EnergyParticleData>() {
@Override
public EnergyParticleData deserialize(ParticleType<EnergyParticleData> particleTypeIn, StringReader reader)
public EnergyParticleData read(ParticleType<EnergyParticleData> particleTypeIn, StringReader reader)
throws CommandSyntaxException {
reader.expect(' ');
boolean forItem = reader.readBoolean();
@@ -73,7 +73,7 @@ public class EnergyParticleData implements IParticleData {
}
@Override
public String getParameters() {
public String asString() {
return String.format(Locale.ROOT, "%s %s", forItem ? "true" : "false", direction.name().toLowerCase());
}
@@ -24,7 +24,7 @@ import net.fabricmc.api.Environment;
import net.minecraft.client.particle.IAnimatedSprite;
import net.minecraft.client.particle.IParticleFactory;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.SpriteTexturedParticle;
import net.minecraft.client.particle.SpriteBillboardParticle;
import net.minecraft.world.World;
import net.fabricmc.api.EnvType;
@@ -77,7 +77,7 @@ public class LightningArcFX extends LightningFX {
@Override
public Particle makeParticle(LightningArcParticleData data, World worldIn, double x, double y, double z,
double xSpeed, double ySpeed, double zSpeed) {
SpriteTexturedParticle lightningFX = new LightningArcFX(worldIn, x, y, z, data.target.x, data.target.y,
SpriteBillboardParticle lightningFX = new LightningArcFX(worldIn, x, y, z, data.target.x, data.target.y,
data.target.z, 0, 0, 0);
lightningFX.selectSpriteRandomly(this.spriteSet);
return lightningFX;
@@ -6,15 +6,15 @@ import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.particles.IParticleData;
import net.minecraft.particles.ParticleType;
import net.minecraft.particle.ParticleEffect;
import net.minecraft.particle.ParticleType;
import net.minecraft.util.math.Vec3d;
/**
* Contains the target point of the lightning arc (the source point is infered
* from the particle starting position).
*/
public class LightningArcParticleData implements IParticleData {
public class LightningArcParticleData implements ParticleEffect {
public final Vec3d target;
@@ -22,10 +22,10 @@ public class LightningArcParticleData implements IParticleData {
this.target = target;
}
public static final IDeserializer<LightningArcParticleData> DESERIALIZER = new IDeserializer<LightningArcParticleData>() {
public static final Factory<LightningArcParticleData> DESERIALIZER = new Factory<LightningArcParticleData>() {
@Override
public LightningArcParticleData deserialize(ParticleType<LightningArcParticleData> particleTypeIn,
StringReader reader) throws CommandSyntaxException {
public LightningArcParticleData read(ParticleType<LightningArcParticleData> particleTypeIn,
StringReader reader) throws CommandSyntaxException {
reader.expect(' ');
float x = reader.readFloat();
reader.expect(' ');
@@ -58,7 +58,7 @@ public class LightningArcParticleData implements IParticleData {
}
@Override
public String getParameters() {
public String asString() {
return String.format(Locale.ROOT, "%.2f %.2f %.2f", target.x, target.y, target.z);
}
@@ -29,16 +29,16 @@ import net.minecraft.client.particle.IAnimatedSprite;
import net.minecraft.client.particle.IParticleFactory;
import net.minecraft.client.particle.IParticleRenderType;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.SpriteTexturedParticle;
import net.minecraft.client.particle.SpriteBillboardParticle;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
@Environment(EnvType.CLIENT)
public class LightningFX extends SpriteTexturedParticle {
public class LightningFX extends SpriteBillboardParticle {
private static final Random RANDOM_GENERATOR = new Random();
private static final int STEPS = 5;
@@ -245,7 +245,7 @@ public class LightningFX extends SpriteTexturedParticle {
}
@Environment(EnvType.CLIENT)
public static class Factory implements IParticleFactory<BasicParticleType> {
public static class Factory implements IParticleFactory<DefaultParticleType> {
private final IAnimatedSprite spriteSet;
public Factory(IAnimatedSprite spriteSet) {
@@ -253,8 +253,8 @@ public class LightningFX extends SpriteTexturedParticle {
}
@Override
public Particle makeParticle(BasicParticleType typeIn, World worldIn, double x, double y, double z,
double xSpeed, double ySpeed, double zSpeed) {
public Particle makeParticle(DefaultParticleType typeIn, World worldIn, double x, double y, double z,
double xSpeed, double ySpeed, double zSpeed) {
LightningFX lightningFX = new LightningFX(worldIn, x, y, z, xSpeed, ySpeed, zSpeed);
lightningFX.selectSpriteRandomly(this.spriteSet);
return lightningFX;
@@ -20,13 +20,13 @@ package appeng.client.render.effects;
import net.fabricmc.api.EnvType;
import net.minecraft.client.particle.*;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.world.World;
import net.fabricmc.api.Environment;
import appeng.api.util.AEPartLocation;
public class MatterCannonFX extends SpriteTexturedParticle {
public class MatterCannonFX extends SpriteBillboardParticle {
public MatterCannonFX(final World par1World, final double x, final double y, final double z,
IAnimatedSprite sprite) {
@@ -73,7 +73,7 @@ public class MatterCannonFX extends SpriteTexturedParticle {
}
@Environment(EnvType.CLIENT)
public static class Factory implements IParticleFactory<BasicParticleType> {
public static class Factory implements IParticleFactory<DefaultParticleType> {
private final IAnimatedSprite spriteSet;
public Factory(IAnimatedSprite spriteSet) {
@@ -81,8 +81,8 @@ public class MatterCannonFX extends SpriteTexturedParticle {
}
@Override
public Particle makeParticle(BasicParticleType data, World world, double x, double y, double z, double xSpeed,
double ySpeed, double zSpeed) {
public Particle makeParticle(DefaultParticleType data, World world, double x, double y, double z, double xSpeed,
double ySpeed, double zSpeed) {
return new MatterCannonFX(world, x, y, z, spriteSet);
}
}
@@ -1,7 +1,8 @@
package appeng.client.render.effects;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.particles.ParticleType;
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.particle.ParticleType;
import appeng.core.AppEng;
@@ -10,15 +11,15 @@ public final class ParticleTypes {
private ParticleTypes() {
}
public static final BasicParticleType CHARGED_ORE = new BasicParticleType(false);
public static final BasicParticleType CRAFTING = new BasicParticleType(false);
public static final ParticleType<EnergyParticleData> ENERGY = new ParticleType<>(false,
public static final DefaultParticleType CHARGED_ORE = FabricParticleTypes.simple(false);
public static final DefaultParticleType CRAFTING = FabricParticleTypes.simple(false);
public static final ParticleType<EnergyParticleData> ENERGY = FabricParticleTypes.complex(false,
EnergyParticleData.DESERIALIZER);
public static final ParticleType<LightningArcParticleData> LIGHTNING_ARC = new ParticleType<>(false,
public static final ParticleType<LightningArcParticleData> LIGHTNING_ARC = FabricParticleTypes.complex(false,
LightningArcParticleData.DESERIALIZER);
public static final BasicParticleType LIGHTNING = new BasicParticleType(false);
public static final BasicParticleType MATTER_CANNON = new BasicParticleType(false);
public static final BasicParticleType VIBRANT = new BasicParticleType(false);
public static final DefaultParticleType LIGHTNING = FabricParticleTypes.simple(false);
public static final DefaultParticleType MATTER_CANNON = FabricParticleTypes.simple(false);
public static final DefaultParticleType VIBRANT = FabricParticleTypes.simple(false);
static {
CHARGED_ORE.setRegistryName(AppEng.MOD_ID, "charged_ore_fx");
@@ -24,12 +24,12 @@ import net.minecraft.client.particle.IAnimatedSprite;
import net.minecraft.client.particle.IParticleFactory;
import net.minecraft.client.particle.IParticleRenderType;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.SpriteTexturedParticle;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.client.particle.SpriteBillboardParticle;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.world.World;
@Environment(EnvType.CLIENT)
public class VibrantFX extends SpriteTexturedParticle {
public class VibrantFX extends SpriteBillboardParticle {
public VibrantFX(final World par1World, final double x, final double y, final double z, final double par8,
final double par10, final double par12, IAnimatedSprite sprite) {
@@ -80,7 +80,7 @@ public class VibrantFX extends SpriteTexturedParticle {
}
@Environment(EnvType.CLIENT)
public static class Factory implements IParticleFactory<BasicParticleType> {
public static class Factory implements IParticleFactory<DefaultParticleType> {
private final IAnimatedSprite spriteSet;
public Factory(IAnimatedSprite spriteSet) {
@@ -88,8 +88,8 @@ public class VibrantFX extends SpriteTexturedParticle {
}
@Override
public Particle makeParticle(BasicParticleType typeIn, World worldIn, double x, double y, double z,
double xSpeed, double ySpeed, double zSpeed) {
public Particle makeParticle(DefaultParticleType typeIn, World worldIn, double x, double y, double z,
double xSpeed, double ySpeed, double zSpeed) {
return new VibrantFX(worldIn, x, y, z, xSpeed, ySpeed, zSpeed, spriteSet);
}
}
@@ -182,7 +182,7 @@ class BiometricCardBakedModel implements BakedModel {
}
@Override
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) {
baseModel.handlePerspective(cameraTransformType, mat);
return this;
}
@@ -113,7 +113,7 @@ class ColorApplicatorBakedModel implements BakedModel {
}
@Override
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) {
return PerspectiveMapWrapper.handlePerspective(this, transforms, cameraTransformType, mat);
}
}
@@ -150,7 +150,7 @@ class MemoryCardBakedModel implements BakedModel {
}
@Override
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.Mode cameraTransformType, MatrixStack mat) {
baseModel.handlePerspective(cameraTransformType, mat);
return this;
}
@@ -35,6 +35,7 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.render.model.json.ModelTransformation;
import net.minecraft.client.util.math.AffineTransformation;
import net.minecraft.client.texture.Sprite;
import net.minecraft.client.util.math.MatrixStack;
@@ -42,7 +43,6 @@ import net.minecraft.util.Identifier;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
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;
@@ -89,7 +89,7 @@ public class UVLModelLoader implements IModelLoader<UVLModelLoader.UVLModelWrapp
.registerTypeAdapter(ItemTransformVec3f.class, new ItemTransformVec3f.Deserializer())
.registerTypeAdapter(ModelTransformation.class, new ModelTransformation.Deserializer())
.registerTypeAdapter(ItemOverride.class, new ItemOverride.Deserializer())
.registerTypeAdapter(TransformationMatrix.class, new TransformationHelper.Deserializer()).create();
.registerTypeAdapter(AffineTransformation.class, new TransformationHelper.Deserializer()).create();
private static class BlockPartFaceOverrideSerializer extends BlockPartFace.Deserializer {
@Override
@@ -18,37 +18,35 @@
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 net.minecraft.client.render.model.json.ModelTransformation;
import net.minecraft.client.render.model.json.Transformation;
import net.minecraft.item.ItemStack;
import org.apache.commons.lang3.tuple.Pair;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.item.ItemStack;
import java.util.function.Function;
public class ItemRenderable<T extends BlockEntity> implements Renderable<T> {
private final Function<T, Pair<ItemStack, TransformationMatrix>> f;
private final Function<T, Pair<ItemStack, Transformation>> f;
public ItemRenderable(Function<T, Pair<ItemStack, TransformationMatrix>> f) {
public ItemRenderable(Function<T, Pair<ItemStack, Transformation>> f) {
this.f = f;
}
@Override
public void renderTileEntityAt(T te, float partialTicks, net.minecraft.client.util.math.MatrixStack matrixStack,
VertexConsumerProvider buffers, int combinedLight, int combinedOverlay) {
Pair<ItemStack, TransformationMatrix> pair = this.f.apply(te);
Pair<ItemStack, Transformation> pair = this.f.apply(te);
if (pair != null && pair.getLeft() != null) {
matrixStack.push();
if (pair.getRight() != null) {
pair.getRight().push(matrixStack);
} else {
matrixStack.push();
pair.getRight().apply(true, matrixStack); // FIXME: check left handed
}
MinecraftClient.getInstance().getItemRenderer().renderItem(pair.getLeft(),
ModelTransformation.TransformType.GROUND, combinedLight, combinedOverlay, matrixStack, buffers);
ModelTransformation.Mode.GROUND, combinedLight, combinedOverlay, matrixStack, buffers);
matrixStack.pop();
}
}
@@ -10,7 +10,7 @@ import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.renderer.RenderState;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.util.math.Vector3f;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -178,7 +178,7 @@ public final class InscriberTESR extends BlockEntityRenderer<InscriberBlockEntit
vb.tex(sprite.getInterpolatedU(texU), sprite.getInterpolatedV(texV));
vb.overlay(overlayUV);
vb.lightmap(lightmapUV);
vb.normal(ms.getLast().getNormal(), front.getOffsetX(), front.getOffsetY(), front.getZOffset());
vb.normal(ms.getLast().getNormal(), front.getOffsetX(), front.getOffsetY(), front.getOffsetZ());
vb.endVertex();
}
@@ -201,7 +201,7 @@ public final class InscriberTESR extends BlockEntityRenderer<InscriberBlockEntit
ms.scale(0.5f, 0.5f, 0.5f);
}
itemRenderer.renderItem(stack, ModelTransformation.TransformType.FIXED, combinedLight, combinedOverlay, ms,
itemRenderer.renderItem(stack, ModelTransformation.Mode.FIXED, combinedLight, combinedOverlay, ms,
buffers);
ms.pop();
}
@@ -28,7 +28,7 @@ import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.Atlases;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.util.math.Vector3f;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelRenderer;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;