[4.1.0] Code overhaul, 5 new config settings, bug fixes
'tgType' code interaction change:
- Changed the code so that treegravity methods are classified differently in the config.yml. ALL old commands will still work, and change the config.yml exactly to what you want the plugin to do, so if you only use in-game commands, you can ignore this part. More details below
- There are 5 new Config Settings: allowedWorlds, fallMethod, dropMethod, randomLogDrop, oreSweeper. See details below.
- Bug Fixes:
- added podzol to the list of blocks that autoReplant will work with
- should have fixed any issues with the McMMO hook
- fixed an issue where certain spruce trees wouldn't break because there were too few leaves on the tree, so the plugin wouldn't register them as trees
- cleaned up code in general
Changed the way the code interacts with the config.yml. Again, if you only use in-game commands, this won't be of interest to you.
Before this update, available tgTypes were 1, 2, 3, 4 ,2.1, 4.1, and 4.2. Now, the only official tgType methods are 1 Lumberjack, 4 Basic Gravity, 2.1 Lumberjack Natural (logs & leaves), 4.1 Gravity (All Logs), and 4.2 Gravity (all logs with metadata). If you want the LumberJack natural or random methods (formerly tgTypes 2 and 3), there are new config settings to enable them. For LJ Natural see the 'fallMethod' config variable; and for LJ Random see the 'randomLogDrop' config variable.
New Config Variables:
Obligatory "sorry this update took so long to get out", I've been swamped between work and school.
allowedWorlds - these are worlds that the plugin will work in, you should be able to add any world you want. Do this directly in the config.yml or use command '/tgconfig worlds add/remove [world]'
fallMethod - this is a variable that only applies to the Lumberjack method (where tgType = 1). Possible values for this variable are POP, BREAK, or NATURAL. Change this setting in-game with '/tgconfig set fallmethod [value]'.
POP and BREAK replace the tree's logs with an air block, and then drops a stack of logs. NATURAL breaks the tree's logs naturally, and thus the logs are dropped naturally.
POP breaks the tree logs all at once, so there is no runnable that spreads out the tree break event across multiple ticks. This may cause lag with larger trees. BREAK uses a runnable that spreads out the tree break event across multiple ticks, which should help in reducing lag. NATURAL breaks the tree's logs naturally, use this setting to replicate the former tgType 2 Natural method. You can still use the old command '/tgconfig set type 2'.
dropMethod - this is a variable that only applies to the Lumberjack method (where tgType = 1). Possible values for this variable are ITEMDROP or INVENTORY. Change this setting in-game with '/tgconfig set dropmethod [value]'.
ITEMDROP drops a stack of logs where the player first hit the tree, whereas the INVENTORY setting moves the logs directly into the player's inventory (and saplings if saplingdrop = true).
randomLogDrop - this is a variable that only applies to the Lumberjack method (where tgType = 1), but will not work with the lumberjack natural method. This setting can be true or false. Change this setting in-game with '/tgconfig toggle randomLogDrop'.
This function used to be fulfilled in previous versions by tgType = 3, or the Lumberjack Random method. When chopping a tree, you will get anywhere from 80% to 120% of the logs that were actually on the tree. You can still use the command 'tgconfig set type 3' to turn on this random lumberjack method on.
oreSweeper - I added this for fun and to use on my own server. It has pretty much the same code as the Lumberjack Natural method but it works with all ores, and you cannot customize any settings. Right now, the code abides by all Vanilla pickaxe rules (e.g. a wood pickaxe cannot mine iron ore, a stone pickaxe cannot mine diamond ore, etc.), except for enchantment rules - so if you have a fortune, silk touch, unbreaking pickaxes, I would not use this feature. I will account for enchantments in future updates.
I hope you enjoy! As always let me know of ANY and ALL bugs you encounter. I've been slow to implement community suggestions, but if you have any I'd love to add them to my list. Thanks!