./gradlew :1.15.2:setCoreVersion

Also `./gradlew :jGui:1.15.2:setCoreVersion`.
This commit is contained in:
Jonas Herzig
2020-04-06 12:35:56 +02:00
parent f3c4092c72
commit b119d2d127
70 changed files with 1217 additions and 1217 deletions

View File

@@ -12,7 +12,7 @@ import net.minecraft.client.render.VertexFormatElement;
import org.lwjgl.opengl.GL11;
//#if MC>=11500
//$$ import com.mojang.datafixers.util.Pair;
import com.mojang.datafixers.util.Pair;
//#endif
//#if MC>=10904
@@ -140,10 +140,10 @@ public class BlendMeshBuilder
//$$ public static DMesh addBufferToMesh(WorldRenderer bufferBuilder, DMesh mesh, Vector3f vertOffset) {
//#endif
//#if MC>=11500
//$$ Pair<DrawArrayParameters, ByteBuffer> data = bufferBuilder.popData();
//$$ return addBufferToMesh(data.getSecond(), data.getFirst().getMode(), data.getFirst().getVertexFormat(), mesh, vertOffset);
Pair<DrawArrayParameters, ByteBuffer> data = bufferBuilder.popData();
return addBufferToMesh(data.getSecond(), data.getFirst().getMode(), data.getFirst().getVertexFormat(), mesh, vertOffset);
//#else
return addBufferToMesh(bufferBuilder.getByteBuffer(), bufferBuilder.getDrawMode(), bufferBuilder.getVertexFormat(), mesh, vertOffset);
//$$ return addBufferToMesh(bufferBuilder.getByteBuffer(), bufferBuilder.getDrawMode(), bufferBuilder.getVertexFormat(), mesh, vertOffset);
//#endif
}
@@ -168,15 +168,15 @@ 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
//$$ int offset = elementOffset;
//$$ elementOffset += element.getSize();
int offset = elementOffset;
elementOffset += element.getSize();
//#else
//#if MC>=10809
int offset = vertexFormat.getElementOffset(index);
//$$ int offset = vertexFormat.getElementOffset(index);
//#else
//$$ int offset = element.getOffset();
//#endif

View File

