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

AE2 Compatibility #5378

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 157 additions & 0 deletions config/appliedenergistics2-common.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@

#Warning: Disabling a feature may disable other features depending on it.
[features]

[features.Facades]
#Unsupported: Allows whitelisting TileEntity as facades. Could work, have render issues, or corrupt your world. USE AT YOUR OWN RISK.
TileEntityFacades = false

[features.Misc]
#No comment
UnsupportedDeveloperTools = false
#No comment
IntegrationLogging = false
#No comment
WebsiteRecipes = false
#No comment
LogSecurityAudits = false
#No comment
UpdateLogging = false
#No comment
PacketLogging = false
#No comment
CraftingLog = false
#No comment
DebugLogging = false

[features.Crafting]
#No comment
EnableFacadeCrafting = true
#No comment
InWorldSingularity = true
#No comment
InWorldFluix = false
#No comment
InWorldPurification = false
#No comment
EnableDisassemblyCrafting = true

[features.World]
#No comment
CertusQuartzWorldGen = false
#No comment
MeteoriteWorldGen = false
#No comment
SpawnPressesInMeteorites = false
#No comment
VillagerTrading = false

[features.Rendering]
#No comment
AlphaPass = true

[features.Commands]
#No comment
ChunkLoggerTrace = false

[general]
#Will auto-remove items that crash when being loaded from storage. This will destroy those items instead of crashing the game!
removeCrashingItemsOnLoad = false

[automation]
#TODO
formationPlaneEntityLimit = 128

[craftingCPU]
craftingCalculationTimePerTick = 5

[spatialio]
spatialPowerMultiplier = 1250.0
spatialPowerExponent = 1.35
#BE CAREFUL, CAN CORRUPT YOUR WORLD! Will use #spatial/whitelist as whitelist.
spatialBlockTags = false

[GrindStone]
#Chance to actually get an output with stacksize > 1.
#Range: 0.0 ~ 100.0
oreDoublePercentage = 90.0

[battery]
wirelessTerminal = 1600000
chargedStaff = 8000
entropyManipulator = 200000
portableCell = 20000
colorApplicator = 20000
matterCannon = 200000

[worldGen]
#Range: 0.0 ~ 1.0
spawnChargedChance = 0.0
meteoriteBiomeBlacklist = []
quartzOresPerCluster = 0
quartzOresClusterAmount = 0
quartzOresBiomeBlacklist = []

[wireless]
wirelessBaseCost = 8.0
wirelessCostMultiplier = 1.0
wirelessBaseRange = 64.0
wirelessBoosterRangeMultiplier = 1.0
wirelessBoosterExp = 1.5
wirelessHighWirelessCount = 64.0
wirelessTerminalDrainMultiplier = 1.0

[PowerRatios]
ForgeEnergy = 0.5
#Range: 0.01 ~ 1.7976931348623157E308
UsageMultiplier = 40.0

[Condenser]
MatterBalls = 256
Singularity = 256000

# Min / Max Tickrates for dynamic ticking, most of these components also use sleeping, to prevent constant ticking, adjust with care, non standard rates are not supported or tested.
[tickRates]
InterfaceMin = 5
InterfaceMax = 120
ImportBusMin = 5
ImportBusMax = 40
FluidImportBusMin = 5
FluidImportBusMax = 40
ExportBusMin = 5
ExportBusMax = 60
FluidExportBusMin = 5
FluidExportBusMax = 60
AnnihilationPlaneMin = 2
AnnihilationPlaneMax = 120
METunnelMin = 5
METunnelMax = 20
InscriberMin = 1
InscriberMax = 1
ChargerMin = 10
ChargerMax = 120
IOPortMin = 1
IOPortMax = 5
VibrationChamberMin = 10
VibrationChamberMax = 40
StorageBusMin = 5
StorageBusMax = 60
FluidStorageBusMin = 5
FluidStorageBusMax = 60
ItemTunnelMin = 5
ItemTunnelMax = 60
LightTunnelMin = 5
LightTunnelMax = 60
OpenComputersTunnelMin = 1
OpenComputersTunnelMax = 5
PressureTunnelMin = 1
PressureTunnelMax = 120

#Settings for in-world purification of crystals.
[inWorldPurification]
#A fluid tag that identifies fluids that improve crystal purification speed. Does not affect purification with water/lava.
improvedFluidTag = ""
#The speed multiplier to use when the crystals are submerged in the improved fluid.
#Range: 1.0 ~ 10.0
improvedFluidMultiplier = 2.0

3 changes: 3 additions & 0 deletions kubejs/assets/appliedenergistics2/lang/en_us.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"item.appliedenergistics2.fluix_pearl": "Activated Dimentional Pearl"
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions kubejs/client_scripts/expert/ae2_compat/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
//priority: 1001

const isAE2Loaded = Platform.getMods().containsKey("appliedenergistics2");

