▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
GGQOL

GGQOL

Quality of Life plugin for Minecraft 26.2. Adds instant smelting, auto replant, bulk crafting, armored elytra, inventory totem, silk touch block recovery, scrollable bundles, and 15+ more configurable QoL improvements.

Оцените первым
207
1

Table of Contents

  1. Requirements
  2. Feature list
  3. Instant smelting and processing
  4. Auto replant
  5. Bone meal max grow
  6. Animal changes
  7. Villager changes
  8. Bulk crafting
  9. Bulk villager trading
  10. Anvil changes
  11. Armored elytra
  12. Tool and armor break protection
  13. Inventory Totem of Undying
  14. Silk Touch block recovery
  15. Sea pickle fast place
  16. Bundle scroll
  17. Mud spread
  18. Concrete powder in water
  19. Piston farmland protection
  20. Piston and flying-machine harvest drops
  21. Full config reference

GoofyGoober's Quality of Life (GGQOL) 26.2

GGQOL is a Paper/Folia plugin for survival servers. It removes wait time, repeated clicks, and item unpacking from common vanilla tasks. Each feature is controlled from config.yml.

Most inventory features can read from shulker boxes and bundles. Bundle searches have a depth limit so nested bundles do not run forever.

This README covers GGQOL 26.2 for Paper and Folia servers running Java 25.

Requirements

  • Paper, Folia, or a compatible Paper/Folia fork for Minecraft 26.2
  • Java 25 or newer
  • PacketEvents, required for bundle scrolling
  • Minecraft 26.2

There are no commands and no permissions. Install the plugin and the PacketEvents jar, then start the server once to generate config.yml.

Feature list

FeatureDefaultMain setting
Instant furnaces, smokers, and blast furnacesoninstant-furnace, instant-smoker, instant-blast-furnace
Instant brewing stands and campfiresoninstant-brewing-stand, instant-campfire
Auto replantonauto-plant
Bone meal max growonbonemeal-max-grow
Animal changesoninstant-animals
Villager trade and cure changesonvillagers-reset-trade-cooldown, villagers-instant-cure
Bulk craftingonbulk-crafting
Bulk villager tradingonvillagers-bulk-trading
Anvil XP cap removalonanvil-unlimited-repair-cost
Armored elytraonarmored-elytra
Tool and armor break protectiononprevent-tool-break, prevent-armor-break
Inventory totemsoninventory-totem
Silk Touch block recoveryonsilk-touch-recover-blocks
Sea pickle fast placeonsea-pickles-fast-place
Bundle scrollonbundle-scroll
Mud spreadonmud-spread
Concrete powder in wateronconcrete-powder-in-water
Piston farmland protectiononpiston-protect-farmland
Piston and flying-machine harvest dropsalways onNo setting

Instant smelting and processing

Furnaces, smokers, and blast furnaces cook all valid input they can finish with the fuel available. The plugin checks the matching Bukkit cooking recipe, the current output stack, cook progress, burn time, and output stack limit before it changes the inventory.

fuel-cost-multiplier multiplies the cook time cost before fuel is consumed. With the default value of 2.0, a recipe uses twice the normal fuel time. The plugin spends existing burn time first, then consumes fuel items from the fuel slot.

safe-fuel-mode controls unknown fuels. When it is on, the plugin only uses burn times learned from real furnace burn events. When it is off, it can guess common burn times for fuels that Bukkit has not reported yet.

Instant furnace, smoker, and blast-furnace processing records the recipe XP in the block. Players receive the stored XP normally when they remove the cooked output, including output completed in bulk by the plugin.

Brewing stands and campfires use their server events to set brew or cook time to 1 tick.

SettingDefaultNotes
instant-furnacetrueEnables instant furnace recipes
instant-smokertrueEnables instant smoker recipes
instant-blast-furnacetrueEnables instant blast furnace recipes
instant-brewing-standtrueSets brewing time to 1 tick
instant-campfiretrueSets campfire cook time to 1 tick
fuel-cost-multiplier2.0Multiplies fuel time used
safe-fuel-modetrueAvoids guessed burn times

