LamCrafting | Custom Crafting v0.7.5

A powerful crafting plugin that allows server owners to create multiple custom crafting stations.
Co. (1).png
LamCrafting


FULL FOLIA SUPPORT!


Advanced Custom Crafting System

🔥 Key Features
• Multiple Crafting Stations with Custom GUIs
• Custom Recipes with Multiple Requirements
• Economy & Points Integration
• Permission-Based Access Control
• Full Configuration Options
• Full Folia Support

javaw_OylH8xSc7m.png



📝 Description
LamCrafting allows you to create multiple crafting stations, each with their own unique recipes and requirements. Perfect for servers looking to enhance their crafting experience with custom stations, economy integration, and permission-based access.

javaw_LhrfUDCxHH.png



⚡ Features
  • Create unlimited crafting stations
  • Custom GUI for each station
  • Multiple cost types:
    • Items
    • Money (Vault)
    • Points (PlayerPoints)
  • Custom recipe requirements
  • Custom item support (ItemEdit)
  • Permission-based access
  • Configurable messages
  • Station-specific settings


⌨️ Commands
Code:
/lamcraft (aliases: lmc)
├── help - Shows help menu
├── station - Opens station GUI
│   ├── <name> - Opens specific station
│   ├── <name> <player> - Opens for others
│   └── <name> <player> -f - Force opens
├── reload - Reloads config
└── items - Manages custom items

📋 Permissions
Code:
lamcrafting.use - Basic usage
lamcrafting.admin - Admin commands
lamcrafting.items - Item management
lamcrafting.station - GUI access
lamcrafting.station.<station_id> - Station access
lamcrafting.recipe.<station>.<recipe> - Recipe access

⚙️Config​


YAML:
# ======================================================
# LAMCRAFTING CONFIGURATION
# ======================================================

# Debug level (0-3)
# 0 = Critical errors only
# 1 = Warnings and errors
# 2 = Info messages
# 3 = Debug messages
debug: 3

