diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/entity/EntityWorm.java b/src/main/java/de/ellpeck/actuallyadditions/mod/entity/EntityWorm.java index 7cd55dbfe..f079a46a8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/entity/EntityWorm.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/entity/EntityWorm.java @@ -12,10 +12,14 @@ package de.ellpeck.actuallyadditions.mod.entity; import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntValues; import de.ellpeck.actuallyadditions.mod.misc.apiimpl.farmer.DefaultFarmerBehavior; -import net.minecraft.block.*; +import net.minecraft.block.Block; +import net.minecraft.block.BlockBush; +import net.minecraft.block.BlockDirt; +import net.minecraft.block.BlockFarmland; +import net.minecraft.block.BlockGrass; +import net.minecraft.block.IGrowable; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; -import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -85,11 +89,10 @@ public class EntityWorm extends Entity{ DefaultFarmerBehavior.useHoeAt(world, pos); state = this.world.getBlockState(pos); - block = state.getBlock(); - isFarmland = block instanceof BlockFarmland; + isFarmland = state.getBlock() instanceof BlockFarmland; - IBlockState stateToModify = isFarmland ? state : Blocks.FARMLAND.getDefaultState(); - this.world.setBlockState(pos, stateToModify.withProperty(BlockFarmland.MOISTURE, 7), 2); + if(isFarmland) + this.world.setBlockState(pos, state.withProperty(BlockFarmland.MOISTURE, 7), 2); if(!isFarmland){ this.world.setBlockToAir(pos.up()); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWorm.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWorm.java index 59e79db12..16e6d55ab 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWorm.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWorm.java @@ -32,6 +32,8 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.UseHoeEvent; +import net.minecraftforge.fml.common.eventhandler.Event.Result; +import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -77,9 +79,9 @@ public class ItemWorm extends ItemBase{ return super.onItemUse(player, world, pos, hand, side, par8, par9, par10); } - @SubscribeEvent + @SubscribeEvent(priority = EventPriority.LOW) public void onHoe(UseHoeEvent event){ - if(ConfigBoolValues.WORMS.isEnabled()){ + if(ConfigBoolValues.WORMS.isEnabled() && event.getResult() != Result.DENY){ World world = event.getWorld(); if(!world.isRemote){ BlockPos pos = event.getPos();