Skip to content

codingsushi79/nonetheriteplus-quilt

Repository files navigation

NoNetheritePlus Quilt

A Quilt mod for Minecraft 1.21+ that provides configurable netherite crafting restrictions with material refund system.

Features

  • Configurable Restrictions: Choose which netherite items to disable (armor, tools, or both)
  • Material Refund System: Automatically refunds base materials when crafting is attempted
  • Template Control: Option to completely disable netherite upgrade templates from spawning in loot
  • Custom Messages: Configurable refund notification messages
  • Per-Item Control: Enable/disable each netherite item individually
  • Automatic Setup: Creates config folder and file on first startup
  • Statistics & Analytics: Track refunds, blocked crafts, and template removals
  • World-Specific Configurations: Different settings per dimension for complex servers
  • Configuration GUI: In-game configuration through ModMenu
  • Debug Mode: Enhanced logging for troubleshooting
  • Performance Optimizations: Cached configurations and efficient event handling

Building

Prerequisites

  • Java 21
  • Gradle 8.5+ (or use the included gradlew)

Build Commands

# Build the mod JAR
./gradlew build

# Or use regular gradle if available
gradle build

The compiled JAR will be located in build/libs/NoNetheritePlus-Quilt-1.0.0.jar

Installation

  1. Copy the JAR file to your server's mods/ directory
  2. Restart the server
  3. The mod will automatically create a nonetheriteplus folder in your config directory with config.json and statistics.json

Configuration

The mod creates configuration files in .minecraft/config/nonetheriteplus/ (singleplayer) or server/config/nonetheriteplus/ (server).

Configuration GUI

If you have ModMenu installed, you can access the configuration GUI through:

  • ModMenu -> NoNetheritePlus Fabric -> Configure

Manual Configuration

Edit config.json to customize behavior:

{
  "disable_netherite_helmet": true,
  "disable_netherite_chestplate": true,
  "disable_netherite_leggings": true,
  "disable_netherite_boots": true,
  "disable_netherite_sword": false,
  "disable_netherite_pickaxe": false,
  "disable_netherite_axe": false,
  "disable_netherite_shovel": false,
  "disable_netherite_hoe": false,
  "refund_materials": true,
  "refund_message": "§cNetherite crafting is disabled for this item. Your materials have been refunded.",
  "disable_upgrade_templates": false,
  "statistics_enabled": true,
  "debug_mode": false,
  "worlds": {
    "minecraft:the_nether": {
      "disable_netherite_helmet": false,
      "refund_materials": false
    }
  }
}

Netherite Armor Settings

  • disable_netherite_helmet: Set to true to disable crafting, false to allow normal crafting (default: true)
  • disable_netherite_chestplate: Set to true to disable crafting, false to allow normal crafting (default: true)
  • disable_netherite_leggings: Set to true to disable crafting, false to allow normal crafting (default: true)
  • disable_netherite_boots: Set to true to disable crafting, false to allow normal crafting (default: true)

Netherite Tool Settings

  • disable_netherite_sword: Set to true to disable crafting (default: false)
  • disable_netherite_pickaxe: Set to true to disable crafting (default: false)
  • disable_netherite_axe: Set to true to disable crafting (default: false)
  • disable_netherite_shovel: Set to true to disable crafting (default: false)
  • disable_netherite_hoe: Set to true to disable crafting (default: false)

General Settings

  • refund_materials: Whether to refund materials when crafting is disabled (default: true)
  • refund_message: Message shown when materials are refunded (supports color codes with §)
  • disable_upgrade_templates: Whether to prevent netherite upgrade templates from spawning in loot (default: false)

Statistics & Analytics

  • statistics_enabled: Enable/disable statistics tracking (default: true)

Debug Mode

  • debug_mode: Enable debug logging (default: false)

World-Specific Configurations

Use the worlds object to set dimension-specific configurations:

"worlds": {
  "minecraft:overworld": {
    "disable_netherite_helmet": true
  },
  "minecraft:the_nether": {
    "disable_upgrade_templates": true,
    "refund_materials": false
  }
}

Settings fall back to global config for unspecified dimensions.

Commands

  • /nonetherite - Shows mod version and information
  • /nonetherite reload - Reloads configuration (requires OP permission)
  • /nonetherite stats - Shows mod statistics (requires OP permission)
  • /nonetherite debug - Shows current debug mode status (requires OP permission)
  • /nonetherite debug on - Enables debug mode (requires OP permission)
  • /nonetherite debug off - Disables debug mode (requires OP permission)

Dependencies

This mod requires:

  • Quilt Loader 0.28.0 or higher
  • Quilt Standard Libraries (QSL) 11.0.0-SNAPSHOT or higher
  • Minecraft 1.21.10 or higher
  • Java 21 or higher

Optional Dependencies

  • Cloth Config 15.0.127 or higher (for configuration GUI)
  • ModMenu 11.0.1 or higher (for in-game config menu access)

Compatibility

  • Minecraft 1.21.10+
  • Quilt Loader 0.28.0+
  • Works on both client and server
  • Compatible with other mods that modify smithing tables or loot tables

Migration from Plugin Version

This Quilt mod is a port of the original Paper/Spigot plugin. Key differences:

  1. Configuration Format: Uses JSON instead of YAML
  2. World vs Dimension: Uses Minecraft dimension identifiers instead of world names
  3. Commands: Simplified command structure
  4. Permissions: Uses Minecraft's built-in OP system instead of custom permissions
  5. GUI: Includes in-game configuration GUI through ModMenu

Configuration Migration

When migrating from the plugin version:

  1. disable_netherite_* settings remain the same
  2. refund_materials and refund_message remain the same
  3. disable_upgrade_templates remains the same
  4. World-specific configs: Change world names to dimension identifiers:
    • worldminecraft:overworld
    • world_netherminecraft:the_nether
    • world_endminecraft:the_end

Statistics

The mod tracks various statistics in statistics.json:

  • total_refunds: Total number of material refunds
  • total_blocked_crafts: Total number of blocked crafting attempts
  • total_template_removals: Total number of upgrade templates removed from loot
  • netherite_*_blocked: Per-item blocked crafting counts

Troubleshooting

Debug Mode

Enable debug mode to get detailed logging:

  1. Use /nonetherite debug on command
  2. Or set "debug_mode": true in config.json
  3. Check server logs for detailed information

Common Issues

  1. Configuration not loading: Ensure the JSON syntax is valid
  2. Commands not working: Make sure you have OP permissions
  3. Loot tables not modified: Some mods may override loot table changes
  4. Smithing table not blocked: Check that the mod is loaded and configuration is correct

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

  • Original Plugin: Based on NoNetheritePlus by SushiMC
  • Quilt Port: Converted to Quilt mod by [Your Name]
  • Libraries: Uses Quilt Standard Libraries (QSL), Cloth Config, and ModMenu

Version History

1.0.0

  • Initial Quilt port for Minecraft 1.21.10
  • Full feature parity with plugin version 1.4.0
  • Updated to latest Quilt Loader 0.28.0 and Quilt Standard Libraries 11.0.0-SNAPSHOT
  • Improved performance optimizations
  • Added dimension-specific configurations

About

Full control of netherite on Quilt servers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published