Where the config files live
Each plugin creates a folder named after the plugin inside plugins/. The
file you edit is always config.yml:
plugins/
├─ UltraTreeFeller/config.yml
├─ AutoRefill/config.yml
└─ FerKunGStacker/config.yml
Stop the server before editing, or change the file and use the plugin's own reload command. YAML is indentation-sensitive: use spaces, not tabs, and keep the existing nesting. A malformed file usually makes the plugin fall back to defaults or fail to enable, so keep a copy before editing.
UltraTreeFeller 1.1.0
UltraTreeFeller activates with SHIFT rather than a command. Hold an axe, press SHIFT five times, then break a tree. The action bar fills while you activate it, and a cooldown prevents immediate reuse.
How activation works
required_shift_presses: 5— number of SHIFT presses needed while holding an axe.cooldown_seconds: 3— wait time after activation before it can be triggered again.- The action bar label and bar characters are configurable with
&colour codes.
Config keys
| Key | Default | What it does |
|---|---|---|
required_shift_presses | 5 | SHIFT presses required to arm Tree Feller. |
cooldown_seconds | 3 | Cooldown between activations. |
max_logs_per_tree | 250 | Hard cap on logs removed from one tree. |
blocks_per_tick | 20 | Logs broken per server tick. Lower it if large trees cause lag. |
require_leaves | true | Only fells logs that have leaves nearby, which avoids consuming built structures. |
leaf_radius | 6 | Search radius used by the leaf check. |
durability_enabled | true | Applies axe durability while felling. |
particle_enabled | true | Toggles particle effects. |
sound_enabled | true | Toggles sound effects. |
actionbar_label | &eTree Feller: | Text shown before the progress bar. |
bar_filled / bar_empty | &a| / &7. | Characters used to draw the progress bar. |
Reducing lag on big trees
A jungle tree or a large custom tree can contain hundreds of logs. If the server stutters
when someone fells one, lower blocks_per_tick to 10 or
5 and reduce max_logs_per_tree to 100. Keep
require_leaves: true so player-built log walls are not treated as trees.
Permissions and commands
treefeller.use defaults to true. This build registers no
command, so there is nothing to reload with a slash command; restart the server after
editing its config.
AutoRefill 1.1.0
AutoRefill watches the player's main hand. When the stack runs out, it pulls the same item from the inventory into the hand. It does not create items and it does not bypass inventory limits.
Config keys
| Key | Default | What it does |
|---|---|---|
enabled | true | Turns the refill behaviour on or off. |
ignored-items | empty list | Items that should never be refilled automatically. |
Example: keep disposable or dangerous items out of the refill:
enabled: true
ignored-items:
- TNT
- LAVA_BUCKET
- ENDER_PEARL
Commands and permissions
| Command | Permission | Default |
|---|---|---|
/autorefill | autorefill.use | true |
/autorefill reload | autorefill.reload | op |
FerKunG Stacker 1.3.0
FerKunG Stacker merges nearby dropped items into larger stacks, stabilises them so they stop sliding, and can display the stack amount in the item name. It supports 1.20.x through 1.21.x, unlike the other two plugins.
Config keys
| Key | Default | What it does |
|---|---|---|
stacking-radius | 2.5 | Block radius searched for matching drops. |
max-stack-size | 9999 | Maximum items in one stack (2–9999). |
stabilize-items | true | Stops items moving sideways when they spawn. |
stack-all | true | Stacks every stackable item except the blacklist. |
blacklist | two entries | Items excluded when stack-all is true. |
items | example entries | Items to stack when stack-all is false. |
preserve-custom-metadata | true | Keeps items with different names, lore or enchantments separate. |
display.enabled | true | Shows the amount in the item name. |
display.format | &b&l{amount}x &f{name} | Name format; {amount} and {name} are replaced. |
The default blacklist contains NETHERITE_SWORD and
DIAMOND_CHESTPLATE. Tools, armour and other unstackable items are never
merged even when stack-all is true.
Choosing a radius and stack size
A small radius is easier on the server. 2.5 blocks is enough for a normal
drop pile; raising it to 8 or more makes the plugin scan a much larger area on busy
farms. A very large max-stack-size is mostly cosmetic, but it can make a
single item entity represent thousands of items, so test your farm output and backup
before changing it.
Commands and permissions
| Command | Permission | Default |
|---|---|---|
/fkstacker | ferkungstacker.use | true |
/fkstacker reload | ferkungstacker.reload | op |
Reloading safely
Use the plugin's own reload command when it has one. Reloading a single plugin is
predictable; reloading the whole server with /reload is not. A global reload
re-runs enable logic for every plugin while the server is live, which can duplicate
listeners or leave scheduled tasks pointing at old state.
| Plugin | Apply config changes with |
|---|---|
| AutoRefill | /autorefill reload |
| FerKunG Stacker | /fkstacker reload |
| UltraTreeFeller | Stop and restart the server |
YAML basics that prevent most config errors
All three plugins use YAML. It looks simple and fails quietly. These rules cover almost every mistake:
- Use spaces, never tabs. A tab is invalid indentation and is the single most common cause of a broken config.
- Put one space after the colon:
enabled: true, notenabled:true. - Indent children consistently. Two spaces per level is a common convention; the exact width matters less than being consistent.
- Lists use a dash and a space:
- TNT. - Quote values that start with special characters. Colour codes begin with
&, which YAML reads as an anchor. Writeactionbar_label: "&eTree Feller: ". - Keep keys exactly as documented. YAML keys are case-sensitive.
#starts a comment. Everything after it on the line is ignored.
enabled: true
ignored-items:
- TNT
- LAVA_BUCKET
display:
enabled: true
format: "&b&l{amount}x &f{name}"
Keep a copy of the working file before editing. A diff between the old and new version shows exactly what changed, which is faster than re-reading the whole file.
What a broken config looks like
An invalid YAML file usually produces one of three outcomes: the plugin logs a parse error and falls back to defaults, the plugin fails to enable, or it enables with empty settings. The last one is the most confusing because there is no obvious crash.
Check the console for lines such as:
while parsing a block mapping
expected <block end>, but found ...
could not load configuration
Then open the file and look at the line number if the message gives one. If it does not, the usual suspects are a tab, a missing space after a colon, or a list item at the wrong indentation level.
Do not "fix" YAML by deleting lines. Removing a key makes the plugin use its built-in default, which may not be what you expect. Comment the line out or set it explicitly instead.
Change defaults deliberately
The defaults shipped in these builds are balanced for a small server. Change them when you can name the problem you are solving:
| Problem | Setting to change |
|---|---|
| Lag when a large tree is felled | Lower blocks_per_tick and max_logs_per_tree. |
| Trees are not being detected | Check require_leaves and leaf_radius. |
| Items merge that should stay separate | Keep preserve-custom-metadata: true and review the blacklist. |
| Drop piles are not merging | Check stack-all, the blacklist and stacking-radius. |
| AutoRefill pulls the wrong items | Add them to ignored-items. |
Record what you changed and why. When a setting causes a new problem later, you need to
know which value is not the default. Restarting or using the plugin's reload command
applies changes; a global /reload is never the right tool.
Keep and version your configs
Config changes accumulate. After a few months nobody remembers which values are defaults and which were tuned for a problem that no longer exists. A small versioning habit avoids that.
- Copy the config folder before editing, with a date in the folder name.
- Keep the previous copy until the change has run for a few days without problems.
- Write one line in a notes file describing why the value changed.
- Compare the old and new file after a plugin update, not just before.
plugins/AutoRefill/config.yml
backups/AutoRefill-2026-11-07/config.yml
backups/AutoRefill-2026-10-28/config.yml
A plugin update can add new keys and ignore old ones. Diffing the file shows what the update introduced and whether a key you relied on was renamed or removed. If a setting seems to have stopped working after an update, compare the two files before you assume the plugin is broken.