From 1cd0bf9ee4f86d138012afd571399b35161bcf90 Mon Sep 17 00:00:00 2001 From: RainWarrior Date: Fri, 25 Dec 2015 09:31:32 +0300 Subject: [PATCH] Fixed random block position offset not applying correctly. --- .../client/model/pipeline/BlockInfo.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java b/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java index b3908c39b6..9ef2e5e500 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java @@ -1,6 +1,7 @@ package net.minecraftforge.client.model.pipeline; import net.minecraft.block.Block; +import net.minecraft.block.Block.EnumOffsetType; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.MathHelper; @@ -36,16 +37,15 @@ public class BlockInfo { shx = shy = shz = 0; long rand = 0; - // FIXME - switch(block.getOffsetType()) + if(block.getOffsetType() != EnumOffsetType.NONE) { - case XYZ: - rand = MathHelper.getPositionRandom(blockPos); + rand = MathHelper.getPositionRandom(blockPos); + shx = ((float)((rand >> 16) & 0xF) / 0xF - .5f) * .5f; + shz = ((float)((rand >> 24) & 0xF) / 0xF - .5f) * .5f; + if(block.getOffsetType() == EnumOffsetType.XYZ) + { shy = ((float)((rand >> 20) & 0xF) / 0xF - 1) * .2f; - case XZ: - shx = ((float)((rand >> 16) & 0xF) / 0xF - .5f) * .5f; - shz = ((float)((rand >> 24) & 0xF) / 0xF - .5f) * .5f; - default: + } } }