From 036a94e171cbcf23b0c025ce8f6a2d15dec3e193 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Fri, 16 Jul 2021 15:35:01 +0300 Subject: [PATCH] Underwater plants fix --- src/main/java/ru/bclib/api/BonemealAPI.java | 6 +++--- .../java/ru/bclib/mixin/common/BoneMealItemMixin.java | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/ru/bclib/api/BonemealAPI.java b/src/main/java/ru/bclib/api/BonemealAPI.java index 7de2e60a..b6a5232e 100644 --- a/src/main/java/ru/bclib/api/BonemealAPI.java +++ b/src/main/java/ru/bclib/api/BonemealAPI.java @@ -127,16 +127,16 @@ public class BonemealAPI { } public static Block getWaterGrass(ResourceLocation biomeID, Block terrain, Random random) { - Map> map = LAND_GRASS_BIOMES.get(biomeID); + Map> map = WATER_GRASS_BIOMES.get(biomeID); WeightedList list = null; if (map != null) { list = map.get(terrain); if (list == null) { - list = LAND_GRASS_TYPES.get(terrain); + list = WATER_GRASS_TYPES.get(terrain); } } else { - list = LAND_GRASS_TYPES.get(terrain); + list = WATER_GRASS_TYPES.get(terrain); } return list == null ? null : list.get(random); } diff --git a/src/main/java/ru/bclib/mixin/common/BoneMealItemMixin.java b/src/main/java/ru/bclib/mixin/common/BoneMealItemMixin.java index fa3dd11e..cd84cb8a 100644 --- a/src/main/java/ru/bclib/mixin/common/BoneMealItemMixin.java +++ b/src/main/java/ru/bclib/mixin/common/BoneMealItemMixin.java @@ -44,13 +44,13 @@ public class BoneMealItemMixin { } } else { - BlockState state = world.getBlockState(offseted); - if (!state.getFluidState().isEmpty()) { - if (state.is(Blocks.WATER)) { + BlockState stateAbove = world.getBlockState(blockPos.above()); + if (!stateAbove.getFluidState().isEmpty()) { + if (stateAbove.is(Blocks.WATER)) { consume = bclib_growWaterGrass(world, blockPos); } } - else if (state.isAir()) { + else if (stateAbove.isAir()) { consume = bclib_growLandGrass(world, blockPos); } } @@ -126,7 +126,7 @@ public class BoneMealItemMixin { private BlockState bclib_getWaterGrassState(Level world, BlockPos pos) { BlockState state = world.getBlockState(pos); Block block = state.getBlock(); - block = BonemealAPI.getLandGrass(BiomeAPI.getBiomeID(world.getBiome(pos)), block, world.getRandom()); + block = BonemealAPI.getWaterGrass(BiomeAPI.getBiomeID(world.getBiome(pos)), block, world.getRandom()); return block == null ? null : block.defaultBlockState(); }