Auto replant

When a supported fully grown crop is broken, the plugin removes one seed or crop item, stores the harvest, and replants the crop. It uses the drops first. If the drops do not include the needed seed, it checks the player inventory, shulker boxes, and bundles based on config.

The replant task retries once per tick up to replant-tries. This helps when another plugin or server timing delay leaves the block occupied for a tick.

Supported normal crops:

  • Wheat
  • Carrots
  • Potatoes
  • Beetroot
  • Nether Wart
  • Torchflower crop
  • Pitcher crop
  • Melon stems
  • Pumpkin stems

Sugar cane and cactus are handled as columns. If the broken block is the base of a multi-block column and the base can be replanted, the full column is removed and one block is replanted. Cactus flowers attached above the cactus column are removed with the cactus. Sugar cane is only replanted on valid soil next to water or a waterlogged block. Cactus is only replanted on sand or red sand with clear sides.

Harvest drops go to the player inventory first. If the inventory is full, auto plant can store leftovers in bundles and shulker boxes before dropping the rest.

SettingDefaultNotes
auto-planttrueEnables crop and column replanting
auto-plant-allow-creativefalseAllows the feature in creative mode
auto-plant-use-shulkerstrueReads seeds and stores drops in shulker boxes
auto-plant-use-bundlestrueReads seeds and stores drops in bundles
auto-plant-bundle-max-depth4Bundle nesting depth
replant-tries120Replant attempts, one per tick

Bone meal max grow

One bone meal use pushes a target to its max state if it can grow. The plugin only consumes bone meal when something changes.

Supported cases include age-based crops, torchflower crops, pitcher crops, melon stems, pumpkin stems, sugar cane, cactus, bamboo, bamboo saplings, and saplings. Saplings can grow into trees, including 2x2 trees when the saplings are placed that way.

Bone meal also works from dispensers. If a dispenser uses bone meal and nothing can grow, the bone meal item is dropped from the dispenser instead of being consumed.

You can also bone meal the block a crop is attached to in some cases. For example, bone meal on a support block can find an age-based plant, cave vine, or directional crop attached to that block. The plugin skips containers, workstations, redstone controls, beds, doors, signs, cauldrons, anvil blocks, brewing stands, furnaces, and other blocks that should keep their normal right-click behavior.

SettingDefaultNotes
bonemeal-max-growtrueEnables one-use max grow
bonemeal-bamboo-cap16Max bamboo height
bonemeal-sugar-cane-cap3Max sugar cane height
bonemeal-cactus-cap3Max cactus height

Animal changes

instant-animals is the master switch for animal changes.

When animals-instant-tame is on, right-clicking an untamed tameable mob sets the player as its owner and plays heart particles. The code does not require a specific taming item.

When animals-instant-grow is on, babies from breeding grow up right away. Chickens spawned from thrown eggs also grow up right away.

When animals-reset-breed-cooldown is on, the parents can breed again after a successful breed event.

Animal feeding can use more than one food item per feed action. If animals-feed-uses-multiplier is on, the food cost is ceil(fuel-cost-multiplier), clamped from 1 to 64. With the default multiplier of 2.0, breeding food costs 2 items. The extra food can come from shulker boxes and bundles.

SettingDefaultNotes
instant-animalstrueMaster switch
animals-instant-tametrueRight-click tames tameable mobs
animals-instant-growtrueBabies become adults
animals-reset-breed-cooldowntrueParents can breed again after breeding
animals-feed-uses-multipliertrueFood cost follows fuel-cost-multiplier
animals-feed-use-shulkerstrueReads extra food from shulker boxes
animals-feed-use-bundlestrueReads extra food from bundles
animals-feed-bundle-max-depth4Bundle nesting depth