@@ -5,7 +5,7 @@ import com.replaymod.render.blend.data.Serializer;
//#if MC>=10800
// FIXME 1.15
//#if MC<11500
import com.replaymod.render.blend.exporters.ChunkExporter;
//$$ import com.replaymod.render.blend.exporters.ChunkExporter;
//#endif
import com.replaymod.render.blend.exporters.EntityExporter;
import com.replaymod.render.blend.exporters.ItemExporter;
@@ -58,7 +58,7 @@ public class BlendState implements Exporter {
register(renderState);
// FIXME 1.15
//#if MC<11500
register(new ChunkExporter());
//$$ register(new ChunkExporter());
//#endif
register(new EntityExporter(renderState));
register(new TileEntityExporter(renderState));

View File

@@ -1,175 +1,175 @@
// FIXME 1.15
//#if MC>=10800 && MC<11500
package com.replaymod.render.blend.exporters;
import com.replaymod.core.versions.MCVer;
import com.replaymod.render.blend.BlendMeshBuilder;
import com.replaymod.render.blend.BlendState;
import com.replaymod.render.blend.Exporter;
import com.replaymod.render.blend.data.DMesh;
import com.replaymod.render.blend.data.DObject;
import com.replaymod.render.blend.mixin.ContainerLocalRenderInformationAccessor;
import com.replaymod.render.blend.mixin.WorldRendererAccessor;
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector3f;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.texture.SpriteAtlasTexture;
import net.minecraft.client.util.GlAllocationUtils;
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.VertexBuffer;
import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL15;
//$$ package com.replaymod.render.blend.exporters;
//$$
//$$ import com.replaymod.core.versions.MCVer;
//$$ import com.replaymod.render.blend.BlendMeshBuilder;
//$$ import com.replaymod.render.blend.BlendState;
//$$ import com.replaymod.render.blend.Exporter;
//$$ import com.replaymod.render.blend.data.DMesh;
//$$ import com.replaymod.render.blend.data.DObject;
//$$ import com.replaymod.render.blend.mixin.ContainerLocalRenderInformationAccessor;
//$$ import com.replaymod.render.blend.mixin.WorldRendererAccessor;
//$$ import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector3f;
//$$ import net.minecraft.client.MinecraftClient;
//$$ import net.minecraft.client.texture.SpriteAtlasTexture;
//$$ import net.minecraft.client.util.GlAllocationUtils;
//$$ 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.VertexBuffer;
//$$ import org.apache.commons.lang3.tuple.Pair;
//$$ import org.lwjgl.opengl.GL11;
//$$ import org.lwjgl.opengl.GL15;
//$$
//#if MC>=10904
import net.minecraft.client.render.RenderLayer;
import net.minecraft.util.math.BlockPos;
//$$ import net.minecraft.client.render.RenderLayer;
//$$ import net.minecraft.util.math.BlockPos;
//#else
//$$ import net.minecraft.util.BlockPos;
//$$ import net.minecraft.util.EnumWorldBlockLayer;
//#endif
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ChunkExporter implements Exporter {
private final Map<BlockPos, DObject> chunkObjects = new HashMap<>();
//$$
//$$ import java.io.IOException;
//$$ import java.nio.ByteBuffer;
//$$ import java.util.ArrayList;
//$$ import java.util.EnumMap;
//$$ import java.util.HashMap;
//$$ import java.util.List;
//$$ 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<RenderLayer, DObject>> chunkLayerObjects = new HashMap<>();
private final List<Pair<ChunkRenderer, RenderLayer>> 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<>();
//#endif
private DObject chunksObject;
private int frame;
public void addChunkUpdate(ChunkRenderer chunk, ChunkRenderData compiledChunk) {
//$$ private DObject chunksObject;
//$$ private int frame;
//$$
//$$ public void addChunkUpdate(ChunkRenderer chunk, ChunkRenderData compiledChunk) {
//#if MC>=10904
for (RenderLayer layer : RenderLayer.values()) {
//$$ for (RenderLayer layer : RenderLayer.values()) {
//#else
//$$ for (EnumWorldBlockLayer layer : EnumWorldBlockLayer.values()) {
//#endif
if (compiledChunk == null || compiledChunk.isBufferInitialized(layer)) {
chunks.add(Pair.of(chunk, layer));
}
}
}
@Override
public void setup() throws IOException {
MinecraftClient mc = MCVer.getMinecraft();
@SuppressWarnings("unchecked")
List<ContainerLocalRenderInformationAccessor> renderInfos = ((WorldRendererAccessor) mc.worldRenderer).getRenderInfos();
for (ContainerLocalRenderInformationAccessor renderInfo : renderInfos) {
ChunkRenderer renderChunk = renderInfo.getRenderChunk();
ChunkRenderData compiledChunk = renderChunk.getData();
if (!compiledChunk.isEmpty()) {
addChunkUpdate(renderChunk, null);
}
}
chunksObject = new DObject(DObject.Type.OB_EMPTY);
chunksObject.id.name = "Chunks";
chunksObject.layers = 1 << 1;
BlendState.getState().getScene().base.add(chunksObject);
}
@Override
public void tearDown() throws IOException {
chunks.clear();
chunkObjects.clear();
chunksObject = null;
}
@Override
public void preFrame(int frame) throws IOException {
this.frame = frame;
}
@Override
public void postFrame(int frame) throws IOException {
//$$ if (compiledChunk == null || compiledChunk.isBufferInitialized(layer)) {
//$$ chunks.add(Pair.of(chunk, layer));
//$$ }
//$$ }
//$$ }
//$$
//$$ @Override
//$$ public void setup() throws IOException {
//$$
//$$ MinecraftClient mc = MCVer.getMinecraft();
//$$ @SuppressWarnings("unchecked")
//$$ List<ContainerLocalRenderInformationAccessor> renderInfos = ((WorldRendererAccessor) mc.worldRenderer).getRenderInfos();
//$$ for (ContainerLocalRenderInformationAccessor renderInfo : renderInfos) {
//$$ ChunkRenderer renderChunk = renderInfo.getRenderChunk();
//$$ ChunkRenderData compiledChunk = renderChunk.getData();
//$$ if (!compiledChunk.isEmpty()) {
//$$ addChunkUpdate(renderChunk, null);
//$$ }
//$$ }
//$$
//$$ chunksObject = new DObject(DObject.Type.OB_EMPTY);
//$$ chunksObject.id.name = "Chunks";
//$$ chunksObject.layers = 1 << 1;
//$$ BlendState.getState().getScene().base.add(chunksObject);
//$$ }
//$$
//$$ @Override
//$$ public void tearDown() throws IOException {
//$$ chunks.clear();
//$$ chunkObjects.clear();
//$$ chunksObject = null;
//$$ }
//$$
//$$ @Override
//$$ public void preFrame(int frame) throws IOException {
//$$ this.frame = frame;
//$$ }
//$$
//$$ @Override
//$$ public void postFrame(int frame) throws IOException {
//#if MC>=10904
for (Pair<ChunkRenderer, RenderLayer> pair : chunks) {
RenderLayer layer = pair.getRight();
//$$ for (Pair<ChunkRenderer, RenderLayer> pair : chunks) {
//$$ RenderLayer layer = pair.getRight();
//#else
//$$ for (Pair<RenderChunk, EnumWorldBlockLayer> pair : chunks) {
//$$ EnumWorldBlockLayer layer = pair.getRight();
//#endif
ChunkRenderer chunk = pair.getLeft();
DObject chunkObject = chunkObjects.get(chunk.getOrigin());
if (chunkObject == null) {
chunkObject = buildChunkObject(chunk);
chunkObjects.put(chunk.getOrigin(), chunkObject);
chunkLayerObjects.put(chunk.getOrigin(), new EnumMap<>(layer.getDeclaringClass()));
}
DObject layerObject = buildChunkLayerObject(chunkObject, chunk, layer);
if (layerObject == null) continue;
//$$ ChunkRenderer chunk = pair.getLeft();
//$$ DObject chunkObject = chunkObjects.get(chunk.getOrigin());
//$$ if (chunkObject == null) {
//$$ chunkObject = buildChunkObject(chunk);
//$$ chunkObjects.put(chunk.getOrigin(), chunkObject);
//$$ chunkLayerObjects.put(chunk.getOrigin(), new EnumMap<>(layer.getDeclaringClass()));
//$$ }
//$$ DObject layerObject = buildChunkLayerObject(chunkObject, chunk, layer);
//$$ if (layerObject == null) continue;
//#if MC>=10904
Map<RenderLayer, DObject> layerObjects
//$$ Map<RenderLayer, DObject> layerObjects
//#else
//$$ Map<EnumWorldBlockLayer, DObject> layerObjects
//#endif
= chunkLayerObjects.get(chunk.getOrigin());
DObject oldLayerObject = layerObjects.get(layer);
if (oldLayerObject != null) {
oldLayerObject.keyframe("hide", 0, frame, 1f);
}
if (frame > 0) {
layerObject.keyframe("hide", 0, frame - 1, 1f);
layerObject.keyframe("hide", 0, frame, 0f);
} else {
layerObject.keyframe("hide", 0, frame, 0f);
}
layerObjects.put(layer, layerObject);
}
chunks.clear();
}
private DObject buildChunkObject(ChunkRenderer renderChunk) {
BlockPos pos = renderChunk.getOrigin();
DObject chunkObject = new DObject(DObject.Type.OB_EMPTY);
chunkObject.setParent(chunksObject);
chunkObject.id.name = "Chunk[" + pos.getX()/16 + "/" + pos.getY()/16 + "/" + pos.getZ()/16 + "]";
chunkObject.loc = new Vector3f(pos.getX(), -pos.getZ(), pos.getY());
return chunkObject;
}
private DObject buildChunkLayerObject(DObject chunkObject, ChunkRenderer renderChunk,
//$$ = chunkLayerObjects.get(chunk.getOrigin());
//$$ DObject oldLayerObject = layerObjects.get(layer);
//$$ if (oldLayerObject != null) {
//$$ oldLayerObject.keyframe("hide", 0, frame, 1f);
//$$ }
//$$ if (frame > 0) {
//$$ layerObject.keyframe("hide", 0, frame - 1, 1f);
//$$ layerObject.keyframe("hide", 0, frame, 0f);
//$$ } else {
//$$ layerObject.keyframe("hide", 0, frame, 0f);
//$$ }
//$$ layerObjects.put(layer, layerObject);
//$$ }
//$$ chunks.clear();
//$$ }
//$$
//$$ private DObject buildChunkObject(ChunkRenderer renderChunk) {
//$$ BlockPos pos = renderChunk.getOrigin();
//$$ DObject chunkObject = new DObject(DObject.Type.OB_EMPTY);
//$$ chunkObject.setParent(chunksObject);
//$$ chunkObject.id.name = "Chunk[" + pos.getX()/16 + "/" + pos.getY()/16 + "/" + pos.getZ()/16 + "]";
//$$ chunkObject.loc = new Vector3f(pos.getX(), -pos.getZ(), pos.getY());
//$$ return chunkObject;
//$$ }
//$$
//$$ private DObject buildChunkLayerObject(DObject chunkObject, ChunkRenderer renderChunk,
//#if MC>=10904
RenderLayer layer) {
//$$ RenderLayer layer) {
//#else
//$$ EnumWorldBlockLayer layer) {
//#endif
VertexBuffer vertexBuffer = renderChunk.getGlBuffer(layer.ordinal());
if (vertexBuffer == null) return null;
DObject layerObject = new DObject(buildChunkLayerMesh(vertexBuffer));
layerObject.setParent(chunkObject);
layerObject.id.name = chunkObject.id.name + " - " + layer + " - Frame " + frame;
return layerObject;
}
private DMesh buildChunkLayerMesh(VertexBuffer vertexBuffer) {
vertexBuffer.bind();
int size = GL15.glGetBufferParameteri(GLX.GL_ARRAY_BUFFER, GL15.GL_BUFFER_SIZE);
ByteBuffer byteBuffer = GlAllocationUtils.allocateByteBuffer(size);
GL15.glGetBufferSubData(GLX.GL_ARRAY_BUFFER, 0, byteBuffer);
vertexBuffer.unbind();
MCVer.getMinecraft().getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEX);
return BlendMeshBuilder.addBufferToMesh(byteBuffer, GL11.GL_QUADS, VertexFormats.POSITION_COLOR_UV_LMAP, null, null);
}
private static final int STRIDE = 28;
}
//$$ VertexBuffer vertexBuffer = renderChunk.getGlBuffer(layer.ordinal());
//$$ if (vertexBuffer == null) return null;
//$$
//$$ DObject layerObject = new DObject(buildChunkLayerMesh(vertexBuffer));
//$$ layerObject.setParent(chunkObject);
//$$ layerObject.id.name = chunkObject.id.name + " - " + layer + " - Frame " + frame;
//$$ return layerObject;
//$$ }
//$$
//$$ private DMesh buildChunkLayerMesh(VertexBuffer vertexBuffer) {
//$$ vertexBuffer.bind();
//$$ int size = GL15.glGetBufferParameteri(GLX.GL_ARRAY_BUFFER, GL15.GL_BUFFER_SIZE);
//$$ ByteBuffer byteBuffer = GlAllocationUtils.allocateByteBuffer(size);
//$$ GL15.glGetBufferSubData(GLX.GL_ARRAY_BUFFER, 0, byteBuffer);
//$$ vertexBuffer.unbind();
//$$
//$$ MCVer.getMinecraft().getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEX);
//$$
//$$ return BlendMeshBuilder.addBufferToMesh(byteBuffer, GL11.GL_QUADS, VertexFormats.POSITION_COLOR_UV_LMAP, null, null);
//$$ }
//$$
//$$ private static final int STRIDE = 28;
//$$ }
//#endif

View File

@@ -125,13 +125,13 @@ public class ItemExporter implements Exporter {
//#endif
: 0xffffffff;
//#if MC>=11500
//$$ // FIXME 1.15
// FIXME 1.15
//#else
//#if MC>=11400
buffer.putVertexData(quad.getVertexData());
buffer.setQuadColor(color);
Vec3i vec3i_1 = quad.getFace().getVector();
buffer.postNormal(vec3i_1.getX(), vec3i_1.getY(), vec3i_1.getZ());
//$$ buffer.putVertexData(quad.getVertexData());
//$$ buffer.setQuadColor(color);
//$$ Vec3i vec3i_1 = quad.getFace().getVector();
//$$ buffer.postNormal(vec3i_1.getX(), vec3i_1.getY(), vec3i_1.getZ());
//#else
//$$ LightUtil.renderQuadColor(buffer, quad, color);
//#endif

View File

@@ -9,9 +9,9 @@ import org.lwjgl.opengl.GL11;
//#if MC>=11400
//#if MC>=11500
//$$ import net.minecraft.client.model.ModelPart.Cuboid;
import net.minecraft.client.model.ModelPart.Cuboid;
//#else
import net.minecraft.client.model.Box;
//$$ import net.minecraft.client.model.Box;
//#endif
import net.minecraft.client.model.ModelPart;
//#else
@@ -72,9 +72,9 @@ public class ModelRendererExporter implements Exporter {
if (object == null) {
object = new ModelBasedDObject(model, scale);
//#if MC>=11500
//$$ object.id.name = "???"; // FIXME 1.15 can we somehow nicely derive this?
object.id.name = "???"; // FIXME 1.15 can we somehow nicely derive this?
//#else
object.id.name = model.name;
//$$ object.id.name = model.name;
//#endif
object.setParent(parent);
}
@@ -86,13 +86,13 @@ public class ModelRendererExporter implements Exporter {
DMesh mesh = new DMesh();
BlendMeshBuilder builder = new BlendMeshBuilder(mesh);
//#if MC>=11500
//$$ for (Cuboid box : cubeList(model)) {
//$$ // FIXME 1.15
//$$ }
//#else
for (Box box : cubeList(model)) {
box.render(builder, scale);
for (Cuboid box : cubeList(model)) {
// FIXME 1.15
}
//#else
//$$ for (Box box : cubeList(model)) {
//$$ box.render(builder, scale);
//$$ }
//#endif
builder.maybeFinishDrawing();
return mesh;

View File

@@ -117,11 +117,11 @@ public class ParticlesExporter implements Exporter {
double dy = acc.getPrevPosY() + (acc.getPosY() - acc.getPrevPosY()) * renderPartialTicks;
double dz = acc.getPrevPosZ() + (acc.getPosZ() - acc.getPrevPosZ()) * renderPartialTicks;
//#if MC>=11500
//$$ // FIXME 1.15 is this still required?
// FIXME 1.15 is this still required?
//#else
dx -= Particle.cameraX;
dy -= Particle.cameraY;
dz -= Particle.cameraZ;
//$$ dx -= Particle.cameraX;
//$$ dy -= Particle.cameraY;
//$$ dz -= Particle.cameraZ;
//#endif
Vector3f offset = new Vector3f((float) dx, (float) dy, (float) dz);
Matrix4f.translate(offset, modelView, modelView);
@@ -182,7 +182,7 @@ public class ParticlesExporter implements Exporter {
//#endif
0
//#if MC<11500
, 1, 1, 0, 0, 0
//$$ , 1, 1, 0, 0, 0
//#endif
);
//#else

View File

@@ -1,27 +1,27 @@
//#if MC>=10800 && MC<11500
package com.replaymod.render.blend.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
//$$ package com.replaymod.render.blend.mixin;
//$$
//$$ import org.spongepowered.asm.mixin.Mixin;
//$$ import org.spongepowered.asm.mixin.gen.Accessor;
//$$
//#if MC>=11500
//$$ import net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk;
//#else
import net.minecraft.client.render.chunk.ChunkRenderer;
//$$ import net.minecraft.client.render.chunk.ChunkRenderer;
//#endif
@Mixin(targets = "net.minecraft.client.render.WorldRenderer$ChunkInfo")
public interface ContainerLocalRenderInformationAccessor {
//$$
//$$ @Mixin(targets = "net.minecraft.client.render.WorldRenderer$ChunkInfo")
//$$ public interface ContainerLocalRenderInformationAccessor {
//#if MC>=11500
//$$ @Accessor("chunk")
//$$ BuiltChunk getRenderChunk();
//#else
//#if MC>=11400
@Accessor("renderer")
//$$ @Accessor("renderer")
//#else
//$$ @Accessor
//#endif
ChunkRenderer getRenderChunk();
//$$ ChunkRenderer getRenderChunk();
//#endif
}
//$$ }
//#endif

View File

@@ -1,35 +1,35 @@
// FIXME 1.15
//#if MC>=10800 && MC<11500
package com.replaymod.render.blend.mixin;
import com.replaymod.render.blend.BlendState;
import com.replaymod.render.blend.exporters.ChunkExporter;
import net.minecraft.client.render.chunk.ChunkRenderWorker;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//$$ package com.replaymod.render.blend.mixin;
//$$
//$$ import com.replaymod.render.blend.BlendState;
//$$ import com.replaymod.render.blend.exporters.ChunkExporter;
//$$ import net.minecraft.client.render.chunk.ChunkRenderWorker;
//$$ import org.spongepowered.asm.mixin.Mixin;
//$$ import org.spongepowered.asm.mixin.injection.At;
//$$ import org.spongepowered.asm.mixin.injection.Inject;
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//$$
//#if MC>=11400
import net.minecraft.client.render.chunk.ChunkRenderTask;
//$$ import net.minecraft.client.render.chunk.ChunkRenderTask;
//#else
//$$ import net.minecraft.client.renderer.chunk.ChunkCompileTaskGenerator;
//#endif
@Mixin(ChunkRenderWorker.class)
public abstract class MixinChunkRenderWorker {
@Inject(method = "runTask", at = @At("RETURN"))
//$$
//$$ @Mixin(ChunkRenderWorker.class)
//$$ public abstract class MixinChunkRenderWorker {
//$$
//$$ @Inject(method = "runTask", at = @At("RETURN"))
//#if MC>=11400
public void afterChunkUpdate(ChunkRenderTask task, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
if (task.getStage() == ChunkRenderTask.Stage.DONE
&& task.getMode() == ChunkRenderTask.Mode.REBUILD_CHUNK) {
blendState.get(ChunkExporter.class).addChunkUpdate(task.getChunkRenderer(), task.getRenderData());
}
}
}
//$$ public void afterChunkUpdate(ChunkRenderTask task, CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ if (task.getStage() == ChunkRenderTask.Stage.DONE
//$$ && task.getMode() == ChunkRenderTask.Mode.REBUILD_CHUNK) {
//$$ blendState.get(ChunkExporter.class).addChunkUpdate(task.getChunkRenderer(), task.getRenderData());
//$$ }
//$$ }
//$$ }
//#else
//$$ public void afterChunkUpdate(ChunkCompileTaskGenerator task, CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
@@ -41,5 +41,5 @@ public abstract class MixinChunkRenderWorker {
//$$ }
//$$ }
//#endif
}
//$$ }
//#endif

View File

@@ -1,64 +1,64 @@
//#if MC>=10800 && MC<11500
package com.replaymod.render.blend.mixin;
import com.replaymod.render.blend.BlendState;
import com.replaymod.render.blend.exporters.ParticlesExporter;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//$$ package com.replaymod.render.blend.mixin;
//$$
//$$ import com.replaymod.render.blend.BlendState;
//$$ import com.replaymod.render.blend.exporters.ParticlesExporter;
//$$ import org.spongepowered.asm.mixin.Mixin;
//$$ import org.spongepowered.asm.mixin.injection.At;
//$$ import org.spongepowered.asm.mixin.injection.Inject;
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//$$
//#if MC>=11400
import net.minecraft.client.render.Camera;
//$$ import net.minecraft.client.render.Camera;
//#else
//$$ import net.minecraft.entity.Entity;
//#endif
//$$
//#if MC>=10904
import net.minecraft.client.particle.ParticleManager;
//$$ import net.minecraft.client.particle.ParticleManager;
//#else
//$$ import net.minecraft.client.particle.EffectRenderer;
//#endif
//$$
//#if MC>=10904
@Mixin(ParticleManager.class)
//$$ @Mixin(ParticleManager.class)
//#else
//$$ @Mixin(EffectRenderer.class)
//#endif
public abstract class MixinEffectRenderer {
@Inject(method = "renderParticles", at = @At("HEAD"))
private void preRender(
//$$ public abstract class MixinEffectRenderer {
//$$
//$$ @Inject(method = "renderParticles", at = @At("HEAD"))
//$$ private void preRender(
//#if MC>=11400
Camera view,
//$$ Camera view,
//#else
//$$ Entity view,
//#endif
float renderPartialTicks,
CallbackInfo ci
) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ParticlesExporter.class).preParticlesRender(false);
}
}
@Inject(method = "renderParticles", at = @At("RETURN"))
private void postRender(
//$$ float renderPartialTicks,
//$$ CallbackInfo ci
//$$ ) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(ParticlesExporter.class).preParticlesRender(false);
//$$ }
//$$ }
//$$
//$$ @Inject(method = "renderParticles", at = @At("RETURN"))
//$$ private void postRender(
//#if MC>=11400
Camera view,
//$$ Camera view,
//#else
//$$ Entity view,
//#endif
float renderPartialTicks,
CallbackInfo ci
) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ParticlesExporter.class).postParticlesRender();
}
}
//$$ float renderPartialTicks,
//$$ CallbackInfo ci
//$$ ) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(ParticlesExporter.class).postParticlesRender();
//$$ }
//$$ }
//$$
//#if MC<11400
//$$ @Inject(method = "renderLitParticles", at = @At("HEAD"))
//$$ public void preLitRender(Entity view, float renderPartialTicks, CallbackInfo ci) {
@@ -76,5 +76,5 @@ public abstract class MixinEffectRenderer {
//$$ }
//$$ }
//#endif
}
//$$ }
//#endif

