From 2b02dc19c07c10b1a790465115be738d10923746 Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Tue, 1 Nov 2016 01:03:59 +0100 Subject: [PATCH] Fixes #2547: Crystal growing and forming fluix crystals was not possible on top of an annihilation plane (or any block with a not-quite-full bounding box), because the crystals thought they were not in water. Fixed by using the center of the crystal bounding box to determine water-status, instead of the bottom center. --- src/main/java/appeng/entity/EntityChargedQuartz.java | 2 +- src/main/java/appeng/entity/EntityGrowingCrystal.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/appeng/entity/EntityChargedQuartz.java b/src/main/java/appeng/entity/EntityChargedQuartz.java index de474343..a12a7e51 100644 --- a/src/main/java/appeng/entity/EntityChargedQuartz.java +++ b/src/main/java/appeng/entity/EntityChargedQuartz.java @@ -77,7 +77,7 @@ public final class EntityChargedQuartz extends AEBaseEntityItem this.delay++; final int j = MathHelper.floor_double( this.posX ); - final int i = MathHelper.floor_double( this.posY ); + final int i = MathHelper.floor_double( (this.getEntityBoundingBox().minY + this.getEntityBoundingBox().maxY) / 2.0D ); final int k = MathHelper.floor_double( this.posZ ); IBlockState state = this.worldObj.getBlockState( new BlockPos( j, i, k ) ); diff --git a/src/main/java/appeng/entity/EntityGrowingCrystal.java b/src/main/java/appeng/entity/EntityGrowingCrystal.java index 1b77a77e..65a68a1c 100644 --- a/src/main/java/appeng/entity/EntityGrowingCrystal.java +++ b/src/main/java/appeng/entity/EntityGrowingCrystal.java @@ -70,7 +70,7 @@ public final class EntityGrowingCrystal extends EntityItem if( gc instanceof IGrowableCrystal ) // if it changes this just stops being an issue... { final int j = MathHelper.floor_double( this.posX ); - final int i = MathHelper.floor_double( this.posY ); + final int i = MathHelper.floor_double( (this.getEntityBoundingBox().minY + this.getEntityBoundingBox().maxY) / 2.0D ); final int k = MathHelper.floor_double( this.posZ ); final IBlockState state = this.worldObj.getBlockState( new BlockPos( j, i, k ) );