Villager changes

Opening or interacting with a villager clears major and minor negative reputation for that player. This removes punishment from bad gossip.

When trade reset is enabled, villager recipe uses, demand, max uses, and positive special price are reset when the trade menu opens or the villager is interacted with. This keeps trades from locking.

Zombie villagers that are already converting finish at 1 tick when loaded. If a player uses a golden apple on a weakened zombie villager, the plugin marks the player and forces conversion time to 1 tick after vanilla starts the conversion. After cure, it applies cure reputation values of 20 major positive and 25 minor positive for that player.

When a villager job site block is placed, the nearest adult unemployed villager in range gets that block as a potential job site. The default range is 1 block. Job assignment is scheduled for the next tick.

Job site blocks covered by the code are barrel, blast furnace, brewing stand, cartography table, cauldron, composter, fletching table, grindstone, lectern, loom, smithing table, smoker, and stonecutter.

SettingDefaultNotes
villagers-reset-trade-cooldowntrueResets trade uses, demand, max uses, and positive special price
villagers-instant-curetrueForces zombie villager conversion time to 1 tick
villagers-instant-workbench-updatetrueAssigns nearby unemployed villagers to new job sites
villagers-instant-workbench-range1Search range around the job site block

Bulk crafting

Bulk crafting uses the recipe book "make all" click in a 2x2 player crafting grid or 3x3 crafting table. It only runs when the crafting matrix has at least one full stack, the shown recipe matches the matrix, and the recipe is shaped or shapeless.

The plugin counts how many crafts can be made from the crafting matrix, player inventory, shulker boxes, and bundles. It then consumes the inputs and gives the result. Leftover container items, such as buckets from a recipe, are returned to the player or dropped at the player's feet if the inventory is full.

SettingDefaultNotes
bulk-craftingtrueEnables recipe book make-all bulk craft
bulk-crafting-use-shulkerstrueReads inputs from shulker boxes
bulk-crafting-use-bundlestrueReads inputs from bundles
bulk-crafting-bundle-max-depth4Bundle nesting depth

Bulk villager trading

Bulk trading runs when the player selects the same villager trade twice within villagers-bulk-trading-double-click-ticks. The default is 10 ticks, which is half a second.

The plugin checks the selected trade, the merchant input slots, the player inventory, shulker boxes, and bundles. It runs as many trades as the inputs and remaining trade uses allow, then gives the result items. Villager XP and level progress are applied for the bulk trades.

Player trade XP is emitted as one-point orb units for both normal and bulk trades. This keeps the reward proportional to the number of trades and allows the XP to work with Mending.

If villagers-bulk-trading-drop-over-64 is true, the player keeps one max stack of the result and the rest is dropped at the player's feet. This keeps bulk trades from filling the whole inventory with one trade result.

SettingDefaultNotes
villagers-bulk-tradingtrueEnables double-select bulk trading
villagers-bulk-trading-use-shulkerstrueReads inputs from shulker boxes
villagers-bulk-trading-use-bundlestrueReads inputs from bundles
villagers-bulk-trading-bundle-max-depth4Bundle nesting depth
villagers-bulk-trading-drop-over-64trueKeeps one stack, drops the rest
villagers-bulk-trading-double-click-ticks10Double-select window

Anvil changes

When anvil-unlimited-repair-cost is on, the plugin sets the anvil maximum repair cost from config. The default is 2147483647, which removes the practical vanilla cap.

The anvil result item gets a temporary lore line in the result slot: Cost: N levels. That line is removed when the player takes the result.

SettingDefaultNotes
anvil-unlimited-repair-costtrueRaises the anvil max repair cost
anvil-max-repair-cost2147483647Max level cost allowed by the plugin

Armored elytra

Place an elytra and a netherite chestplate in an anvil. The result is an elytra with the chestplate's armor, armor toughness, and knockback resistance attributes applied to the chest slot.