View File

@@ -1,73 +1,73 @@
// FIXME 1.15
//#if MC>=10800 && MC<11500
package com.replaymod.render.blend.mixin;
import com.replaymod.render.blend.BlendState;
import com.replaymod.render.blend.exporters.ModelRendererExporter;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//$$ package com.replaymod.render.blend.mixin;
//$$
//$$ import com.replaymod.render.blend.BlendState;
//$$ import com.replaymod.render.blend.exporters.ModelRendererExporter;
//$$ import org.spongepowered.asm.mixin.Mixin;
//$$ import org.spongepowered.asm.mixin.injection.At;
//$$ import org.spongepowered.asm.mixin.injection.Inject;
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//$$
//#if MC>=11400
import net.minecraft.client.model.ModelPart;
//$$ import net.minecraft.client.model.ModelPart;
//#else
//$$ import net.minecraft.client.model.ModelRenderer;
//#endif
@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((ModelPart)(Object)this, scale);
}
}
@Inject(method = "method_2852", at = @At("HEAD"))
public void preRenderWithRotation(float scale, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ModelRendererExporter.class).preRenderModel((ModelPart)(Object)this, scale);
}
}
@Inject(method = "render", at = @At("RETURN"))
public void postRender(float scale, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ModelRendererExporter.class).postRenderModel();
}
}
@Inject(method = "method_2852", at = @At("RETURN"))
public void postRenderWithRotation(float scale, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ModelRendererExporter.class).postRenderModel();
}
}
@Inject(method = "render",
at = @At(value = "INVOKE",
target = "Lcom/mojang/blaze3d/platform/GlStateManager;callList(I)V"),
expect = 3)
public void onRender(float scale, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ModelRendererExporter.class).onRenderModel();
}
}
@Inject(method = "method_2852",
at = @At(value = "INVOKE",
target = "Lcom/mojang/blaze3d/platform/GlStateManager;callList(I)V"))
public void onRenderWithRotation(float scale, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(ModelRendererExporter.class).onRenderModel();
}
}
}
//$$
//$$ @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((ModelPart)(Object)this, scale);
//$$ }
//$$ }
//$$
//$$ @Inject(method = "method_2852", at = @At("HEAD"))
//$$ public void preRenderWithRotation(float scale, CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(ModelRendererExporter.class).preRenderModel((ModelPart)(Object)this, scale);
//$$ }
//$$ }
//$$
//$$ @Inject(method = "render", at = @At("RETURN"))
//$$ public void postRender(float scale, CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(ModelRendererExporter.class).postRenderModel();
//$$ }
//$$ }
//$$
//$$ @Inject(method = "method_2852", at = @At("RETURN"))
//$$ public void postRenderWithRotation(float scale, CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(ModelRendererExporter.class).postRenderModel();
//$$ }
//$$ }
//$$
//$$ @Inject(method = "render",
//$$ at = @At(value = "INVOKE",
//$$ target = "Lcom/mojang/blaze3d/platform/GlStateManager;callList(I)V"),
//$$ expect = 3)
//$$ public void onRender(float scale, CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(ModelRendererExporter.class).onRenderModel();
//$$ }
//$$ }
//$$
//$$ @Inject(method = "method_2852",
//$$ at = @At(value = "INVOKE",
//$$ target = "Lcom/mojang/blaze3d/platform/GlStateManager;callList(I)V"))
//$$ public void onRenderWithRotation(float scale, CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(ModelRendererExporter.class).onRenderModel();
//$$ }
//$$ }
//$$ }
//#endif

