-
Notifications
You must be signed in to change notification settings - Fork 68
Customizing Resonance Drops
Resonance is an enchantment valid for mining tools, which unlocks in the late game tree. Resonance allows modifying block drops by an extendable variety of ways. Spectrum ships with 2 types of resonance drop modificators:
-
spectrum:drop_self
: Allows silk-touch like behavior with the ability to copy block entity or block state data -
spectrum:modify_drops
: Allows the conversion of drops to a whole other item type
You can specify resonance drop modifications by placing json files in the directory <data_pack_or_mod_name>/resonance_drops/
. Mods are able to add their own processors by calling ResonanceDropProcessors.register()
.
Making the block drop itself - even ones that can not be harvested via Silk Touch. You can also specify to copy block entity or block state data.
-
(BlockPredicate) block
: The block / blocks / block tag that this entry triggers on -
(String[]) nbt_to_copy
: Block Entity NBT to preserve -
(String[]) state_properties_to_copy
: Block State Properties to preserve -
(Boolean) include_default_state_properties
: Normally, state properties that are the default will be omitted to make items stack better. By setting this flag to true, those will be copied regardless. (likepersistent=false
for leaves)
{
"type": "spectrum:drop_self",
"block": {
"blocks": [
"spectrum:black_materia"
]
}
}
{
"type": "spectrum:drop_self",
"block": {
"tag": "c:buds"
}
}
When a Sculk Shrieker is broken, retain the ability to summon the Warden.
{
"type": "spectrum:drop_self",
"block": {
"blocks": [
"minecraft:sculk_shrieker"
]
},
"state_properties_to_copy": [
"can_summon"
]
}
When a block in the minecraft:signs
tag is broken with Resonance, various kinds of block entity data is preserved.
{
"type": "spectrum:drop_self",
"block": {
"tag": "minecraft:signs"
},
"nbt_to_copy": [
"GlowingText",
"Color",
"Text1",
"Text2",
"Text3",
"Text4"
]
}
Switching the drops a block / block tag drops.
-
(BlockPredicate) block
: The block / blocks / block tag that this entry triggers on -
(List) modify_drops
:-
(Ingredient) input
: The ingredient that will get matched and turned intooutput
-
(Identifier) output
: The item that will be dropped instead
-
{
"type": "spectrum:modify_drops",
"block": {
"tag": "c:ores"
},
"modify_drops": [
{
"input": {
"item": "minecraft:coal"
},
"output": "spectrum:pure_coal"
},
{
"input": {
"tag": "c:raw_coppers"
},
"output": "spectrum:pure_copper"
}
]
}
General
For Players
- Getting Started
- Mixing Colors
- Stuck on how to progress?
- Main Progression Steps (MAJOR SPOILERS)
For Server Admins / Modpack Creators
- Integrating into Modpacks
- Adjusting Progression
- Advancement Criteria
- 1.7.x: Patchouli Pages
- 1.7.x: Patchouli Recipe Pages
- 1.8.x: Modonomicon Pages
- 1.8.x: Modonomicon Recipe Pages
- Commands
- Type Specific Predicates
- JsonNBT
For Map Makers
Recipe Types
- Custom Pigment Pedestal Recipes
- Custom Anvil Crushing Recipes
- Custom Fusion Shrine Recipes
- Custom Enchanter Recipes
- Custom Enchantment Upgrade Recipes
- Custom Potion Workshop Brewing Recipes
- Custom Potion Workshop Crafting Recipes
- Custom Potion Workshop Reagents
- Custom Spirit Instiller Recipes
- Custom Liquid Dipping Recipes
- Custom Ink Converting Recipes
- Custom Crystallarieum Recipes
- Custom Cinderhearth Recipes
- Custom Titration Barrel Recipes
- Fluid Ingredients
Loot Tables
More Customisation
- Adding Nature's Staff Conversions
- Adding Entity Fishing Entries
- Adding Resonance Drops
- Adding Crystal Apothecary Harvestables
- Adding Particle Spawner Particles
For Contributors