Skip to content

Commit

Permalink
Merge branch 'master' into avaritia
Browse files Browse the repository at this point in the history
  • Loading branch information
brachy84 authored Aug 7, 2023
2 parents bbd8e99 + 163765e commit 4d00ab0
Show file tree
Hide file tree
Showing 50 changed files with 3,693 additions and 6 deletions.
51 changes: 48 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -124,11 +124,26 @@ dependencies {
runtimeOnly rfg.deobf('curse.maven:chisel-235279:2915375')
}

compileOnly 'slimeknights.mantle:Mantle:1.12-1.3.3.55'
if (project.debug_inspirations.toBoolean() || project.debug_tinkers.toBoolean()) {
runtimeOnly 'slimeknights.mantle:Mantle:1.12-1.3.3.55'
}

compileOnly rfg.deobf('curse.maven:mekanism-268560:2835175')
if (project.debug_mekanism.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:mekanism-268560:2835175')
}

compileOnly rfg.deobf('curse.maven:ae2-extended-life-570458:4553942')
if (project.debug_applied_energistics_2.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:ae2-extended-life-570458:4553942')
}

compileOnly rfg.deobf('curse.maven:ae2-extended-life-570458:4553942')
if (project.debug_applied_energistics_2.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:ae2-extended-life-570458:4553942')
}