View File

@@ -10,9 +10,9 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//#if MC>=11500
//$$ import net.minecraft.client.render.Frustum;
import net.minecraft.client.render.Frustum;
//#else
import net.minecraft.client.render.VisibleRegion;
//$$ import net.minecraft.client.render.VisibleRegion;
//#endif
//#if MC>=11400
@@ -37,12 +37,12 @@ public abstract class MixinRenderGlobal {
// FIXME wither skull ._. mojang pls
//#if MC>=11500
//$$ @Inject(method = "renderEntity", at = @At("HEAD"))
@Inject(method = "renderEntity", at = @At("HEAD"))
//#else
@Inject(method = "renderEntities",
at = @At(value = "INVOKE",
//$$ @Inject(method = "renderEntities",
//$$ at = @At(value = "INVOKE",
//#if MC>=10904
target = "Lnet/minecraft/client/render/entity/EntityRenderDispatcher;render(Lnet/minecraft/entity/Entity;FZ)V"))
//$$ target = "Lnet/minecraft/client/render/entity/EntityRenderDispatcher;render(Lnet/minecraft/entity/Entity;FZ)V"))
//#else
//$$ target = "Lnet/minecraft/client/renderer/entity/RenderManager;renderEntitySimple(Lnet/minecraft/entity/Entity;F)Z"))
//#endif
@@ -55,16 +55,16 @@ public abstract class MixinRenderGlobal {
}
//#if MC>=11500
//$$ @Inject(method = "renderEntity", at = @At("RETURN"))
@Inject(method = "renderEntity", at = @At("RETURN"))
//#else
@Inject(method = "renderEntities",
at = @At(value = "INVOKE",
//$$ @Inject(method = "renderEntities",
//$$ at = @At(value = "INVOKE",
//#if MC>=10904
target = "Lnet/minecraft/client/render/entity/EntityRenderDispatcher;render(Lnet/minecraft/entity/Entity;FZ)V",
//$$ target = "Lnet/minecraft/client/render/entity/EntityRenderDispatcher;render(Lnet/minecraft/entity/Entity;FZ)V",
//#else
//$$ target = "Lnet/minecraft/client/renderer/entity/RenderManager;renderEntitySimple(Lnet/minecraft/entity/Entity;F)Z",
//#endif
shift = At.Shift.AFTER))
//$$ shift = At.Shift.AFTER))
//#endif
private void postEntityRender(CallbackInfo ci) {
BlendState blendState = BlendState.getState();
@@ -74,38 +74,38 @@ public abstract class MixinRenderGlobal {
}
//#if MC>=11500
//$$ // FIXME
// FIXME
//#else
@Inject(method = "renderEntities", at = @At(
value = "INVOKE",
//$$ @Inject(method = "renderEntities", at = @At(
//$$ value = "INVOKE",
//#if MC>=11400
target = "Lnet/minecraft/client/render/block/entity/BlockEntityRenderDispatcher;render(Lnet/minecraft/block/entity/BlockEntity;FI)V"
//$$ target = "Lnet/minecraft/client/render/block/entity/BlockEntityRenderDispatcher;render(Lnet/minecraft/block/entity/BlockEntity;FI)V"
//#else
//$$ target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V"
//#endif
))
private void preTileEntityRender(CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(TileEntityExporter.class).preTileEntitiesRender();
}
}
@Inject(method = "renderEntities", at = @At(
value = "INVOKE",
//$$ ))
//$$ private void preTileEntityRender(CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(TileEntityExporter.class).preTileEntitiesRender();
//$$ }
//$$ }
//$$
//$$ @Inject(method = "renderEntities", at = @At(
//$$ value = "INVOKE",
//#if MC>=11400
target = "Lnet/minecraft/client/render/block/entity/BlockEntityRenderDispatcher;render(Lnet/minecraft/block/entity/BlockEntity;FI)V",
//$$ target = "Lnet/minecraft/client/render/block/entity/BlockEntityRenderDispatcher;render(Lnet/minecraft/block/entity/BlockEntity;FI)V",
//#else
//$$ target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V",
//#endif
shift = At.Shift.AFTER
))
private void postTileEntityRender(CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(TileEntityExporter.class).postTileEntitiesRender();
}
}
//$$ shift = At.Shift.AFTER
//$$ ))
//$$ private void postTileEntityRender(CallbackInfo ci) {
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(TileEntityExporter.class).postTileEntitiesRender();
//$$ }
//$$ }
//#endif
}
//#endif

