Sueta

CraftBlockForge - Block & Limit Crafting

1.3.0

Block crafting per world or WorldGuard region. Wildcards, in-game menu, stats.

·Plugin
Tested MC versions
1.17, 1.18, 1.19, 1.20, 1.21, 26.1, 26.2

CraftBlockForge
Decide what players can craft, and where.

archivo pegado.png

CraftBlockForge stops players from crafting the items you choose. Block them on the whole server, in one world, or inside WorldGuard regions, and change the lists in game without restarting.

Features

  • Blocked items look blocked. The result slot shows a barrier named "Blocked" before the player clicks, so nobody wastes materials guessing. You can also hide the slot, or keep the old behaviour.
  • Every station, not only the crafting table. The smithing table and the stonecutter follow the same lists, and furnaces, smokers, blast furnaces and the anvil can too.
  • Blacklist or whitelist, per world. Block a few items, or block everything except a few.
  • Wildcards. *_SWORD blocks every sword, NETHERITE_* every netherite item, ? matches one character.
  • Items from other plugins. List custom items by their id: itemsadder:myitems:ruby, oraxen:ruby_sword, nexo:ruby_sword, executableitems:ruby, mmoitems:SWORD:RUBY, or pdc:<namespace:key>=<value> for any plugin that tags its items. /craftblock block hand adds the item you hold. None of those plugins is required.
  • WorldGuard regions. Give a region its own blacklist or whitelist in config.yml, or use the three region flags:
    • deny-craft - set to deny to block all crafting in the region, allow to allow everything there
    • deny-craft-items - comma-separated items to block, wildcards work
    • allow-craft-items - comma-separated items that are always allowed
  • In-game menu. /craftblock gui [world] shows the blocked items. Click one to unblock it, or block the item in your hand. In a whitelist world it shows and edits the allowed items instead.
  • Your own message. Chat, action bar or title, with a sound and a cooldown so it doesn't spam. & colour codes and MiniMessage (hex colours, gradients) both work. You can also set a different message for one item in one world.
  • Bypass permissions for everything, for one world, for one region or for one item.
  • Staff alerts and logging. Staff get a message when someone tries to craft a blocked item, and attempts can be written to the console.
  • Stats of blocked attempts per player and for the whole server.
  • PlaceholderAPI with 10 placeholders, as %craftblockforge_...% (the old %dib_...% still work).
  • English and Spanish out of the box. Every message can be edited.
  • Update checker that tells you in the console when a new version is out.
  • Developer API: check if an item is blocked, or listen to the cancellable CraftBlockedEvent.

Requirements

  • Spigot or Paper, from 1.17 to 26.x (forks like Purpur included, and Folia), on the Java version your server already uses.
  • Optional: WorldGuard (regions) and PlaceholderAPI (placeholders).

Commands
Main command /craftblock, aliases /cbf and /dib (the old command still works).
When you leave out [world], the command uses the default list, which applies to every world without its own list.

  • /craftblock block <item|hand> [world] - block an item, a pattern like *_BED, a custom item id, or the item in your hand
  • /craftblock unblock <item> [world] - unblock it
  • /craftblock list [world] - show a list
  • /craftblock check <item> - is this item blocked where I'm standing?
  • /craftblock toggle [world] - turn blocking on or off, for the server or for one world
  • /craftblock gui [world] - open the menu
  • /craftblock stats [player | reset [player]] - stats
  • /craftblock status - plugin status
  • /craftblock reload - reload config and messages
  • /craftblock help - list of commands

Permissions

  • craftblockforge.<command> - one per command, for example craftblockforge.block. OP by default, except help.
  • craftblockforge.stats.reset - reset stats
  • craftblockforge.notify - receive staff alerts
  • craftblockforge.bypass - craft anything anywhere
  • craftblockforge.bypass.world.<world>, craftblockforge.bypass.region.<region>, craftblockforge.bypass.item.<item>

Coming from DesidiaItemCraftBlock? The old dib.* permissions are now craftblockforge.*

Placeholders
%craftblockforge_enabled%, %craftblockforge_mode%, %craftblockforge_total_blocked%, %craftblockforge_top_item%, %craftblockforge_top_item_count%, %craftblockforge_last_world%, %craftblockforge_last_region%, %craftblockforge_time_since_last%, %craftblockforge_wg_available%, %craftblockforge_global_total%
The same values also answer to %dib_...%, so old scoreboards keep working.

Example config

settings:
  mode: blacklist
  locale: en            # en or es
  preview: barrier      # barrier, hide or off

stations:
  smithing: true
  stonecutter: true
  furnaces: false
  anvil: false

message:
  type: ACTIONBAR       # CHAT, ACTIONBAR or TITLE
  sound: ENTITY_VILLAGER_NO
  cooldown: 3

worlds:
  default:              # every world without its own section
    blocked:
      - TNT
  world_nether:
    blocked:
      - "*_BED"
    custom-messages:
      RED_BED: "&cBeds explode in the Nether!"

regions:                # WorldGuard region ids
  spawn:
    mode: whitelist
    allowed:
      - "*_PLANKS"
      - STICK

Coming next
Planned for the next versions. There are no dates yet, and ideas are welcome on Discord.

  • Rules by time of day.
  • Faster stats storage for big servers.

Servers using CraftBlockForge

Live numbers from bStats. The plugin reports them anonymously, and you can turn it off in plugins/bStats/config.yml.

Thanks to everyone who downloaded my first plugin, and to XFernandowX: the whitelist, worlds and regions came from your review.

Support and suggestions: Discord

More from TTS-Studio
Our other free plugins: AfkGuard · BetterDeathMessages · ChattyChannels · ClaimsForge · CombatLogger · CrateForge · EnchantsForge · ParticleForge · SafeRTP · SmartHomes

Paid plugins for factions, RPG skills, quests and shops are on our store: studio.journalbytts.xyz

Similar projects

Plugin →