compileOnly rfg.deobf('curse.maven:codechicken_lib_1_8-242818:2779848')
compileOnly rfg.deobf('curse.maven:redstone_flux-270789:2920436')
if (project.debug_thermal.toBoolean() || project.debug_draconic_evolution.toBoolean()) {
Expand All @@ -137,14 +152,17 @@ dependencies {
}

compileOnly rfg.deobf('curse.maven:guide-api-228832:2645992')
if (project.debug_blood_magic.toBoolean() || project.debug_woot.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:guide-api-228832:2645992')
}

compileOnly rfg.deobf('curse.maven:blood-magic-224791:2822288')
if (project.debug_blood_magic.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:guide-api-228832:2645992')
runtimeOnly rfg.deobf('curse.maven:blood-magic-224791:2822288')
}

compileOnly rfg.deobf('curse.maven:cyclops-core-232758:3159497')
if (project.debug_evilcraft.toBoolean()) {
if (project.debug_evilcraft.toBoolean() || project.debug_integrated_dynamics.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:cyclops-core-232758:3159497')
}

Expand All @@ -153,11 +171,28 @@ dependencies {
runtimeOnly rfg.deobf('curse.maven:evilcraft-74610:2811267')
}

compileOnly rfg.deobf('curse.maven:common-capabilities-247007:3053017')
compileOnly rfg.deobf('curse.maven:integrated-dynamics-236307:3159505')
if (project.debug_integrated_dynamics.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:common-capabilities-247007:3053017')
runtimeOnly rfg.deobf('curse.maven:integrated-dynamics-236307:3159505')
}

compileOnly rfg.deobf('curse.maven:compact-machines-224218:2707509')
if (project.debug_compact_machines.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:compact-machines-224218:2707509')
}

compileOnly rfg.deobf('curse.maven:actually-additions-228404:3117927')
if (project.debug_actually_additions.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:actually-additions-228404:3117927')
}

compileOnly rfg.deobf('curse.maven:inspirations-284007:2843007')
if (project.debug_inspirations.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:inspirations-284007:2843007')
}

compileOnly rfg.deobf('curse.maven:cucumber-272335:2645867')
compileOnly rfg.deobf('curse.maven:extended-crafting-nomifactory-edition-398267:3613140')
if (project.debug_extended_crafting.toBoolean()) {
Expand Down Expand Up @@ -247,12 +282,16 @@ dependencies {
runtimeOnly rfg.deobf('curse.maven:immersive_engineering-231951:2974106')
}

compileOnly rfg.deobf("curse.maven:woot-244049:2712670")
if (project.debug_woot.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:woot-244049:2712670')
}

compileOnly 'slimeknights.mantle:Mantle:1.12-1.3.3.55'
compileOnly 'slimeknights:TConstruct:1.12.2-2.13.0.190'
compileOnly rfg.deobf('curse.maven:constructs-armory-287683:3174535')
compileOnly rfg.deobf('curse.maven:tinkers-complement-272671:2843439')
if (project.debug_tinkers.toBoolean()) {
runtimeOnly 'slimeknights.mantle:Mantle:1.12-1.3.3.55'
runtimeOnly 'slimeknights:TConstruct:1.12.2-2.13.0.190'
runtimeOnly rfg.deobf('curse.maven:constructs-armory-287683:3174535')
runtimeOnly rfg.deobf('curse.maven:tinkers-complement-272671:2843439')
Expand All @@ -274,6 +313,12 @@ dependencies {
runtimeOnly rfg.deobf('net.sengir.forestry:forestry_1.12.2:5.8.2.422')
runtimeOnly rfg.deobf('curse.maven:jei-bees-248370:2490058')
}

compileOnly rfg.deobf('curse.maven:advancedmortars-283777:2780626')
if (project.debug_adv_mortars.toBoolean()) {
runtimeOnly rfg.deobf('curse.maven:advancedmortars-283777:2780626')
}

}

processResources {
Expand Down
49 changes: 49 additions & 0 deletions examples/advancedmortars.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@

// add(List<String> types, ItemStack output, int duration, List<IIngredient> inputs)
mods.advancedmortars.Mortar.add(
['stone'],
item('minecraft:diamond') * 4,
4,
[ore('ingotGold')]
)

mods.advancedmortars.Mortar.add(
['stone'],
item('minecraft:tnt'),
4,
[ore('ingotGold')]
)

// add(List<String> types, ItemStack output, int duration, ItemStack secondaryOutput, float secondaryOutputChance, List<IIngredient> inputs)
mods.advancedmortars.Mortar.add(
['iron', 'wood'],
item('minecraft:tnt') * 5,
4,
item('minecraft:tnt'),
0.7,
[ore('ingotIron'), ore('ingotIron'), ore('ingotIron'), ore('ingotIron'), // max 8
ore('ingotIron'), ore('ingotIron'), ore('ingotIron'), ore('ingotIron')]
)

mods.advancedmortars.Mortar.recipeBuilder()
.type('stone') // EnumMortarType ('wood', 'stone', 'iron', 'diamond', 'gold', 'obsidian', 'emerald')
.duration(2) // int
.output(item('minecraft:grass')) // ItemStack
.input(item('minecraft:dirt')) // IIngredient
.register()

mods.advancedmortars.Mortar.recipeBuilder()
.type('emerald')
.duration(4)
.output(item('minecraft:wheat_seeds') * 16)
.secondaryOutput(item('minecraft:melon_seeds')) // ItemStack
.input(ore('cropWheat'))
.register()

mods.advancedmortars.Mortar.recipeBuilder()
.type('obsidian')
.duration(8)
.output(item('minecraft:wheat_seeds') * 16)
.secondaryOutput(item('minecraft:melon_seeds'), 0.5) // ItemStack, float
.input(ore('cropWheat'))
.register()
93 changes: 93 additions & 0 deletions examples/postInit/appliedenergistics2.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@

if (!isLoaded('appliedenergistics2')) return
println 'mod \'appliedenergistics2\' detected, running script'

// Can be access via either `appliedenergistics2` or `ae2`

// Bracket Handlers

// Get the P2P Tunnel type from the enum. Case insensitive.
tunnel('me')
tunnel('ic2_power')
tunnel('fe_power')
tunnel('gteu_power')
tunnel('redstone')
tunnel('fluid')
tunnel('item')
tunnel('light')
tunnel('bundled_redstone')
tunnel('computer_message')


// Inscriber:
// Converts an item into another item, requiring either one or two additional items as either catalysts or ingredients.
mods.appliedenergistics2.inscriber.recipeBuilder()
.input(ore('blockGlass'))
.output(item('minecraft:diamond'))
.top(item('minecraft:diamond')) // Optional, ItemStack. Either top or bottom must be defined.
.bottom(item('minecraft:diamond')) // Optional, ItemStack. Either top or bottom must be defined.
.inscribe() // Disable consumption of the top/bottom items.
.register()

mods.appliedenergistics2.inscriber.recipeBuilder()
.input(item('minecraft:gold_ingot'))
.output(item('minecraft:diamond'))
.top(item('minecraft:diamond'))
.register()

mods.appliedenergistics2.inscriber.removeByOutput(item('appliedenergistics2:material:59'))
//mods.appliedenergistics2.inscriber.removeAll()


// Grinder:
// Converts an item into one item, with up to two additional items as chance byproducts after a number of turns.
mods.appliedenergistics2.grinder.recipeBuilder()
.input(item('minecraft:clay'))
.output(item('minecraft:diamond'), item('minecraft:gold_ingot'), item('minecraft:diamond')) // Up to 3 outputs can be defined. The first is 100%, the second is chance1, the third is chance2.
.turns(1)
.chance1(0.5) // Optional float, defaults to 1.0f.
.chance2(0.3) // Optional float, defaults to 1.0f.
.register()

mods.appliedenergistics2.grinder.recipeBuilder()
.input(item('minecraft:stone'))
.output(item('minecraft:clay') * 4)
.turns(10)
.register()

mods.appliedenergistics2.grinder.removeByInput(item('minecraft:gold_ingot'))
mods.appliedenergistics2.grinder.removeByOutput(item('minecraft:quartz'))
//mods.appliedenergistics2.grinder.removeAll()


// Spatial Storage Allowed Tile Entities:
// Either the class itself or its String name to add or remove from the Tile Entities allowed in Spatial Storage.
mods.appliedenergistics2.spatial.add('net.minecraft.tileentity.TileEntityStructure') // Adds the Structure Block to the allowed Tile Entities

mods.appliedenergistics2.spatial.remove('net.minecraft.tileentity.TileEntityChest') // Removes the vanilla Chest from the allowed Tile Entities
//mods.appliedenergistics2.spatial.removeAll()


// Cannon Ammo: (alias: Cannon)
// Item and weight, where weight is a factor in how much damage is dealt.
mods.appliedenergistics2.cannonammo.add(item('minecraft:clay'), 10000)

mods.appliedenergistics2.cannonammo.remove(item('minecraft:gold_nugget'))
//mods.appliedenergistics2.cannonammo.removeAll()


// P2P Attunement:
// Item and tunnel type, modid and tunnel type, or capability and tunnel type to add to allowed items to convert P2P tunnels.
mods.appliedenergistics2.attunement.removeByTunnel(tunnel('item')) // Remove all ways to create the given tunnel

mods.appliedenergistics2.attunement.add(item('minecraft:clay'), tunnel('item')) // item + tunnel
mods.appliedenergistics2.attunement.remove(item('minecraft:lever'), tunnel('redstone')) // item + tunnel

//mods.appliedenergistics2.attunement.remove('thermaldynamics', tunnel('fe_power')) // modid + tunnel
//mods.appliedenergistics2.attunement.add('thermaldynamics', tunnel('redstone')) // modid + tunnel

// Must be imported via `appeng.capabilities.Capabilities`
//mods.appliedenergistics2.attunement.remove(Capabilities.FORGE_ENERGY, tunnel('fe_power')) // capability + tunnel
//mods.appliedenergistics2.attunement.add(Capabilities.FORGE_ENERGY, tunnel('item')) // capability + tunnel

//mods.appliedenergistics2.attunement.removeAll()
51 changes: 51 additions & 0 deletions examples/postInit/compactmachines.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

if (!isLoaded('compactmachines3')) return
println 'mod \'compactmachines3\' detected, running script'

// Miniaturization:
// Consumes a 3d structure in-world based on keys when an item is thrown into the field.
mods.compactmachines.miniaturization.recipeBuilder()
.name('diamond_rectangle') // Optional, String
.input(item('minecraft:clay'))
.output(item('minecraft:clay'))
.symmetrical() // Indicates that the recipe does not have to test all 4 rotations to determine if the multiblock is valid
.ticks(10) // Alias: duration, default 100
.shape([['www', 'www']]) // Shape is a List<List<String>>
.key('w', blockstate('minecraft:diamond_block'))
// character, blockstate, nbt, metadata-sensitive (default true), display item
//.key('w', blockstate('minecraft:diamond_block'), null, true, item('minecraft:diamond') * 7)
.register()

mods.compactmachines.miniaturization.recipeBuilder()
.name('groovy_rocket') // Optional, String
.input(item('minecraft:diamond'))
.output(item('minecraft:clay') * 64)
.symmetrical()
.ticks(5400)
// both ` ` and `_` are reserved for empty space, and cannot be used as keys
.key('a', blockstate('minecraft:stained_glass:0'))
.key('b', blockstate('minecraft:stained_glass:1'))
.key('c', blockstate('minecraft:stained_glass:2'))
.key('d', blockstate('minecraft:stained_glass:3'))
.key('e', blockstate('minecraft:diamond_block'))
.key('f', blockstate('minecraft:stained_glass:5'))
.key('g', blockstate('minecraft:stained_glass:6')) // Note: More than 6 keys results in incorrect displays in JEI
.layer(" ", " ", " a ", " aaa ", " a ", " ", " ") // layer adds String... to the shape structure
.layer(" ", " b ", " aaa ", " baaab ", " aaa ", " b ", " ") // adds layers in descending Y order
.layer(" ", " c ", " cac ", " caeac ", " cac ", " c ", " ")
.layer(" ", " a ", " aaa ", " aaeaa ", " aaa ", " a ", " ")
.layer(" ", " a ", " aaa ", " aaeaa ", " aaa ", " a ", " ")
.layer(" ", " a ", " aaa ", " aaeaa ", " aaa ", " a ", " ")
.layer(" ", " g ", " cac ", " caeac ", " cac ", " f ", " ")
.layer(" ", " a ", " aaa ", " aaeaa ", " aaa ", " a ", " ")
.layer(" ", " a ", " aaa ", " aaeaa ", " aaa ", " a ", " ")
.layer(" ", " a ", " aaa ", " aaeaa ", " aaa ", " a ", " ")
.layer(" ", " c ", " cac ", " caeac ", " cac ", " c ", " ")
.layer(" ", " a ", " aaa ", " aaaaa ", " aaa ", " a ", " ")
.layer(" a ", " ccc ", " cdddc ", "acdddca", " cdddc ", " ccc ", " a ")
.register()

mods.compactmachines.miniaturization.removeByInput(item('minecraft:ender_pearl'))
mods.compactmachines.miniaturization.removeByCatalyst(item('minecraft:redstone'))
mods.compactmachines.miniaturization.removeByOutput(item('compactmachines3:machine:3'))
//mods.compactmachines.miniaturization.removeAll()
91 changes: 91 additions & 0 deletions examples/postInit/inspirations.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@

if (!isLoaded('inspirations')) return
println 'mod \'inspirations\' detected, running script'

// Cauldron:
// Converts up to 1 itemstack and up to 1 fluid into up to 1 itemstack or up to 1 fluid, with a boiling boolean and variable amount of fluid consumed or produced.
// Cauldrons have a cap of either 3 or 4 levels, depending on the config.
mods.inspirations.cauldron.recipeBuilder()
.standard() // Optional, one type is required, it can either be done in a normal recipeBuilder or preset via a recipeBuilder variant.
.input(item('minecraft:gold_ingot'))
.fluidInput(fluid('lava'))
.output(item('minecraft:clay'))
.boiling()
.sound(sound('block.anvil.destroy'))
.levels(3)
.register()

mods.inspirations.cauldron.recipeBuilderStandard() // Requires 1 input, 1 output, 1 fluid input, 0 < levels < 3/4, and a sound
.input(item('minecraft:diamond'))
.output(item('minecraft:clay'))
.fluidInput(fluid('lava'))
.levels(3)
.sound(sound('block.anvil.destroy'))
.register()

mods.inspirations.cauldron.recipeBuilderTransform() // Requires 1 input, 1 fluid input, 1 fluid output, 0 < levels < 3/4
.input(item('minecraft:stone:3'))
.fluidInput(fluid('water'))
.fluidOutput(fluid('milk'))
.levels(2)
.register()

mods.inspirations.cauldron.recipeBuilderMix() // Requires 1 output and 2 fluid inputs
.output(item('minecraft:clay'))
.fluidInput(fluid('milk'), fluid('lava'))
.register()

mods.inspirations.cauldron.recipeBuilderFill() // Requires 1 input, 1 output, 1 fluid input, and a sound
.input(item('minecraft:gold_ingot'))
.output(item('minecraft:clay'))
.fluidInput(fluid('milk'))
.sound(sound('block.anvil.destroy'))
.register()

mods.inspirations.cauldron.recipeBuilderBrewing() // Requires 1 input, 1 input potion, and 1 output potion
.input(item('minecraft:diamond_block'))
.inputPotion(potionType('fire_resistance'))
.outputPotion(potionType('strength'))
.register()

mods.inspirations.cauldron.recipeBuilderPotion() // Requires 1 input, 1 output, 1 input potion, and 0 < levels < 3/4
.input(item('minecraft:gold_block'))
.output(item('minecraft:diamond_block'))
.inputPotion(potionType('fire_resistance'))
.levels(2)
.register()

mods.inspirations.cauldron.recipeBuilderDye() // Requires 1 input, 1 output, 1 dye, and 0 < levels < 3/4
.input(item('minecraft:gold_block'))
.output(item('minecraft:diamond_block'))
.dye('blue')
.levels(2)
.register()


// Note: some recipes (banners, potions) cannot be removed.
mods.inspirations.cauldron.removeByInput(item('minecraft:ghast_tear'))
mods.inspirations.cauldron.removeByOutput(item('minecraft:piston'))
mods.inspirations.cauldron.removeByFluidOutput(fluid('beetroot_soup'))
mods.inspirations.cauldron.removeByFluidInput(fluid('mushroom_stew'))

//mods.inspirations.cauldron.removeAll()


// Anvil Smashing:
// Converts a Block or IBlockState into an IBlockState when an anvil falls on top of it (from any height).
mods.inspirations.anvilsmashing.recipeBuilder()
.input(blockstate('minecraft:diamond_block'))
.output(blockstate('minecraft:clay'))
.register()

mods.inspirations.anvilsmashing.recipeBuilder()
.input(blockstate('minecraft:clay'))
.output(blockstate('minecraft:air'))
.register()

mods.inspirations.anvilsmashing.removeByInput(blockstate('minecraft:packed_ice'))
mods.inspirations.anvilsmashing.removeByOutput(blockstate('minecraft:cobblestone'))

//mods.inspirations.anvilsmashing.removeAll()

Loading

0 comments on commit 4d00ab0

Please sign in to comment.