diff --git a/CHANGELOG.md b/CHANGELOG.md index b0603076..01ee760b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,15 +2,17 @@ #### ⭐ Improvements -- Custom flight potion no longer available. Switched to superior potion of flying from Apotheosis [(\#213)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/213) +- Custom flight potion no longer craftable. Switched to superior potion of flying from Apotheosis [(\#213)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/213) - Occultism chalk has been made unbreakable due to inability to see how damaged it is in a ritual bag [(\#213)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/213) - Structory tower and arcane library loot has been buffed [(\#213)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/213) - Theurgy Calcination and Distillation sped up to reduce number of machines needed [(\#217)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/217) - Dragons in drygmy farms will now drop eggs, heads, and breath at a reduced rate [(\#218)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/218) +- Theurgy Creature Salt may be crafted from meat and fish now [(\#221)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/221) #### 🦟 Bugs Fixed - Evilcraft should no longer spawn silverfish everywhere [(\#213)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/213) +- Tiny Coal and Tiny Charcoals are now unified [(\#221)](https://github.com/EnigmaticaModpacks/Enigmatica10/issues/221) --- diff --git a/config/almostunified/placeholders.json b/config/almostunified/placeholders.json index 9d001051..29c831bb 100644 --- a/config/almostunified/placeholders.json +++ b/config/almostunified/placeholders.json @@ -7,6 +7,7 @@ "bitumen", "brass", "bronze", + "charcoal", "chrome", "cinnabar", "coal", diff --git a/config/almostunified/unification/materials.json b/config/almostunified/unification/materials.json index 9d5f0325..216ab82a 100644 --- a/config/almostunified/unification/materials.json +++ b/config/almostunified/unification/materials.json @@ -7,6 +7,8 @@ "occultism", "ae2", "enderio", + "actuallyadditions", + "utilitarian", "bigreactors" ], "priority_overrides": {}, @@ -15,6 +17,7 @@ "c:dusts/{material}", "c:gears/{material}", "c:gems/{material}", + "c:tiny_gems/{material}", "c:ingots/{material}", "c:nuggets/{material}", "c:ores/{material}", diff --git a/config/occultism-server.toml b/config/occultism-server.toml index 8e13eee9..b5226f35 100644 --- a/config/occultism-server.toml +++ b/config/occultism-server.toml @@ -57,11 +57,11 @@ # Default: 1.0 # Range: 0.0 ~ 1.7976931348623157E308 tier2CrusherTimeMultiplier = 1.0 - #Currently unused. The multiplier to each crushing recipe's crushing_time for Tier 3 (Afrit) Crusher Spirits. + #The multiplier to each crushing recipe's crushing_time for Tier 3 (Afrit) Crusher Spirits. # Default: 0.5 # Range: 0.0 ~ 1.7976931348623157E308 tier3CrusherTimeMultiplier = 0.5 - #Currently unused. The multiplier to each crushing recipe's crushing_time for Tier 4 (Marid) Crusher Spirits. + #The multiplier to each crushing recipe's crushing_time for Tier 4 (Marid) Crusher Spirits. # Default: 0.2 # Range: 0.0 ~ 1.7976931348623157E308 tier4CrusherTimeMultiplier = 0.2 @@ -86,7 +86,7 @@ # Range: > 0 crusherResultPickupDelay = 60 #The chance for a blacksmith familiar to repair an item (by 2 durability) whenever stone is picked up. 1.0 = 100%, 0.0 = 0%. - # Default: 0.05 + # Default: 0.33 # Range: 0.0 ~ 1.7976931348623157E308 blacksmithFamiliarRepairChance = 0.15 #The amount of iron required for a blacksmith familiar to upgrade another familiar. @@ -97,6 +97,34 @@ # Default: 400 # Range: > 0 blacksmithFamiliarUpgradeCooldown = 400 + #The multiplier to each smelting recipe's cooking_time for Tier 1 (Foliot) Smelter Spirits. + # Default: 1.0 + # Range: 0.0 ~ 1.7976931348623157E308 + tier1SmelterTimeMultiplier = 1.0 + #The multiplier to each smelting recipe's cooking_time for Tier 2 (Djinni) Smelter Spirits. + # Default: 0.5 + # Range: 0.0 ~ 1.7976931348623157E308 + tier2SmelterTimeMultiplier = 0.5 + #The multiplier to each smelting recipe's cooking_time for Tier 3 (Afrit) Smelter Spirits. + # Default: 0.1 + # Range: 0.0 ~ 1.7976931348623157E308 + tier3SmelterTimeMultiplier = 0.1 + #The multiplier to each smelting recipe's cooking_time for Tier 4 (Marid) Smelter Spirits. + # Default: 0.01 + # Range: 0.0 ~ 1.7976931348623157E308 + tier4SmelterTimeMultiplier = 0.01 + #The minimum ticks before a crusher can pick up an item it dropped. Default is 3 Seconds = 3 * 20 Ticks. + # Default: 60 + # Range: > 0 + smelterResultPickupDelay = 60 + #The horizontal value that the upgraded greedy familiar will seek blocks. (Large distances can cause delays in finding) + # Default: 32 + # Range: > 0 + greedySearchRange = 32 + #The vertical value that the upgraded greedy familiar will seek blocks. (Large distances can cause delays in finding) + # Default: 16 + # Range: > 0 + greedyVerticalSearchRange = 16 #Ritual Settings [rituals] diff --git a/kubejs/assets/occultism/lang/en_us.json b/kubejs/assets/occultism/lang/en_us.json new file mode 100644 index 00000000..9ae95070 --- /dev/null +++ b/kubejs/assets/occultism/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "item.occultism.ritual_dummy.craft_ritual_satchel_t1.tooltip": "Binds a Foliot into a satchel to build pentacles step-by-step for the summoner." +} diff --git a/kubejs/server_scripts/recipes/occultism/ritual.js b/kubejs/server_scripts/recipes/occultism/ritual.js index 01862438..abed5aaf 100644 --- a/kubejs/server_scripts/recipes/occultism/ritual.js +++ b/kubejs/server_scripts/recipes/occultism/ritual.js @@ -2,6 +2,13 @@ ServerEvents.recipes((event) => { const id_prefix = 'enigmatica:occultism/ritual/'; const recipes = []; + const sacrifice = { + llama: { display_name: 'ritual.occultism.sacrifice.llamas', tag: 'c:llamas' }, + chicken: { display_name: 'ritual.occultism.sacrifice.chicken', tag: 'c:chickens' }, + cow: { display_name: 'ritual.occultism.sacrifice.cows', tag: 'c:cows' }, + fish: { display_name: 'ritual.occultism.sacrifice.fish', tag: 'c:fish' } + }; + event.forEachRecipe({ type: 'occultism:ritual' }, (r) => { let recipe = JSON.parse(r.json); let recipe_id = r.getId(); @@ -18,107 +25,93 @@ ServerEvents.recipes((event) => { } } - if (recipe_id.includes('ritual/craft_wild_trim')) { - recipe.entity_to_sacrifice = { - display_name: 'ritual.occultism.sacrifice.llamas', - tag: 'c:llamas' - }; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/possess_warden')) { - recipe.entity_to_sacrifice = { - display_name: 'ritual.occultism.sacrifice.cows', - tag: 'c:cows' - }; - recipe.ingredients = [ - { item: 'minecraft:sculk' }, - { item: 'minecraft:sculk' }, - { item: 'minecraft:sculk' }, - { item: 'minecraft:sculk' }, - { item: 'minecraft:sculk' }, - { item: 'minecraft:sculk' }, - { item: 'minecraft:sculk' }, - { item: 'minecraft:sculk' } - ]; - recipe.id = recipe_id; - } else if ( - recipe_id.includes('ritual/possess_goat') || - recipe_id.includes('ritual/possess_witch') || - recipe_id.includes('ritual/possess_bee') - ) { - recipe.entity_to_sacrifice = { - display_name: 'ritual.occultism.sacrifice.chicken', - tag: 'c:chickens' - }; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/craft_budding_amethyst')) { - delete recipe.entity_to_sacrifice; - recipe.ingredients = [ - { tag: 'c:dusts/amethyst' }, - { tag: 'c:dusts/amethyst' }, - { tag: 'c:dusts/amethyst' }, - { tag: 'c:dusts/amethyst' } - ]; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/repair_miners')) { - recipe.ingredients = [ - { item: 'occultism:otherworld_essence' }, - { item: 'occultism:otherworld_essence' }, - { item: 'occultism:otherworld_essence' }, - { item: 'occultism:otherworld_essence' }, - { item: 'occultism:spirit_attuned_gem' }, - { item: 'occultism:spirit_attuned_gem' }, - { item: 'occultism:spirit_attuned_gem' }, - { item: 'occultism:spirit_attuned_gem' } - ]; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/repair_armors') || recipe_id.includes('ritual/repair_tools')) { - recipe.ingredients = [ - { item: 'occultism:otherworld_essence' }, - { item: 'occultism:otherworld_essence' }, - { item: 'occultism:spirit_attuned_gem' }, - { item: 'occultism:otherworld_essence' } - ]; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/repair_chalks')) { - recipe.ingredients = [ - { item: 'occultism:otherworld_essence' }, - { tag: 'c:dusts/otherworld_wood' }, - { item: 'occultism:otherworld_essence' }, - { tag: 'c:dusts/otherstone' } - ]; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/craft_gray_paste')) { - recipe.ingredients = [ - { tag: 'c:gunpowders' }, - { item: 'minecraft:clay_ball' }, - { item: 'minecraft:phantom_membrane' }, - { item: 'minecraft:clay_ball' } - ]; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/wild_drowned')) { - recipe.entity_to_sacrifice = { display_name: 'ritual.occultism.sacrifice.fish', tag: 'c:fish' }; - recipe.activation_item = { tag: 'minecraft:coral_blocks' }; - recipe.ingredients = [ - { item: 'minecraft:pufferfish' }, - { item: 'minecraft:gravel' }, - { item: 'minecraft:dried_kelp_block' }, - { item: 'minecraft:gravel' } - ]; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/possess_zombie_piglin')) { - recipe.ingredients = [ - { item: 'minecraft:gilded_blackstone' }, - { item: 'minecraft:warped_fungus' }, - { item: 'minecraft:quartz' }, - { item: 'minecraft:crimson_fungus' } - ]; - recipe.id = recipe_id; - } else if (recipe_id.includes('ritual/craft_ritual_satchel_t1')) { - recipe.activation_item = { item: 'occultism:book_of_binding_bound_foliot' }; - recipe.pentacle_id = 'occultism:craft_foliot'; + if (recipe_id.includes('_random_animal_')) { + recipe.item_to_use = { item: 'minecraft:egg' }; recipe.id = recipe_id; } + switch (recipe_id) { + case 'occultism:ritual/misc_wild_trim': + recipe.entity_to_sacrifice = sacrifice.llama; + recipe.id = recipe_id; + break; + case 'occultism:ritual/possess_goat': + case 'occultism:ritual/possess_witch': + case 'occultism:ritual/possess_bee': + case 'occultism:ritual/wild_breeze': + case 'occultism:ritual/wild_weak_breeze': + case 'occultism:ritual/wild_strong_breeze': + recipe.entity_to_sacrifice = sacrifice.chicken; + recipe.id = recipe_id; + break; + case 'occultism:ritual/possess_warden': + recipe.entity_to_sacrifice = sacrifice.cow; + recipe.ingredients = [ + { item: 'minecraft:sculk' }, + { item: 'minecraft:sculk' }, + { item: 'minecraft:sculk' }, + { item: 'minecraft:sculk' } + ]; + recipe.id = recipe_id; + break; + case 'occultism:ritual/misc_budding_amethyst': + delete recipe.entity_to_sacrifice; + recipe.ingredients = [ + { tag: 'c:dusts/amethyst' }, + { tag: 'c:dusts/amethyst' }, + { tag: 'c:dusts/amethyst' }, + { tag: 'c:dusts/amethyst' } + ]; + recipe.id = recipe_id; + break; + + case 'occultism:ritual/repair_armors': + case 'occultism:ritual/repair_tools': + case 'occultism:ritual/repair_miners': + recipe.ingredients = [ + { item: 'occultism:otherworld_essence' }, + { item: 'occultism:otherworld_essence' }, + { item: 'occultism:spirit_attuned_gem' }, + { item: 'occultism:otherworld_essence' } + ]; + recipe.id = recipe_id; + break; + case 'occultism:ritual/repair_chalks': + recipe.ingredients = [ + { item: 'occultism:otherworld_essence' }, + { tag: 'c:dusts/otherworld_wood' }, + { item: 'occultism:otherworld_essence' }, + { tag: 'c:dusts/otherstone' } + ]; + recipe.id = recipe_id; + break; + case 'occultism:ritual/wild_drowned': + recipe.entity_to_sacrifice = sacrifice.fish; + recipe.activation_item = { tag: 'minecraft:coral_blocks' }; + recipe.ingredients = [ + { item: 'minecraft:pufferfish' }, + { item: 'minecraft:gravel' }, + { item: 'minecraft:dried_kelp_block' }, + { item: 'minecraft:gravel' } + ]; + recipe.id = recipe_id; + break; + case 'occultism:ritual/possess_zombie_piglin': + recipe.ingredients = [ + { item: 'minecraft:gilded_blackstone' }, + { item: 'minecraft:warped_fungus' }, + { item: 'minecraft:quartz' }, + { item: 'minecraft:crimson_fungus' } + ]; + recipe.id = recipe_id; + break; + case 'occultism:ritual/craft_ritual_satchel_t1': + recipe.activation_item = { item: 'occultism:book_of_binding_bound_foliot' }; + recipe.pentacle_id = 'occultism:craft_foliot'; + recipe.id = recipe_id; + break; + } + if (recipe.id) { recipes.push(recipe); } diff --git a/kubejs/server_scripts/recipes/theurgy/calcination.js b/kubejs/server_scripts/recipes/theurgy/calcination.js index 8cc50cf9..f47ec32a 100644 --- a/kubejs/server_scripts/recipes/theurgy/calcination.js +++ b/kubejs/server_scripts/recipes/theurgy/calcination.js @@ -1,6 +1,29 @@ ServerEvents.recipes((event) => { const id_prefix = 'enigmatica:theurgy/calcination/'; - const recipes = []; + const recipes = [ + { + ingredient: { ingredient: { tag: 'minecraft:meat' }, count: 1 }, + result: { + type: 'theurgy:item', + id: 'theurgy:alchemical_salt_creature', + count: 1 + }, + time: 20, + category: 'misc', + id: `${id_prefix}alchemical_salt_creature_from_meat` + }, + { + ingredient: { ingredient: { tag: 'minecraft:fishes' }, count: 1 }, + result: { + type: 'theurgy:item', + id: 'theurgy:alchemical_salt_creature', + count: 1 + }, + time: 20, + category: 'misc', + id: `${id_prefix}alchemical_salt_creature_from_fishes` + } + ]; event.forEachRecipe({ type: 'theurgy:calcination' }, (r) => { let recipe = JSON.parse(r.json); diff --git a/kubejs/server_scripts/tags/block/occultism/pentacle_materials.js b/kubejs/server_scripts/tags/block/occultism/pentacle_materials.js new file mode 100644 index 00000000..d28a71de --- /dev/null +++ b/kubejs/server_scripts/tags/block/occultism/pentacle_materials.js @@ -0,0 +1,4 @@ +ServerEvents.tags('block', (event) => { + let additions = ['minecraft:sculk', 'minecraft:sculk_shrieker', 'minecraft:sculk_sensor']; + event.get('occultism:pentacle_materials').add(additions); +}); diff --git a/kubejs/server_scripts/tags/item/neoforge/tiny_gems.js b/kubejs/server_scripts/tags/item/neoforge/tiny_gems.js new file mode 100644 index 00000000..30f7bdfa --- /dev/null +++ b/kubejs/server_scripts/tags/item/neoforge/tiny_gems.js @@ -0,0 +1,11 @@ +ServerEvents.tags('item', (event) => { + let additions = { + charcoal: ['actuallyadditions:tiny_charcoal', 'utilitarian:tiny_charcoal'], + coal: ['actuallyadditions:tiny_coal', 'utilitarian:tiny_coal'] + }; + + Object.keys(additions).forEach((tag) => { + event.get(`c:tiny_gems/${tag}`).add(additions[tag]); + event.get('c:tiny_gems').add(additions[tag]); + }); +}); diff --git a/kubejs/server_scripts/tags/item/occultism/pentacle_materials.js b/kubejs/server_scripts/tags/item/occultism/pentacle_materials.js new file mode 100644 index 00000000..53967d55 --- /dev/null +++ b/kubejs/server_scripts/tags/item/occultism/pentacle_materials.js @@ -0,0 +1,4 @@ +ServerEvents.tags('item', (event) => { + let additions = ['minecraft:sculk', 'minecraft:sculk_shrieker', 'minecraft:sculk_sensor']; + event.get('occultism:pentacle_materials').add(additions); +});