Update 1.14.4 yarn

This commit is contained in:
Jonas Herzig
2020-03-30 18:08:01 +02:00
parent ba83aa97b3
commit 527562549b
48 changed files with 214 additions and 225 deletions

View File

@@ -110,7 +110,7 @@ public class BlendMeshBuilder
throw new IllegalStateException("Not building!");
} else {
if (!wellBehaved) {
Tessellator.getInstance().getBufferBuilder().end();
Tessellator.getInstance().getBuffer().end();
}
//#if MC<10809
@@ -168,7 +168,7 @@ public class BlendMeshBuilder
int posOffset = -1, colorOffset = -1, uvOffset = -1;
int index = 0;
//#if MC>=11500
int elementOffset = 0;
//$$ int elementOffset = 0;
//#endif
for (VertexFormatElement element : getElements(vertexFormat)) {
//#if MC>=11500

View File

@@ -18,13 +18,13 @@ import com.mojang.blaze3d.platform.GLX;
import net.minecraft.client.render.chunk.ChunkRenderData;
import net.minecraft.client.render.chunk.ChunkRenderer;
import net.minecraft.client.render.VertexFormats;
import net.minecraft.client.gl.GlBuffer;
import net.minecraft.client.gl.VertexBuffer;
import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL15;
//#if MC>=10904
import net.minecraft.block.BlockRenderLayer;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.util.math.BlockPos;
//#else
//$$ import net.minecraft.util.BlockPos;
@@ -42,8 +42,8 @@ import java.util.Map;
public class ChunkExporter implements Exporter {
private final Map<BlockPos, DObject> chunkObjects = new HashMap<>();
//#if MC>=10904
private final Map<BlockPos, Map<BlockRenderLayer, DObject>> chunkLayerObjects = new HashMap<>();
private final List<Pair<ChunkRenderer, BlockRenderLayer>> chunks = new ArrayList<>();
private final Map<BlockPos, Map<RenderLayer, DObject>> chunkLayerObjects = new HashMap<>();
private final List<Pair<ChunkRenderer, RenderLayer>> chunks = new ArrayList<>();
//#else
//$$ private final Map<BlockPos, Map<EnumWorldBlockLayer, DObject>> chunkLayerObjects = new HashMap<>();
//$$ private final List<Pair<RenderChunk, EnumWorldBlockLayer>> chunks = new ArrayList<>();
@@ -53,7 +53,7 @@ public class ChunkExporter implements Exporter {
public void addChunkUpdate(ChunkRenderer chunk, ChunkRenderData compiledChunk) {
//#if MC>=10904
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
for (RenderLayer layer : RenderLayer.values()) {
//#else
//$$ for (EnumWorldBlockLayer layer : EnumWorldBlockLayer.values()) {
//#endif
@@ -98,8 +98,8 @@ public class ChunkExporter implements Exporter {
@Override
public void postFrame(int frame) throws IOException {
//#if MC>=10904
for (Pair<ChunkRenderer, BlockRenderLayer> pair : chunks) {
BlockRenderLayer layer = pair.getRight();
for (Pair<ChunkRenderer, RenderLayer> pair : chunks) {
RenderLayer layer = pair.getRight();
//#else
//$$ for (Pair<RenderChunk, EnumWorldBlockLayer> pair : chunks) {
//$$ EnumWorldBlockLayer layer = pair.getRight();
@@ -114,7 +114,7 @@ public class ChunkExporter implements Exporter {
DObject layerObject = buildChunkLayerObject(chunkObject, chunk, layer);
if (layerObject == null) continue;
//#if MC>=10904
Map<BlockRenderLayer, DObject> layerObjects
Map<RenderLayer, DObject> layerObjects
//#else
//$$ Map<EnumWorldBlockLayer, DObject> layerObjects
//#endif
@@ -145,11 +145,11 @@ public class ChunkExporter implements Exporter {
private DObject buildChunkLayerObject(DObject chunkObject, ChunkRenderer renderChunk,
//#if MC>=10904
BlockRenderLayer layer) {
RenderLayer layer) {
//#else
//$$ EnumWorldBlockLayer layer) {
//#endif
GlBuffer vertexBuffer = renderChunk.getGlBuffer(layer.ordinal());
VertexBuffer vertexBuffer = renderChunk.getGlBuffer(layer.ordinal());
if (vertexBuffer == null) return null;
DObject layerObject = new DObject(buildChunkLayerMesh(vertexBuffer));
@@ -158,7 +158,7 @@ public class ChunkExporter implements Exporter {
return layerObject;
}
private DMesh buildChunkLayerMesh(GlBuffer vertexBuffer) {
private DMesh buildChunkLayerMesh(VertexBuffer vertexBuffer) {
vertexBuffer.bind();
int size = GL15.glGetBufferParameteri(GLX.GL_ARRAY_BUFFER, GL15.GL_BUFFER_SIZE);
ByteBuffer byteBuffer = GlAllocationUtils.allocateByteBuffer(size);

View File

@@ -86,7 +86,7 @@ public class ItemExporter implements Exporter {
BlendMeshBuilder builder = new BlendMeshBuilder(mesh);
builder.setWellBehaved(true);
//#if MC>=10809
builder.begin(GL11.GL_QUADS, VertexFormats.POSITION_COLOR_UV_NORMAL);
builder.begin(GL11.GL_QUADS, VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL);
//#else
//$$ builder.startDrawingQuads();
//$$ builder.setVertexFormat(DefaultVertexFormats.ITEM);

View File

@@ -9,7 +9,7 @@ import org.lwjgl.opengl.GL11;
//#if MC>=11400
import net.minecraft.client.model.Box;
import net.minecraft.client.model.Cuboid;
import net.minecraft.client.model.ModelPart;
//#else
//$$ import net.minecraft.client.model.ModelBox;
//$$ import net.minecraft.client.model.ModelRenderer;
@@ -31,7 +31,7 @@ public class ModelRendererExporter implements Exporter {
public void setup() throws IOException {
}
public void preRenderModel(Cuboid model, float scale) {
public void preRenderModel(ModelPart model, float scale) {
DObject object = getObjectForModel(model, scale);
renderState.pushObject(object);
renderState.pushModelView();
@@ -53,7 +53,7 @@ public class ModelRendererExporter implements Exporter {
renderState.pop();
}
private DObject getObjectForModel(Cuboid model, float scale) {
private DObject getObjectForModel(ModelPart model, float scale) {
int frame = renderState.getFrame();
DObject parent = renderState.peekObject();
DObject object = null;
@@ -78,7 +78,7 @@ public class ModelRendererExporter implements Exporter {
return object;
}
private static DMesh generateMesh(Cuboid model, float scale) {
private static DMesh generateMesh(ModelPart model, float scale) {
DMesh mesh = new DMesh();
BlendMeshBuilder builder = new BlendMeshBuilder(mesh);
for (Box box : cubeList(model)) {
@@ -93,17 +93,17 @@ public class ModelRendererExporter implements Exporter {
}
private static class ModelBasedDObject extends DObject {
private final Cuboid model;
private final ModelPart model;
private final float scale;
private boolean valid;
public ModelBasedDObject(Cuboid model, float scale) {
public ModelBasedDObject(ModelPart model, float scale) {
super(generateMesh(model, scale));
this.model = model;
this.scale = scale;
}
public boolean isBasedOn(Cuboid model, float scale) {
public boolean isBasedOn(ModelPart model, float scale) {
return this.model == model && Math.abs(this.scale - scale) < 1e-4;
}

View File

@@ -169,7 +169,7 @@ public class ParticlesExporter implements Exporter {
builder.setReverseOffset(offset);
builder.setWellBehaved(true);
//#if MC>=10809
builder.begin(7, VertexFormats.POSITION_UV_COLOR_LMAP);
builder.begin(7, VertexFormats.POSITION_TEXTURE_COLOR_LIGHT);
//#else
//$$ builder.startDrawingQuads();
//#endif

View File

@@ -5,15 +5,7 @@ import net.minecraft.client.render.chunk.ChunkRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
//#if MC>=11400
@Mixin(targets = "net.minecraft.client.render.WorldRenderer$ChunkInfo")
//#else
//#if MC>=11400
//$$ @Mixin(targets = "net/minecraft/client/renderer/WorldRenderer$ContainerLocalRenderInformation")
//#else
//$$ @Mixin(targets = "net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation")
//#endif
//#endif
public interface ContainerLocalRenderInformationAccessor {
//#if MC>=11500
//$$ @Accessor("chunk")

View File

@@ -10,18 +10,18 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//#if MC>=11400
import net.minecraft.client.model.Cuboid;
import net.minecraft.client.model.ModelPart;
//#else
//$$ import net.minecraft.client.model.ModelRenderer;
//#endif
@Mixin(Cuboid.class)
@Mixin(ModelPart.class)
public abstract class MixinModelRenderer {
@Inject(method = "render", at = @At("HEAD"))
public void preRender(float scale, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ModelRendererExporter.class).preRenderModel((Cuboid)(Object)this, scale);
blendState.get(ModelRendererExporter.class).preRenderModel((ModelPart)(Object)this, scale);
}
}
@@ -29,7 +29,7 @@ public abstract class MixinModelRenderer {
public void preRenderWithRotation(float scale, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ModelRendererExporter.class).preRenderModel((Cuboid)(Object)this, scale);
blendState.get(ModelRendererExporter.class).preRenderModel((ModelPart)(Object)this, scale);
}
}

View File

@@ -21,10 +21,14 @@ import net.minecraft.client.render.entity.LivingEntityRenderer;
//$$ @Mixin(RendererLivingEntity.class)
//#endif
public abstract class MixinRenderLivingBase {
//#if MC>=11500
//$$ @Inject(method = "render(Lnet/minecraft/entity/LivingEntity;FFLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V", at = @At(
//#else
//#if FABRIC>=1
@Inject(method = "method_4054", at = @At(
@Inject(method = "render(Lnet/minecraft/entity/LivingEntity;DDDFF)V", at = @At(
//#else
//$$ @Inject(method = "doRender(Lnet/minecraft/entity/LivingEntity;DDDFF)V", at = @At(
//#endif
//#endif
value = "INVOKE",
//#if MC>=10904
@@ -34,7 +38,7 @@ public abstract class MixinRenderLivingBase {
//#endif
shift = At.Shift.AFTER
))
private void recordModelMatrix(LivingEntity entity, double x, double y, double z, float entityYaw, float partialTicks, CallbackInfo ci) {
private void recordModelMatrix(CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(EntityExporter.class).postEntityLivingSetup();