Get blend export running on 1.13
This commit is contained in:
@@ -3,31 +3,42 @@ 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.ChunkCompileTaskGenerator;
|
||||
import net.minecraft.client.renderer.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>=10904
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderTask;
|
||||
//#else
|
||||
//$$ import net.minecraft.util.EnumWorldBlockLayer;
|
||||
//$$ import net.minecraft.client.renderer.chunk.ChunkCompileTaskGenerator;
|
||||
//#endif
|
||||
|
||||
@Mixin(ChunkRenderWorker.class)
|
||||
public abstract class MixinChunkRenderWorker {
|
||||
|
||||
@Inject(method = "processTask", at = @At("RETURN"))
|
||||
public void afterChunkUpdate(ChunkCompileTaskGenerator task, CallbackInfo ci) {
|
||||
//if MC>=11300
|
||||
public void afterChunkUpdate(ChunkRenderTask task, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
if (task.getStatus() == ChunkCompileTaskGenerator.Status.DONE
|
||||
&& task.getType() == ChunkCompileTaskGenerator.Type.REBUILD_CHUNK) {
|
||||
if (task.getStatus() == ChunkRenderTask.Status.DONE
|
||||
&& task.getType() == ChunkRenderTask.Type.REBUILD_CHUNK) {
|
||||
blendState.get(ChunkExporter.class).addChunkUpdate(task.getRenderChunk(), task.getCompiledChunk());
|
||||
}
|
||||
}
|
||||
}
|
||||
//#else
|
||||
//$$ public void afterChunkUpdate(ChunkCompileTaskGenerator task, CallbackInfo ci) {
|
||||
//$$ BlendState blendState = BlendState.getState();
|
||||
//$$ if (blendState != null) {
|
||||
//$$ if (task.getStatus() == ChunkCompileTaskGenerator.Status.DONE
|
||||
//$$ && task.getType() == ChunkCompileTaskGenerator.Type.REBUILD_CHUNK) {
|
||||
//$$ blendState.get(ChunkExporter.class).addChunkUpdate(task.getRenderChunk(), task.getCompiledChunk());
|
||||
//$$ }
|
||||
//$$ }
|
||||
//$$ }
|
||||
//#endif
|
||||
}
|
||||
//#endif
|
||||
|
||||
@@ -3,12 +3,17 @@ package com.replaymod.render.blend.mixin;
|
||||
|
||||
import com.replaymod.render.blend.BlendState;
|
||||
import com.replaymod.render.blend.exporters.ModelRendererExporter;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
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.entity.model.ModelRenderer;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.model.ModelRenderer;
|
||||
//#endif
|
||||
|
||||
@Mixin(ModelRenderer.class)
|
||||
public abstract class MixinModelRenderer {
|
||||
@Inject(method = "render", at = @At("HEAD"))
|
||||
|
||||
@@ -4,7 +4,6 @@ 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.RenderGlobal;
|
||||
import net.minecraft.client.renderer.culling.ICamera;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -12,7 +11,17 @@ import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(RenderGlobal.class)
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.WorldRenderer;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.RenderGlobal;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11300
|
||||
@Mixin(WorldRenderer.class)
|
||||
//#else
|
||||
//$$ @Mixin(RenderGlobal.class)
|
||||
//#endif
|
||||
public abstract class MixinRenderGlobal {
|
||||
|
||||
// FIXME wither skull ._. mojang pls
|
||||
@@ -46,9 +55,14 @@ public abstract class MixinRenderGlobal {
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "renderEntities",
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V"))
|
||||
@Inject(method = "renderEntities", at = @At(
|
||||
value = "INVOKE",
|
||||
//#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")
|
||||
//#endif
|
||||
))
|
||||
public void preTileEntityRender(Entity view, ICamera camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
@@ -56,10 +70,15 @@ public abstract class MixinRenderGlobal {
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "renderEntities",
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;renderTileEntity(Lnet/minecraft/tileentity/TileEntity;FI)V",
|
||||
shift = At.Shift.AFTER))
|
||||
@Inject(method = "renderEntities", at = @At(
|
||||
value = "INVOKE",
|
||||
//#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"),
|
||||
//#endif
|
||||
shift = At.Shift.AFTER
|
||||
))
|
||||
public void postTileEntityRender(Entity view, ICamera camera, float renderPartialTicks, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
|
||||
@@ -9,27 +9,40 @@ 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.ItemRenderer;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
//#else
|
||||
//#if MC>=10904
|
||||
import net.minecraft.client.renderer.RenderItem;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
//$$ import net.minecraft.client.renderer.RenderItem;
|
||||
//$$ import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.entity.RenderItem;
|
||||
//$$ import net.minecraft.client.resources.model.IBakedModel;
|
||||
//#endif
|
||||
|
||||
@Mixin(RenderItem.class)
|
||||
//#if MC>=11300
|
||||
@Mixin(ItemRenderer.class)
|
||||
//#else
|
||||
//$$ @Mixin(RenderItem.class)
|
||||
//#endif
|
||||
public abstract class MixinRenderItem {
|
||||
//#if MC>=10904
|
||||
@Inject(method = "renderModel(Lnet/minecraft/client/renderer/block/model/IBakedModel;Lnet/minecraft/item/ItemStack;)V",
|
||||
//#if MC>=11300
|
||||
@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",
|
||||
//$$ at = @At("HEAD"))
|
||||
//#else
|
||||
//$$ @Inject(method = "renderModel(Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/item/ItemStack;)V",
|
||||
//$$ at = @At("HEAD"))
|
||||
//#endif
|
||||
//#endif
|
||||
private void onRenderModel(IBakedModel model, ItemStack stack, CallbackInfo ci) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(ItemExporter.class).onRender((RenderItem)(Object)this, model, stack);
|
||||
blendState.get(ItemExporter.class).onRender(this, model, stack);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,12 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
@Mixin(RenderManager.class)
|
||||
public abstract class MixinRenderManager {
|
||||
|
||||
@Inject(method = "doRenderEntity",
|
||||
@Inject(
|
||||
//#if MC>=11300
|
||||
method = "renderEntity",
|
||||
//#else
|
||||
//$$ method = "doRenderEntity",
|
||||
//#endif
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/entity/Render;doRender(Lnet/minecraft/entity/Entity;DDDFF)V"))
|
||||
public void preRender(Entity entity, double x, double y, double z, float yaw, float renderPartialTicks, boolean box,
|
||||
@@ -33,7 +38,12 @@ public abstract class MixinRenderManager {
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "doRenderEntity",
|
||||
@Inject(
|
||||
//#if MC>=11300
|
||||
method = "renderEntity",
|
||||
//#else
|
||||
//$$ method = "doRenderEntity",
|
||||
//#endif
|
||||
at = @At(value = "INVOKE",
|
||||
target = "Lnet/minecraft/client/renderer/entity/Render;doRender(Lnet/minecraft/entity/Entity;DDDFF)V",
|
||||
shift = At.Shift.AFTER))
|
||||
|
||||
@@ -13,15 +13,22 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
@Mixin(TileEntityRendererDispatcher.class)
|
||||
public abstract class MixinTileEntityRendererDispatcher {
|
||||
|
||||
//#if MC>=11200
|
||||
@Inject(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntity;DDDFIF)V",
|
||||
//#if MC>=11300
|
||||
@Inject(method = "render(Lnet/minecraft/tileentity/TileEntity;DDDFIZ)V",
|
||||
at = @At("HEAD"))
|
||||
public void preRender(TileEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, float alpha, CallbackInfo ci) {
|
||||
public void preRender(TileEntity 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",
|
||||
//$$ at = @At("HEAD"))
|
||||
//$$ public void preRender(TileEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, float alpha, CallbackInfo ci) {
|
||||
//#else
|
||||
//$$ @Inject(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntity;DDDFI)V",
|
||||
//$$ at = @At("HEAD"))
|
||||
//$$ public void preRender(TileEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, CallbackInfo ci) {
|
||||
//$$ float alpha = 1;
|
||||
//#endif
|
||||
//#endif
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
@@ -29,14 +36,19 @@ public abstract class MixinTileEntityRendererDispatcher {
|
||||
}
|
||||
}
|
||||
|
||||
//#if MC>=11200
|
||||
@Inject(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntity;DDDFIF)V",
|
||||
//#if MC>=11300
|
||||
@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, float alpha, CallbackInfo ci) {
|
||||
public void postRender(TileEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, boolean hasNoBlock, CallbackInfo ci) {
|
||||
//#if MC>=11200
|
||||
//$$ @Inject(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntity;DDDFIF)V",
|
||||
//$$ at = @At("RETURN"))
|
||||
//$$ public void postRender(TileEntity tileEntity, double x, double y, double z, float renderPartialTicks, int destroyStage, float alpha, CallbackInfo ci) {
|
||||
//#else
|
||||
//$$ @Inject(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntity;DDDFI)V",
|
||||
//$$ at = @At("RETURN"))
|
||||
//$$ 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) {
|
||||
|
||||
Reference in New Issue
Block a user