# ======================================================
# GUI CONFIGURATION
# ======================================================
gui:
  # ----------------------
  # CRAFTING GUI SETTINGS
  # ----------------------
  crafting:
    # Whether to show currency requirements in separate slots
    # true = currency shown in X slots
    # false = currency shown with other requirements
    separate_currency_requirements: true
 
    # GUI layout pattern
    # Each character represents a slot type:
    # # = Border item
    # O = Output item (recipe result)
    # X = Currency requirements
    # R = Item requirements
    # C = Craft button
    # B = Back button
    pattern:
      - "########B"  # Must be exactly 9 characters per row
      - "#   O   #"  # O = Output slot (recipe result)
      - "##X#X#X##"  # X = Currency requirement slots
      - "#RRRRRRR#"  # R = Item requirement slots
      - "#RRRRRRR#"
      - "####C####"  # C = Craft button
 
    # Item definitions for each slot type
    items:
      '#':  # Border item
        material: GRAY_STAINED_GLASS_PANE
        name: " "  # Empty name (just a space)
      'O':  # Output slot
        material: AIR  # Will be replaced with recipe result
      'R':  # Requirement slots
        material: AIR  # Will be replaced with requirements
      'X':  # Currency slots
        material: AIR  # Will be replaced with currency
      'C':  # Craft button
        material: ANVIL
        name: "&aClick to Craft!"
        lore:
          - "&7Click to craft if you have"
          - "&7the required materials!"
      'B':  # Back button
        material: BARRIER
        name: "&cBack to Recipes"
 
    # Suffix added to station title when in crafting GUI
    title_suffix: " - Crafting"
 
    # Currency display settings
    currency:
      # Money currency (requires Vault)
      money:
        material: GOLD_INGOT  # Icon for money requirements
        name: "&6Money Requirement"
        symbol: "$"  # Currency symbol
        has_enough: "&a"  # Color when player has enough
        not_enough: "&c"  # Color when player doesn't have enough
        lore:
          - "&7Required: {has_enough}{symbol}{balance}&7/&e{symbol}{amount}"
 
      # Points currency (requires PlayerPoints)
      points:
        material: DIAMOND
        name: "&aPlayer Points Requirement"
        symbol: ""
        has_enough: "&a"
        not_enough: "&c"
        lore:
          - "&7Required: {has_enough}{balance}&7/&e{amount} points"
 
      # XP level currency
      xp_level:
        material: EXPERIENCE_BOTTLE
        name: "&eExperience Level Requirement"
        symbol: ""
        has_enough: "&a"
        not_enough: "&c"
        lore:
          - "&7Required: {has_enough}{balance}&7/&e{amount} levels"
 
    # Item requirement display format
    requirement_display:
      format: "&7Required: {has_enough}{current} &7/ &f{amount}"
      has_enough: "&a"  # Color when player has enough
      not_enough: "&c"  # Color when player doesn't have enough

  # ----------------------
  # RECIPE BROWSE GUI SETTINGS
  # ----------------------
  browse:
    # GUI layout pattern
    # # = Border item
    # R = Recipe slots
    # P = Previous page button
    # N = Next page button
    pattern:
      - "#########"  # Must be exactly 9 characters per row
      - "#RRRRRRR#"  # R = Recipe slots
      - "#RRRRRRR#"
      - "#RRRRRRR#"
      - "#P#####N#"  # P = Previous page, N = Next page
 
    # Item definitions for each slot type
    items:
      '#':  # Border item
        material: LIGHT_BLUE_STAINED_GLASS_PANE
        name: " "
      'R':  # Recipe slots
        material: AIR  # Will be replaced with recipes
      'P':  # Previous page button
        material: ARROW
        name: "&ePrevious Page"
      'N':  # Next page button
        material: ARROW
        name: "&eNext Page"
 
    # Suffix added to station title when in browse GUI
    title_suffix: " - Recipes"

  # ----------------------
  # LOCKED RECIPE SETTINGS
  # ----------------------
  # Display for recipes the player doesn't have permission to craft
  locked_recipe:
    material: RED_STAINED_GLASS_PANE
    name: "&c&lLocked Recipe: &7{original_name}"
    lore:
      - "&7This recipe is locked!"
      - "&7You need permission:"
      - "&8{permission}"

  # ----------------------
  # STATION SELECTION GUI SETTINGS
  # ----------------------
  stations:
    # Whether the station selection GUI is enabled
    enabled: true
 
    # Title of the station selection GUI
    title: "&8Crafting Stations"
 
    # GUI layout pattern
    # # = Border item
    # S = Station slots
    pattern:
      - "#########"
      - "#SSS SSS#"  # S = Station slots
      - "#SSS SSS#"
      - "#########"
 
    # Item definitions for each slot type
    items:
      '#':  # Border item
        material: BLACK_STAINED_GLASS_PANE
        name: " "
      'S':  # Station slots
        material: AIR  # Will be replaced with station icons

# ======================================================
# MESSAGE CONFIGURATION
# ======================================================
# All plugin messages (supports color codes with &)
messages:
  # Prefix for all plugin messages
  prefix: "&8[&6LamCrafting&8] "
 
  # General messages
  no_recipes: "&cNo recipes available!"
  no_permission: "&cYou don't have permission to do that!"
  too_many_requirements: "&cError: Recipe has too many requirements ({count}) for available slots ({slots})"
 
  # Crafting messages
  missing_items: "&cThis recipe cannot be crafted due to missing items!"
  missing_materials: "&cYou don't have the required materials or currency!"
  craft_success: "&aSuccessfully crafted the item!"
  reload_close: "&cThe crafting menu was closed due to a recipe reload."
 
  # Station messages
  no_station_permission: "&cYou don't have permission to use this station!"
  station_not_found: "&cStation not found!"
  station_disabled: "&cThis station is currently disabled!"
  station_gui_disabled: "&cStation GUI is disabled!"
 
  # Admin command messages
  player_not_found: "&cPlayer not found!"
  no_admin_permission: "&cYou don't have permission to open stations for other players!"
  console_specify_player: "&cConsole must specify a player name!"
  station_opened: "&aOpened station &e{station} &afor &e{player}{force}"
  force_suffix: " &7(Forced)"

YAML:
# ======================================================
# BASIC CRAFTING STATION CONFIGURATION
# ======================================================

# Title shown at the top of the station's GUI (supports color codes)
gui_title: "&8Basic Crafting"