The result keeps the elytra item type and texture. It merges enchantments from both items, keeping the higher level when both items have the same enchantment. The anvil cost is set to 39 levels and one input item count.

The resulting item is tagged as an armored elytra. As an item entity, it resists lava, fire, fire tick, and hot floor damage, and combustion is canceled.

SettingDefaultNotes
armored-elytratrueEnables elytra plus netherite chestplate anvil result

Tool and armor break protection

Tools are stopped at 1 durability. If a protected tool is at 1 durability, block breaking, block damage, melee attacks, and bow shooting are canceled. The player hears the item break sound with a short cooldown.

When a tool or armor piece would break from durability damage, the damage event is canceled and the item is set to 1 durability.

Armor at 1 durability does not give free protection forever. If a player takes damage while wearing near-broken armor, the plugin briefly removes the armor, applies the incoming damage, then restores the armor. The warning sound plays.

Elytra are not handled by the tool protection check. Armor protection applies to items whose material names end in _HELMET, _CHESTPLATE, _LEGGINGS, or _BOOTS.

SettingDefaultNotes
prevent-tool-breaktrueProtects damageable non-armor tools and weapons
prevent-armor-breaktrueProtects armor pieces

Inventory Totem of Undying

If damage would kill a player, the plugin can consume a Totem of Undying from storage instead of requiring it in the hand. The search order is player inventory first, then bundles, then shulker boxes, based on config. If ender chest search is enabled, the same search also runs there.

When inventory-totem-skip-if-held is true, the plugin does nothing if the player is already holding a totem. Vanilla handles that case.

The plugin applies the normal rescue pattern itself: health is set to 1, active potion effects are cleared, regeneration, absorption, and fire resistance are added, fall distance is reset, no-damage ticks are set, and the totem effect, sound, and particles play.

SettingDefaultNotes
inventory-totemtrueEnables inventory totem use
inventory-totem-use-shulkerstrueSearches shulker boxes
inventory-totem-use-bundlestrueSearches bundles
inventory-totem-check-ender-chesttrueSearches the player's ender chest
inventory-totem-skip-if-heldtrueLets vanilla handle held totems
inventory-totem-bundle-max-depth4Bundle nesting depth

Silk Touch block recovery

When a player breaks a block with Silk Touch, the plugin tries to give the block item and any stored contents to the player instead of letting contents scatter on the ground. Leftovers drop near the block if the player's inventory is full.

Container contents are collected from Bukkit containers. Ender chests are ignored. Shulker boxes keep their contents inside the dropped shulker item instead of having their contents extracted.

Spawners and trial spawners have special handling. They can drop the spawner block, a spawn egg for the stored entity type, or both. The spawn egg amount is configurable.

The blacklist blocks are not recovered.

SettingDefaultNotes
silk-touch-recover-blockstrueEnables Silk Touch recovery
silk-touch-recover-allow-creativefalseAllows recovery in creative mode
silk-touch-spawner-drop-spawnertrueDrops spawner or trial spawner block
silk-touch-spawner-drop-eggtrueDrops spawn egg when a type is known
silk-touch-spawner-egg-amount1Spawn eggs to drop, clamped from 0 to 64
silk-touch-recover-blacklistsee configBlocks that are never recovered

Sea pickle fast place

Right-clicking with sea pickles can fill a sea pickle block up to 4 pickles. The plugin can also place into water, bubble columns, seagrass, tall seagrass, kelp, kelp plants, and passable waterlogged spaces.

It checks how many sea pickles the player has in inventory, shulker boxes, and bundles, then adds as many as fit. If the target changes before the delayed placement step runs, removed pickles are refunded.

SettingDefaultNotes
sea-pickles-fast-placetrueEnables fast sea pickle filling
sea-pickles-fast-place-use-shulkerstrueReads sea pickles from shulker boxes
sea-pickles-fast-place-use-bundlestrueReads sea pickles from bundles
sea-pickles-fast-place-bundle-max-depth4Bundle nesting depth

