Add realistic hookahs to your server right out of the box.
No resource packs, no mods— hookahs are rendered using BlockDisplay entities and are visible to every player on any client, including licensed, cracked, and mobile-compatible clients.
Drop and play, no extra setup required!
FEATURES
Hookahs visible on ANY client with NO resource packs or mods required
Tobacco system: a custom item with a set number of puffs, loaded by right-clicking the hookah
5 smoke strength levels with increasing particle count and potion effects
Cooldown between puffs with randomized actionbar messages
Sound effect on each puff
Hookah rotation by right-clicking (45-degree steps)
Floating text above each hookah
WorldGuard integration
CoreProtect integration (placement and removal logging)
Per-player hookah limits via permissions (hookah.max.<n>)
LITE VERSION LIMIT
A maximum of 3 hookahs can be placed on the server at any given time across all players combined. When a player tries to place a fourth one they will receive a message prompting them to upgrade to the full version. This limit cannot be bypassed via permissions or operator commands
COMMANDS
User:
/hookah list - shows a list of your placed hookahs with their coordinates. Click a line to teleport to that hookah. Operators can check any player
Admin:
/hookah repair - respawns the hookah display entity at your current block and restores its UUID. Use this if a hookah became invisible or its data got corrupted
/hookah inspect - looks up logs for the block you are standing on and prints placement/removal history (in case no CoreProtect exists)
/hookah reload - reloads config.yml and all model files from disk without restarting the server
/hookah give - gives the specified hookah item to yourself
/hookah givetobacco - gives the specified tobacco item.
/hookah setother- places a hookah at your current position and assigns it to the specified player
SETUP
Step 1: Add plugin to plugins folder and run server. After installation the plugin creates a plugins/BeehiveHookah/ folder with config.yml. The models/ folder is created automatically and populated with default models on first start.
Step 2: Give a hookah: /hookah give base_white, hold it and place it like a normal block.
Step 3: Load tobacco: hold tobacco in hand and right-click the hookah.
Rotate: right-click the hookah with an empty hand.
CONFIG
Code (YAML):
limits: # Permission node prefix used to determine the hookah limit per player. # Example: give a player hookah.max.3 to allow them to place up to 3 hookahs. permissionPrefix: "hookah.max."
# Message sent when a player reaches their personal hookah limit. # Placeholders: {max} = their limit, {count} = how many they already have. reachedMessage: "&cHookah limit: &f{max}&c. You already have: &f{count}&c. &7/hookah list"
# Header line shown at the top of /hookah list. # Placeholders: {count} = current amount, {max} = their limit. listHeader: "&7Your hookahs (&f{count}&7/&f{max}&7):"
# Format for each hookah entry in /hookah list. # Placeholders: {x}, {y}, {z}, {world} listLine: "&7- &f{x}&7, &f{y}&7, &f{z}&7 &8(&f{world}&8)"
# Message shown when the player has no hookahs placed. listEmpty: "&7You have no hookahs." tobacco: # Sound played when tobacco is loaded into a hookah. # Use any Bukkit sound key, e.g. block.composter.fill fillSound: "block.composter.fill"
# Volume of the fill sound (0.0 - 2.0). fillSoundVolume: 1.7
# Pitch of the fill sound (0.5 = low, 2.0 = high). fillSoundPitch: 0.8
embers: # Particle spawned around the hookah bowl while tobacco is loaded. # Use a Bukkit particle name, e.g. LAVA, FLAME, SMOKE_NORMAL particle: "LAVA"
# Number of ember particles spawned per tick. count: 3
# Vertical offset above the hookah block where particles appear. yOffset: 1.5
Found a bug?Report issues and feature requests
[here] Need more help? Join the discord server
[here]