Skip to content

Commit

Permalink
Merge pull request #487 from MuteTiefling/farmers-delight
Browse files Browse the repository at this point in the history
E9E Cleanup
  • Loading branch information
MuteTiefling authored Jul 12, 2023
2 parents fe01d8c + 560c0b5 commit cf03292
Show file tree
Hide file tree
Showing 10 changed files with 120 additions and 37 deletions.
2 changes: 2 additions & 0 deletions changelogs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
- Skeletons have had their health reduced. They may also spawn as melee variants now instead of only using bows [\#485](https://github.com/EnigmaticaModpacks/Enigmatica9/pull/485) ([MuteTiefling](https://github.com/MuteTiefling))
- Named Miniboss mobs will now drop affix loot [\#485](https://github.com/EnigmaticaModpacks/Enigmatica9/pull/485) ([MuteTiefling](https://github.com/MuteTiefling))
- Crimson Berries, Nightshade Berres, Sweetberries, Glowberries, Blueberries, and Torchberry Plants may now be purchased from the Market [\#485](https://github.com/EnigmaticaModpacks/Enigmatica9/pull/485) ([MuteTiefling](https://github.com/MuteTiefling))
- Farmers Delight recipes are now covered by Create Mixing. Don't overheat them or they'll burn! [\#487](https://github.com/EnigmaticaModpacks/Enigmatica9/pull/487) ([MuteTiefling](https://github.com/MuteTiefling))
- Stable Wormholes may now be reset in a crafting table [\#487](https://github.com/EnigmaticaModpacks/Enigmatica9/pull/487) ([MuteTiefling](https://github.com/MuteTiefling))

### 🐛 Fixed Bugs

Expand Down
1 change: 1 addition & 0 deletions kubejs/client_scripts/constants/jei_hidden_disabled.js
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ jei.expert.items.disabled = [
'create:precision_mechanism',
'create:electron_tube',
'create:mechanical_crafter',
'create:experience_nugget',

'createaddition:alternator',
'createaddition:modular_accumulator',
Expand Down
112 changes: 79 additions & 33 deletions kubejs/server_scripts/base/recipes/create/mixing.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,74 +2,120 @@ ServerEvents.recipes((event) => {
const id_prefix = 'enigmatica:base/create/mixing/';
const recipes = [
{
inputs: [
Ingredient.of('#forge:glass').toJson(),
Ingredient.of('#forge:glass').toJson(),
Ingredient.of('#forge:dusts/iron').toJson()
],
outputs: [Item.of('immersiveengineering:insulating_glass', 2).toJson()],
results: [{ item: 'immersiveengineering:insulating_glass', count: 2 }],
ingredients: [{ tag: 'forge:glass/colorless' }, { tag: 'forge:glass' }, { tag: 'forge:dusts/iron' }],
heatRequirement: 'heated',
id: `${id_prefix}insulating_glass`
},
{
inputs: [
Ingredient.of('#forge:crops/tea').toJson(),
Ingredient.of('#forge:crops/tea').toJson(),
Ingredient.of('#forge:crops/tea').toJson(),
Ingredient.of('#forge:crops/tea').toJson(),
{ fluid: 'minecraft:water', amount: 250, nbt: {} },
results: [{ amount: 1000, fluid: 'create:tea' }],
ingredients: [
{ tag: 'forge:storage_blocks/tea' },
{ fluid: 'minecraft:water', amount: 750, nbt: {} },
{ fluidTag: 'forge:milk', amount: 250 }
],
outputs: [{ amount: 500, fluid: 'create:tea' }],
heatRequirement: 'heated',
id: `create:mixing/tea`
},
{
inputs: [
Ingredient.of('#hexerei:tallow_meltable').toJson(),
Ingredient.of('#hexerei:tallow_meltable').toJson(),
Ingredient.of('#hexerei:tallow_meltable').toJson(),
Ingredient.of('#hexerei:tallow_meltable').toJson(),
Ingredient.of('#hexerei:tallow_meltable').toJson(),
Ingredient.of('#hexerei:tallow_meltable').toJson(),
Ingredient.of('#hexerei:tallow_meltable').toJson(),
Ingredient.of('#hexerei:tallow_meltable').toJson(),
results: [{ fluid: 'hexerei:tallow_fluid', amount: 2000 }],
ingredients: [
{ tag: 'hexerei:tallow_meltable' },
{ tag: 'hexerei:tallow_meltable' },
{ tag: 'hexerei:tallow_meltable' },
{ tag: 'hexerei:tallow_meltable' },
{ tag: 'hexerei:tallow_meltable' },
{ tag: 'hexerei:tallow_meltable' },
{ tag: 'hexerei:tallow_meltable' },
{ tag: 'hexerei:tallow_meltable' },
{ fluid: 'minecraft:water', amount: 2000, nbt: {} }
],
outputs: [{ amount: 2000, fluid: 'hexerei:tallow_fluid' }],
heatRequirement: 'heated',
id: `${id_prefix}tallow_fluid`
},
{
inputs: [Ingredient.of('create:experience_nugget').toJson()],
outputs: [{ amount: 60, fluid: 'sophisticatedcore:xp_still' }],
results: [{ fluid: 'sophisticatedcore:xp_still', amount: 60 }],
ingredients: [{ item: 'create:experience_nugget' }],
heatRequirement: 'heated',
id: `${id_prefix}experience_nugget_to_liquid`
},
{
inputs: [Ingredient.of('ars_nouveau:experience_gem').toJson()],
outputs: [{ amount: 60, fluid: 'sophisticatedcore:xp_still' }],
results: [{ fluid: 'sophisticatedcore:xp_still', amount: 60 }],
ingredients: [{ item: 'ars_nouveau:experience_gem' }],
heatRequirement: 'heated',
id: `${id_prefix}experience_gem_to_liquid`
},
{
inputs: [Ingredient.of('ars_nouveau:greater_experience_gem').toJson()],
outputs: [{ amount: 240, fluid: 'sophisticatedcore:xp_still' }],
results: [{ fluid: 'sophisticatedcore:xp_still', amount: 240 }],
ingredients: [{ item: 'ars_nouveau:greater_experience_gem' }],
heatRequirement: 'heated',
id: `${id_prefix}greater_experience_gem_to_liquid`
},
{
inputs: [Ingredient.of('minecraft:honey_block').toJson()],
outputs: [{ amount: 1000, fluid: 'the_bumblezone:honey_fluid_still' }],
results: [{ fluid: 'the_bumblezone:honey_fluid_still', amount: 1000 }],
ingredients: [{ item: 'minecraft:honey_block' }],
heatRequirement: 'heated',
id: `create:mixing/honey`
}
];

// Farmer's Delight Cooking Compat
event.forEachRecipe({ type: 'farmersdelight:cooking' }, (r) => {
let source_recipe = JSON.parse(r.json);
let output_item = source_recipe.result.item;
let cook_time = 200;
let serving_dish = {
bottle: ['farmersdelight:glow_berry_custard', 'farmersdelight:apple_cider', 'farmersdelight:hot_cocoa'],
pumpkin: ['farmersdelight:stuffed_pumpkin_block'],
exclusions: ['farmersdelight:dumplings', 'farmersdelight:cabbage_rolls']
};

if (source_recipe.cookingTime) {
cook_time = source_recipe.cookingTime;
}

let ingredients = source_recipe.ingredients.map((ingredient) => {
if (ingredient.tag && ingredient.tag == 'forge:milk') {
ingredient = { fluidTag: 'forge:milk', amount: 250 };
}
return ingredient;
});
let ashes = Math.ceil(ingredients.length / 2);
let burned_outputs = [{ item: 'supplementaries:ash', count: ashes > 0 ? ashes : 1 }];

if (!serving_dish.exclusions.includes(output_item)) {
if (serving_dish.bottle.includes(output_item)) {
ingredients.push({ item: 'minecraft:glass_bottle' });
burned_outputs.push({ item: 'minecraft:glass_bottle' });
} else if (serving_dish.pumpkin.includes(output_item)) {
ingredients.push({ item: 'minecraft:pumpkin' });
burned_outputs.push({ item: 'minecraft:charcoal', count: 2 });
} else {
ingredients.push({ item: 'minecraft:bowl' });
burned_outputs.push({ item: 'minecraft:charcoal' });
}
}

recipes.push(
{
results: [source_recipe.result],
ingredients: ingredients,
heatRequirement: 'heated',
processingTime: cook_time,
id: `${id_prefix}${output_item.replace(':', '_')}`
},
{
results: burned_outputs,
ingredients: ingredients,
heatRequirement: 'superheated',
processingTime: cook_time / 10,
id: `${id_prefix}${output_item.replace(':', '_')}_burned`
}
);
});

recipes.forEach((recipe) => {
recipe.type = 'create:mixing';
recipe.ingredients = recipe.inputs;
recipe.results = recipe.outputs;
event.custom(recipe).id(recipe.id);
});
});
15 changes: 15 additions & 0 deletions kubejs/server_scripts/base/recipes/occultism/shapeless.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
ServerEvents.recipes((event) => {
const id_prefix = 'enigmatica:base/occultism/shapeless/';

const recipes = [
{
output: 'occultism:stable_wormhole',
inputs: [Item.of('occultism:stable_wormhole', {}).weakNBT()],
id: `${id_prefix}stable_wormhole_reset`
}
];

recipes.forEach((recipe) => {
event.shapeless(recipe.output, recipe.inputs).id(recipe.id);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ServerEvents.tags('block', (event) => {
'thermal:sadiroot_block',
'thermal:radish_block',
'thermal:corn_block',
'thermal:tea_block',
'farmersdelight:cabbage_crate',

'quark:glowberry_sack',
Expand Down Expand Up @@ -80,6 +81,7 @@ ServerEvents.tags('block', (event) => {
event.get(`forge:storage_blocks/sadiroot`).add(['thermal:sadiroot_block']);
event.get(`forge:storage_blocks/radish`).add(['thermal:radish_block']);
event.get(`forge:storage_blocks/corn`).add(['thermal:corn_block']);
event.get(`forge:storage_blocks/tea`).add(['thermal:tea_block']);
event.get(`forge:storage_blocks/cabbage`).add(['farmersdelight:cabbage_crate']);

event.get(`forge:storage_blocks/glowberry`).add(['quark:glowberry_sack']);
Expand Down
2 changes: 2 additions & 0 deletions kubejs/server_scripts/base/tags/items/forge/storage_blocks.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ ServerEvents.tags('item', (event) => {
'thermal:sadiroot_block',
'thermal:radish_block',
'thermal:corn_block',
'thermal:tea_block',
'farmersdelight:cabbage_crate',
'quark:glowberry_sack',
'quark:berry_sack',
Expand Down Expand Up @@ -76,6 +77,7 @@ ServerEvents.tags('item', (event) => {
event.get(`forge:storage_blocks/sadiroot`).add(['thermal:sadiroot_block']);
event.get(`forge:storage_blocks/radish`).add(['thermal:radish_block']);
event.get(`forge:storage_blocks/corn`).add(['thermal:corn_block']);
event.get(`forge:storage_blocks/tea`).add(['thermal:tea_block']);
event.get(`forge:storage_blocks/cabbage`).add(['farmersdelight:cabbage_crate']);

event.get(`forge:storage_blocks/glowberry`).add(['quark:glowberry_sack']);
Expand Down
8 changes: 8 additions & 0 deletions kubejs/server_scripts/expert/recipes/create/shaped.js
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,14 @@ ServerEvents.recipes((event) => {
B: 'pneumaticcraft:compressed_stone'
},
id: `create:crafting/curiosities/minecart_coupling`
},
{
output: 'create:experience_block',
pattern: ['AAA', 'AAA', 'AAA'],
key: {
A: 'ars_nouveau:greater_experience_gem'
},
id: `create:crafting/materials/experience_block`
}
];

Expand Down
5 changes: 5 additions & 0 deletions kubejs/server_scripts/expert/recipes/create/shapeless.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ ServerEvents.recipes((event) => {
output: 'create:rose_quartz_lamp',
inputs: ['create:polished_rose_quartz', '#forge:dusts/glowstone', '#forge:wires/lead'],
id: `create:crafting/kinetics/rose_quartz_lamp`
},
{
output: '9x ars_nouveau:greater_experience_gem',
inputs: ['create:experience_block'],
id: `create:crafting/materials/experience_nugget_from_block`
}
];

Expand Down
1 change: 1 addition & 0 deletions kubejs/server_scripts/expert/recipes/enigmatica/remove.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ ServerEvents.recipes((event) => {
{ id: 'create:compat/ae2/milling/fluix_crystal' },
{ id: 'create:compat/ae2/milling/certus_quartz' },
{ id: 'create:compat/ae2/milling/ender_pearl' },
{ id: 'create:compat/byg/crushing/pervaded_netherrack' },
{ id: 'create:crushing/prismarine_crystals' },
{ id: 'create:sequenced_assembly/track' },
{ id: 'create:sequenced_assembly/precision_mechanism' },
Expand Down
9 changes: 5 additions & 4 deletions kubejs/server_scripts/expert/recipes/minecraft/shaped.js
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,12 @@ ServerEvents.recipes((event) => {
id: 'minecraft:stonecutter'
},
{
output: 'minecraft:conduit',
pattern: ['AAA', 'ABA', 'AAA'],
output: '3x minecraft:conduit',
pattern: [' A ', 'BBB', ' C '],
key: {
A: 'minecraft:nautilus_shell',
B: 'quark:rainbow_rune'
A: '#forge:essences/air',
B: 'minecraft:nautilus_shell',
C: '#forge:essences/water'
},
id: 'minecraft:conduit'
},
Expand Down

0 comments on commit cf03292

Please sign in to comment.