Search in sources :

Example 1 with TileEntityDrinkMixer

use of net.tropicraft.core.common.block.tileentity.TileEntityDrinkMixer in project Tropicraft by Tropicraft.

the class BlockDrinkMixer method onBlockActivated.

@Override
public boolean onBlockActivated(@Nonnull World world, @Nonnull BlockPos pos, @Nonnull IBlockState state, @Nonnull EntityPlayer entityPlayer, @Nonnull EnumHand hand, @Nonnull EnumFacing side, float hitX, float hitY, float hitZ) {
    if (world.isRemote) {
        return true;
    }
    ItemStack stack = entityPlayer.getHeldItemMainhand();
    TileEntityDrinkMixer mixer = (TileEntityDrinkMixer) world.getTileEntity(pos);
    if (mixer == null) {
        return false;
    }
    if (mixer.isDoneMixing()) {
        mixer.retrieveResult(entityPlayer);
        return true;
    }
    if (stack.isEmpty()) {
        mixer.emptyMixer(entityPlayer);
        return true;
    }
    ItemStack ingredientStack = stack.copy();
    ingredientStack.setCount(1);
    if (mixer.addToMixer(ingredientStack)) {
        entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1);
    }
    if (ingredientStack.getItem() == ItemRegistry.bambooMug && mixer.canMix()) {
        mixer.startMixing();
        entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1);
        Drink craftedDrink = MixerRecipes.getDrink(mixer.ingredients);
        Drink pinaColada = Drink.pinaColada;
        if (craftedDrink != null && craftedDrink.drinkId == pinaColada.drinkId) {
        // TODO advancements entityPlayer.addStat(AchievementRegistry.craftPinaColada);
        }
    }
    return true;
}
Also used : TileEntityDrinkMixer(net.tropicraft.core.common.block.tileentity.TileEntityDrinkMixer) Drink(net.tropicraft.core.common.drinks.Drink) ItemStack(net.minecraft.item.ItemStack)

Aggregations

ItemStack (net.minecraft.item.ItemStack)1 TileEntityDrinkMixer (net.tropicraft.core.common.block.tileentity.TileEntityDrinkMixer)1 Drink (net.tropicraft.core.common.drinks.Drink)1