Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tree of Life update and other tweaks #981

Merged
12 changes: 10 additions & 2 deletions changelogs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
### Enigmatica 9 v1.23.0

### 🎁 New Mods Added

### 🌟 Improvements

- [Expert] Add recipes to transmute common materials from Twilight Forest into SushiGo materials, so sushi is more accessible. [\#979](https://github.com/EnigmaticaModpacks/Enigmatica9/issues/979)
- [Expert] New Tree of Life structure, courtesy of Gefailter [\#981](https://github.com/EnigmaticaModpacks/Enigmatica9/issues/981)
- [Expert] Cave Trolls no longer drop Magic Beans. They're only found in the Obsidian Vaults now. [\#981](https://github.com/EnigmaticaModpacks/Enigmatica9/issues/981)
- Steel Plates are no longer auto rewarded [\#981](https://github.com/EnigmaticaModpacks/Enigmatica9/issues/981)

### 🐛 Fixed Bugs

- [Expert] Corrected some English translations [\#981](https://github.com/EnigmaticaModpacks/Enigmatica9/issues/981)
- Ancient Slabs/Stairs are now properly tagged [\#981](https://github.com/EnigmaticaModpacks/Enigmatica9/issues/981)

---

### Enigmatica 9 v1.22.1

Expand Down
2 changes: 1 addition & 1 deletion config/ftbquests/quests/chapters/chapter_one.snbt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
""
"================================="
""
"Metal processing has been heavily customized with many metals having unique methods of acquisition. Be certain to examine JEI carefully!"
"Metal processing has been heavily customized with many metals having unique methods of acquisition. Be certain to examine EMI carefully!"
]
hide: true
id: "1075F3BAA03841EF"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,6 @@
type: "item"
}
{
auto: "enabled"
count: 4
id: "000000000000061F"
item: "emendatusenigmatica:steel_plate"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,6 @@
type: "item"
}
{
auto: "enabled"
count: 4
id: "55893B8A47AC8275"
item: "emendatusenigmatica:steel_plate"
Expand Down
18 changes: 4 additions & 14 deletions kubejs/client_scripts/base/jei_descriptions.js
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,10 @@ JEIEvents.information((event) => {
{
items: ['supplementaries:quiver'],
text: [`Pick up the Quiver and Right-Click it onto Arrows to load them.`]
},
{
items: ['twilightforest:magic_beans'],
text: [`Found within obsidian vaults deep in Cave Troll caves.`]
}
];

Expand All @@ -364,20 +368,6 @@ JEIEvents.information((event) => {
});
});

// generatableCobblestone.forEach((cobblestone) => {
// event.addItem(
// cobblestone,
// 'Can be generated in a Vanilla Cobblestone Generator. The block below where the Cobblestone generates needs to be a Block of Iron.'
// );
// });

// generatableStone.forEach((stone) => {
// event.addItem(
// stone,
// 'Can be generated in a Vanilla Stone Generator. The block below where the Stone generates needs to be a Block of Diamond.'
// );
// });

jei.base.items.disabled.forEach((item) => {
if (item !== air) {
// console.log(`Disabled: ${item}`);
Expand Down
28 changes: 28 additions & 0 deletions kubejs/client_scripts/lang_modifications.js
Original file line number Diff line number Diff line change
Expand Up @@ -1751,6 +1751,34 @@ const entries = {
normal: `Industrial Air Blower`,
expert: `Spellbound Air Blower`
}
},
{
key: 'compressedcreativity.recipe.blasting.industrial_air_blower',
value: {
normal: `Industrial Air Blower behind Lava`,
expert: `Spellbound Air Blower behind Lava`
}
},
{
key: 'compressedcreativity.recipe.haunting.industrial_air_blower',
value: {
normal: `Industrial Air Blower behind Soul Fire`,
expert: `Spellbound Air Blower behind Soul Fire`
}
},
{
key: 'compressedcreativity.recipe.smoking.industrial_air_blower',
value: {
normal: `Industrial Air Blower behind Fire`,
expert: `Spellbound Air Blower behind Fire`
}
},
{
key: 'compressedcreativity.recipe.washing.industrial_air_blower',
value: {
normal: `Industrial Air Blower behind Flowing Water`,
expert: `Spellbound Air Blower behind Flowing Water`
}
}
],
engineersdecor: [
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
62 changes: 32 additions & 30 deletions kubejs/server_scripts/base/entity_events/spawned/custom_rituals.js
Original file line number Diff line number Diff line change
Expand Up @@ -315,40 +315,42 @@ EntityEvents.spawned((event) => {

// Remove Previous Tree of Life Handling
if (ritual_effect.structure && ritual_effect.structure.remove) {
let structure = NBTIO.read(ritual_effect.structure.remove);
let start_delay = ritual_effect.structure.start_delay;
let delay;
let cur = {
x: Math.floor(abs.x + ritual_effect.offset.x - Math.floor(structure.size[0] / 2)),
y: Math.floor(abs.y + ritual_effect.offset.y),
z: Math.floor(abs.z + ritual_effect.offset.z - Math.floor(structure.size[2] / 2))
};

structure.blocks.forEach((block) => {
let palette = structure.palette[block.state];

let coord = {
x: Math.floor(cur.x + block.pos[0]),
y: Math.floor(cur.y + block.pos[1]),
z: Math.floor(cur.z + block.pos[2])
ritual_effect.structure.remove.forEach((structure) => {
structure = NBTIO.read(structure);
let start_delay = ritual_effect.structure.start_delay;
let delay;
let cur = {
x: Math.floor(abs.x + ritual_effect.offset.x - Math.floor(structure.size[0] / 2)),
y: Math.floor(abs.y + ritual_effect.offset.y),
z: Math.floor(abs.z + ritual_effect.offset.z - Math.floor(structure.size[2] / 2))
};

// Remove any blocks that can't exist without something under them first to avoid them getting duplicated
delay = start_delay;
event.server.scheduleInTicks(delay, (schedule) => {
if (
ritual_effect.structure.soft_blocks &&
ritual_effect.structure.soft_blocks.includes(palette.Name)
) {
structure.blocks.forEach((block) => {
let palette = structure.palette[block.state];

let coord = {
x: Math.floor(cur.x + block.pos[0]),
y: Math.floor(cur.y + block.pos[1]),
z: Math.floor(cur.z + block.pos[2])
};

// Remove any blocks that can't exist without something under them first to avoid them getting duplicated
delay = start_delay;
event.server.scheduleInTicks(delay, (schedule) => {
if (
ritual_effect.structure.soft_blocks &&
ritual_effect.structure.soft_blocks.includes(palette.Name)
) {
command = `/execute in ${ritual_dimension} run fill ${coord.x} ${coord.y} ${coord.z} ${coord.x} ${coord.y} ${coord.z} air replace ${palette.Name}`;
schedule.server.runCommandSilent(command);
}
});

delay = start_delay + 0.5 * block.pos[1];
event.server.scheduleInTicks(delay, (schedule) => {
command = `/execute in ${ritual_dimension} run fill ${coord.x} ${coord.y} ${coord.z} ${coord.x} ${coord.y} ${coord.z} air replace ${palette.Name}`;
schedule.server.runCommandSilent(command);
}
});

delay = start_delay + 0.5 * block.pos[1];
event.server.scheduleInTicks(delay, (schedule) => {
command = `/execute in ${ritual_dimension} run fill ${coord.x} ${coord.y} ${coord.z} ${coord.x} ${coord.y} ${coord.z} air replace ${palette.Name}`;
schedule.server.runCommandSilent(command);
});
});
});
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ServerEvents.tags('block', (event) => {
event.get('minecraft:wooden_slabs').add(['naturesaura:ancient_slab']);
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ServerEvents.tags('block', (event) => {
event.get('minecraft:wooden_stairs').add(['naturesaura:ancient_stairs']);
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ServerEvents.tags('item', (event) => {
event.get('minecraft:wooden_slabs').add(['naturesaura:ancient_slab']);
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ServerEvents.tags('item', (event) => {
event.get('minecraft:wooden_stairs').add(['naturesaura:ancient_stairs']);
});
41 changes: 31 additions & 10 deletions kubejs/server_scripts/constants/ritual_effects.js
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ const ritual_effects = {
tree_of_life_1: {
aura: { y_offset: 4 },
structure: {
add: `kubejs/data/kubejs/structures/tree_of_life_1.nbt`,
add: `kubejs/data/kubejs/structures/tree_of_life_1_new.nbt`,
title: `title {"text":"The tree takes root...","color":"dark_green"}`,
start_delay: 160
},
Expand All @@ -147,47 +147,68 @@ const ritual_effects = {
tree_of_life_2: {
aura: { y_offset: 5 },
structure: {
add: `kubejs/data/kubejs/structures/tree_of_life_2.nbt`,
remove: `kubejs/data/kubejs/structures/tree_of_life_1.nbt`,
add: `kubejs/data/kubejs/structures/tree_of_life_2_new.nbt`,
remove: [
`kubejs/data/kubejs/structures/tree_of_life_1.nbt`,
`kubejs/data/kubejs/structures/tree_of_life_1_new.nbt`
],
title: `title {"text":"The tree grows stronger...","color":"dark_green"}`,
start_delay: 160,
soft_blocks: [
'occultism:candle_white',
'occultism:spirit_attuned_crystal',
'quark:yellow_blossom_leaf_carpet',
'twilightforest:mushgloom'
'twilightforest:mushgloom',
'everycomp:q/ars_elemental/yellow_archwood_leaf_carpet',
'twilightforest:root_strand',
'minecraft:hanging_roots',
'naturesaura:gold_powder'
]
},
offset: { x: 0, y: -3, z: 0 }
},
tree_of_life_3: {
aura: { y_offset: 5 },
structure: {
add: `kubejs/data/kubejs/structures/tree_of_life_3.nbt`,
remove: `kubejs/data/kubejs/structures/tree_of_life_2.nbt`,
add: `kubejs/data/kubejs/structures/tree_of_life_3_new.nbt`,
remove: [
`kubejs/data/kubejs/structures/tree_of_life_2.nbt`,
`kubejs/data/kubejs/structures/tree_of_life_2_new.nbt`
],
title: `title {"text":"The tree grows stronger...","color":"dark_green"}`,
start_delay: 160,
soft_blocks: [
'occultism:candle_white',
'occultism:spirit_attuned_crystal',
'quark:yellow_blossom_leaf_carpet',
'twilightforest:mushgloom'
'twilightforest:mushgloom',
'everycomp:q/ars_elemental/yellow_archwood_leaf_carpet',
'twilightforest:root_strand',
'minecraft:hanging_roots',
'naturesaura:gold_powder'
]
},
offset: { x: 0, y: -3, z: 0 }
},
tree_of_life_4: {
aura: { y_offset: 5 },
structure: {
add: `kubejs/data/kubejs/structures/tree_of_life_4.nbt`,
remove: `kubejs/data/kubejs/structures/tree_of_life_3.nbt`,
add: `kubejs/data/kubejs/structures/tree_of_life_4_new.nbt`,
remove: [
`kubejs/data/kubejs/structures/tree_of_life_3.nbt`,
`kubejs/data/kubejs/structures/tree_of_life_3_new.nbt`
],
title: `title {"text":"The tree grows stronger...","color":"dark_green"}`,
start_delay: 160,
soft_blocks: [
'occultism:candle_white',
'occultism:spirit_attuned_crystal',
'quark:yellow_blossom_leaf_carpet',
'twilightforest:mushgloom'
'twilightforest:mushgloom',
'everycomp:q/ars_elemental/yellow_archwood_leaf_carpet',
'twilightforest:root_strand',
'minecraft:hanging_roots',
'naturesaura:gold_powder'
]
},
offset: { x: 0, y: -3, z: 0 }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
ServerEvents.entityLootTables((event) => {
if (global.isExpertMode == false) {
return;
}
// Override Cave Troll Loot Table
event.addEntity('twilightforest:troll', (table) => {
table.addPool((pool) => {
pool.rolls = 1.0;
pool.addItem('twilightforest:trollsteinn', 1, [1, 2]);
pool.addItem('twilightforest:torchberries', 1, 1);
pool.addCondition({
chance: 0.05,
condition: 'minecraft:random_chance_with_looting',
looting_multiplier: 0.01
});
});
});
});