init
This commit is contained in:
commit
a956daf8e2
2351 changed files with 163047 additions and 0 deletions
|
|
@ -0,0 +1,39 @@
|
|||
/** Shamelessly stolen from A&B :) */
|
||||
function opposite(face) {
|
||||
if (face.equals("down"))
|
||||
return "up"
|
||||
if (face.equals("east"))
|
||||
return "west"
|
||||
if (face.equals("west"))
|
||||
return "east"
|
||||
if (face.equals("north"))
|
||||
return "south"
|
||||
if (face.equals("south"))
|
||||
return "north"
|
||||
return "down"
|
||||
}
|
||||
|
||||
BlockEvents.placed(event => {
|
||||
let block = event.getBlock()
|
||||
|
||||
// gtceu blocks
|
||||
if (block.getId().startsWith("gtceu:")) {
|
||||
// Set energy converters to feToEu mode when placed
|
||||
if (block.getId().endsWith("_energy_converter")) {
|
||||
block.mergeEntityData({ energyContainer: { feToEu: true } })
|
||||
}
|
||||
}
|
||||
|
||||
// Blocks below these line only get their placements altered if they were placed by an entity
|
||||
if (event.getEntity() == null) return
|
||||
|
||||
// Reverse placed Dynamos on Sneak
|
||||
if (block.getId().startsWith("thermal:dynamo") || (block.getId().startsWith("systeams:"))) { // systeams:steam is not a block thankfully
|
||||
let properties = block.getProperties()
|
||||
if (event.getEntity().isCrouching()) {
|
||||
properties["facing"] = opposite(properties["facing"].toString())
|
||||
block.set(block.getId(), properties)
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
13
kubejs/server_scripts/fixes_tweaks/Fixes_Server.js
Normal file
13
kubejs/server_scripts/fixes_tweaks/Fixes_Server.js
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/** some mod tags the charcoal recipe incorrectly */
|
||||
ServerEvents.recipes(event => {
|
||||
event.replaceInput({ id: "minecraft:coal_block" }, "#minecraft:coals", "minecraft:coal")
|
||||
|
||||
event.replaceOutput({ id: "minecraft:charcoal" }, "#minecraft:coals", "minecraft:charcoal")
|
||||
// thanks greg
|
||||
event.replaceOutput({ id: "gtceu:shapeless/block_decompress_charcoal" }, "minecraft:coal", "minecraft:charcoal")
|
||||
event.replaceOutput({ id: "thermal:storage/charcoal_from_block" }, "minecraft:coal", "minecraft:charcoal")
|
||||
event.replaceOutput({ id: "thermal:machines/press/unpacking/press_charcoal_unpacking" }, "minecraft:coal", "minecraft:charcoal")
|
||||
event.replaceOutput({ type: "gtceu:pyrolyse_oven" }, "minecraft:coal", "20x minecraft:charcoal");
|
||||
event.replaceOutput({ id: "gtceu:forge_hammer/hammer_charcoal_block_to_gem" }, "minecraft:coal", "9x minecraft:charcoal")
|
||||
event.replaceOutput({ id: "gtceu:coke_oven/log_to_charcoal" }, "minecraft:coal", "minecraft:charcoal")
|
||||
})
|
||||
15
kubejs/server_scripts/fixes_tweaks/Starting_Items.js
Normal file
15
kubejs/server_scripts/fixes_tweaks/Starting_Items.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
* One-time give of items to new players
|
||||
*/
|
||||
|
||||
PlayerEvents.loggedIn(event => {
|
||||
// Check if player doesn't have "starting_items" stage yet
|
||||
if (!event.player.stages.has("starting_items")) {
|
||||
// Add the stage
|
||||
event.player.stages.add("starting_items")
|
||||
// remove the TOP note
|
||||
event.player.inventory.clear()
|
||||
// Give qb to player
|
||||
event.player.give("ftbquests:book")
|
||||
}
|
||||
})
|
||||
30
kubejs/server_scripts/fixes_tweaks/active_transformer.js
Normal file
30
kubejs/server_scripts/fixes_tweaks/active_transformer.js
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
/**
|
||||
* Lowers the tiering of Active Transformers from LuV to IV - script 2 of 2.
|
||||
* - Changes recipes of High Power Casings and the Active Transformer machine to make them accessible earlier
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.recipes.gtceu.assembler("high_power_casing")
|
||||
.itemInputs(
|
||||
"#forge:frames/iridium",
|
||||
"6x #forge:plates/iridium",
|
||||
"#gtceu:circuits/ev",
|
||||
"16x #forge:fine_wires/cobalt",
|
||||
"16x #forge:fine_wires/copper",
|
||||
"2x gtceu:platinum_single_wire",
|
||||
)
|
||||
.itemOutputs("2x gtceu:high_power_casing")
|
||||
.duration(100).EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.assembler("active_transformer")
|
||||
.itemInputs(
|
||||
"gtceu:iv_transformer_16a",
|
||||
"#gtceu:circuits/luv",
|
||||
"8x gtceu:samarium_iron_arsenic_oxide_single_wire",
|
||||
"2x gtceu:hpic_chip"
|
||||
)
|
||||
.inputFluids("gtceu:sodium_potassium 1000")
|
||||
.itemOutputs("gtceu:active_transformer")
|
||||
.duration(300).EUt(GTValues.VA[GTValues.IV])
|
||||
// Lowers the voltage at which the laser pipes can be made to post plat-line IV
|
||||
event.replaceInput({ output: "gtceu:normal_laser_pipe" }, "gtceu:osmiridium_foil", "gtceu:rhodium_foil")
|
||||
})
|
||||
7
kubejs/server_scripts/fixes_tweaks/bountry_board.js
Normal file
7
kubejs/server_scripts/fixes_tweaks/bountry_board.js
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
/** Bounty board recipes only accept oak. The dev has stated this is intended. https://github.com/ejektaflex/Bountiful/issues/271 */
|
||||
ServerEvents.recipes(event => {
|
||||
if (doMonicoins) {
|
||||
event.replaceInput({ id: "bountiful:crafting/bountyboard" }, "minecraft:oak_log", "#minecraft:logs")
|
||||
event.replaceInput({ id: "bountiful:crafting/bountyboard" }, "minecraft:oak_planks", "#minecraft:planks")
|
||||
}
|
||||
})
|
||||
5
kubejs/server_scripts/fixes_tweaks/enchantments.js
Normal file
5
kubejs/server_scripts/fixes_tweaks/enchantments.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
/** TODO */
|
||||
|
||||
MoreJSEvents.filterAvailableEnchantments((event) => {
|
||||
event.add("minecraft:unbreaking");
|
||||
})
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Temporary fix for EnderIO redstone conduits not connecting to various blocks
|
||||
* see https://github.com/Team-EnderIO/EnderIO/issues/852#issuecomment-2395092479
|
||||
*/
|
||||
ServerEvents.tags("block", event => {
|
||||
const list = [
|
||||
// All GT tiered blocks
|
||||
/^gtceu:(steam|u?lv|mv|hv|ev|iv|luv|zpm|uv|uhv|uev|uiv|max|creative)_.*$/,
|
||||
|
||||
// All GT Large variants (turbines & multis) + power substation
|
||||
/^gtceu:.*(_large|large_|_large_|mega_).*$/,
|
||||
"gtceu:power_substation",
|
||||
|
||||
// Thermal/Systeams dynamos & boilers
|
||||
"#thermal:dynamos",
|
||||
"steamdynamo:steam_dynamo",
|
||||
"systeams:steam_dynamo",
|
||||
/^systeams:.*_boiler$/,
|
||||
|
||||
// NC:Neoteric controller & io port
|
||||
"nuclearcraft:fission_reactor_controller",
|
||||
"nuclearcraft:fission_reactor_port",
|
||||
|
||||
// Snad
|
||||
"snad:snad",
|
||||
"snad:red_snad",
|
||||
|
||||
// Modded lamps
|
||||
/^gtceu:.*_lamp$/,
|
||||
/^quark:.*_lamp$/,
|
||||
/^chipped:.*_lamp$/,
|
||||
"xtonesreworked:flat_lamp",
|
||||
]
|
||||
|
||||
event.add("enderio:redstone_connectable", list)
|
||||
})
|
||||
10
kubejs/server_scripts/fixes_tweaks/glass_breaking.js
Normal file
10
kubejs/server_scripts/fixes_tweaks/glass_breaking.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
* Makes you mine glass faster using a pickaxe
|
||||
*/
|
||||
|
||||
ServerEvents.tags("block", event => {
|
||||
event.add("minecraft:mineable/pickaxe", ["#forge:glass", "#forge:glass_panes"]);
|
||||
event.add("minecraft:mineable/pickaxe", /xtonesreworked:glaxx_block_/);
|
||||
event.add("minecraft:mineable/pickaxe", /enderio:clear_glass/);
|
||||
event.add("minecraft:mineable/pickaxe", /enderio:fused_quartz/);
|
||||
})
|
||||
32
kubejs/server_scripts/fixes_tweaks/gregtech_credits.js
Normal file
32
kubejs/server_scripts/fixes_tweaks/gregtech_credits.js
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
Creates Forming Press recipes for all tiers of Gregtech Credits,
|
||||
replacing the singular one for Cupronickel.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Remove the one forming press recipe for Cupronickel
|
||||
event.remove({ id: "gtceu:forming_press/credit_cupronickel" })
|
||||
|
||||
const metals = [
|
||||
"copper",
|
||||
"cupronickel",
|
||||
"silver",
|
||||
"gold",
|
||||
"platinum",
|
||||
"osmium",
|
||||
"naquadah",
|
||||
"neutronium"
|
||||
]
|
||||
|
||||
for (let index = 0; index < metals.length; index++) {
|
||||
// Total energy cost (default 1600 EU for Cupronickel)
|
||||
let energyIn = 1600 * Math.pow(4, index);
|
||||
|
||||
// Create recipes for all coin types
|
||||
event.recipes.gtceu.forming_press(`gtceu:forming_press/${metals[index]}_credit`)
|
||||
.notConsumable("gtceu:credit_casting_mold")
|
||||
.itemInputs(`gtceu:${metals[index]}_plate`)
|
||||
.itemOutputs(`4x gtceu:${metals[index]}_credit`)
|
||||
.EUt(energyIn / (20 * 5))
|
||||
.duration(20 * 5)
|
||||
}
|
||||
})
|
||||
17
kubejs/server_scripts/fixes_tweaks/hatch_revert.js
Normal file
17
kubejs/server_scripts/fixes_tweaks/hatch_revert.js
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/** Reverts the GTM 1.4.1 hatch recipe nerf for NM and HM */
|
||||
ServerEvents.recipes(event => {
|
||||
if (doHatchRevert) {
|
||||
event.remove({ id: /item_import_bus_/ })
|
||||
event.remove({ id: /item_export_bus_/ })
|
||||
event.remove({ id: /fluid_hatch_/, type: "gtceu:assembler" })
|
||||
event.remove({ id: /fluid_export_hatch_/, type: "gtceu:assembler" })
|
||||
|
||||
let hatchtier = ["ulv", "lv", "mv", "hv", "ev", "iv", "luv", "zpm", "uv", "uhv", "uev", "uiv", "max"]
|
||||
hatchtier.forEach(volt => {
|
||||
event.shaped(`gtceu:${volt}_input_bus`, [" S ", " T ", " "], { S: "#forge:chests/wooden", T: `gtceu:${volt}_machine_hull` })
|
||||
event.shaped(`gtceu:${volt}_output_bus`, [" ", " T ", " S "], { S: "#forge:chests/wooden", T: `gtceu:${volt}_machine_hull` })
|
||||
event.shaped(`gtceu:${volt}_input_hatch`, [" S ", " T ", " "], { S: "#forge:glass", T: `gtceu:${volt}_machine_hull` })
|
||||
event.shaped(`gtceu:${volt}_output_hatch`, [" ", " T ", " S "], { S: "#forge:glass", T: `gtceu:${volt}_machine_hull` })
|
||||
})
|
||||
}
|
||||
})
|
||||
14
kubejs/server_scripts/fixes_tweaks/no_structures.js
Normal file
14
kubejs/server_scripts/fixes_tweaks/no_structures.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Remove the stronghold biome tag so that there are no biomes that can generate strongholds
|
||||
* The same is done for Ad Astra's moon dungeons and Oil wells (contain unused materials)
|
||||
*/
|
||||
ServerEvents.tags("worldgen/biome", event => {
|
||||
event.removeAll("minecraft:has_structure/stronghold");
|
||||
event.removeAll("ad_astra:has_structure/moon_dungeon");
|
||||
event.removeAll("ad_astra:has_structure/oil_well");
|
||||
});
|
||||
|
||||
// Add the eye trim as an ender dragon drop
|
||||
LootJS.modifiers((event) => {
|
||||
event.addEntityLootModifier("minecraft:ender_dragon").addLoot("minecraft:eye_armor_trim_smithing_template");
|
||||
});
|
||||
16
kubejs/server_scripts/fixes_tweaks/ore_smelting.js
Normal file
16
kubejs/server_scripts/fixes_tweaks/ore_smelting.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
* Remove/hide useless or overlapping smelting, blasting recipes for ores
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Remove overlapping ore blocks to ingot/dust recipes
|
||||
event.remove({ id: /^minecraft:nuclearcraft_\w+_ore$/ })
|
||||
|
||||
event.remove({ id: /^minecraft:\w+_from_smelting_[\w_]+_ore$/ })
|
||||
event.remove({ id: /^minecraft:\w+_from_blasting_[\w_]+_ore$/ })
|
||||
|
||||
event.remove({ id: /^thermal:smelting\/\w+_ingot_from_(ore|deepslate_ore)_smelting$/ })
|
||||
event.remove({ id: "thermal:smelting/sulfur_from_smelting" })
|
||||
event.remove({ id: "thermal:smelting/cinnabar_from_smelting" })
|
||||
event.remove({ id: "thermal:smelting/apatite_from_smelting" })
|
||||
})
|
||||
28
kubejs/server_scripts/fixes_tweaks/pterb_retier.js
Normal file
28
kubejs/server_scripts/fixes_tweaks/pterb_retier.js
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* Re-tiers the PTERB to late LuV - script 1 of 2.
|
||||
* - Replaces UV components with LuV components.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: "gtceu:assembly_line/pterb" })
|
||||
event.remove({ id: "gtceu:research_station/1_x_gtceu_active_transformer" })
|
||||
|
||||
event.recipes.gtceu.assembly_line("pterb")
|
||||
.itemInputs("gtceu:active_transformer")
|
||||
.itemInputs("32x gtceu:europium_plate")
|
||||
.itemInputs("8x gtceu:luv_sensor")
|
||||
.itemInputs("8x gtceu:luv_emitter")
|
||||
.itemInputs("4x gtceu:luv_field_generator")
|
||||
.itemInputs("2x #gtceu:circuits/zpm")
|
||||
.itemInputs("4x gtceu:europium_large_fluid_pipe")
|
||||
.itemInputs("8x gtceu:niobium_titanium_quadruple_cable")
|
||||
.itemInputs("8x gtceu:normal_laser_pipe")
|
||||
.inputFluids("gtceu:soldering_alloy 4608")
|
||||
.EUt(GTValues.VA[GTValues.ZPM])
|
||||
.duration(1200)
|
||||
.itemOutputs("gtmutils:pterb_machine")
|
||||
["scannerResearch(java.util.function.UnaryOperator)"](b => b
|
||||
.researchStack("gtceu:active_transformer")
|
||||
.duration(2400)
|
||||
.EUt(7680)
|
||||
)
|
||||
})
|
||||
24
kubejs/server_scripts/fixes_tweaks/quest_scripts.js
Normal file
24
kubejs/server_scripts/fixes_tweaks/quest_scripts.js
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Quest Book timer scripts
|
||||
*/
|
||||
|
||||
FTBQuestsEvents.customReward("24FE5D5A412EA666", event => {
|
||||
// auto complete when you unlock genesis (free cake custom trigger)
|
||||
FTBQuests.getServerDataFromPlayer(event.getPlayer()).complete("138B92A597D63C12")
|
||||
})
|
||||
|
||||
// timer task 'component'
|
||||
FTBQuestsEvents.customTask(event => {
|
||||
if (event.task.hasTag("moni_timer_60")) {
|
||||
event.setMaxProgress(60 * cake_reset_time);
|
||||
} else if (event.task.hasTag("moni_timer_30")) {
|
||||
event.setMaxProgress(30 * cake_reset_time);
|
||||
}
|
||||
|
||||
if (event.task.hasTag("moni_timer")) {
|
||||
event.setCheckTimer(20);
|
||||
event.check = (task) => {
|
||||
task.addProgress(1);
|
||||
}
|
||||
}
|
||||
})
|
||||
28
kubejs/server_scripts/fixes_tweaks/superconducting_coils.js
Normal file
28
kubejs/server_scripts/fixes_tweaks/superconducting_coils.js
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* A little bit of software wizardry that alters any "superconducting_coil" recipes in the Assembler
|
||||
* to use 1/2 of the Trinium they normally do.
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// Get all GTCEu Assembler recipes with an ID matching the regex
|
||||
event.findRecipes({ id: /gtceu:assembler\/superconducting_coil/, type: "gtceu:assembler" }).forEach(supercon_coil_recipe => {
|
||||
// Get the JSON array object representing all of the fluid ingredients
|
||||
let fluidIngredients = supercon_coil_recipe.json.getAsJsonObject("inputs").getAsJsonArray("fluid")
|
||||
for (let i = 0; i < fluidIngredients.size(); i++) {
|
||||
// Fluid ingredient to alter if it includes "forge:trinium" as a tag
|
||||
let curFluidIngredient = fluidIngredients.get(i).getAsJsonObject("content")
|
||||
|
||||
// Get the original Trinium fluid amount
|
||||
let fluidAmount = curFluidIngredient.getAsJsonPrimitive("amount").asInt
|
||||
|
||||
// Confirm that we are indeed altering a fluid ingredient that contains the "forge:trinium" tag
|
||||
let fluidIngredient = curFluidIngredient.getAsJsonArray("value")
|
||||
for (let j = 0; j < fluidIngredient.size(); j++) {
|
||||
if (fluidIngredient.get(j).getAsJsonPrimitive("tag").asString == "forge:trinium") {
|
||||
// Change fluid ingredient to 1/2 the amount if it does match
|
||||
curFluidIngredient.remove("amount")
|
||||
curFluidIngredient["addProperty(java.lang.String,java.lang.Number)"]("amount", fluidAmount / 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
11
kubejs/server_scripts/fixes_tweaks/unification/loottables.js
Normal file
11
kubejs/server_scripts/fixes_tweaks/unification/loottables.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/**
|
||||
* Modify AE2 crystal certus mechanic to use GT items
|
||||
*/
|
||||
|
||||
ServerEvents.blockLootTables(event => {
|
||||
event.addSimpleBlock("ae2:quartz_cluster", "4x gtceu:certus_quartz_gem") // To drop a different item
|
||||
})
|
||||
LootJS.modifiers((event) => {
|
||||
event.addBlockLootModifier(/ae2:.*quartz_bud/)
|
||||
.replaceLoot("ae2:certus_quartz_dust", "gtceu:certus_quartz_dust")
|
||||
})
|
||||
10
kubejs/server_scripts/fixes_tweaks/unification/other_tags.js
Normal file
10
kubejs/server_scripts/fixes_tweaks/unification/other_tags.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/** Random small tags that don't fit anywhere else */
|
||||
ServerEvents.tags("item", event => {
|
||||
event.get("gtceu:batteries").getObjectIds().forEach(resourceLoc => {
|
||||
event.add("curios:charm", resourceLoc.toString())
|
||||
})
|
||||
})
|
||||
|
||||
ServerEvents.tags("block", event => {
|
||||
event.add("minecraft:mineable/pickaxe", "minecraft:glowstone")
|
||||
})
|
||||
19
kubejs/server_scripts/fixes_tweaks/unification/quest_tags.js
Normal file
19
kubejs/server_scripts/fixes_tweaks/unification/quest_tags.js
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
/**
|
||||
* Item tags for the Quest Book
|
||||
*/
|
||||
ServerEvents.tags("item", event => {
|
||||
// Input Hatches
|
||||
event.add("moni:input_hatch", /^gtceu:(?!steam)(?!me).{1,3}_input_hatch$/); // ($) we dont want to get output_hatch_hv
|
||||
// Output Hatches
|
||||
event.add("moni:output_hatch", /^gtceu:(?!steam)(?!me).{1,3}_output_hatch$/); // nor do we want hv_energy_input_hatch
|
||||
// Input buses
|
||||
event.add("moni:input_bus", /^gtceu:(?!steam)(?!me).{1,3}_input_bus$/)
|
||||
// Output busses
|
||||
event.add("moni:output_bus", /^gtceu:(?!steam)(?!me).{1,3}_output_bus$/)
|
||||
|
||||
// 'moni_quest:backpack'
|
||||
event.add("moni_quest:backpack", ["sophisticatedbackpacks:backpack", "sophisticatedbackpacks:copper_backpack", "sophisticatedbackpacks:iron_backpack", "sophisticatedbackpacks:gold_backpack", "sophisticatedbackpacks:diamond_backpack", "sophisticatedbackpacks:netherite_backpack"])
|
||||
|
||||
// Monicoin, mostly cosmetic
|
||||
event.add("moni:coins", ["kubejs:moni_penny", "kubejs:moni_nickel", "kubejs:moni_quarter", "kubejs:moni_dollar"])
|
||||
})
|
||||
113
kubejs/server_scripts/fixes_tweaks/unification/tags.js
Normal file
113
kubejs/server_scripts/fixes_tweaks/unification/tags.js
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* unify chipped since they dont do that anymore
|
||||
* @private
|
||||
* @param {TagEvent.Item & TagEvent.Block} event
|
||||
*/
|
||||
const unifyChisel = (event) => {
|
||||
// regex here means
|
||||
// `^` = beginning, `$` = end, `.+` = anything that isnt whitespace, any length
|
||||
|
||||
const IRON_BLOCKLIKES = /^chipped:(?!.+_raw_).+_iron_block$/;
|
||||
const GOLD_BLOCKLIKES = /^chipped:(?!.+_raw_).+_gold_block$/;
|
||||
// event.add('forge:glass/colorless', /^chipped:.+_glass$/) // most of the glass here only have fancy trims, but they are all not dyed
|
||||
event.add("forge:cobblestone/normal", /^chipped:.+(?!_mossy)_cobblestone(_bricks)?$/)
|
||||
event.add("forge:cobblestone/mossy", /^chipped:.+_mossy_cobblestone(_bricks)?$/)
|
||||
event.add("forge:cobblestone", /^chipped:.+_cobblestone(_bricks)?$/)
|
||||
event.add("forge:storage_blocks/glowstone", /^chipped:.+_glowstone$/)
|
||||
event.add("forge:storage_blocks/redstone", /^chipped:.+_redstone_block$/)
|
||||
event.add("forge:storage_blocks/iron", IRON_BLOCKLIKES)
|
||||
event.add("forge:storage_blocks/gold", GOLD_BLOCKLIKES)
|
||||
event.add("forge:storage_blocks/diamond", /^chipped:.+_diamond_block$/);
|
||||
event.add("forge:storage_blocks/emerald", /^chipped:.+_emerald_block$/);
|
||||
event.add("forge:storage_blocks/lapis", /^chipped:.+_lapis_block$/);
|
||||
|
||||
event.add("minecraft:planks", /^chipped:.+_planks$/)
|
||||
|
||||
event.add("forge:glass", /^chipped:.+_glass(_pillar)?$/)
|
||||
event.add("forge:storage_blocks", [IRON_BLOCKLIKES, GOLD_BLOCKLIKES, /^chipped:.+_diamond_block$/, /^chipped:.+_emerald_block$/, /^chipped:.+_glowstone$/, /^chipped:.+_lapis_block$/, /^chipped:.+_redstone_block$/])
|
||||
event.add("minecraft:piglin_loved", GOLD_BLOCKLIKES)
|
||||
}
|
||||
|
||||
ServerEvents.tags("item", event => {
|
||||
event.add("ae2:all_fluix", "gtceu:fluix_gem")
|
||||
event.add("ae2:all_certus_quartz", "gtceu:charged_certus_quartz_gem")
|
||||
event.add("forge:gems/certus_quartz", "gtceu:charged_certus_quartz_gem")
|
||||
event.add("forge:singularities/ultimate", "kubejs:mote_of_omnium")
|
||||
event.add("forge:singularities/ultimate", "extendedcrafting:ultimate_singularity")
|
||||
event.add("forge:ingots/electrum_flux", "redstone_arsenal:flux_ingot")
|
||||
event.add("forge:dusts/electrum_flux", "redstone_arsenal:flux_dust")
|
||||
event.add("forge:nuggets/electrum_flux", "redstone_arsenal:flux_nugget")
|
||||
event.add("forge:gears/electrum_flux", "redstone_arsenal:flux_gear")
|
||||
event.add("forge:dusts/quartz", "gtceu:nether_quartz_dust")
|
||||
|
||||
// can't replace tags in recipes so we just add the tag to the item instead
|
||||
event.add("forge:ingots/redstone_alloy", "gtceu:red_alloy_ingot")
|
||||
event.add("forge:ingots/copper_alloy", "gtceu:electrical_steel_ingot")
|
||||
event.add("forge:storage_blocks/coal_coke", "#forge:storage_blocks/coke")
|
||||
event.add("forge:coal_coke", "#forge:gems/coke")
|
||||
|
||||
const decorremap = [["etrium", "diamond"], ["desh", "bronze"], ["ostrum", "lead"], ["calorite", "red_alloy"]]
|
||||
decorremap.forEach(([mat, remat]) => {
|
||||
event.add(`ad_astra:${mat}_plates`, `gtceu:${remat}_plate`)
|
||||
event.add(`ad_astra:${mat}_ingots`, `gtceu:${remat}_ingot`)
|
||||
event.add(`ad_astra:${mat}_blocks`, `gtceu:${remat}_block`)
|
||||
})
|
||||
|
||||
event.remove("forge:gears/wood", "enderio:wood_gear")
|
||||
event.remove("forge:gears/stone", "enderio:stone_gear")
|
||||
event.remove("forge:gears/iron", "enderio:iron_gear")
|
||||
event.remove("forge:gears/dark_steel", "enderio:dark_bimetal_gear")
|
||||
|
||||
// NOT pulsating iron ingot
|
||||
event.add("forge:dusts/pulsating", "kubejs:pulsating_dust")
|
||||
|
||||
// Endgame tools
|
||||
event.add("forge:tools/files", "kubejs:infinity_file")
|
||||
event.add("forge:tools/hammers", "kubejs:infinity_hammer")
|
||||
event.add("forge:tools/screwdrivers", "kubejs:infinity_screwdriver")
|
||||
event.add("forge:tools/wrenches", "kubejs:infinity_wrench")
|
||||
event.add("forge:tools/wire_cutters", "kubejs:infinity_wire_cutter")
|
||||
|
||||
// generic unification
|
||||
event.add("forge:dusts", ["kubejs:pulsating_dust"])
|
||||
|
||||
// enderio!!!!
|
||||
event.add("forge:heads", "enderio:enderman_head")
|
||||
|
||||
event.add("forge:microminers", /kubejs:microminer_t/)
|
||||
event.add("forge:microminers", /kubejs:stabilized_microminer_t/)
|
||||
|
||||
// Sawdust
|
||||
event.add("forge:sawdust", "#forge:dusts/wood")
|
||||
|
||||
// For stonecutting Marble
|
||||
event.add("moni:marble", /^(gtceu:(marble|polished_marble|marble_bricks|cracked_marble_bricks|chiseled_marble|marble_tile|marble_small_tile|marble_windmill_a|marble_windmill_b|small_marble_bricks|square_marble_bricks))$/)
|
||||
|
||||
// We're making these Nuclearcraft storage blocks function solely as moderators, so they should not have the tags
|
||||
event.remove("forge:storage_blocks", ["nuclearcraft:beryllium_block", "nuclearcraft:graphite_block"]);
|
||||
event.remove("forge:storage_blocks/beryllium", "nuclearcraft:beryllium_block");
|
||||
event.remove("forge:storage_blocks/graphite", "nuclearcraft:graphite_block");
|
||||
|
||||
// AE2 P2P Attunements
|
||||
event.add("mae2:p2p_attunements/pattern_p2p_tunnel", "expatternprovider:pattern_modifier");
|
||||
event.add("mae2:p2p_attunements/pattern_p2p_tunnel", "expatternprovider:ex_pattern_provider");
|
||||
event.add("mae2:p2p_attunements/pattern_p2p_tunnel", "expatternprovider:ex_pattern_provider_part");
|
||||
|
||||
unifyChisel(event);
|
||||
})
|
||||
|
||||
ServerEvents.tags("block", event => {
|
||||
// snad
|
||||
const compacted_sand = ["kubejs:compressed_sand", "kubejs:double_compressed_sand", "kubejs:compressed_red_sand", "kubejs:double_compressed_red_sand"];
|
||||
event.add("minecraft:dead_bush_may_place_on", compacted_sand);
|
||||
event.add("minecraft:bamboo_plantable_on", compacted_sand);
|
||||
event.add("minecraft:azalea_grows_on", compacted_sand);
|
||||
event.add("framedblocks:camo_sustain_plant", compacted_sand);
|
||||
|
||||
// We're making these Nuclearcraft storage blocks function solely as moderators, so they should not have the tags
|
||||
event.remove("forge:storage_blocks", ["nuclearcraft:beryllium_block", "nuclearcraft:graphite_block"]);
|
||||
event.remove("forge:storage_blocks/beryllium", "nuclearcraft:beryllium_block");
|
||||
event.remove("forge:storage_blocks/graphite", "nuclearcraft:graphite_block");
|
||||
|
||||
unifyChisel(event);
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue