FXItems Plugin
FXItems is a modular, extensible Minecraft plugin for Spigot/Bukkit servers that allows you to create **custom items**, **foods**, **commands**, **events**, and **gameplay utilities** with ease. It is designed to be both user- and developer-friendly, providing a robust system for adding new content and customizing server gameplay.
-------------------------------------------------------------------------------------------
Features
-
Custom Items: Easily create new items with custom recipes, names, and behaviors.
-
Custom Foods: Add new food items with hunger/saturation values, recipes, and effects.
-
Custom Commands: Add server/player commands with tab-completion and subcommands.
-
Custom Events: Add event listeners for in-game actions and custom logic.
-
Extensive Utility Library: Utilities for cooldowns, mana, effects, projectiles, teleportation, and more.
-
One-Time Crafting: Support for items that can only be crafted once per server.
-
Highly Modular: Drop-in new classes for instant plugin extension.
-------------------------------------------------------------------------------------------
Installation
1.
Download the JAR and place it in your server's `plugins` directory.
2.
Restart your server to generate the default configuration and directories.
3.
(Optional): If you want to develop your own custom content, clone this repository and follow the instructions below.
-------------------------------------------------------------------------------------------
Getting Started
When the plugin runs for the first time, it initializes all registries and loads sample items, foods, commands, and events. All code is organized in a modular package structure:
src/main/java/com/noctify/
Custom/
Commands/
Events/
Foods/
ItemAttributes/
ItemBehavior/
OtherBehaviors/
Main/
Commands/
Listeners/
Utils/
-------------------------------------------------------------------------------------------
Plugin Architecture
The core of FXItems is centered on four registry classes:
-
ItemRegistry: Manages custom items and their registration.
-
FoodRegistry: Manages custom foods, their effects, and recipes.
-
CommandRegistry: Handles registration and execution of custom commands.
-
EventRegistry: Registers custom event listeners.
Each registry provides static methods for initializing and registering new content. All you need to do is create a new class and add a registration line in the appropriate registry.
-------------------------------------------------------------------------------------------
Registry Classes
ItemRegistry
- Registers new items with unique attributes and recipes.
- Associates item behaviors (custom ability/event handlers).
- Stores all custom items for retrieval and use.
FoodRegistry
- Registers new food items with custom hunger, saturation, effects, and recipes.
- Registers custom behaviors when food is consumed.
CommandRegistry
- Registers new commands by class name.
- Supports subcommands and tab-completion.
EventRegistry
- Registers custom event listeners for in-game actions.
-------------------------------------------------------------------------------------------
Sample Items, Foods, and Behaviors
Every custom item/food/command/event is provided as a sample in its respective package.
-
ExampleCommand: Shows how to implement a command with subcommands and tab completion.
-
ExampleItemBehavior: Shows how to implement a custom ability triggered by item interaction.
-
LegendaryItemCraftListener: Shows how to restrict certain items to one-time crafting.
-
Foods and ItemAttributes: (You should provide your own, or extend the samples.)
-------------------------------------------------------------------------------------------
Dependencies
FXItems requires the following dependencies to function correctly:
Required
-
Spigot or PaperMC (Minecraft server API)
FXItems is built for Spigot and compatible PaperMC servers. You must be running a Spigot or PaperMC-based server.
https://papermc.io/downloads/paper
-
Java 17 or newer
The plugin requires Java 17+ for compilation and runtime.
-
EntitySize
Entity resizing features will not work without this (`EntitySizeUtils`). The plugin works fine without it, but those features will be disabled.
https://www.spigotmc.org/resources/entity-size-1-20-5-✅-no-mods-no-resourcepack-api.116497/
Optional (for extended features)
-
ModelEngine
Required only if you want to use custom model projectiles with the ModelEngine API. If not installed, standard projectiles will be used instead.
https://mythiccraft.io/index.php?resources/model-engine—ultimate-entity-model-manager-1-19-4-1-21-4.1213/
-
PlaceholderAPI
*Required only if you use placeholders in your custom extensions or want integration with PlaceholderAPI.*
https://www.spigotmc.org/resources/placeholderapi.6245/
-------------------------------------------------------------------------------------------
Rest of Ducumentation on Github:
https://github.com/Noctify0/FXItems