Bundle scroll

Bundle scroll uses PacketEvents to listen for the client bundle item selection packet. When a bundle has at least bundle-scroll-min-stacks item stacks, the plugin rotates the stored item order when the player wraps from the last visible bundle slot to the first, or from the first visible slot to the last.

The default visible window is 8 items. With bundle-scroll-step: 1, each wrap rotates the bundle by 8 items. bundle-scroll-cooldown-ticks stops repeated packet spam from rotating too fast.

Bundle scrolling also works while another inventory is open, including chests, furnaces, smokers, blast furnaces, and other container screens.

SettingDefaultNotes
bundle-scrolltrueEnables bundle item rotation
bundle-scroll-min-stacks13Minimum bundle stack count before rotation
bundle-scroll-window-size8Visible bundle item window
bundle-scroll-step1Pages moved per wrap
bundle-scroll-cooldown-ticks1Rotation cooldown

Mud spread

When a water bottle turns dirt into mud, the plugin waits one tick for vanilla to make the first mud block. If the clicked block is now mud, the plugin spreads from that block.

Spread only checks the four horizontal sides at the same Y level. Only DIRT is changed to MUD. Existing mud continues the spread path. The job processes mud-spread-blocks-per-step nodes each step and waits mud-spread-step-interval-ticks between steps.

SettingDefaultNotes
mud-spreadtrueEnables mud spread after water bottle use
mud-spread-range64Max side steps from the first mud block
mud-spread-blocks-per-step16Queue nodes processed per step
mud-spread-step-interval-ticks10Delay between spread steps

Concrete powder in water

Dropped concrete powder item entities convert into concrete item entities when they are in a full water source block. The block below the item is also checked. Flowing water does not count.

The plugin polls matching item entities every 2 ticks for up to 60 ticks. This gives the item time to fall into water after being dropped.

If a dropped shulker box or bundle is sitting in source water, concrete powder inside it can be converted in place. Shulker boxes can contain bundles, and bundles can contain nested bundles or shulker boxes, based on the two storage toggles and the bundle depth setting.

All 16 concrete colors are mapped.

SettingDefaultNotes
concrete-powder-in-watertrueEnables item entity conversion
concrete-powder-in-water-use-shulkerstrueConverts powder inside dropped shulker boxes
concrete-powder-in-water-use-bundlestrueConverts powder inside dropped bundles
concrete-powder-in-water-bundle-max-depth4Bundle nesting depth

Piston farmland protection

This lets piston heads move across farmland without turning it into dirt. In normal Minecraft, that breaks many automatic crop farm designs because the piston head can wipe the farmland under the crop row.

When this feature is on, farmland near water is protected while pistons move over it. The water check uses the configured radius and accepts normal water or waterlogged blocks.

Use this for farms where pistons break or move crops, but the farmland must stay in place for the next planting cycle.

SettingDefaultNotes
piston-protect-farmlandtrueKeeps farmland from turning into dirt when pistons move over it
piston-protect-farmland-water-radius4Water search radius, clamped from 1 to 16

Piston and flying-machine harvest drops

This behavior has no config setting. It applies when sugar cane or bamboo is broken by a piston, sticky piston, or a movable face on a slime-block or honey-block flying machine.

The plugin tracks the full affected plant column and stops the separate vanilla drops from scattering. Drops from that column are combined into one item stack when they fit, then placed with no velocity at the bottom-center of the plant's base, or parent, block. Totals larger than the material's stack limit use the minimum number of full item entities required.

This reduces loose item entities and keeps large automatic farms easier for hoppers and collection systems to manage. Breaking sugar cane or bamboo by hand continues to use the normal player-harvest behavior.

Full config reference

settings:

