From 175d0eb82e78c1d262edfc205d7bb96c04a13e5a Mon Sep 17 00:00:00 2001
From: modmuss50 <modmuss50@gmail.com>
Date: Fri, 27 Dec 2019 13:49:34 +0000
Subject: [PATCH] Fix render offset not being applied. Fixes flower and other
 blocks always rendering in the center of the block

---
 fabric-renderer-indigo/build.gradle                            | 2 +-
 .../mixin/client/indigo/renderer/MixinChunkRebuildTask.java    | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/fabric-renderer-indigo/build.gradle b/fabric-renderer-indigo/build.gradle
index 48aaf3b1e..e4f83853e 100644
--- a/fabric-renderer-indigo/build.gradle
+++ b/fabric-renderer-indigo/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-renderer-indigo"
-version = getSubprojectVersion(project, "0.2.20")
+version = getSubprojectVersion(project, "0.2.21")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java
index 0dd101449..c9b676b70 100644
--- a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java
+++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java
@@ -39,6 +39,7 @@ import net.minecraft.client.render.chunk.ChunkRendererRegion;
 import net.minecraft.client.render.model.BakedModel;
 import net.minecraft.client.util.math.MatrixStack;
 import net.minecraft.util.math.BlockPos;
+import net.minecraft.util.math.Vec3d;
 import net.minecraft.world.BlockRenderView;
 
 import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel;
@@ -103,6 +104,8 @@ public class MixinChunkRebuildTask {
 			final BakedModel model = renderManager.getModel(blockState);
 
 			if (Indigo.ALWAYS_TESSELATE_INDIGO || !((FabricBakedModel) model).isVanillaAdapter()) {
+				Vec3d vec3d = blockState.getOffsetPos(blockView, blockPos);
+				matrix.translate(vec3d.x, vec3d.y, vec3d.z);
 				return ((AccessChunkRendererRegion) blockView).fabric_getRenderer().tesselateBlock(blockState, blockPos, model, matrix);
 			}
 		}