1. Insert in BaseEntity, BaseLadder and BuildingBlock
    Code:
            object[] objArray = new object[] { this };
            object obj = Interface.CallHook("CanBlockProjectiles", objArray);
            if (obj as bool)
            {
                return (bool)obj;
            }
    BaseEntity:
    Code:
        public override bool ShouldBlockProjectiles()
        {
            object[] objArray = new object[] { this };
            object obj = Interface.CallHook("CanBlockProjectiles", objArray);
            if (obj as bool)
            {
                return (bool)obj;
            }
            return true;
        }
    BaseLadder:
    Code:
        public override bool ShouldBlockProjectiles()
        {       
            object[] objArray = new object[] { this };
            object obj = Interface.CallHook("CanBlockProjectiles", objArray);
            if (obj as bool)
            {
                return (bool)obj;
            }
            return false;
        }
    BuildingBlock:
    Code:
    public override bool ShouldBlockProjectiles()
        {
           object[] objArray = new object[] { this };
           object obj = Interface.CallHook("CanBlockProjectiles", objArray);
            if (obj as bool)
            {
                return (bool)obj;
            }
            return this.grade != BuildingGrade.Enum.Twigs;
        }