# Permission required to access this station
# If not specified, no permission is required.
permission: "lamcrafting.station.basic"

# Whether this station is enabled and accessible
enabled: true

# Sorting weight in the station selection GUI
# Higher numbers appear first in the list
GUI-weight: 10

# Icon shown in the station selection GUI
# Can be a vanilla material or ItemEdit item (itemedit:item_id)
GUI-icon: CRAFTING_TABLE

# Whether to hide this station in the station selection GUI
# Set to true to make it accessible only via direct command
GUI-hidden: false

# ======================================================
# RECIPES
# ======================================================
recipes:
  # ----------------------
  # BASIC MATERIAL RECIPE
  # ----------------------
  # Simple recipe with vanilla materials
  diamond_block:
    material: DIAMOND_BLOCK  # Result item material
    # Requirements list - what's needed to craft this item
    requirements:
      - material: DIAMOND
        amount: 9

  # ----------------------
  # CUSTOM NAMED ITEM
  # ----------------------
  # Recipe with custom name and lore
  super_diamond_block:
    material: DIAMOND_BLOCK
    name: "&b&lSuper Diamond Block"  # Custom name with color codes
    lore:  # Custom lore with color codes
      - "&7Triple compressed"
      - "&7Worth triple the diamonds"
      - ""  # Empty line in lore
      - "&eRight-click to break into diamonds"
    requirements:
      - material: DIAMOND
        amount: 27

  # ----------------------
  # CUSTOM ITEM RECIPE
  # ----------------------
  # Recipe using ItemEdit custom item as result
  kings_sword:
    custom_item: "itemedit:king_sword"  # ItemEdit item ID
    # or custom_item: "custom_item_id"  # Custom item ID from local items.yml or ysklib/shareditems.yml if using YSKLib shared items.
    requirements:
      - material: DIAMOND  # Vanilla material requirement
        amount: 5
      - custom_item: "itemedit:king_helmet"  # Custom item requirement
        amount: 1

  # ----------------------
  # ECONOMY COST RECIPE
  # ----------------------
  # Recipe with money cost (requires Vault)
  expensive_sword:
    material: DIAMOND_SWORD
    name: "&6Expensive Sword"
    lore:
      - "&7Costs: &6$1000"
    requirements:
      - material: DIAMOND
        amount: 2
      - money: 1000  # Money cost (requires Vault)

  # ----------------------
  # POINTS COST RECIPE
  # ----------------------
  # Recipe with points cost (requires PlayerPoints)
  special_sword:
    material: GOLDEN_SWORD
    name: "&eSpecial Sword"
    lore:
      - "&7A special sword"
      - "&7Costs: &b100 points"
    requirements:
      - material: GOLD_INGOT
        amount: 3
      - player_points: 100  # Points cost (requires PlayerPoints)

  # ----------------------
  # XP LEVEL COST RECIPE
  # ----------------------
  # Recipe with experience level cost
  enchanted_sword:
    material: NETHERITE_SWORD
    name: "&dEnchanted Sword"
    lore:
      - "&7Requires 30 levels of experience"
    requirements:
      - material: NETHERITE_INGOT
        amount: 2
      - xp_level: 30  # Experience level cost

  # ----------------------
  # MULTI-CURRENCY RECIPE
  # ----------------------
  # Recipe with multiple currency costs
  legendary_sword:
    material: NETHERITE_SWORD
    name: "&6Legendary Sword"
    lore:
      - "&7A legendary weapon"
      - "&7forged with ancient magic"
      - "&7Costs: &6$1000 &7and &b500 points"
    requirements:
      - material: NETHERITE_INGOT
        amount: 4
      - custom_item: "itemedit:magic_crystal"
        amount: 2
      - money: 1000  # Money cost
      - player_points: 500  # Points cost
      - xp_level: 30  # XP level cost

  # ----------------------
  # CUSTOM REQUIREMENT DISPLAY
  # ----------------------
  # Recipe with custom display name for requirement
  custom_display_recipe:
    material: DIAMOND_PICKAXE
    name: "&bMiner's Pickaxe"
    requirements:
      - material: DIAMOND
        amount: 64
        display_name: "&bPure Diamonds"  # Custom name for requirement

  # ----------------------
  # COMMAND-ONLY RECIPE
  # ----------------------
  # Recipe that only runs commands (no item given)
  command_only_reward:
    material: NETHER_STAR  # Display item in GUI only
    name: "&6Special Reward"
    give_item: false  # Don't give the item, only run commands
    commands:  # Commands to run when crafted (supports placeholders)
    # Commands are Console Commands. Use {player} to refer to the player crafting the item.
      - "give {player} diamond 5"  # {player} = player's name
      - "eco give {player} 1000"   # Economy command
      - "pp give {player} 100"     # PlayerPoints command
    requirements:
      - material: GOLD_INGOT
        amount: 10

  # ----------------------
  # HYBRID RECIPE
  # ----------------------
  # Recipe that gives both item and runs commands
  hybrid_reward:
    material: DIAMOND_SWORD
    name: "&cFiery Sword"
    give_item: true  # Give the item (default is true)
    commands:  # Commands run in addition to giving the item
      - "effect give {player} strength 60 1"
      - "broadcast {player} has crafted a Fiery Sword!"
    requirements:
      - material: DIAMOND
        amount: 2
      - material: BLAZE_ROD
        amount: 4

  # ----------------------
  # PERMISSION-RESTRICTED RECIPE
  # ----------------------
  # Recipe that requires a specific permission
  admin_item:
    material: BEDROCK
    name: "&4Admin Block"
    lore:
      - "&7Only admins can craft this"
    permission: "lamcrafting.recipe.basic.admin"  # Permission required to craft this recipe. If not specified, no permission is required.
    requirements:
      - material: OBSIDIAN
        amount: 64

