mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-06-14 01:06:48 +00:00
037cbabb32
Unfortunately we can't apply the config changes due to backwards compatibility. This'll be something we may need to PR into Forge. CraftTweaker support still needs to be added.
73 lines
2.4 KiB
Java
73 lines
2.4 KiB
Java
/*
|
|
* This file is part of ComputerCraft - http://www.computercraft.info
|
|
* Copyright Daniel Ratcliffe, 2011-2019. Do not distribute without permission.
|
|
* Send enquiries to dratcliffe@gmail.com
|
|
*/
|
|
|
|
package dan200.computercraft.shared.turtle.upgrades;
|
|
|
|
import dan200.computercraft.api.turtle.ITurtleAccess;
|
|
import dan200.computercraft.api.turtle.TurtleCommandResult;
|
|
import dan200.computercraft.api.turtle.TurtleSide;
|
|
import dan200.computercraft.api.turtle.TurtleVerb;
|
|
import dan200.computercraft.shared.turtle.core.TurtlePlaceCommand;
|
|
import dan200.computercraft.shared.turtle.core.TurtlePlayer;
|
|
import net.minecraft.block.BlockState;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.Direction;
|
|
import net.minecraft.util.ResourceLocation;
|
|
import net.minecraft.util.math.BlockPos;
|
|
import net.minecraft.world.World;
|
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
public class TurtleHoe extends TurtleTool
|
|
{
|
|
public TurtleHoe( ResourceLocation id, String adjective, Item item )
|
|
{
|
|
super( id, adjective, item );
|
|
}
|
|
|
|
public TurtleHoe( ResourceLocation id, Item item )
|
|
{
|
|
super( id, item );
|
|
}
|
|
|
|
public TurtleHoe( ResourceLocation id, ItemStack craftItem, ItemStack toolItem )
|
|
{
|
|
super( id, craftItem, toolItem );
|
|
}
|
|
|
|
@Override
|
|
protected boolean canBreakBlock( BlockState state, World world, BlockPos pos, TurtlePlayer player )
|
|
{
|
|
if( !super.canBreakBlock( state, world, pos, player ) ) return false;
|
|
|
|
Material material = state.getMaterial();
|
|
return material == Material.PLANTS ||
|
|
material == Material.CACTUS ||
|
|
material == Material.GOURD ||
|
|
material == Material.LEAVES ||
|
|
material == Material.OCEAN_PLANT ||
|
|
material == Material.TALL_PLANTS;
|
|
}
|
|
|
|
@Nonnull
|
|
@Override
|
|
public TurtleCommandResult useTool( @Nonnull ITurtleAccess turtle, @Nonnull TurtleSide side, @Nonnull TurtleVerb verb, @Nonnull Direction direction )
|
|
{
|
|
if( verb == TurtleVerb.Dig )
|
|
{
|
|
ItemStack hoe = item.copy();
|
|
ItemStack remainder = TurtlePlaceCommand.deploy( hoe, turtle, direction, null, null );
|
|
if( remainder != hoe )
|
|
{
|
|
return TurtleCommandResult.success();
|
|
}
|
|
}
|
|
return super.useTool( turtle, side, verb, direction );
|
|
}
|
|
}
|