const itemsToHideAE = [
'appliedenergistics2:ender_dust',
'appliedenergistics2:flour',
'appliedenergistics2:gold_dust',
'appliedenergistics2:iron_dust',
'appliedenergistics2:nether_quartz_dust',
'appliedenergistics2:fluix_dust',
'appliedenergistics2:certus_quartz_dust',

'appliedenergistics2:fluix_crystal',
'appliedenergistics2:charged_certus_quartz_crystal',
'appliedenergistics2:certus_quartz_crystal',
'appliedenergistics2:purified_certus_quartz_crystal',
'appliedenergistics2:purified_nether_quartz_crystal',
'appliedenergistics2:purified_fluix_crystal',

'appliedenergistics2:quartz_ore',
'appliedenergistics2:charged_quartz_ore',

'appliedenergistics2:vibration_chamber',
'appliedenergistics2:quartz_growth_accelerator',
'appliedenergistics2:inscriber',
'appliedenergistics2:crank',
'appliedenergistics2:grindstone',

'appliedenergistics2:printed_calculation_processor',
'appliedenergistics2:printed_engineering_processor',
'appliedenergistics2:printed_logic_processor',
'appliedenergistics2:printed_silicon',
'appliedenergistics2:logic_processor',
'appliedenergistics2:calculation_processor',
'appliedenergistics2:engineering_processor',
'appliedenergistics2:silicon',

'appliedenergistics2:calculation_processor_press',
'appliedenergistics2:engineering_processor_press',
'appliedenergistics2:logic_processor_press',
'appliedenergistics2:silicon_press',

'appliedenergistics2:1k_cell_component',
'appliedenergistics2:4k_cell_component',
'appliedenergistics2:1k_fluid_cell_component',
'appliedenergistics2:4k_fluid_cell_component'
];
15 changes: 15 additions & 0 deletions kubejs/client_scripts/expert/ae2_compat/jei_hide_items.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@


onEvent('jei.hide.items', (event) => {
if (!isAE2Loaded) {
return;
}
if (global.isExpertMode == false) {
return;
}

itemsToHideAE.forEach((entry) => {
event.hide(entry);
});

});
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@


onEvent('recipes', (event) => {
if (!isAE2Loaded) {
return;
}
if (global.isExpertMode == false) {
return;
}

const id_prefix = 'enigmatica:expert/ae2_compat/basic_res/';
const recipes = [
{ toReplace: 'minecraft:iron_ingot', replaceWith: 'refinedstorage:quartz_enriched_iron' },
{ toReplace: '#appliedenergistics2:crystals/fluix', replaceWith: 'occultism:spirit_attuned_gem' },
{ toReplace: '#appliedenergistics2:crystals/certus', replaceWith: 'astralsorcery:aquamarine' },
{ toReplace: 'appliedenergistics2:fluix_dust', replaceWith: 'botania:corporea_spark', },
{ toReplace: 'appliedenergistics2:certus_quartz_dust', replaceWith: 'botania:quartz_mana', },
{ toReplace: 'appliedenergistics2:ender_dust', replaceWith: 'emendatusenigmatica:ender_dust' },
{ toReplace: 'appliedenergistics2:calculation_processor', replaceWith: 'refinedstorage:basic_processor' },
{ toReplace: 'appliedenergistics2:logic_processor', replaceWith: 'refinedstorage:improved_processor' },
{ toReplace: 'appliedenergistics2:engineering_processor', replaceWith: 'refinedstorage:advanced_processor' },
{ toReplace: 'appliedenergistics2:formation_core', replaceWith: 'refinedstorage:construction_core' },
{ toReplace: 'appliedenergistics2:annihilation_core', replaceWith: 'refinedstorage:destruction_core' }
]
recipes.forEach((recipe) => {
event.replaceInput({ mod: 'appliedenergistics2' }, recipe.toReplace, recipe.replaceWith)
});

const dusts = [
{ toReplace: 'appliedenergistics2:nether_quartz_dust', replaceWith: 'emendatusenigmatica:quartz_dust' },
{ toReplace: 'appliedenergistics2:iron_dust', replaceWith: 'emendatusenigmatica:iron_dust' },
{ toReplace: 'appliedenergistics2:gold_dust', replaceWith: 'emendatusenigmatica:gold_dust' }
]
dusts.forEach((entry) => {
event.replaceInput(entry.toReplace, entry.replaceWith);
});

event.remove({ output: 'appliedenergistics2:fluix_pearl' })
event.recipes.create.compacting('appliedenergistics2:fluix_pearl',
[
'minecraft:ender_pearl',
'occultism:spirit_attuned_gem',
'occultism:spirit_attuned_gem',
'kubejs:dimensional_storage_crystal'
])
.heated()
.id(id_prefix+'activated_dimentional_pearl');

event.custom({
type: 'occultism:spirit_fire',
ingredient: Ingredient.of('quark:black_crystal').toJson(),
result: Ingredient.of('appliedenergistics2:sky_stone_block').toJson()
}).id(id_prefix+"sky_stone");
});

Loading