aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolTreeTap.java
blob: a49b5b28de18204a9e2bea2abfa31ef760780fd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.detrav.items.behaviours;

import com.detrav.items.DetravMetaGeneratedTool01;
import gregtech.api.items.GT_MetaBase_Item;
import gregtech.common.items.behaviors.Behaviour_None;
import ic2.core.block.BlockRubWood;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

/**
 * Created by Detrav on 01.04.2017.
 */
public class BehaviourDetravToolTreeTap extends Behaviour_None {

    public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) {
        if (aWorld.isRemote) {
            return false;
        }
        Block b = aWorld.getBlock(aX,aY,aZ);
        if(b instanceof BlockRubWood)
        {
            int startPos = aY;
            for(int i = aY; i> aY-10 && i> 1 && aWorld.getBlock(aX,i,aZ) instanceof  BlockRubWood; i--)
                startPos = i;

            for(int i = startPos; i< aY + 10; i++)
            {
                if(!(aWorld.getBlock(aX,i,aZ) instanceof  BlockRubWood))
                    break;
                if(i == aY)
                {
                    aWorld.setBlockMetadataWithNotify(aX,i,aZ,aSide,2);
                }
                else
                {
                    aWorld.setBlockMetadataWithNotify(aX,i,aZ,1,2);
                }
            }

            ((DetravMetaGeneratedTool01)aItem).doDamage(aStack, 100);
            return  true;
        }
        return false;
    }
}