Sueta

GGQOL

26.2

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

·Config

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

Instant smelting and processing demo

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

Auto replant demo

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

Bone meal max grow demo

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

Animal changes demo

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

Villager changes demo

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 demo

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 villager trading demo

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

Anvil changes demo

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 le

Similar projects

Config →