Skip to main content

πŸ“œ 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/SystemUsed for
ItemsAdderCustom items and supported custom block checks
OraxenCustom items and supported custom block checks
NexoCustom items and supported custom block checks
MMOItemsCustom item checks
MythicMobsCustom mob checks and Mob Invasion custom mob spawning
CustomModelDataResource-pack item matching
Display namesBasic named item matching
VanillaMaterials, 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
info

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
tip

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