init
This commit is contained in:
commit
a956daf8e2
2351 changed files with 163047 additions and 0 deletions
199
kubejs/server_scripts/gregtech/greenhouse.js
Normal file
199
kubejs/server_scripts/gregtech/greenhouse.js
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
/**
|
||||
* Greenhouse multiblock
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
/* Machine Recipe */
|
||||
|
||||
event.shaped("gtceu:greenhouse", [
|
||||
"LWL",
|
||||
"ASA",
|
||||
"WRW"
|
||||
], {
|
||||
L: "minecraft:redstone_lamp",
|
||||
A: "#gtceu:circuits/mv",
|
||||
W: "gtceu:copper_single_cable",
|
||||
S: "gtceu:solid_machine_casing",
|
||||
R: "gtceu:lv_fluid_regulator"
|
||||
}).id("kubejs:shaped/greenhouse")
|
||||
|
||||
|
||||
/* Greenhouse Recipes */
|
||||
|
||||
function boost(input, factor) {
|
||||
let boosted = [];
|
||||
input.forEach(element => {
|
||||
let item = Item.of(element);
|
||||
let curCount = item.getCount() * factor;
|
||||
let type = item.getId();
|
||||
while (curCount > item.maxStackSize) {
|
||||
boosted.push(Item.of(type, item.maxStackSize));
|
||||
curCount -= item.maxStackSize;
|
||||
}
|
||||
if (curCount > 0) boosted.push(Item.of(type, curCount));
|
||||
})
|
||||
return boosted;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} mod Input item mod name
|
||||
* @param {string} input Input item identifier
|
||||
* @param {number} duration Recipe duration
|
||||
* @param {string[]} output Base recipe output
|
||||
* @param {number} inputFeedbackAmount How many input items to add to output
|
||||
*/
|
||||
function Greenhouse(mod, input, duration, output, inputFeedbackAmount) {
|
||||
// Create new boosted output item array
|
||||
let boostedOutputs = boost(output, 2)
|
||||
|
||||
// Push sapling/seed inputs (unboosted) onto output arrays
|
||||
if (inputFeedbackAmount > 0) {
|
||||
output.push(Item.of(`${mod}:${input}`, inputFeedbackAmount));
|
||||
boostedOutputs.push(Item.of(`${mod}:${input}`, inputFeedbackAmount));
|
||||
}
|
||||
|
||||
event.recipes.gtceu.greenhouse(`kubejs:${input}`)
|
||||
.circuit(1)
|
||||
.notConsumable(InputItem.of(Item.of(`${mod}:${input}`)))
|
||||
.inputFluids(Fluid.of("minecraft:water", 24000))
|
||||
.itemOutputs(output)
|
||||
.duration(duration)
|
||||
.EUt(80)
|
||||
event.recipes.gtceu.greenhouse(`kubejs:${input}_boosted`)
|
||||
.circuit(2)
|
||||
.notConsumable(InputItem.of(Item.of(`${mod}:${input}`)))
|
||||
.itemInputs("1x gtceu:fertilizer")
|
||||
.inputFluids(Fluid.of("minecraft:water", 16000))
|
||||
.itemOutputs(boostedOutputs)
|
||||
.duration(duration / 2)
|
||||
.EUt(80)
|
||||
}
|
||||
|
||||
|
||||
// //// Trees //////
|
||||
Greenhouse("gtceu", "rubber_sapling", 1280, ["32x gtceu:rubber_log", "8x gtceu:sticky_resin"], 4)
|
||||
Greenhouse("minecraft", "oak_sapling", 1280, ["64x minecraft:oak_log"], 4)
|
||||
Greenhouse("minecraft", "dark_oak_sapling", 1280, ["64x minecraft:dark_oak_log"], 4)
|
||||
Greenhouse("minecraft", "spruce_sapling", 1280, ["64x minecraft:spruce_log"], 4)
|
||||
Greenhouse("minecraft", "birch_sapling", 1280, ["64x minecraft:birch_log"], 4)
|
||||
Greenhouse("minecraft", "acacia_sapling", 1280, ["64x minecraft:acacia_log"], 4)
|
||||
Greenhouse("minecraft", "jungle_sapling", 1280, ["64x minecraft:jungle_log"], 4)
|
||||
Greenhouse("minecraft", "azalea", 1280, ["64x minecraft:oak_log"], 4)
|
||||
Greenhouse("minecraft", "flowering_azalea", 1280, ["64x minecraft:oak_log"], 4)
|
||||
Greenhouse("minecraft", "cherry_sapling", 1280, ["64x minecraft:cherry_log"], 4)
|
||||
Greenhouse("minecraft", "mangrove_propagule", 1280, ["64x minecraft:mangrove_log"], 4)
|
||||
Greenhouse("minecraft", "chorus_flower", 1280, ["32x minecraft:chorus_fruit"], 4)
|
||||
Greenhouse("minecraft", "warped_fungus", 1280, ["64x minecraft:warped_stem", "32x minecraft:warped_wart_block", "16x minecraft:shroomlight"], 4)
|
||||
Greenhouse("minecraft", "crimson_fungus", 1280, ["64x minecraft:crimson_stem", "32x minecraft:nether_wart_block", "16x minecraft:shroomlight"], 4)
|
||||
Greenhouse("thermal", "rubberwood_sapling", 1280, ["64x thermal:rubberwood_log"], 4)
|
||||
|
||||
// //// Crops //////
|
||||
Greenhouse("minecraft", "sugar_cane", 640, ["32x minecraft:sugar_cane"], 0)
|
||||
// TODO: Increase water requirement for Kelp
|
||||
Greenhouse("minecraft", "kelp", 640, ["32x minecraft:kelp"], 0)
|
||||
Greenhouse("minecraft", "bamboo", 640, ["48x minecraft:bamboo"], 0)
|
||||
Greenhouse("minecraft", "cactus", 640, ["32x minecraft:cactus"], 0)
|
||||
Greenhouse("minecraft", "wheat_seeds", 640, ["32x minecraft:wheat"], 0)
|
||||
Greenhouse("minecraft", "carrot", 640, ["32x minecraft:carrot"], 0)
|
||||
Greenhouse("minecraft", "potato", 640, ["32x minecraft:potato"], 0)
|
||||
Greenhouse("minecraft", "beetroot_seeds", 640, ["32x minecraft:beetroot"], 0)
|
||||
Greenhouse("minecraft", "sweet_berries", 640, ["32x minecraft:sweet_berries"], 0)
|
||||
Greenhouse("minecraft", "glow_berries", 640, ["32x minecraft:glow_berries"], 0)
|
||||
Greenhouse("minecraft", "cocoa_beans", 640, ["32x minecraft:cocoa_beans"], 0)
|
||||
Greenhouse("minecraft", "sea_pickle", 640, ["32x minecraft:sea_pickle"], 0)
|
||||
Greenhouse("minecraft", "melon_seeds", 640, ["16x minecraft:melon"], 0)
|
||||
Greenhouse("minecraft", "pumpkin_seeds", 640, ["16x minecraft:pumpkin"], 0)
|
||||
Greenhouse("minecraft", "nether_wart", 640, ["16x minecraft:nether_wart"], 0)
|
||||
Greenhouse("minecraft", "red_mushroom", 640, ["16x minecraft:red_mushroom"], 0)
|
||||
Greenhouse("minecraft", "brown_mushroom", 640, ["16x minecraft:brown_mushroom"], 0)
|
||||
|
||||
|
||||
// //// Flowers & Cosmetic Blocks //////
|
||||
let flowers = [
|
||||
"wither_rose",
|
||||
"cornflower",
|
||||
"sunflower",
|
||||
"peony",
|
||||
"red_tulip",
|
||||
"poppy",
|
||||
"rose_bush",
|
||||
"blue_orchid",
|
||||
"orange_tulip",
|
||||
"dandelion",
|
||||
"pink_tulip",
|
||||
"pink_petals",
|
||||
"allium",
|
||||
"lilac",
|
||||
"lily_of_the_valley",
|
||||
"oxeye_daisy",
|
||||
"azure_bluet",
|
||||
"white_tulip",
|
||||
"pitcher_plant",
|
||||
"lily_pad",
|
||||
"weeping_vines",
|
||||
"twisting_vines",
|
||||
"vine",
|
||||
"moss_block",
|
||||
"glow_lichen",
|
||||
"tube_coral_fan",
|
||||
"brain_coral_fan",
|
||||
"bubble_coral_fan",
|
||||
"fire_coral_fan",
|
||||
"horn_coral_fan"
|
||||
]
|
||||
flowers.forEach(flower => {
|
||||
Greenhouse("minecraft", flower, 640, [Item.of(flower, 48)], 0);
|
||||
})
|
||||
// Torchflowers are grown from seeds
|
||||
Greenhouse("minecraft", "torchflower_seeds", 640, [Item.of("torchflower", 48)], 0);
|
||||
// A way to get grass blocks
|
||||
event.recipes.gtceu.greenhouse("kubejs:grass_block")
|
||||
.circuit(1)
|
||||
.notConsumable(InputItem.of(Item.of("minecraft:grass_block")))
|
||||
.itemInputs("64x dirt")
|
||||
.inputFluids(Fluid.of("minecraft:water", 24000))
|
||||
.itemOutputs("64x grass_block")
|
||||
.duration(640)
|
||||
.EUt(80)
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
event.custom({
|
||||
type: "thermal:insolator",
|
||||
"ingredient": {
|
||||
"item": "gtceu:rubber_sapling"
|
||||
},
|
||||
"result": [
|
||||
{
|
||||
"item": "gtceu:rubber_log",
|
||||
"chance": 6.0
|
||||
},
|
||||
{
|
||||
"item": "gtceu:sticky_resin",
|
||||
"chance": 1.25
|
||||
},
|
||||
{
|
||||
"item": "gtceu:rubber_sapling",
|
||||
"chance": 1.1
|
||||
}
|
||||
],
|
||||
"energy_mod": 3.0,
|
||||
"water_mod": 3.0
|
||||
}).id("kubejs:thermal/insolator/rubber_sapling")
|
||||
|
||||
event.custom({
|
||||
type: "thermal:insolator",
|
||||
"ingredient": {
|
||||
"item": "minecraft:pink_petals",
|
||||
},
|
||||
"result": [
|
||||
{
|
||||
"item": "minecraft:pink_petals",
|
||||
"chance": 2.0
|
||||
}
|
||||
],
|
||||
"energy_mod": 1.0,
|
||||
"water_mod": 1.0
|
||||
}).id("kubejs:thermal/insolator/pink_petals")
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue