π Custom Content Support
EventForge can work with vanilla content and supported custom-content plugins.
This is useful for events that use custom items, custom catches, custom blocks, custom mobs, or addon objective types.
Supported plugins
EventForge includes support for:
ItemsAdder
Oraxen
Nexo
MMOItems
MythicMobs
EventForge also supports:
CustomModelData items
display-name matching
vanilla materials
vanilla entity types
addon objective types
What each integration is used for
| Plugin/System | Used for |
|---|---|
| ItemsAdder | Custom items and supported custom block checks |
| Oraxen | Custom items and supported custom block checks |
| Nexo | Custom items and supported custom block checks |
| MMOItems | Custom item checks |
| MythicMobs | Custom mob checks and Mob Invasion custom mob spawning |
| CustomModelData | Resource-pack item matching |
| Display names | Basic named item matching |
| Vanilla | Materials, items, blocks, and entity types |
Custom items
Custom item support is mainly used by item-based objectives such as:
COLLECT_ITEMS
FISH_ITEMS
Example:
objective:
type: COLLECT_ITEMS
items:
custom_gem:
provider: ITEMSADDER
id: "mynamespace:custom_gem"
points: 5
ItemsAdder item example
objective:
type: COLLECT_ITEMS
items:
crystal:
provider: ITEMSADDER
id: "customitems:crystal"
points: 5
Oraxen item example
objective:
type: COLLECT_ITEMS
items:
coin:
provider: ORAXEN
id: "event_coin"
points: 5
Nexo item example
objective:
type: COLLECT_ITEMS
items:
token:
provider: NEXO
id: "event_token"
points: 5
MMOItems item example
objective:
type: COLLECT_ITEMS
items:
relic_sword:
provider: MMOITEMS
id: "RELIC_SWORD"
points: 10
For MMOItems, use the MMOItems item ID expected by your MMOItems setup.
CustomModelData items
You can match items by material and CustomModelData.
objective:
type: COLLECT_ITEMS
items:
special_token:
material: PAPER
custom-model-data: 1001
points: 10
This is useful if your server uses a resource pack without a custom item plugin.
Display-name matching
You can also match items by display name.
objective:
type: COLLECT_ITEMS
items:
named_token:
material: PAPER
display-name: "&bEvent Token"
points: 10
CustomModelData or plugin item IDs are usually more reliable than display-name matching.
Custom fishing catches
FISH_ITEMS can use custom catch rules.
objective:
type: FISH_ITEMS
catches:
rare_fish:
material: COD
display-name: "&bRare Fish"
points: 5
This lets fishing events score specific items instead of only vanilla catches.
Custom blocks
INTERACT_BLOCKS can match custom blocks from supported providers.
Supported providers for custom block checks:
ItemsAdder
Oraxen
Nexo
Example:
objective:
type: INTERACT_BLOCKS
blocks:
lucky_block:
display-name: "&eLucky Block"
provider: ITEMSADDER
custom-id: "luckyblockhunt:common_lucky_block"
fallback-material: GOLD_BLOCK
points: 10
once-per-player: true
The fallback material is useful for testing or for servers that do not have the custom-content plugin installed.
MythicMobs custom mobs
KILL_MOBS can match MythicMobs mobs.
objective:
type: KILL_MOBS
custom-mobs:
skeleton_knight:
provider: MYTHICMOBS
id: "SkeletonKnight"
points: 5
Use the MythicMobs internal mob ID from your MythicMobs configuration.
MythicMobs in Mob Invasion
MOB_INVASION can spawn MythicMobs mobs inside waves.
objective:
type: MOB_INVASION
world: world
x: 0
y: 70
z: 0
radius: 25
waves:
1:
custom-mobs:
skeleton_knight:
provider: MYTHICMOBS
id: "SkeletonKnight"
amount: 3
points: 5
display-name: "&7Skeleton Knight"
This lets invasion events use your existing MythicMobs setup.
Provider names
Common provider names:
ITEMSADDER
ORAXEN
NEXO
MMOITEMS
MYTHICMOBS
CUSTOM_MODEL_DATA
DISPLAY_NAME
VANILLA
Not every provider applies to every objective.
Examples:
MMOITEMS is used for item matching.
MYTHICMOBS is used for entity matching and MythicMobs spawning.
ItemsAdder/Oraxen/Nexo can be used for custom item matching and supported custom block checks.
Natural block protection
Some block objectives support natural-block checks.
Example:
objective:
type: MINE_BLOCKS
require-natural-blocks: true
This helps stop players from placing and breaking their own blocks for points.
Addon objectives
EventForge addons can register custom objective types.
Example:
objective:
type: RELIC_HUNT
This only works if the addon providing RELIC_HUNT is installed.
If the addon is missing, EventForge will not be able to load that objective type.
Validating custom content
After editing custom-content events, run:
/eventforge reload
/eventforge validate <event>
Example:
/eventforge validate interact_blocks_hunt
If something is wrong, check:
/eventforge errors <event>
Troubleshooting
Custom item does not scoreβ
Check that:
the provider plugin is installed
the provider name is correct
the custom item ID is correct
the item matches the configured material or ID
the event is active
the objective type supports that custom item method
Custom block does not scoreβ
Check that:
the custom block plugin is installed
the custom block ID is correct
the player is right-clicking the correct block
fallback-material is correct for testing
INTERACT_BLOCKS is configured correctly
MythicMobs mob does not scoreβ
Check that:
MythicMobs is installed
the mob ID is correct
the objective uses provider: MYTHICMOBS
the event is active
the mob being killed is actually a MythicMobs mob
MythicMobs mob does not spawn in Mob Invasionβ
Check that:
MythicMobs is installed
the MythicMobs mob ID exists
the wave uses custom-mobs
provider is MYTHICMOBS
amount is above 0
points is above 0
Event does not loadβ
Run:
/eventforge validate <event>
/eventforge errors <event>
Most custom-content setup mistakes will show as validation warnings or errors.
Summary
Custom content support lets EventForge work with vanilla servers and custom-content servers.
Use it for:
custom collection events
custom fishing events
custom interact block hunts
MythicMobs combat events
MythicMobs invasion waves
addon objectives
resource-pack item events