Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Links
Tags
Creators
Details
Licensed ARR
Published 22 hours ago
Allows for easy Potion Stacking with limits to what can be stacked and what can't, easy use for any server.
Config.yml
####################################################################
# Oath-PotionStacking
# ------------------------------------------------------------------
# Makes potions stack like normal items by stamping them with
# Minecraft's NATIVE max_stack_size item component (1.20.5+).
#
# Because this uses the real vanilla mechanic, stamped potions:
# • merge automatically on pickup, shift-click, drag AND
# double-click — exactly like cobblestone or arrows,
# • NEVER "destack" when moved around the inventory.
# No fake/lore stacking, so there are none of the classic dupe or
# destack bugs that approach suffers from.
####################################################################
# Master switch. false = the plugin does nothing (existing stacks keep
# whatever size component they already have).
enabled: true
# Default maximum stack size for every stackable potion (1-99). Used for any
# potion type that does not have its own override in potion-types below.
default-stack-size: 16
# Which item materials are treated as "potions". By default ALL THREE potion
# item types are made stackable — drinkable, splash and lingering.
potion-materials:
- POTION
- SPLASH_POTION
- LINGERING_POTION
# ------------------------------------------------------------------
# Strict matching
# true (recommended): potions only ever stack when they are EXACTLY
# identical (same type, effects, custom name, lore — the server's own
# item comparison). This is precisely how normal vanilla items behave
# and is completely safe — nothing is ever rewritten.
# false: looser matching. Potions of the same type are normalised to a
# canonical form (their custom name and lore are stripped) so cosmetic
# differences no longer stop them from stacking together.
# WARNING: this rewrites the name/lore of affected potions. Leave it
# on 'true' unless you specifically want that behaviour.
# ------------------------------------------------------------------
strict-matching: true
# Never touch potions created by other plugins, so custom/special potions are
# left completely alone (detected by their persistent-data-container namespace).
ignore-custom-items: true
custom-item-namespaces:
- mmoitems
- itemsadder
- nexo
- oraxen
# A safety-net re-scan of every online player's inventory, in ticks (20 = 1s).
# Stamps potions that arrived from sources we don't hook directly (the creative
# menu, /give, other plugins, trades, ...). Set 0 to disable the periodic scan.
rescan-interval-ticks: 100
# Event hooks for INSTANT stacking. Leave all true for the best experience.
hooks:
pickup: true # stamp ground items just before they are picked up
inventory-open: true # stamp every potion when a player opens an inventory
inventory-click: true # stamp (next tick) after a click, for instant merges
brew: true # stamp brewing-stand output
# ==================================================================
# Per-potion-type overrides
# ------------------------------------------------------------------
# Keys are Bukkit PotionType names. Hold a potion and run
# /oathpotionstacking info to see the exact key for it.
# For each type you may set:
# enabled: false -> keep that potion type UNSTACKABLE
# stack-size: <n> -> use a different limit than default-stack-size
# Potions that have only custom effects (no base type) use the key CUSTOM.
#
# Every potion type stacks by default — only the entries below differ.
# ==================================================================
potion-types:
# Instant Healing is kept unstackable by default — this is the example disable.
# Every other potion type stacks. Add more entries to disable others the same
# way (e.g. HARMING / STRONG_HARMING for instant damage on a PvP server).
HEALING:
enabled: false
STRONG_HEALING:
enabled: false
# ---- More disable examples (uncomment to use) ----
# HARMING:
# enabled: false
# STRONG_HARMING:
# enabled: false
# ---- Per-type custom stack limits (uncomment / edit) ----
# REGENERATION:
# stack-size: 8
# STRONG_REGENERATION:
# stack-size: 8
# STRENGTH:
# stack-size: 16
# WATER:
# stack-size: 64


