Tags
Creators
Details
All versions
1.1.0
Release
SMP Core (Free) 1.1.010 months ago 105
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Paper
Purpur
Spigot
Changes
[1.1.0] - 2024-12-27
Added
- MessageManager & messages.yml: Centralized message system for all plugin strings
- All user-facing messages now configurable in
messages.yml - Supports color codes with
&prefix - Placeholder support with
{placeholder}format - Messages are cached for performance
- Hot-reload support with
/smp reload
- All user-facing messages now configurable in
- Enchantment Limiter: Completely rewritten from EnchantLimiter plugin approach
- Efficient enchantment caching with cross-version name support
- Handles both item enchantments and enchanted book stored enchants
- Triggers: enchanting table, anvil, inventory click, item pickup
- Enchantment name mapping for compatibility (sharpness ↔ damage_all, etc.)
- Set limit to 0 to completely ban an enchantment
- ProGuard Obfuscation: Build-time code obfuscation for distribution protection and jar file space
- Item Limiter GUI System: Complete GUI-based item limit management
- Main menu with view, add, banned items, and reload options
- Add item limits by dragging items and setting quantities
- Ban Mode toggle: One-click option to ban items (sets limit to 0)
- Banned Items section: Separate view for items with limit = 0
- View and edit existing limits with visual item display
- Delete limits with shift+click
- Supports custom model data, display names, and potion types
- Advanced Item Matching: Item limits now support:
- Custom model data matching for modded/custom items
- Display name matching for named items
- Potion type matching for specific potion variants
- Real-time Item Enforcement: Continuous background task checks player inventories
- Pickup Prevention: Prevents picking up items that would exceed limits
- Inventory Click Prevention: Blocks taking items from containers if it exceeds limits
- Mob Manager Feature Enhancements:
- Per-world configuration: Disable mobs in specific worlds only
- World Selection GUI: New GUI to select which world to configure
- Non-spawn-egg entities: Support for Iron Golem, Snow Golem, Wither, Ender Dragon
- Global Settings GUI: Configure chunk cleanup and WorldGuard bypass
- Chunk Cleanup: Optionally remove disabled mobs when chunks load (WARNING: Destructive!)
- WorldGuard Integration: Optional bypass for mobs in WorldGuard protected regions
- Mace Limiter GUI: New settings GUI accessible via right-click in main menu
- Increase/decrease max maces with click and shift-click
- Reset craft count button
- Visual display of current limit status
- Verbose Logging: Optional debug logging for all features (
plugin.verbosein config) - Dynamic Recipe Management: Mace recipes automatically removed when limit reached
- Infinite Restock GUI: Full GUI-based control for villager trading
- Set max trades per villager (0 = unlimited)
- Toggle price penalty removal (demand = 0)
- Toggle applying to wandering traders
- Uninstall mode to restore original trade limits
- Command:
/smp infiniterestockopens the manager (permissionsmpcore.infiniterestock)
Changed
- Enchantment Replacement → Enchantment Limiter: Renamed and completely rewritten
- Now uses efficient caching system from EnchantLimiter plugin
- Cross-version enchantment name mapping
- Simplified event handling with direct item modification
- Separate config from Custom Anvil Caps
- Custom Anvil Caps Listener: Simplified implementation
- Removed dependency on EnchantmentUtils for merging
- Direct enchantment capping at anvil/enchanting table
- Better protection enchantment filtering
- Item Limiter Rewrite: Completely rewritten item limiting system
- New
ItemLimiterManagerfor centralized limit management - New
ItemLimitclass for advanced item matching - Removed check-method config (now uses continuous background checking)
- Added proper listener unregistration when feature is disabled
- New
- Config Default: Verbose logging now defaults to
false - Version bump to 1.1.0
- Improved feature toggle system with better state management
- Enhanced reload functionality across all features
- Infinite Restock Rewrite: Ported from InstantRestock with persistence
- Back up original trade limits in PDC and restore on uninstall
- Apply on interact, merchant open, and trade acquisition
- Mob Manager GUI: Main GUI now shows per-world mob configuration
- Back button returns to world select instead of main menu
- Mob Spawning → Mob Manager: Renamed feature for clarity
- Dependencies: Removed unused ProtocolLib soft-dependency, added WorldGuard soft-dependency
Removed
- Enchantment Replacement Feature: Replaced by Enchantment Limiter
- Item Bans Feature: Removed separate item ban system (use Item Limiter with limit=0 instead)
- Effect Bans Feature: Removed potion effect ban system (to be reimplemented later)
- BanManager: Removed as item/effect bans are now handled by Item Limiter
- ProtocolLib Dependency: Removed unused soft-dependency on ProtocolLib
Fixed
- Feature Unload: Listeners are now properly unregistered when features are disabled
- Memory Management: Proper cleanup of sessions and caches on feature disable
- Mace Limiter: Recipes are now properly restored when the feature is disabled
- Mace Limiter: Recipes are now automatically disabled when the craft limit is reached
- Mace Limiter: Adjusting max maces now properly updates recipe availability
- Commands: Added permission checks to
/smpcommand - menu now requiressmpcore.menupermission - Commands: Tab completion now only shows subcommands the player has permission for
- Villager Trades: Consistent application after trade clicks and profession upgrades
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:GH4H8ndx:VPDFXKuA"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:GH4H8ndx:VPDFXKuA"
}

