
Spigot
ModelFrameWork
An Object-Based Framework for Advanced Minecraft Models
๐ฎ ModelFramework
A lightweight and extensible Paper plugin framework for connecting BetterModel models to interactive world objects.
Transform any BetterModel model into a fully interactive object โ crates, furniture, machines, doors, decorations, or anything you can imagine.
โ ๏ธ Premium Plugin
This repository contains a LIMITED public version of ModelFramework.
The complete version with full source code, all features, and future updates is available exclusively on Minecraft-Market.
๐ Get the Premium version: ModelFramework on MineCraft-Market
What's different in Premium?
- Complete source code and all core classes
- Full feature set
- Priority support and updates
- Commercial server usage license
โจ What ModelFramework Does
- YAML-Based Object Definitions โ Define objects entirely through configuration files
- BetterModel Integration โ Seamless connection to BetterModel 3.3.0+ API
- Animation System โ Trigger animations on interaction with full control
- Smart Interaction โ RIGHT_CLICK, LEFT_CLICK, SHIFT variants with item requirements
- Item Provider System โ Oraxen, ItemsAdder, and Vanilla item support
- Hand/Inventory Check โ Configure whether required items must be held or just in inventory
- State Machine โ Simple but powerful state system for objects
- Smart Rotation โ Models automatically face the player direction
- Scale & Offset โ Configure model scale and position per object
- Category GUI โ Two-level GUI for browsing and selecting objects
- Instance Persistence โ Placed objects survive server restarts
- Security โ OP-only placement with automatic item cleanup
- Action System โ Sounds, messages, and commands on triggers
- Cooldown System โ Per-player, per-instance cooldowns
- Performance โ Fully event-driven, no tick loops
ModelFramework is not a crate plugin.
It's a generic framework. Crates are just one example.
๐ Requirements
| Dependency | Version | Required |
|---|---|---|
| Paper | 1.21.1+ | โ Yes |
| Java | 25+ | โ Yes |
| BetterModel | 3.3.0+ | โ Yes |
| Oraxen | 1.207.0+ | โ Optional |
| ItemsAdder | โ | โ Optional |
| PlaceholderAPI | 2.11.6+ | โ Optional |
๐ File Structure
plugins/
โโโ ModelFramework/
โโโ config.yml
โโโ objects/
โ โโโ crates.yml
โ โโโ furniture.yml
โ โโโ machines.yml
โโโ data/
โโโ instances.yml
Example configuration
# ======================================== # ModelFramework Configuration # ======================================== # Debug mode - shows detailed info in console debug: false # GUI Settings gui: title: "&8โฌ Model Selector" size: 54 # Cooldown defaults (seconds) defaults: cooldown: 3 # Data storage storage: # AUTO_SAVE interval in minutes (0 = disabled) auto-save: 5 # Messages messages: prefix: "&7[&bModelFW&7] " no-permission: "&cYou don't have permission!" object-not-found: "&cObject not found: &e%object%" placed: "&aObject &e%object% &aplaced successfully!" removed: "&cObject removed!" cooldown: "&cPlease wait &e%time% &cseconds!" reload: "&aConfiguration reloaded! &7(%time%ms)" item-given: "&aYou received &e%object%&a!" missing-item: "&cYou need &e%item% &cto do this!" no-console: "&cThis command can only be used by players!" inspect-header: "&7&m----------&r &bInstance Info &7&m----------" inspect-none: "&cNo instance found at target location." debug-enabled: "&aDebug mode enabled!" debug-disabled: "&cDebug mode disabled!"