Grinding Ball Modification Event
This event allows you to add, modify, and remove Grinding Balls, which can be used in the Sag Mill.
It is a server event and reloadable! Keep in mind that server events have to be located inside the kubejs/server_scripts folder.
NOTE
The Grinding Ball system has been reworked by the EnderIO team in version 8.2.0. Previously, this was a startup event.
Overview
Grinding Balls are used in the Sag Mill to add a modifier values to the recipe process. These modifiers affect the output quantity, the chance of a byproduct, and the energy consumption of the recipe.
- access in a server script via:
EnderIOEvents.grindingBalls - supported operations
- add new entries
- remove existing entries
- clear modifications from other sources (e.g. other mods)
Event Listener
To access the event, the first thing you need to do is to open an event listener for the grindingBalls event in a server script.
js
EnderIOEvents.grindingBalls(event => {
// ...
})After that, use one of the following methods to modify the Vat Reagents.
Adding
- access in the event via:
event.add(...) - properties:
item- description: specifies the item or tag
- type:
Ingredient
outputMultiplier- description: specifies the output multiplier value
- type:
float
bonusMultiplier- description: specifies the bonus multiplier value
- type:
float
energyMultiplier- description: specifies the energy multiplier value
- type:
float - usage: values less than 1.0 reduce energy consumption, values greater than 1.0 increase it
durability- description: specifies the durability of the Grinding Ball item
- type:
int
- notes:
- the
itemproperty can take a single item or a tag (prefixed with#) - if a tag has been used for
itemand you add another entry with a single item, which is part of the tag, the tag entry takes priority - adding a Grinding Ball will only register an item to be used as a Grinding Ball, it does not add a new item to the game, you need to use an existing item or create one via KubeJS or another mod
- the
js
EnderIOEvents.grindingBalls(event => {
// registers an iron ingot as a Grinding Ball
// it has a 1.5x output multiplier, the default 1.0x bonus multiplier,
// a 0.75x energy multiplier and a durability of 500
event.add("minecraft:iron_ingot", 1.5, 1.0, 0.75, 500)
// this is also possible to cover all kinds of ingots
event.add("#c:ingots", 1.5, 1.0, 0.75, 500)
})Removing
- access in the event via:
event.remove(...) - properties:
item- description: specifies the item or tag
- type:
Ingredient
- notes:
- the
itemproperty can take a single item or a tag (prefixed with#) - if a tag is used, all items, which are part of the tag, will have their data removed
- removing refers to deleting the Grinding Ball data, the item still exists in the game
- the
js
EnderIOEvents.grindingBalls(event => {
// remove whole tag
event.remove("#c:crops")
// remove single item
event.remove("enderio:energetic_alloy_grinding_ball")
})Clearing
- access in the event via:
event.clear() - description: removes all all modifications from other sources (e.g. other mods with datapacks), this does not clear all Grinding Balls
js
EnderIOEvents.grindingBalls(event => {
event.clear()
})