Switch core to 1.14 (generated via ./gradlew :1.14:setCoreVersion)
This commit is contained in:
@@ -4,7 +4,7 @@ import com.replaymod.render.blend.data.DImage;
|
||||
import com.replaymod.render.blend.data.DMaterial;
|
||||
import com.replaymod.render.blend.data.DPackedFile;
|
||||
import com.replaymod.render.blend.data.DTexture;
|
||||
import net.minecraft.client.renderer.GLAllocation;
|
||||
import net.minecraft.client.util.GlAllocationUtils;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
@@ -27,7 +27,7 @@ public class BlendMaterials {
|
||||
// Read raw image data from GL
|
||||
int width = GL11.glGetTexLevelParameteri(GL11.GL_TEXTURE_2D, 0, GL11.GL_TEXTURE_WIDTH);
|
||||
int height = GL11.glGetTexLevelParameteri(GL11.GL_TEXTURE_2D, 0, GL11.GL_TEXTURE_HEIGHT);
|
||||
ByteBuffer buffer = GLAllocation.createDirectByteBuffer(width * height * 4);
|
||||
ByteBuffer buffer = GlAllocationUtils.allocateByteBuffer(width * height * 4);
|
||||
GL11.glGetTexImage(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, buffer);
|
||||
|
||||
// Convert to BufferedImage
|
||||
|
||||
@@ -6,14 +6,14 @@ import com.replaymod.render.blend.data.DMesh;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.ReadableVector3f;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector2f;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector3f;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.vertex.VertexFormat;
|
||||
import net.minecraft.client.renderer.vertex.VertexFormatElement;
|
||||
import net.minecraft.client.render.Tessellator;
|
||||
import net.minecraft.client.render.VertexFormat;
|
||||
import net.minecraft.client.render.VertexFormatElement;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
//#if MC>=10904
|
||||
//#if MC>=11200
|
||||
import net.minecraft.client.renderer.BufferBuilder;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.VertexBuffer;
|
||||
//#endif
|
||||
@@ -68,7 +68,7 @@ public class BlendMeshBuilder
|
||||
// Someone probably finished drawing with the global instance instead of this one,
|
||||
// let's just assume that what's happened and finish our last draw by ourselves
|
||||
// (might miss correct texture though)
|
||||
super.finishDrawing();
|
||||
super.end();
|
||||
addBufferToMesh();
|
||||
} else {
|
||||
throw new IllegalStateException("Already drawing!");
|
||||
@@ -91,14 +91,14 @@ public class BlendMeshBuilder
|
||||
public void maybeFinishDrawing() {
|
||||
if (isDrawing) {
|
||||
isDrawing = false;
|
||||
super.finishDrawing();
|
||||
super.end();
|
||||
addBufferToMesh();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
//#if MC>=10809
|
||||
public void finishDrawing() {
|
||||
public void end() {
|
||||
//#else
|
||||
//$$ public int finishDrawing() {
|
||||
//#endif
|
||||
@@ -106,13 +106,13 @@ public class BlendMeshBuilder
|
||||
throw new IllegalStateException("Not building!");
|
||||
} else {
|
||||
if (!wellBehaved) {
|
||||
Tessellator.getInstance().getBuffer().finishDrawing();
|
||||
Tessellator.getInstance().getBufferBuilder().end();
|
||||
}
|
||||
|
||||
//#if MC<10809
|
||||
//$$ int ret =
|
||||
//#endif
|
||||
super.finishDrawing();
|
||||
super.end();
|
||||
|
||||
addBufferToMesh();
|
||||
|
||||
@@ -140,7 +140,7 @@ public class BlendMeshBuilder
|
||||
|
||||
public static DMesh addBufferToMesh(ByteBuffer buffer, int mode, VertexFormat vertexFormat, DMesh mesh, ReadableVector3f vertOffset) {
|
||||
//#if MC>=11300
|
||||
int vertexCount = buffer.remaining() / vertexFormat.getSize();
|
||||
int vertexCount = buffer.remaining() / vertexFormat.getVertexSize();
|
||||
//#else
|
||||
//$$ int vertexCount = buffer.remaining() / vertexFormat.getNextOffset();
|
||||
//#endif
|
||||
@@ -160,26 +160,26 @@ public class BlendMeshBuilder
|
||||
int index = 0;
|
||||
for (VertexFormatElement element : getElements(vertexFormat)) {
|
||||
//#if MC>=10809
|
||||
int offset = vertexFormat.getOffset(index);
|
||||
int offset = vertexFormat.getElementOffset(index);
|
||||
//#else
|
||||
//$$ int offset = element.getOffset();
|
||||
//#endif
|
||||
switch (element.getUsage()) {
|
||||
switch (element.getType()) {
|
||||
case POSITION:
|
||||
if (element.getType() != VertexFormatElement.EnumType.FLOAT) {
|
||||
if (element.getFormat() != VertexFormatElement.Format.FLOAT) {
|
||||
throw new UnsupportedOperationException("Only float is supported for position elements!");
|
||||
}
|
||||
posOffset = offset;
|
||||
break;
|
||||
case COLOR:
|
||||
if (element.getType() != VertexFormatElement.EnumType.UBYTE) {
|
||||
if (element.getFormat() != VertexFormatElement.Format.UNSIGNED_BYTE) {
|
||||
throw new UnsupportedOperationException("Only unsigned byte is supported for color elements!");
|
||||
}
|
||||
colorOffset = offset;
|
||||
break;
|
||||
case UV:
|
||||
if (element.getIndex() != 0) break;
|
||||
if (element.getType() != VertexFormatElement.EnumType.FLOAT) {
|
||||
if (element.getFormat() != VertexFormatElement.Format.FLOAT) {
|
||||
throw new UnsupportedOperationException("Only float is supported for UV elements!");
|
||||
}
|
||||
uvOffset = offset;
|
||||
@@ -194,7 +194,7 @@ public class BlendMeshBuilder
|
||||
List<Vector2f> uvs = new ArrayList<>(vertexCount);
|
||||
List<Integer> colors = new ArrayList<>(vertexCount);
|
||||
//#if MC>=11300
|
||||
int step = vertexFormat.getSize();
|
||||
int step = vertexFormat.getVertexSize();
|
||||
//#else
|
||||
//$$ int step = vertexFormat.getNextOffset();
|
||||
//#endif
|
||||
|
||||
@@ -10,9 +10,9 @@ import com.replaymod.render.blend.exporters.ParticlesExporter;
|
||||
import com.replaymod.render.blend.exporters.RenderState;
|
||||
import com.replaymod.render.blend.exporters.TileEntityExporter;
|
||||
//#endif
|
||||
import net.minecraft.crash.CrashReport;
|
||||
import net.minecraft.crash.CrashReportCategory;
|
||||
import net.minecraft.crash.ReportedException;
|
||||
import net.minecraft.util.crash.CrashReport;
|
||||
import net.minecraft.util.crash.CrashReportSection;
|
||||
import net.minecraft.util.crash.CrashException;
|
||||
import org.apache.commons.io.output.NullOutputStream;
|
||||
import org.blender.utils.BlenderFactory;
|
||||
import org.cakelab.blender.io.BlenderFile;
|
||||
@@ -80,10 +80,10 @@ public class BlendState implements Exporter {
|
||||
try {
|
||||
exporter.setup();
|
||||
} catch (IOException e) {
|
||||
CrashReport report = CrashReport.makeCrashReport(e, "Setup of blend exporter");
|
||||
CrashReportCategory category = report.makeCategory("Exporter");
|
||||
CrashReport report = CrashReport.create(e, "Setup of blend exporter");
|
||||
CrashReportSection category = report.addElement("Exporter");
|
||||
addDetail(category, "Exporter", exporter::toString);
|
||||
throw new ReportedException(report);
|
||||
throw new CrashException(report);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -94,10 +94,10 @@ public class BlendState implements Exporter {
|
||||
try {
|
||||
exporter.tearDown();
|
||||
} catch (IOException e) {
|
||||
CrashReport report = CrashReport.makeCrashReport(e, "Tear down of blend exporter");
|
||||
CrashReportCategory category = report.makeCategory("Exporter");
|
||||
CrashReport report = CrashReport.create(e, "Tear down of blend exporter");
|
||||
CrashReportSection category = report.addElement("Exporter");
|
||||
addDetail(category, "Exporter", exporter::toString);
|
||||
throw new ReportedException(report);
|
||||
throw new CrashException(report);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,11 +131,11 @@ public class BlendState implements Exporter {
|
||||
try {
|
||||
exporter.preFrame(frame);
|
||||
} catch (IOException e) {
|
||||
CrashReport report = CrashReport.makeCrashReport(e, "Pre frame of blend exporter");
|
||||
CrashReportCategory category = report.makeCategory("Exporter");
|
||||
CrashReport report = CrashReport.create(e, "Pre frame of blend exporter");
|
||||
CrashReportSection category = report.addElement("Exporter");
|
||||
addDetail(category, "Exporter", exporter::toString);
|
||||
addDetail(category, "Frame", () -> String.valueOf(frame));
|
||||
throw new ReportedException(report);
|
||||
throw new CrashException(report);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -146,11 +146,11 @@ public class BlendState implements Exporter {
|
||||
try {
|
||||
exporter.postFrame(frame);
|
||||
} catch (IOException e) {
|
||||
CrashReport report = CrashReport.makeCrashReport(e, "Post frame of blend exporter");
|
||||
CrashReportCategory category = report.makeCategory("Exporter");
|
||||
CrashReport report = CrashReport.create(e, "Post frame of blend exporter");
|
||||
CrashReportSection category = report.addElement("Exporter");
|
||||
addDetail(category, "Exporter", exporter::toString);
|
||||
addDetail(category, "Frame", () -> String.valueOf(frame));
|
||||
throw new ReportedException(report);
|
||||
throw new CrashException(report);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@ import de.johni0702.minecraft.gui.utils.lwjgl.vector.Matrix3f;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Matrix4f;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Quaternion;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector3f;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.GLAllocation;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.util.GlAllocationUtils;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import org.blender.dna.Link;
|
||||
import org.blender.dna.ListBase;
|
||||
import org.blender.utils.BlenderFactory;
|
||||
@@ -18,7 +18,7 @@ import java.io.IOException;
|
||||
import java.nio.FloatBuffer;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
//#endif
|
||||
|
||||
public class Util {
|
||||
@@ -39,7 +39,7 @@ public class Util {
|
||||
}
|
||||
}
|
||||
|
||||
private static FloatBuffer floatBuffer = GLAllocation.createDirectFloatBuffer(16);
|
||||
private static FloatBuffer floatBuffer = GlAllocationUtils.allocateFloatBuffer(16);
|
||||
public static Matrix4f getGlMatrix(int matrix) {
|
||||
floatBuffer.clear();
|
||||
//#if MC>=11300
|
||||
@@ -138,16 +138,16 @@ public class Util {
|
||||
|
||||
//#if MC>=10800
|
||||
public static Vector3f getCameraPos() {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
MinecraftClient mc = MinecraftClient.getInstance();
|
||||
//#if MC>=11400
|
||||
//$$ Vec3d pos = mc.getEntityRenderManager().camera.getPos();
|
||||
//$$ return new Vector3f((float) pos.x, (float) pos.y, (float) pos.z);
|
||||
Vec3d pos = mc.getEntityRenderManager().camera.getPos();
|
||||
return new Vector3f((float) pos.x, (float) pos.y, (float) pos.z);
|
||||
//#else
|
||||
return new Vector3f(
|
||||
(float) -mc.getRenderManager().viewerPosX,
|
||||
(float) -mc.getRenderManager().viewerPosY,
|
||||
(float) -mc.getRenderManager().viewerPosZ
|
||||
);
|
||||
//$$ return new Vector3f(
|
||||
//$$ (float) -mc.getRenderManager().viewerPosX,
|
||||
//$$ (float) -mc.getRenderManager().viewerPosY,
|
||||
//$$ (float) -mc.getRenderManager().viewerPosZ
|
||||
//$$ );
|
||||
//#endif
|
||||
}
|
||||
//#endif
|
||||
@@ -182,10 +182,10 @@ public class Util {
|
||||
}
|
||||
}
|
||||
|
||||
public static String getTileEntityId(TileEntity tileEntity) {
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
public static String getTileEntityId(BlockEntity tileEntity) {
|
||||
CompoundTag nbt = new CompoundTag();
|
||||
//#if MC>=11300
|
||||
tileEntity.write(nbt);
|
||||
tileEntity.toTag(nbt);
|
||||
//#else
|
||||
//$$ tileEntity.writeToNBT(nbt);
|
||||
//#endif
|
||||
|
||||
@@ -10,19 +10,19 @@ 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.Minecraft;
|
||||
import net.minecraft.client.renderer.GLAllocation;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.chunk.CompiledChunk;
|
||||
import net.minecraft.client.renderer.chunk.RenderChunk;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraft.client.renderer.vertex.VertexBuffer;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
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.GlBuffer;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL15;
|
||||
|
||||
//#if MC>=10904
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.block.BlockRenderLayer;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
//#else
|
||||
//$$ import net.minecraft.util.BlockPos;
|
||||
@@ -43,7 +43,7 @@ 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<RenderChunk, BlockRenderLayer>> chunks = new ArrayList<>();
|
||||
private final List<Pair<ChunkRenderer, BlockRenderLayer>> chunks = new ArrayList<>();
|
||||
//#else
|
||||
//$$ private final Map<BlockPos, Map<EnumWorldBlockLayer, DObject>> chunkLayerObjects = new HashMap<>();
|
||||
//$$ private final List<Pair<RenderChunk, EnumWorldBlockLayer>> chunks = new ArrayList<>();
|
||||
@@ -51,13 +51,13 @@ public class ChunkExporter implements Exporter {
|
||||
private DObject chunksObject;
|
||||
private int frame;
|
||||
|
||||
public void addChunkUpdate(RenderChunk chunk, CompiledChunk compiledChunk) {
|
||||
public void addChunkUpdate(ChunkRenderer chunk, ChunkRenderData compiledChunk) {
|
||||
//#if MC>=10904
|
||||
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
|
||||
//#else
|
||||
//$$ for (EnumWorldBlockLayer layer : EnumWorldBlockLayer.values()) {
|
||||
//#endif
|
||||
if (compiledChunk == null || compiledChunk.isLayerStarted(layer)) {
|
||||
if (compiledChunk == null || compiledChunk.isBufferInitialized(layer)) {
|
||||
chunks.add(Pair.of(chunk, layer));
|
||||
}
|
||||
}
|
||||
@@ -66,12 +66,12 @@ public class ChunkExporter implements Exporter {
|
||||
@Override
|
||||
public void setup() throws IOException {
|
||||
|
||||
Minecraft mc = MCVer.getMinecraft();
|
||||
MinecraftClient mc = MCVer.getMinecraft();
|
||||
@SuppressWarnings("unchecked")
|
||||
List<ContainerLocalRenderInformationAccessor> renderInfos = ((WorldRendererAccessor) mc.renderGlobal).getRenderInfos();
|
||||
List<ContainerLocalRenderInformationAccessor> renderInfos = ((WorldRendererAccessor) mc.worldRenderer).getRenderInfos();
|
||||
for (ContainerLocalRenderInformationAccessor renderInfo : renderInfos) {
|
||||
RenderChunk renderChunk = renderInfo.getRenderChunk();
|
||||
CompiledChunk compiledChunk = renderChunk.getCompiledChunk();
|
||||
ChunkRenderer renderChunk = renderInfo.getRenderChunk();
|
||||
ChunkRenderData compiledChunk = renderChunk.getChunkRenderData();
|
||||
if (!compiledChunk.isEmpty()) {
|
||||
addChunkUpdate(renderChunk, null);
|
||||
}
|
||||
@@ -98,18 +98,18 @@ public class ChunkExporter implements Exporter {
|
||||
@Override
|
||||
public void postFrame(int frame) throws IOException {
|
||||
//#if MC>=10904
|
||||
for (Pair<RenderChunk, BlockRenderLayer> pair : chunks) {
|
||||
for (Pair<ChunkRenderer, BlockRenderLayer> pair : chunks) {
|
||||
BlockRenderLayer layer = pair.getRight();
|
||||
//#else
|
||||
//$$ for (Pair<RenderChunk, EnumWorldBlockLayer> pair : chunks) {
|
||||
//$$ EnumWorldBlockLayer layer = pair.getRight();
|
||||
//#endif
|
||||
RenderChunk chunk = pair.getLeft();
|
||||
DObject chunkObject = chunkObjects.get(chunk.getPosition());
|
||||
ChunkRenderer chunk = pair.getLeft();
|
||||
DObject chunkObject = chunkObjects.get(chunk.getOrigin());
|
||||
if (chunkObject == null) {
|
||||
chunkObject = buildChunkObject(chunk);
|
||||
chunkObjects.put(chunk.getPosition(), chunkObject);
|
||||
chunkLayerObjects.put(chunk.getPosition(), new EnumMap<>(layer.getDeclaringClass()));
|
||||
chunkObjects.put(chunk.getOrigin(), chunkObject);
|
||||
chunkLayerObjects.put(chunk.getOrigin(), new EnumMap<>(layer.getDeclaringClass()));
|
||||
}
|
||||
DObject layerObject = buildChunkLayerObject(chunkObject, chunk, layer);
|
||||
if (layerObject == null) continue;
|
||||
@@ -118,7 +118,7 @@ public class ChunkExporter implements Exporter {
|
||||
//#else
|
||||
//$$ Map<EnumWorldBlockLayer, DObject> layerObjects
|
||||
//#endif
|
||||
= chunkLayerObjects.get(chunk.getPosition());
|
||||
= chunkLayerObjects.get(chunk.getOrigin());
|
||||
DObject oldLayerObject = layerObjects.get(layer);
|
||||
if (oldLayerObject != null) {
|
||||
oldLayerObject.keyframe("hide", 0, frame, 1f);
|
||||
@@ -134,8 +134,8 @@ public class ChunkExporter implements Exporter {
|
||||
chunks.clear();
|
||||
}
|
||||
|
||||
private DObject buildChunkObject(RenderChunk renderChunk) {
|
||||
BlockPos pos = renderChunk.getPosition();
|
||||
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 + "]";
|
||||
@@ -143,13 +143,13 @@ public class ChunkExporter implements Exporter {
|
||||
return chunkObject;
|
||||
}
|
||||
|
||||
private DObject buildChunkLayerObject(DObject chunkObject, RenderChunk renderChunk,
|
||||
private DObject buildChunkLayerObject(DObject chunkObject, ChunkRenderer renderChunk,
|
||||
//#if MC>=10904
|
||||
BlockRenderLayer layer) {
|
||||
//#else
|
||||
//$$ EnumWorldBlockLayer layer) {
|
||||
//#endif
|
||||
VertexBuffer vertexBuffer = renderChunk.getVertexBufferByLayer(layer.ordinal());
|
||||
GlBuffer vertexBuffer = renderChunk.getGlBuffer(layer.ordinal());
|
||||
if (vertexBuffer == null) return null;
|
||||
|
||||
DObject layerObject = new DObject(buildChunkLayerMesh(vertexBuffer));
|
||||
@@ -158,16 +158,16 @@ public class ChunkExporter implements Exporter {
|
||||
return layerObject;
|
||||
}
|
||||
|
||||
private DMesh buildChunkLayerMesh(VertexBuffer vertexBuffer) {
|
||||
vertexBuffer.bindBuffer();
|
||||
int size = GL15.glGetBufferParameteri(OpenGlHelper.GL_ARRAY_BUFFER, GL15.GL_BUFFER_SIZE);
|
||||
ByteBuffer byteBuffer = GLAllocation.createDirectByteBuffer(size);
|
||||
GL15.glGetBufferSubData(OpenGlHelper.GL_ARRAY_BUFFER, 0, byteBuffer);
|
||||
vertexBuffer.unbindBuffer();
|
||||
private DMesh buildChunkLayerMesh(GlBuffer 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(LOCATION_BLOCKS_TEXTURE);
|
||||
|
||||
return BlendMeshBuilder.addBufferToMesh(byteBuffer, GL11.GL_QUADS, DefaultVertexFormats.BLOCK, null, null);
|
||||
return BlendMeshBuilder.addBufferToMesh(byteBuffer, GL11.GL_QUADS, VertexFormats.POSITION_COLOR_UV_LMAP, null, null);
|
||||
}
|
||||
|
||||
private static final int STRIDE = 28;
|
||||
|
||||
@@ -7,9 +7,9 @@ import com.replaymod.render.blend.Exporter;
|
||||
import com.replaymod.render.blend.data.DObject;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Matrix4f;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector3f;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Map;
|
||||
@@ -18,7 +18,7 @@ import static com.replaymod.render.blend.Util.getCameraPos;
|
||||
import static com.replaymod.render.blend.Util.getGlModelViewMatrix;
|
||||
|
||||
public class EntityExporter implements Exporter {
|
||||
private final Minecraft mc = MCVer.getMinecraft();
|
||||
private final MinecraftClient mc = MCVer.getMinecraft();
|
||||
private final RenderState renderState;
|
||||
private DObject entitiesObject;
|
||||
private Map<Entity, DObject> entityObjects;
|
||||
@@ -69,7 +69,7 @@ public class EntityExporter implements Exporter {
|
||||
// So, we translate there, then store the model-view-matrix and then translate back to let the
|
||||
// renderer translate there again.
|
||||
// Instead of actually translating, we just add the translation on the current model-view-matrix.
|
||||
if (!(entity instanceof EntityLivingBase)) { // except for EntityLivingBase which get special (better) treatment
|
||||
if (!(entity instanceof LivingEntity)) { // except for EntityLivingBase which get special (better) treatment
|
||||
Matrix4f modelView = getGlModelViewMatrix();
|
||||
Matrix4f.translate(new Vector3f((float) dx, (float) dy, (float) dz), modelView, modelView);
|
||||
renderState.pushModelView(modelView);
|
||||
|
||||
@@ -5,20 +5,20 @@ import com.replaymod.render.blend.BlendMeshBuilder;
|
||||
import com.replaymod.render.blend.Exporter;
|
||||
import com.replaymod.render.blend.data.DMesh;
|
||||
import com.replaymod.render.blend.data.DObject;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraft.client.render.VertexFormats;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.util.math.Vec3i;
|
||||
import net.minecraft.util.math.Vec3i;
|
||||
//#else
|
||||
import net.minecraftforge.client.model.pipeline.LightUtil;
|
||||
//$$ import net.minecraftforge.client.model.pipeline.LightUtil;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.model.BakedQuad;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.client.render.model.BakedQuad;
|
||||
import net.minecraft.client.render.model.BakedModel;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
//#if MC>=10904
|
||||
@@ -42,7 +42,7 @@ public class ItemExporter implements Exporter {
|
||||
this.renderState = renderState;
|
||||
}
|
||||
|
||||
public void onRender(Object renderItem, IBakedModel model, ItemStack stack) {
|
||||
public void onRender(Object renderItem, BakedModel model, ItemStack stack) {
|
||||
DObject object = getObjectForItemStack(renderItem, model, stack);
|
||||
|
||||
renderState.pushObject(object);
|
||||
@@ -55,7 +55,7 @@ public class ItemExporter implements Exporter {
|
||||
renderState.pop();
|
||||
}
|
||||
|
||||
private DObject getObjectForItemStack(Object renderItem, IBakedModel model, ItemStack stack) {
|
||||
private DObject getObjectForItemStack(Object renderItem, BakedModel model, ItemStack stack) {
|
||||
int frame = renderState.getFrame();
|
||||
DObject parent = renderState.peekObject();
|
||||
DObject object = null;
|
||||
@@ -81,19 +81,19 @@ public class ItemExporter implements Exporter {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static DMesh generateMeshForItemStack(Object renderItem, IBakedModel model, ItemStack stack) {
|
||||
private static DMesh generateMeshForItemStack(Object renderItem, BakedModel model, ItemStack stack) {
|
||||
DMesh mesh = new DMesh();
|
||||
BlendMeshBuilder builder = new BlendMeshBuilder(mesh);
|
||||
builder.setWellBehaved(true);
|
||||
//#if MC>=10809
|
||||
builder.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM);
|
||||
builder.begin(GL11.GL_QUADS, VertexFormats.POSITION_COLOR_UV_NORMAL);
|
||||
//#else
|
||||
//$$ builder.startDrawingQuads();
|
||||
//$$ builder.setVertexFormat(DefaultVertexFormats.ITEM);
|
||||
//#endif
|
||||
|
||||
//#if MC>=11300
|
||||
for (EnumFacing face : EnumFacing.values()) {
|
||||
for (Direction face : Direction.values()) {
|
||||
renderQuads(renderItem, builder, model.getQuads(null, face, new Random()), stack);
|
||||
}
|
||||
renderQuads(renderItem, builder, model.getQuads(null, null, new Random()), stack);
|
||||
@@ -111,26 +111,26 @@ public class ItemExporter implements Exporter {
|
||||
//#endif
|
||||
//#endif
|
||||
|
||||
builder.finishDrawing();
|
||||
builder.end();
|
||||
return mesh;
|
||||
}
|
||||
|
||||
private static void renderQuads(Object renderItem, BlendMeshBuilder buffer, List<BakedQuad> quads, ItemStack stack) {
|
||||
for (BakedQuad quad : quads) {
|
||||
int color = stack != null && quad.hasTintIndex()
|
||||
int color = stack != null && quad.hasColor()
|
||||
//#if MC>=10904
|
||||
? ((ItemRendererAccessor) renderItem).getItemColors().getColor(stack, quad.getTintIndex()) | 0xff000000
|
||||
? ((ItemRendererAccessor) renderItem).getItemColors().getRenderColor(stack, quad.getColorIndex()) | 0xff000000
|
||||
//#else
|
||||
//$$ ? stack.getItem().getColorFromItemStack(stack, quad.getTintIndex()) | 0xff000000
|
||||
//#endif
|
||||
: 0xffffffff;
|
||||
//#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);
|
||||
//$$ LightUtil.renderQuadColor(buffer, quad, color);
|
||||
//#endif
|
||||
}
|
||||
|
||||
@@ -138,18 +138,18 @@ public class ItemExporter implements Exporter {
|
||||
|
||||
private static class ItemBasedDObject extends DObject {
|
||||
private final Object renderItem;
|
||||
private final IBakedModel model;
|
||||
private final BakedModel model;
|
||||
private final ItemStack stack;
|
||||
private boolean valid;
|
||||
|
||||
public ItemBasedDObject(Object renderItem, IBakedModel model, ItemStack stack) {
|
||||
public ItemBasedDObject(Object renderItem, BakedModel model, ItemStack stack) {
|
||||
super(generateMeshForItemStack(renderItem, model, stack));
|
||||
this.renderItem = renderItem;
|
||||
this.model = model;
|
||||
this.stack = stack;
|
||||
}
|
||||
|
||||
public boolean isBasedOn(Object renderItem, IBakedModel model, ItemStack stack) {
|
||||
public boolean isBasedOn(Object renderItem, BakedModel model, ItemStack stack) {
|
||||
return this.renderItem == renderItem && this.model == model && this.stack == stack;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@ import com.replaymod.render.blend.data.DObject;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.entity.model.ModelBox;
|
||||
import net.minecraft.client.renderer.entity.model.ModelRenderer;
|
||||
import net.minecraft.client.model.Box;
|
||||
import net.minecraft.client.model.Cuboid;
|
||||
//#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(ModelRenderer model, float scale) {
|
||||
public void preRenderModel(Cuboid 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(ModelRenderer model, float scale) {
|
||||
private DObject getObjectForModel(Cuboid model, float scale) {
|
||||
int frame = renderState.getFrame();
|
||||
DObject parent = renderState.peekObject();
|
||||
DObject object = null;
|
||||
@@ -67,17 +67,17 @@ public class ModelRendererExporter implements Exporter {
|
||||
}
|
||||
if (object == null) {
|
||||
object = new ModelBasedDObject(model, scale);
|
||||
object.id.name = model.boxName;
|
||||
object.id.name = model.name;
|
||||
object.setParent(parent);
|
||||
}
|
||||
object.lastFrame = frame;
|
||||
return object;
|
||||
}
|
||||
|
||||
private static DMesh generateMesh(ModelRenderer model, float scale) {
|
||||
private static DMesh generateMesh(Cuboid model, float scale) {
|
||||
DMesh mesh = new DMesh();
|
||||
BlendMeshBuilder builder = new BlendMeshBuilder(mesh);
|
||||
for (ModelBox box : cubeList(model)) {
|
||||
for (Box box : cubeList(model)) {
|
||||
box.render(builder, scale);
|
||||
}
|
||||
builder.maybeFinishDrawing();
|
||||
@@ -85,17 +85,17 @@ public class ModelRendererExporter implements Exporter {
|
||||
}
|
||||
|
||||
private static class ModelBasedDObject extends DObject {
|
||||
private final ModelRenderer model;
|
||||
private final Cuboid model;
|
||||
private final float scale;
|
||||
private boolean valid;
|
||||
|
||||
public ModelBasedDObject(ModelRenderer model, float scale) {
|
||||
public ModelBasedDObject(Cuboid model, float scale) {
|
||||
super(generateMesh(model, scale));
|
||||
this.model = model;
|
||||
this.scale = scale;
|
||||
}
|
||||
|
||||
public boolean isBasedOn(ModelRenderer model, float scale) {
|
||||
public boolean isBasedOn(Cuboid model, float scale) {
|
||||
return this.model == model && Math.abs(this.scale - scale) < 1e-4;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,10 +10,10 @@ import com.replaymod.render.blend.data.DObject;
|
||||
import com.replaymod.render.blend.mixin.ParticleAccessor;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Matrix4f;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector3f;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
//#endif
|
||||
|
||||
//#if MC>=10904
|
||||
@@ -24,7 +24,7 @@ import net.minecraft.client.particle.Particle;
|
||||
//#endif
|
||||
|
||||
//#if MC>=10809
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraft.client.render.VertexFormats;
|
||||
//#endif
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -35,7 +35,7 @@ import static com.replaymod.render.blend.Util.getCameraPos;
|
||||
import static com.replaymod.render.blend.Util.getGlModelViewMatrix;
|
||||
|
||||
public class ParticlesExporter implements Exporter {
|
||||
private final Minecraft mc = MCVer.getMinecraft();
|
||||
private final MinecraftClient mc = MCVer.getMinecraft();
|
||||
private final RenderState renderState;
|
||||
private DObject pointAtObject;
|
||||
private DObject particlesObject;
|
||||
@@ -113,9 +113,9 @@ public class ParticlesExporter implements Exporter {
|
||||
// Instead of actually translating, we just add the translation on the current model-view-matrix.
|
||||
Matrix4f modelView = getGlModelViewMatrix();
|
||||
ParticleAccessor acc = (ParticleAccessor) particle;
|
||||
double dx = acc.getPrevPosX() + (acc.getPosX() - acc.getPrevPosX()) * renderPartialTicks - Particle.interpPosX;
|
||||
double dy = acc.getPrevPosY() + (acc.getPosY() - acc.getPrevPosY()) * renderPartialTicks - Particle.interpPosY;
|
||||
double dz = acc.getPrevPosZ() + (acc.getPosZ() - acc.getPrevPosZ()) * renderPartialTicks - Particle.interpPosZ;
|
||||
double dx = acc.getPrevPosX() + (acc.getPosX() - acc.getPrevPosX()) * renderPartialTicks - Particle.cameraX;
|
||||
double dy = acc.getPrevPosY() + (acc.getPosY() - acc.getPrevPosY()) * renderPartialTicks - Particle.cameraY;
|
||||
double dz = acc.getPrevPosZ() + (acc.getPosZ() - acc.getPrevPosZ()) * renderPartialTicks - Particle.cameraZ;
|
||||
Vector3f offset = new Vector3f((float) dx, (float) dy, (float) dz);
|
||||
Matrix4f.translate(offset, modelView, modelView);
|
||||
renderState.pushModelView(modelView);
|
||||
@@ -162,22 +162,22 @@ public class ParticlesExporter implements Exporter {
|
||||
builder.setReverseOffset(offset);
|
||||
builder.setWellBehaved(true);
|
||||
//#if MC>=10809
|
||||
builder.begin(7, DefaultVertexFormats.PARTICLE_POSITION_TEX_COLOR_LMAP);
|
||||
builder.begin(7, VertexFormats.POSITION_UV_COLOR_LMAP);
|
||||
//#else
|
||||
//$$ builder.startDrawingQuads();
|
||||
//#endif
|
||||
//#if MC>=10809
|
||||
particle.renderParticle(builder,
|
||||
particle.buildGeometry(builder,
|
||||
//#if MC>=11400
|
||||
//$$ MCVer.getMinecraft().gameRenderer.getCamera(),
|
||||
MCVer.getMinecraft().gameRenderer.getCamera(),
|
||||
//#else
|
||||
MCVer.getMinecraft().getRenderViewEntity(),
|
||||
//$$ MCVer.getMinecraft().getRenderViewEntity(),
|
||||
//#endif
|
||||
0, 1, 1, 0, 0, 0);
|
||||
//#else
|
||||
//$$ particle.func_180434_a(builder, Minecraft.getMinecraft().getRenderViewEntity(), 0, 1, 1, 0, 0, 0);
|
||||
//#endif
|
||||
builder.finishDrawing();
|
||||
builder.end();
|
||||
return mesh;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ import com.replaymod.render.blend.Exporter;
|
||||
import com.replaymod.render.blend.data.DObject;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Matrix4f;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.vector.Vector3f;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
|
||||
//#if MC>=10904
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@@ -24,11 +24,11 @@ import static com.replaymod.render.blend.Util.getGlModelViewMatrix;
|
||||
import static com.replaymod.render.blend.Util.getTileEntityId;
|
||||
|
||||
public class TileEntityExporter implements Exporter {
|
||||
private final Minecraft mc = MCVer.getMinecraft();
|
||||
private final MinecraftClient mc = MCVer.getMinecraft();
|
||||
private final RenderState renderState;
|
||||
private DObject tileEntitiesObject;
|
||||
private Map<TileEntity, DObject> tileEntityObjects;
|
||||
private Map<TileEntity, DObject> tileEntityObjectsSeen;
|
||||
private Map<BlockEntity, DObject> tileEntityObjects;
|
||||
private Map<BlockEntity, DObject> tileEntityObjectsSeen;
|
||||
|
||||
public TileEntityExporter(RenderState renderState) {
|
||||
this.renderState = renderState;
|
||||
@@ -52,13 +52,13 @@ public class TileEntityExporter implements Exporter {
|
||||
// so we position it at 0/0/0 and instead have the tile entities themselves move more
|
||||
Matrix4f.translate(new Vector3f(
|
||||
//#if MC>=11400
|
||||
//$$ (float) -mc.getEntityRenderManager().camera.getPos().x,
|
||||
//$$ (float) -mc.getEntityRenderManager().camera.getPos().y,
|
||||
//$$ (float) -mc.getEntityRenderManager().camera.getPos().z
|
||||
(float) -mc.getEntityRenderManager().camera.getPos().x,
|
||||
(float) -mc.getEntityRenderManager().camera.getPos().y,
|
||||
(float) -mc.getEntityRenderManager().camera.getPos().z
|
||||
//#else
|
||||
(float) -mc.getRenderManager().viewerPosX,
|
||||
(float) -mc.getRenderManager().viewerPosY,
|
||||
(float) -mc.getRenderManager().viewerPosZ
|
||||
//$$ (float) -mc.getRenderManager().viewerPosX,
|
||||
//$$ (float) -mc.getRenderManager().viewerPosY,
|
||||
//$$ (float) -mc.getRenderManager().viewerPosZ
|
||||
//#endif
|
||||
), modelView, modelView);
|
||||
renderState.push(tileEntitiesObject, modelView);
|
||||
@@ -68,7 +68,7 @@ public class TileEntityExporter implements Exporter {
|
||||
renderState.pop();
|
||||
}
|
||||
|
||||
public void preRender(TileEntity tileEntity, double dx, double dy, double dz, float renderPartialTicks, int destroyStage, float alpha) {
|
||||
public void preRender(BlockEntity tileEntity, double dx, double dy, double dz, float renderPartialTicks, int destroyStage, float alpha) {
|
||||
// FIXME: handle alpha
|
||||
DObject tileEntityObject = tileEntityObjects.get(tileEntity);
|
||||
if (tileEntityObject == null) {
|
||||
@@ -102,7 +102,7 @@ public class TileEntityExporter implements Exporter {
|
||||
|
||||
@Override
|
||||
public void postFrame(int frame) throws IOException {
|
||||
for (Map.Entry<TileEntity, DObject> entry : tileEntityObjects.entrySet()) {
|
||||
for (Map.Entry<BlockEntity, DObject> entry : tileEntityObjects.entrySet()) {
|
||||
if (!tileEntityObjectsSeen.containsKey(entry.getKey())) {
|
||||
DObject object = entry.getValue();
|
||||
object.keyframe("hide", 0, renderState.getFrame(), 1f);
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
//#if MC>=10800
|
||||
package com.replaymod.render.blend.mixin;
|
||||
|
||||
import net.minecraft.client.renderer.chunk.RenderChunk;
|
||||
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")
|
||||
@Mixin(targets = "net/minecraft/client/render/WorldRenderer/ChunkInfo")
|
||||
//#else
|
||||
//#if MC>=11300
|
||||
@Mixin(targets = "net/minecraft/client/renderer/WorldRenderer$ContainerLocalRenderInformation")
|
||||
//$$ @Mixin(targets = "net/minecraft/client/renderer/WorldRenderer$ContainerLocalRenderInformation")
|
||||
//#else
|
||||
//$$ @Mixin(targets = "net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation")
|
||||
//#endif
|
||||
//#endif
|
||||
public interface ContainerLocalRenderInformationAccessor {
|
||||
//#if MC>=11400
|
||||
//$$ @Accessor("renderer")
|
||||
@Accessor("renderer")
|
||||
//#else
|
||||
@Accessor
|
||||
//$$ @Accessor
|
||||
//#endif
|
||||
RenderChunk getRenderChunk();
|
||||
ChunkRenderer getRenderChunk();
|
||||
}
|
||||
//#endif
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
//#if MC>=10904
|
||||
package com.replaymod.render.blend.mixin;
|
||||
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraft.client.renderer.color.ItemColors;
|
||||
import net.minecraft.client.render.item.ItemRenderer;
|
||||
import net.minecraft.client.render.item.ItemColorMap;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@Mixin(ItemRenderer.class)
|
||||
public interface ItemRendererAccessor {
|
||||
@Accessor
|
||||
ItemColors getItemColors();
|
||||
@Accessor("colorMap")
|
||||
ItemColorMap getItemColors();
|
||||
}
|
||||
//#endif
|
||||
|
||||
@@ -3,14 +3,14 @@ package com.replaymod.render.blend.mixin;
|
||||
|
||||
import com.replaymod.render.blend.BlendState;
|
||||
import com.replaymod.render.blend.exporters.ChunkExporter;
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderWorker;
|
||||
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>=11300
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderTask;
|
||||
import net.minecraft.client.render.chunk.ChunkRenderTask;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.chunk.ChunkCompileTaskGenerator;
|
||||
//#endif
|
||||
@@ -18,14 +18,14 @@ import net.minecraft.client.renderer.chunk.ChunkRenderTask;
|
||||
@Mixin(ChunkRenderWorker.class)
|
||||
public abstract class MixinChunkRenderWorker {
|
||||
|
||||
@Inject(method = "processTask", at = @At("RETURN"))
|
||||
@Inject(method = "runTask", at = @At("RETURN"))
|
||||
//#if MC>=11300
|
||||
public void afterChunkUpdate(ChunkRenderTask task, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
if (task.getStatus() == ChunkRenderTask.Status.DONE
|
||||
&& task.getType() == ChunkRenderTask.Type.REBUILD_CHUNK) {
|
||||
blendState.get(ChunkExporter.class).addChunkUpdate(task.getRenderChunk(), task.getCompiledChunk());
|
||||
if (task.getStage() == ChunkRenderTask.Stage.DONE
|
||||
&& task.getMode() == ChunkRenderTask.Mode.REBUILD_CHUNK) {
|
||||
blendState.get(ChunkExporter.class).addChunkUpdate(task.getChunkRenderer(), task.getRenderData());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,9 @@ 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;
|
||||
//$$ import net.minecraft.entity.Entity;
|
||||
//#endif
|
||||
|
||||
//#if MC>=10904
|
||||
@@ -30,9 +30,9 @@ public abstract class MixinEffectRenderer {
|
||||
@Inject(method = "renderParticles", at = @At("HEAD"))
|
||||
private void preRender(
|
||||
//#if MC>=11400
|
||||
//$$ Camera view,
|
||||
Camera view,
|
||||
//#else
|
||||
Entity view,
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
float renderPartialTicks,
|
||||
CallbackInfo ci
|
||||
@@ -46,9 +46,9 @@ public abstract class MixinEffectRenderer {
|
||||
@Inject(method = "renderParticles", at = @At("RETURN"))
|
||||
private void postRender(
|
||||
//#if MC>=11400
|
||||
//$$ Camera view,
|
||||
Camera view,
|
||||
//#else
|
||||
Entity view,
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
float renderPartialTicks,
|
||||
CallbackInfo ci
|
||||
@@ -60,21 +60,21 @@ public abstract class MixinEffectRenderer {
|
||||
}
|
||||
|
||||
//#if MC<11400
|
||||
@Inject(method = "renderLitParticles", at = @At("HEAD"))
|
||||
public void preLitRender(Entity view, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(ParticlesExporter.class).preParticlesRender(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "renderLitParticles", at = @At("RETURN"))
|
||||
public void postLitRender(Entity view, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(ParticlesExporter.class).postParticlesRender();
|
||||
}
|
||||
}
|
||||
//$$ @Inject(method = "renderLitParticles", at = @At("HEAD"))
|
||||
//$$ public void preLitRender(Entity view, float renderPartialTicks, CallbackInfo ci) {
|
||||
//$$ BlendState blendState = BlendState.getState();
|
||||
//$$ if (blendState != null) {
|
||||
//$$ blendState.get(ParticlesExporter.class).preParticlesRender(true);
|
||||
//$$ }
|
||||
//$$ }
|
||||
//$$
|
||||
//$$ @Inject(method = "renderLitParticles", at = @At("RETURN"))
|
||||
//$$ public void postLitRender(Entity view, float renderPartialTicks, CallbackInfo ci) {
|
||||
//$$ BlendState blendState = BlendState.getState();
|
||||
//$$ if (blendState != null) {
|
||||
//$$ blendState.get(ParticlesExporter.class).postParticlesRender();
|
||||
//$$ }
|
||||
//$$ }
|
||||
//#endif
|
||||
}
|
||||
//#endif
|
||||
|
||||
@@ -9,26 +9,26 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.entity.model.ModelRenderer;
|
||||
import net.minecraft.client.model.Cuboid;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.model.ModelRenderer;
|
||||
//#endif
|
||||
|
||||
@Mixin(ModelRenderer.class)
|
||||
@Mixin(Cuboid.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((ModelRenderer)(Object)this, scale);
|
||||
blendState.get(ModelRendererExporter.class).preRenderModel((Cuboid)(Object)this, scale);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "renderWithRotation", at = @At("HEAD"))
|
||||
@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((ModelRenderer)(Object)this, scale);
|
||||
blendState.get(ModelRendererExporter.class).preRenderModel((Cuboid)(Object)this, scale);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public abstract class MixinModelRenderer {
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "renderWithRotation", at = @At("RETURN"))
|
||||
@Inject(method = "method_2852", at = @At("RETURN"))
|
||||
public void postRenderWithRotation(float scale, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
@@ -50,7 +50,7 @@ public abstract class MixinModelRenderer {
|
||||
|
||||
@Inject(method = "render",
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/GlStateManager;callList(I)V"),
|
||||
target = "Lcom/mojang/blaze3d/platform/GlStateManager;callList(I)V"),
|
||||
expect = 3)
|
||||
public void onRender(float scale, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
@@ -59,9 +59,9 @@ public abstract class MixinModelRenderer {
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "renderWithRotation",
|
||||
@Inject(method = "method_2852",
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/GlStateManager;callList(I)V"))
|
||||
target = "Lcom/mojang/blaze3d/platform/GlStateManager;callList(I)V"))
|
||||
public void onRenderWithRotation(float scale, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
|
||||
@@ -4,20 +4,20 @@ package com.replaymod.render.blend.mixin;
|
||||
import com.replaymod.render.blend.BlendState;
|
||||
import com.replaymod.render.blend.exporters.EntityExporter;
|
||||
import com.replaymod.render.blend.exporters.TileEntityExporter;
|
||||
import net.minecraft.client.renderer.culling.ICamera;
|
||||
import net.minecraft.client.render.VisibleRegion;
|
||||
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;
|
||||
//$$ import net.minecraft.entity.Entity;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.WorldRenderer;
|
||||
import net.minecraft.client.render.WorldRenderer;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.RenderGlobal;
|
||||
//#endif
|
||||
@@ -34,17 +34,17 @@ public abstract class MixinRenderGlobal {
|
||||
@Inject(method = "renderEntities",
|
||||
at = @At(value = "INVOKE",
|
||||
//#if MC>=10904
|
||||
target = "Lnet/minecraft/client/renderer/entity/RenderManager;renderEntityStatic(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
|
||||
private void preEntityRender(
|
||||
//#if MC>=11400
|
||||
//$$ Camera view,
|
||||
Camera view,
|
||||
//#else
|
||||
Entity view,
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
ICamera camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
VisibleRegion camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(EntityExporter.class).preEntitiesRender();
|
||||
@@ -54,18 +54,18 @@ public abstract class MixinRenderGlobal {
|
||||
@Inject(method = "renderEntities",
|
||||
at = @At(value = "INVOKE",
|
||||
//#if MC>=10904
|
||||
target = "Lnet/minecraft/client/renderer/entity/RenderManager;renderEntityStatic(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))
|
||||
private void postEntityRender(
|
||||
//#if MC>=11400
|
||||
//$$ Camera view,
|
||||
Camera view,
|
||||
//#else
|
||||
Entity view,
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
ICamera camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
VisibleRegion camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(EntityExporter.class).postEntitiesRender();
|
||||
@@ -75,18 +75,18 @@ public abstract class MixinRenderGlobal {
|
||||
@Inject(method = "renderEntities", at = @At(
|
||||
value = "INVOKE",
|
||||
//#if MC>=11300
|
||||
target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;render(Lnet/minecraft/tileentity/TileEntity;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(
|
||||
//#if MC>=11400
|
||||
//$$ Camera view,
|
||||
Camera view,
|
||||
//#else
|
||||
Entity view,
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
ICamera camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
VisibleRegion camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(TileEntityExporter.class).preTileEntitiesRender();
|
||||
@@ -96,7 +96,7 @@ public abstract class MixinRenderGlobal {
|
||||
@Inject(method = "renderEntities", at = @At(
|
||||
value = "INVOKE",
|
||||
//#if MC>=11300
|
||||
target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;render(Lnet/minecraft/tileentity/TileEntity;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
|
||||
@@ -104,11 +104,11 @@ public abstract class MixinRenderGlobal {
|
||||
))
|
||||
private void postTileEntityRender(
|
||||
//#if MC>=11400
|
||||
//$$ Camera view,
|
||||
Camera view,
|
||||
//#else
|
||||
Entity view,
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
ICamera camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
VisibleRegion camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(TileEntityExporter.class).postTileEntitiesRender();
|
||||
|
||||
@@ -10,8 +10,8 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.client.render.item.ItemRenderer;
|
||||
import net.minecraft.client.render.model.BakedModel;
|
||||
//#else
|
||||
//#if MC>=10904
|
||||
//$$ import net.minecraft.client.renderer.RenderItem;
|
||||
@@ -29,11 +29,11 @@ import net.minecraft.client.renderer.model.IBakedModel;
|
||||
//#endif
|
||||
public abstract class MixinRenderItem {
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "renderItemModel", at = @At("HEAD"))
|
||||
@Inject(method = "renderItemModel", at = @At("HEAD"))
|
||||
//#else
|
||||
//#if MC>=11300
|
||||
@Inject(method = "renderModel(Lnet/minecraft/client/renderer/model/IBakedModel;Lnet/minecraft/item/ItemStack;)V",
|
||||
at = @At("HEAD"))
|
||||
//$$ @Inject(method = "renderModel(Lnet/minecraft/client/renderer/model/IBakedModel;Lnet/minecraft/item/ItemStack;)V",
|
||||
//$$ at = @At("HEAD"))
|
||||
//#else
|
||||
//#if MC>=10904
|
||||
//$$ @Inject(method = "renderModel(Lnet/minecraft/client/renderer/block/model/IBakedModel;Lnet/minecraft/item/ItemStack;)V",
|
||||
@@ -44,7 +44,7 @@ public abstract class MixinRenderItem {
|
||||
//#endif
|
||||
//#endif
|
||||
//#endif
|
||||
private void onRenderModel(IBakedModel model, ItemStack stack, CallbackInfo ci) {
|
||||
private void onRenderModel(BakedModel model, ItemStack stack, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(ItemExporter.class).onRender(this, model, stack);
|
||||
|
||||
@@ -3,34 +3,34 @@ package com.replaymod.render.blend.mixin;
|
||||
|
||||
import com.replaymod.render.blend.BlendState;
|
||||
import com.replaymod.render.blend.exporters.EntityExporter;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
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>=10904
|
||||
import net.minecraft.client.renderer.entity.RenderLivingBase;
|
||||
import net.minecraft.client.render.entity.LivingEntityRenderer;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.entity.RendererLivingEntity;
|
||||
//#endif
|
||||
|
||||
//#if MC>=10904
|
||||
@Mixin(RenderLivingBase.class)
|
||||
@Mixin(LivingEntityRenderer.class)
|
||||
//#else
|
||||
//$$ @Mixin(RendererLivingEntity.class)
|
||||
//#endif
|
||||
public abstract class MixinRenderLivingBase {
|
||||
@Inject(method = "doRender", at = @At(
|
||||
@Inject(method = "method_4054", at = @At(
|
||||
value = "INVOKE",
|
||||
//#if MC>=10904
|
||||
target = "Lnet/minecraft/client/renderer/entity/RenderLivingBase;prepareScale(Lnet/minecraft/entity/EntityLivingBase;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
|
||||
shift = At.Shift.AFTER
|
||||
))
|
||||
private void recordModelMatrix(EntityLivingBase entity, double x, double y, double z, float entityYaw, float partialTicks, CallbackInfo ci) {
|
||||
private void recordModelMatrix(LivingEntity entity, double x, double y, double z, float entityYaw, float partialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(EntityExporter.class).postEntityLivingSetup();
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.replaymod.render.blend.mixin;
|
||||
|
||||
import com.replaymod.render.blend.BlendState;
|
||||
import com.replaymod.render.blend.exporters.EntityExporter;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
@@ -15,21 +15,21 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
//#endif
|
||||
|
||||
@Mixin(RenderManager.class)
|
||||
@Mixin(EntityRenderDispatcher.class)
|
||||
public abstract class MixinRenderManager {
|
||||
|
||||
@Inject(
|
||||
//#if MC>=11400
|
||||
//$$ method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
|
||||
method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
|
||||
//#else
|
||||
//#if MC>=11300
|
||||
method = "renderEntity",
|
||||
//$$ method = "renderEntity",
|
||||
//#else
|
||||
//$$ method = "doRenderEntity",
|
||||
//#endif
|
||||
//#endif
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/entity/Render;doRender(Lnet/minecraft/entity/Entity;DDDFF)V"))
|
||||
target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;DDDFF)V"))
|
||||
public void preRender(Entity entity, double x, double y, double z, float yaw, float renderPartialTicks, boolean box,
|
||||
//#if MC>=10904
|
||||
CallbackInfo ci) {
|
||||
@@ -44,16 +44,16 @@ public abstract class MixinRenderManager {
|
||||
|
||||
@Inject(
|
||||
//#if MC>=11400
|
||||
//$$ method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
|
||||
method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V",
|
||||
//#else
|
||||
//#if MC>=11300
|
||||
method = "renderEntity",
|
||||
//$$ method = "renderEntity",
|
||||
//#else
|
||||
//$$ method = "doRenderEntity",
|
||||
//#endif
|
||||
//#endif
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/entity/Render;doRender(Lnet/minecraft/entity/Entity;DDDFF)V",
|
||||
target = "Lnet/minecraft/client/render/entity/EntityRenderer;render(Lnet/minecraft/entity/Entity;DDDFF)V",
|
||||
shift = At.Shift.AFTER))
|
||||
public void postRender(Entity entity, double x, double y, double z, float yaw, float renderPartialTicks, boolean box,
|
||||
//#if MC>=10904
|
||||
|
||||
@@ -3,25 +3,25 @@ package com.replaymod.render.blend.mixin;
|
||||
|
||||
import com.replaymod.render.blend.BlendState;
|
||||
import com.replaymod.render.blend.exporters.TileEntityExporter;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
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(TileEntityRendererDispatcher.class)
|
||||
@Mixin(BlockEntityRenderDispatcher.class)
|
||||
public abstract class MixinTileEntityRendererDispatcher {
|
||||
|
||||
//#if MC>=11300
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "renderEntity(Lnet/minecraft/block/entity/BlockEntity;DDDFIZ)V",
|
||||
//$$ at = @At("HEAD"))
|
||||
//#else
|
||||
@Inject(method = "render(Lnet/minecraft/tileentity/TileEntity;DDDFIZ)V",
|
||||
@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(TileEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, boolean hasNoBlock, CallbackInfo ci) {
|
||||
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
|
||||
@@ -43,13 +43,13 @@ public abstract class MixinTileEntityRendererDispatcher {
|
||||
|
||||
//#if MC>=11300
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "renderEntity(Lnet/minecraft/block/entity/BlockEntity;DDDFIZ)V",
|
||||
//$$ at = @At("RETURN"))
|
||||
//#else
|
||||
@Inject(method = "render(Lnet/minecraft/tileentity/TileEntity;DDDFIZ)V",
|
||||
@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(TileEntity 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",
|
||||
|
||||
@@ -17,11 +17,11 @@ public interface ParticleAccessor
|
||||
double getPrevPosY();
|
||||
@Accessor
|
||||
double getPrevPosZ();
|
||||
@Accessor
|
||||
@Accessor("x")
|
||||
double getPosX();
|
||||
@Accessor
|
||||
@Accessor("y")
|
||||
double getPosY();
|
||||
@Accessor
|
||||
@Accessor("z")
|
||||
double getPosZ();
|
||||
//#endif
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//#if MC>=10800
|
||||
package com.replaymod.render.blend.mixin;
|
||||
|
||||
import net.minecraft.client.renderer.WorldRenderer;
|
||||
import net.minecraft.client.render.WorldRenderer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
|
||||
@Mixin(WorldRenderer.class)
|
||||
public interface WorldRendererAccessor {
|
||||
@Accessor
|
||||
@Accessor("chunkInfos")
|
||||
List getRenderInfos();
|
||||
}
|
||||
//#endif
|
||||
|
||||
Reference in New Issue
Block a user