Hey! I'm making a test tube item, which has an empty version of the item (prehistoric:test_tube), and another version of the item which is full of water (prehistoric:water_test_tube). I want to change the empty test tube to the filled one when you right click on water. How can I do this?
Code so far (not including imports)
public class TestTube extends Item {
public TestTube(Properties properties) {
super(properties);
}
@Override
public ActionResultType onItemUseFirst(ItemStack stack, ItemUseContext context) {
World world = context.getWorld();
if (!world.isRemote) {
PlayerEntity playerEntity = Objects.requireNonNull(context.getPlayer());
BlockState clickedBlock = world.getBlockState(context.getPos());
rightClickOnCertainBlockState(clickedBlock, context, playerEntity);
}
return super.onItemUseFirst(stack, context);
}
private void rightClickOnCertainBlockState(BlockState clickedBlock, ItemUseContext context,
PlayerEntity playerEntity) {
// Check if the player right-clicked water (with the test tube in-hand)
if(blockIsWaterForTestTube(clickedBlock)) {
// Fill test tube with water
}
}
// Define if the clicked block was water
private boolean blockIsWaterForTestTube(BlockState clickedBlock) {
return clickedBlock.getBlock() == Blocks.WATER;
}
// public static void fillTestTubeWater
}
Thanks!