⚙️ Dependencies

Required:

YskLib

Optional:

• ItemEdit - Custom items​

• Vault - Money costs​

• PlayerPoints - Points costs​

🔧 Support

Need help? Found a bug? Have a suggestion?​

• Discord: YusakiDev

Made with ❤️ by Yusaki

Latest reviews

Great plugin!

Developer offers great support and responds quickly!
Also implemented some features I suggested, greatly recommend it.
Bought the plugin before release!
Yusaki
Yusaki
Thank you for the review. Your feedback helps the development a lot
Support the author
Name a fair price:
EULA: Standard EULA
$
This resource is free, but consider supporting the author if you believe it's worth paying for. This option will remain here even if you've paid before.
New: Now supporting cryptocurrency payments!
299 Views
0 Purchases
7 Downloads
Feb 27, 2025 Published
Feb 27, 2025 Updated
5.00 star(s)
Average rating (1)
67.1 KB File size
Languages
  1. English
Includes DRM
No
Source access
Closed source & unobfuscated
Type
  1. Gameplay
  2. Economy
Game mode
  1. Survival
Supported software
  1. Paper
  2. Folia
Supported versions
  1. 1.21
Creator
Owner
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 121 ratings
3,229 purchases
The ultimate chat formatting and filtering plugin. Can replace 200+ plugins. Customizable & fast.
5.00 star(s) 121 ratings
2,521 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 64 ratings
2,341 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
5.00 star(s) 59 ratings
2,283 purchases
Protect your server from crash/dupe/packets exploits with the ultimate Spigot security fix plugin.
5.00 star(s) 25 ratings
1,819 purchases
299 Views
0 Purchases
7 Downloads
Feb 27, 2025 Published
Feb 27, 2025 Updated
5.00 star(s)
Average rating (1)
67.1 KB File size
Languages
  1. English
Includes DRM
No
Source access
Closed source & unobfuscated
Type
  1. Gameplay
  2. Economy
Game mode
  1. Survival
Supported software
  1. Paper
  2. Folia
Supported versions
  1. 1.21
Creator
Owner
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 121 ratings
3,229 purchases
The ultimate chat formatting and filtering plugin. Can replace 200+ plugins. Customizable & fast.
5.00 star(s) 121 ratings
2,521 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 64 ratings
2,341 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
5.00 star(s) 59 ratings
2,283 purchases
Protect your server from crash/dupe/packets exploits with the ultimate Spigot security fix plugin.
5.00 star(s) 25 ratings
1,819 purchases
Top