Fix blend compilation on pre-1.13

This commit is contained in:
Jonas Herzig
2019-03-14 17:00:44 +01:00
parent 3cb1d8189b
commit 7cc62b13c1
7 changed files with 22 additions and 7 deletions

View File

@@ -6,7 +6,6 @@ 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.ItemRenderer;
import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
@@ -14,6 +13,7 @@ import net.minecraftforge.client.model.pipeline.LightUtil;
import org.lwjgl.opengl.GL11;
//#if MC>=11300
import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.model.IBakedModel;
//#else
//$$ import net.minecraft.client.renderer.block.model.BakedQuad;
@@ -112,7 +112,7 @@ public class ItemExporter implements Exporter {
private static void renderQuads(Object renderItem, BlendMeshBuilder buffer, List<BakedQuad> quads, ItemStack stack) {
for (BakedQuad quad : quads) {
int color = stack != null && quad.hasTintIndex()
//#if MC>=10904
//#if MC>=11300
? ((ItemRenderer) renderItem).itemColors.getColor(stack, quad.getTintIndex()) | 0xff000000
//#else
//#if MC>=10904

View File

@@ -19,7 +19,7 @@ import net.minecraft.client.renderer.chunk.ChunkRenderTask;
public abstract class MixinChunkRenderWorker {
@Inject(method = "processTask", at = @At("RETURN"))
//if MC>=11300
//#if MC>=11300
public void afterChunkUpdate(ChunkRenderTask task, CallbackInfo ci) {
BlendState blendState = BlendState.getState();
if (blendState != null) {

View File

@@ -60,7 +60,7 @@ public abstract class MixinRenderGlobal {
//#if MC>=11300
target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;render(Lnet/minecraft/tileentity/TileEntity;FI)V"
//#else
//$$ target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V")
//$$ target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V"
//#endif
))
public void preTileEntityRender(Entity view, ICamera camera, float renderPartialTicks, CallbackInfo ci) {
@@ -75,7 +75,7 @@ public abstract class MixinRenderGlobal {
//#if MC>=11300
target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;render(Lnet/minecraft/tileentity/TileEntity;FI)V",
//#else
//$$ target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V"),
//$$ target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V",
//#endif
shift = At.Shift.AFTER
))

View File

@@ -20,6 +20,7 @@ import net.minecraft.client.renderer.model.IBakedModel;
//$$ import net.minecraft.client.renderer.entity.RenderItem;
//$$ import net.minecraft.client.resources.model.IBakedModel;
//#endif
//#endif
//#if MC>=11300
@Mixin(ItemRenderer.class)

View File

@@ -3,18 +3,31 @@ 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.RenderLivingBase;
import net.minecraft.entity.EntityLivingBase;
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;
//#else
//$$ import net.minecraft.client.renderer.entity.RendererLivingEntity;
//#endif
//#if MC>=10904
@Mixin(RenderLivingBase.class)
//#else
//$$ @Mixin(RendererLivingEntity.class)
//#endif
public abstract class MixinRenderLivingBase {
@Inject(method = "doRender", at = @At(
value = "INVOKE",
//#if MC>=10904
target = "Lnet/minecraft/client/renderer/entity/RenderLivingBase;prepareScale(Lnet/minecraft/entity/EntityLivingBase;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) {

View File

@@ -40,6 +40,7 @@ public abstract class MixinTileEntityRendererDispatcher {
@Inject(method = "render(Lnet/minecraft/tileentity/TileEntity;DDDFIZ)V",
at = @At("RETURN"))
public void postRender(TileEntity 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",
//$$ at = @At("RETURN"))