# Instant processing instant-furnace: true instant-smoker: true instant-blast-furnace: true instant-brewing-stand: true instant-campfire: true

# Fuel time cost for instant smelting. # 1.0 uses normal fuel time. 2.0 uses double fuel time. fuel-cost-multiplier: 2.0

# Only use burn times learned from real furnace burn events. # If false, the plugin can guess common fuel burn times. safe-fuel-mode: true

# Animals instant-animals: true animals-instant-tame: true animals-instant-grow: true animals-reset-breed-cooldown: true

# If true, feeding cost is ceil(fuel-cost-multiplier), clamped from 1 to 64. animals-feed-uses-multiplier: true animals-feed-use-shulkers: true animals-feed-use-bundles: true animals-feed-bundle-max-depth: 4

# Auto replant auto-plant: true auto-plant-allow-creative: false auto-plant-use-shulkers: true auto-plant-use-bundles: true auto-plant-bundle-max-depth: 4

# Replant attempts after a block is broken, one attempt per tick. replant-tries: 120

# Bone meal max grow bonemeal-max-grow: true bonemeal-bamboo-cap: 16 bonemeal-sugar-cane-cap: 3 bonemeal-cactus-cap: 3

# Villagers villagers-reset-trade-cooldown: true villagers-instant-cure: true villagers-instant-workbench-update: true villagers-instant-workbench-range: 1

# Bulk crafting bulk-crafting: true bulk-crafting-use-shulkers: true bulk-crafting-use-bundles: true bulk-crafting-bundle-max-depth: 4

# Bulk villager trading villagers-bulk-trading: true villagers-bulk-trading-use-shulkers: true villagers-bulk-trading-use-bundles: true villagers-bulk-trading-bundle-max-depth: 4 villagers-bulk-trading-drop-over-64: true

# Double-select window in ticks. 20 ticks is 1 second. villagers-bulk-trading-double-click-ticks: 10

# Sea pickle fast place sea-pickles-fast-place: true sea-pickles-fast-place-use-shulkers: true sea-pickles-fast-place-use-bundles: true sea-pickles-fast-place-bundle-max-depth: 4

# Anvil anvil-unlimited-repair-cost: true anvil-max-repair-cost: 2147483647

# Elytra plus netherite chestplate in an anvil. armored-elytra: true

# Durability safety prevent-tool-break: true prevent-armor-break: true

# Inventory totem inventory-totem: true inventory-totem-use-shulkers: true inventory-totem-use-bundles: true inventory-totem-check-ender-chest: true inventory-totem-skip-if-held: true inventory-totem-bundle-max-depth: 4

# Silk Touch recovery silk-touch-recover-blocks: true silk-touch-recover-allow-creative: false silk-touch-spawner-drop-spawner: true silk-touch-spawner-drop-egg: true silk-touch-spawner-egg-amount: 1 silk-touch-recover-blacklist: - BEDROCK - END_PORTAL_FRAME - END_PORTAL - NETHER_PORTAL - STRUCTURE_BLOCK - JIGSAW - BARRIER - LIGHT

# Bundle scrolling. Requires PacketEvents. bundle-scroll: true bundle-scroll-min-stacks: 13 bundle-scroll-window-size: 8 bundle-scroll-step: 1 bundle-scroll-cooldown-ticks: 1

# Mud spread from a water bottle on dirt. mud-spread: true mud-spread-range: 64 mud-spread-blocks-per-step: 16 mud-spread-step-interval-ticks: 10

# Concrete powder item conversion in source water. concrete-powder-in-water: true concrete-powder-in-water-use-shulkers: true concrete-powder-in-water-use-bundles: true concrete-powder-in-water-bundle-max-depth: 4

# Piston farmland protection. piston-protect-farmland: true piston-protect-farmland-water-radius: 4

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x1.21.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки


Детали

Лицензия:
Опубликован:5 месяцев назад
Обновлён:2 недели назад
Главная