Enchantments
Enchantments in EdTools are powerful, custom abilities you can add to your OmniTools. They are not vanilla enchantments and are defined entirely by your configurations, allowing for nearly limitless possibilities.
Creating an Enchantment
Create a new .yml
file in plugins/EdTools/enchants/
. The filename becomes the unique Enchant ID.
Example: enchants/crop-barn.yml
# The maximum chance (out of 100) this enchant can have to activate.
max-chance: 100
# The level this enchant starts with when a player first gets the tool.
starting-level: 0
# The maximum level this enchant can be upgraded to.
max-level: 1000
# The material to display in GUIs. Can be a standard material, a player head texture, or a placeholder.
material: "texture-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGE5OTUzY2U5NDVkYTZlMmZiODAwMzBlNzU0ZmE4ZTA5MmM0ZTllY2QwNTQ4ZjkzOGMzNDk3YTgwOGU0MWE0OCJ9fX0="
# Type of enchant. 'CUSTOM' for complex actions, 'EFFECT' for simple potion effects.
type: 'custom'
# The ID of the tool this enchant belongs to.
tool: 'crop-tool'
# The friendly name for display purposes.
display-name: 'Barn'
# The cost to upgrade the enchant.
cost:
currency: farm-coins
starting-cost: 100
increase-cost-by: 500
# The sequence of actions to perform when the enchant procs.
actions:
spawn-cow:
type: 'spawn-entity'
entity: 'COW'
entity-id: 'my_cow' # A temporary ID to reference this cow in later actions
pos: '{enchant_pos}'
add-goal:
type: 'add-goal'
entity: 'my_cow'
goal: 'move-to-pos'
pos: '%edtools_randompos_{enchant_pos}|15,0,15%'
speed: 0.3
break-blocks-loop:
type: 'loop'
ticks-between: 5
loop-count: 40
parallel: false
actions:
break_blocks:
type: 'break-blocks'
radius-pos: '{my_cow:pos}' # Use the spawned cow's position
x-radius: 3
z-radius: 3
affect-sell: true
remove-entity:
type: 'remove-entity'
entity: 'my_cow'
Enchant Actions
Actions are the building blocks of custom enchants, defined under the actions
key. They are executed in order when an enchant activates.
break-blocks
Breaks blocks in a defined area within a Regen Zone.
from
, to
(vectors) or radius-pos
, x-radius
loop
Repeats a sequence of nested actions multiple times.
loop-count
, ticks-between
, actions
spawn-entity
Spawns a custom entity.
entity
, pos
, entity-id
(for referencing)
add-goal
Adds an AI goal to a spawned entity (e.g., move, follow).
entity
, goal
, pos
, speed
remove-entity
Removes a previously spawned entity by its ID.
entity
(the entity-id
from spawning)
give-eco
Gives a player a specified amount of a custom currency.
currency
, amount
sell-item
Sells an item for the player based on item-prices.yml
.
item
, amount
add-backpack-item
Adds a backpack sellable item to the player's backpack.
item
, amount
command
Executes a command from the console.
command
delay
Pauses the action sequence for a specified number of ticks.
ticks
give-effect
Gives the player a potion effect.
effect
, level
, ticks
remove-effect
Removes a potion effect from the player.
effect
particle
Spawns a particle at a location.
particle
, pos
message
Sends a message to the player.
message
Last updated
Was this helpful?