View File

@@ -10,8 +10,8 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//#if MC>=11500
//$$ import net.minecraft.client.render.VertexConsumer;
//$$ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.util.math.MatrixStack;
//#endif
//#if MC>=11400
@@ -34,11 +34,11 @@ import net.minecraft.client.render.model.BakedModel;
//#endif
public abstract class MixinRenderItem {
//#if MC>=11500
//$$ @Inject(method = "renderBakedItemModel", at = @At("HEAD"))
//$$ private void onRenderModel(BakedModel model, ItemStack stack, int int_1, int int_2, MatrixStack matrixStack_1, VertexConsumer vertexConsumer_1, CallbackInfo ci) {
@Inject(method = "renderBakedItemModel", at = @At("HEAD"))
private void onRenderModel(BakedModel model, ItemStack stack, int int_1, int int_2, MatrixStack matrixStack_1, VertexConsumer vertexConsumer_1, CallbackInfo ci) {
//#else
//#if MC>=11400
@Inject(method = "renderItemModel", at = @At("HEAD"))
//$$ @Inject(method = "renderItemModel", at = @At("HEAD"))
//#else
//#if MC>=11400
//$$ @Inject(method = "renderModel(Lnet/minecraft/client/renderer/model/IBakedModel;Lnet/minecraft/item/ItemStack;)V",
@@ -53,7 +53,7 @@ public abstract class MixinRenderItem {
//#endif
//#endif
//#endif
private void onRenderModel(BakedModel model, ItemStack stack, CallbackInfo ci) {
//$$ private void onRenderModel(BakedModel model, ItemStack stack, CallbackInfo ci) {
//#endif
BlendState blendState = BlendState.getState();
if (blendState != null) {

View File

@@ -21,20 +21,20 @@ import net.minecraft.client.render.entity.LivingEntityRenderer;
//#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(
@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 = "render(Lnet/minecraft/entity/LivingEntity;DDDFF)V", 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>=11500
//$$ target = "Lnet/minecraft/client/render/entity/LivingEntityRenderer;scale(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/client/util/math/MatrixStack;F)V",
target = "Lnet/minecraft/client/render/entity/LivingEntityRenderer;scale(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/client/util/math/MatrixStack;F)V",
//#else
//#if MC>=10904
target = "Lnet/minecraft/client/render/entity/LivingEntityRenderer;scaleAndTranslate(Lnet/minecraft/entity/LivingEntity;F)F",
//$$ target = "Lnet/minecraft/client/render/entity/LivingEntityRenderer;scaleAndTranslate(Lnet/minecraft/entity/LivingEntity;F)F",
//#else
//$$ target = "Lnet/minecraft/client/renderer/entity/RendererLivingEntity;preRenderCallback(Lnet/minecraft/entity/EntityLivingBase;F)V",
//#endif

View File

@@ -10,8 +10,8 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
//#if MC>=11500
//$$ import net.minecraft.client.render.VertexConsumerProvider;
//$$ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
//#endif
//#if MC>=10904
@@ -25,10 +25,10 @@ public abstract class MixinRenderManager {
@Inject(
//#if MC>=11500
//$$ method = "render",
method = "render",
//#else
//#if MC>=11400 && FABRIC>=1
method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
//$$ method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
//#else
//#if MC>=11400
//$$ method = "renderEntity",
@@ -39,17 +39,17 @@ public abstract class MixinRenderManager {
//#endif
at = @At(value = "INVOKE",
//#if MC>=11500
//$$ target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;FFLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V"))
target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;FFLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V"))
//#else
target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;DDDFF)V"))
//$$ target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;DDDFF)V"))
//#endif
public void preRender(Entity entity, double x, double y, double z, float yaw, float renderPartialTicks,
//#if MC>=11500
//$$ MatrixStack matrixStack,
//$$ VertexConsumerProvider vertexConsumerProvider,
//$$ int int_1,
MatrixStack matrixStack,
VertexConsumerProvider vertexConsumerProvider,
int int_1,
//#else
boolean box,
//$$ boolean box,
//#endif
//#if MC>=10904
CallbackInfo ci) {
@@ -64,10 +64,10 @@ public abstract class MixinRenderManager {
@Inject(
//#if MC>=11500
//$$ method = "render",
method = "render",
//#else
//#if MC>=11400
method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
//$$ method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
//#else
//#if MC>=11400
//$$ method = "renderEntity",
@@ -78,18 +78,18 @@ public abstract class MixinRenderManager {
//#endif
at = @At(value = "INVOKE",
//#if MC>=11500
//$$ target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;FFLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V",
target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;FFLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V",
//#else
target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;DDDFF)V",
//$$ target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;DDDFF)V",
//#endif
shift = At.Shift.AFTER))
public void postRender(Entity entity, double x, double y, double z, float yaw, float renderPartialTicks,
//#if MC>=11500
//$$ MatrixStack matrixStack,
//$$ VertexConsumerProvider vertexConsumerProvider,
//$$ int int_1,
MatrixStack matrixStack,
VertexConsumerProvider vertexConsumerProvider,
int int_1,
//#else
boolean box,
//$$ boolean box,
//#endif
//#if MC>=10904
CallbackInfo ci) {

View File

@@ -1,29 +1,29 @@
// FIXME 1.15
//#if MC>=10800 && MC<11500
package com.replaymod.render.blend.mixin;
import com.replaymod.render.blend.BlendState;
import com.replaymod.render.blend.exporters.TileEntityExporter;
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
import net.minecraft.block.entity.BlockEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(BlockEntityRenderDispatcher.class)
public abstract class MixinTileEntityRendererDispatcher {
//$$ package com.replaymod.render.blend.mixin;
//$$
//$$ import com.replaymod.render.blend.BlendState;
//$$ import com.replaymod.render.blend.exporters.TileEntityExporter;
//$$ import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
//$$ import net.minecraft.block.entity.BlockEntity;
//$$ import org.spongepowered.asm.mixin.Mixin;
//$$ import org.spongepowered.asm.mixin.injection.At;
//$$ import org.spongepowered.asm.mixin.injection.Inject;
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//$$
//$$ @Mixin(BlockEntityRenderDispatcher.class)
//$$ public abstract class MixinTileEntityRendererDispatcher {
//$$
//#if MC>=11400
//#if MC>=11400
@Inject(method = "renderEntity(Lnet/minecraft/block/entity/BlockEntity;DDDFIZ)V",
at = @At("HEAD"))
//$$ @Inject(method = "renderEntity(Lnet/minecraft/block/entity/BlockEntity;DDDFIZ)V",
//$$ at = @At("HEAD"))
//#else
//$$ @Inject(method = "render(Lnet/minecraft/tileentity/TileEntity;DDDFIZ)V",
//$$ at = @At("HEAD"))
//#endif
public void preRender(BlockEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, boolean hasNoBlock, CallbackInfo ci) {
float alpha = 1;
//$$ public void preRender(BlockEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, boolean hasNoBlock, CallbackInfo ci) {
//$$ float alpha = 1;
//#else
//#if MC>=11200
//$$ @Inject(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntity;DDDFIF)V",
@@ -36,21 +36,21 @@ public abstract class MixinTileEntityRendererDispatcher {
//$$ float alpha = 1;
//#endif
//#endif
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(TileEntityExporter.class).preRender(tileEntity, x, y, z, renderPartialTicks, destroyStage, alpha);
}
}
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(TileEntityExporter.class).preRender(tileEntity, x, y, z, renderPartialTicks, destroyStage, alpha);
//$$ }
//$$ }
//$$
//#if MC>=11400
//#if MC>=11400
@Inject(method = "renderEntity(Lnet/minecraft/block/entity/BlockEntity;DDDFIZ)V",
at = @At("RETURN"))
//$$ @Inject(method = "renderEntity(Lnet/minecraft/block/entity/BlockEntity;DDDFIZ)V",
//$$ at = @At("RETURN"))
//#else
//$$ @Inject(method = "render(Lnet/minecraft/tileentity/TileEntity;DDDFIZ)V",
//$$ at = @At("RETURN"))
//#endif
public void postRender(BlockEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, boolean hasNoBlock, CallbackInfo ci) {
//$$ public void postRender(BlockEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, boolean hasNoBlock, CallbackInfo ci) {
//#else
//#if MC>=11200
//$$ @Inject(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntity;DDDFIF)V",
@@ -62,10 +62,10 @@ public abstract class MixinTileEntityRendererDispatcher {
//$$ public void postRender(TileEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, CallbackInfo ci) {
//#endif
//#endif
BlendState blendState = BlendState.getState();
if (blendState != null) {
blendState.get(TileEntityExporter.class).postRender();
}
}
}
//$$ BlendState blendState = BlendState.getState();
//$$ if (blendState != null) {
//$$ blendState.get(TileEntityExporter.class).postRender();
//$$ }
//$$ }
//$$ }
//#endif

View File

@@ -1,16 +1,16 @@
// FIXME 1.15
//#if MC>=10800 && MC<11500
package com.replaymod.render.blend.mixin;
import net.minecraft.client.render.WorldRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import java.util.List;
@Mixin(WorldRenderer.class)
public interface WorldRendererAccessor {
@Accessor("chunkInfos")
List getRenderInfos();
}
//$$ package com.replaymod.render.blend.mixin;
//$$
//$$ import net.minecraft.client.render.WorldRenderer;
//$$ import org.spongepowered.asm.mixin.Mixin;
//$$ import org.spongepowered.asm.mixin.gen.Accessor;
//$$
//$$ import java.util.List;
//$$
//$$ @Mixin(WorldRenderer.class)
//$$ public interface WorldRendererAccessor {
//$$ @Accessor("chunkInfos")
//$$ List getRenderInfos();
//$$ }
//#endif