Sueta

Advanced Gathering

2.0.4

Highly configurable timber and vein mining plugin

·Config

gathering.png
This plugin was just re-written and may contain some bugs.
Just report them to me so i can fix them fast.

dc_icon.png


description_banner.png
Advanced gathering aims on combining timberering with vein mining. Additionally crop harvesting is also a planned feature. This plugin is very configurable and can be tuned for either best looks or insane performance.

dependencies_banner.png
This plugin has only a single dependency:

- SmileCore

Remember that the core library depends on ProtocolLib and PlaceholderAPI.

features_banner.png

This plugin shines with a vide variety of options to ensure the best fit for your server. Timbering trees is done in 3 iterations. Scan, Safety, Breaking.
Each can be modified. Also implemented is a very powerful condition system that allows automatic integration with all plugins that support placeholers.

! Timbering is disabled on default !
Every player can enable it for himself by using

/ag toggle timber

Example setup:

McMMO Woodcutting level < 10 => Not allowed to timber
McMMO Woodcutting level 20+ => Trees with a size of 50 allowed
McMMO Woodcutting level 50+ => Trees with a size of 100 + 1.5 * lvl allowed

Infinite possibilites.

(The marker are just for debugging and are disabled on default)

Smooth Scan -> Smooth Safety -> Instant Break
DropOption: FylToPlayer

Instant Scan -> Instant Safety -> Instant Break
DropOption: InstantPickup

Instant Scan -> Smooth Safety -> Smooth Break
DropOption: Drop

Supports every Block you want and can
be used as a vein miner

Everything can be edited ingame


commands_permissions_banner.png

Commands

Alias: advancedgathering   gathering   ag

/ag edit trees
/ag edit ores
/ag edit custom

/ag toggle timber
/ag toggle oreminer

Permissions

advancedgathering.commands.edit.trees
advancedgathering.commands.edit.ores
advancedgathering.commands.edit.custom
advancedgathering.commands.toggle.timber
advancedgathering.commands.toggle.oreminer

Tree specific permissions can be seen/changed ingame


config_banner.png


Pretty much everything can be edited ingame. You can also change the data.json file directly which is however not recommended.

Working with expressions.

Remember to download the needed PAPI expansions!

Expressions can be of arithmetic and/or boolean nature.
True corresponds to 1.0 and false to 0.0

So this expression

(%player_level% > 10) * 20

Will yield 20.0 if the players level is bigger than 10 and 0.0 otherwise. If it is evaluated as a boolean then everything that is not exactly 0.0 is defined as true.

How to do a chance expression:

50% chance:
%randomnumber_number_10% > 0.5

Very precise 3.75% chance:
%randomnumber_number_100% > 0.0375

How to check for items like axes:

%checkitem_matcontains:AXE,inhand:main% = "yes"

Words have to be set into quotes " "

Supported symbols:

All supported symbols
() - Create a parenthetical expression which will be evaluated first (3 * (4 + 1))

e  - Euler's constant (log(e))

pi  - pi (sin(pi))

+  - Add two numbers (1 + 1)

-  - Subtract two numbers, or negate one (3-2, -(4+2))

/  - Divide two numbers (3 / 4)

*  - Multiply two numbers (2 * 3)

^  - Raise one number to the power of another (3^3)

%  - Take the modulus, or division remainder, of one number with another (7 % 4)

abs  - Take the absolute value of a number (abs$1, abs-1)

round  - Rounds a number to the nearest integer (round1.5, round(2.3))

ceil  - Rounds a number up to the nearest integer (ceil1.05)

floor  - Rounds a number down to the nearest integer (floor0.95)

rand  - Generate a random number between 0 and the specified upper bound (rand4)

log  - Get the natural logarithm of a number (log(e))

sqrt  - Get the square root of a number (sqrt4)

cbrt  - Get the cube root of a number (cbrt(8))

sin  - Get the sine of a number (sin$2)

cos  - Get the cosine of a number (cos(2*pi))

tan  - Get the tangent of a number (tanpi)

asin  - Get the arcsine of a number (asin$2)

acos  - Get the arccosine of a number (acos0.45)

atan  - Get the arctangent of a number (atan1)

sinh  - Get the hyperbolic sine of a number (sinh(4))

cosh  - Get the hyperbolic cosine of a number (sinh(4))

true  - Boolean constant representing 1

false  - Boolean constant representing 0

=  - Compare if two numbers are equal (1 = 1 will be 1, 1 = 3 will be 0)

!=  - Compare if two numbers are not equal (1 != 2 will be 1, 1 != 1 will be 0)

>  - Compare if one number is greater than another (1 > 0)

<  - Compare if one number is less than another (0 < 1)

>=  - Compare if one number is greater than or equal to another (1 >= 1)

<=  - Compare if one number is less than or equal to another (0 <= 1)

|  - Boolean or (true | false)

&  - Boolean and (true & true)

!  - Boolean not/inverse (!true)


You can also substitute named expressions from inside the SmileCore folder. The file named-conditions.json lets you write extensive expressions which can later be referred to using two # signs:

#NameOfExpression#

The file looks like this:

Similar projects

Config →