414 lines
16 KiB
JavaScript
414 lines
16 KiB
JavaScript
// priority: 10
|
|
|
|
events.listen('recipes', function (event) {
|
|
|
|
// Woodcutting
|
|
const woodcutting = (output, input, count) => {
|
|
// Druidcraft Woodcutter
|
|
event.custom({
|
|
type: "druidcraft:woodcutting",
|
|
ingredient: Ingredient.of(input).toJson(),
|
|
result: output,
|
|
count: count
|
|
})
|
|
// TODO: Other woodcutters here as needed (eg. Environmental Sawmill).
|
|
}
|
|
|
|
// Wood Types
|
|
const minecraftOverworldWoodTypes = [
|
|
'acacia',
|
|
'birch',
|
|
'dark_oak',
|
|
'jungle',
|
|
'oak',
|
|
'spruce'
|
|
]
|
|
|
|
const minecraftNetherWoodTypes = [
|
|
'crimson',
|
|
'warped'
|
|
]
|
|
|
|
const atmosphericWoodTypes = [
|
|
'rosewood',
|
|
'morado',
|
|
'yucca',
|
|
'kousa',
|
|
'aspen',
|
|
'grimwood'
|
|
]
|
|
|
|
const autumnityWoodTypes = [
|
|
'maple'
|
|
]
|
|
|
|
const biomesOPlentyWoodTypes = [
|
|
'fir',
|
|
'redwood',
|
|
'cherry',
|
|
'mahogany',
|
|
'jacaranda',
|
|
'palm',
|
|
'willow',
|
|
'dead',
|
|
'magic',
|
|
'umbran',
|
|
'hellbark'
|
|
]
|
|
|
|
const astralSorceryWoodTypes = [
|
|
'infused_wood'
|
|
]
|
|
|
|
const botaniaWoodTypes = [
|
|
'livingwood',
|
|
'mossy_livingwood',
|
|
'dreamwood',
|
|
'mossy_dreamwood',
|
|
'shimmerwood'
|
|
]
|
|
|
|
const druidcraftWoodTypes = [
|
|
'darkwood',
|
|
'elder'
|
|
]
|
|
|
|
const endergeticExpansionWoodTypes = [
|
|
'poise'
|
|
]
|
|
|
|
// Note: This will normally be done manually.
|
|
const engineersDecorWoodTypes = [
|
|
'old_industrial_wood'
|
|
]
|
|
|
|
const enhancedMushroomsWoodTypes = [
|
|
'red_mushroom',
|
|
'brown_mushroom',
|
|
'glowshroom'
|
|
]
|
|
|
|
// Sneak previews. ;)
|
|
const environmentalWoodTypes = [
|
|
'cherry',
|
|
'willow',
|
|
'wisteria'
|
|
]
|
|
|
|
const forbiddenArcanusWoodTypes = [
|
|
'arcane_edelwood',
|
|
'cherrywood',
|
|
'edelwood',
|
|
'mysterywood'
|
|
]
|
|
|
|
// Note: IE has very weird naming conventions. Best to do manually normally.
|
|
const immersiveEngineeringWoodTypes = [
|
|
'treated'
|
|
]
|
|
|
|
const quarkWoodTypes = [
|
|
'white_stained',
|
|
'orange_stained',
|
|
'magenta_stained',
|
|
'light_blue_stained',
|
|
'yellow_stained',
|
|
'lime_stained',
|
|
'pink_stained',
|
|
'gray_stained',
|
|
'light_gray_stained',
|
|
'cyan_stained',
|
|
'purple_stained',
|
|
'blue_stained',
|
|
'brown_stained',
|
|
'green_stained',
|
|
'red_stained',
|
|
'black_stained',
|
|
]
|
|
|
|
const structurizeWoodTypes = [
|
|
'cactus'
|
|
]
|
|
|
|
// Note: Driftwood's Item IDs vary for the Wood variants, ie. it is just 'driftwood', not 'driftwood_wood'.
|
|
const upgradeAquaticWoodTypes = [
|
|
'driftwood',
|
|
'river'
|
|
]
|
|
|
|
|
|
// OUTPUT QUANTITIES
|
|
|
|
// Vanilla things:
|
|
const buttons_per_plank = 4
|
|
const doors_per_plank = 1
|
|
const fences_per_plank = 1
|
|
const fence_gates_per_plank = 1
|
|
const ladders_per_plank = 2
|
|
const planks_per_log = 4
|
|
const pressure_plates_per_plank = 2
|
|
const trapdoors_per_plank = 1
|
|
const signs_per_plank = 1
|
|
const slabs_per_plank = 2
|
|
const stairs_per_plank = 1
|
|
|
|
const buttons_per_log = buttons_per_plank * planks_per_log
|
|
const doors_per_log = doors_per_plank * planks_per_log
|
|
const fences_per_log = fences_per_plank * planks_per_log
|
|
const fence_gates_per_log = fence_gates_per_plank * planks_per_log
|
|
const ladders_per_log = ladders_per_plank * planks_per_log
|
|
const pressure_plates_per_log = pressure_plates_per_plank * planks_per_log
|
|
const signs_per_log = signs_per_plank * planks_per_log
|
|
const slabs_per_log = slabs_per_plank * planks_per_log
|
|
const stairs_per_log = stairs_per_plank * planks_per_log
|
|
const trapdoors_per_log = trapdoors_per_plank * planks_per_log
|
|
|
|
// Modded things:
|
|
const panels_per_plank = 1
|
|
const seats_per_plank = 1
|
|
const supports_per_plank = 1
|
|
const vertical_slabs_per_plank = slabs_per_plank
|
|
const vertical_planks_per_plank = 1
|
|
|
|
const decorative_blocks_beams_per_log = 1
|
|
const druidcraft_beams_per_log = 1
|
|
const panels_per_log = panels_per_plank * planks_per_log
|
|
const pantries_per_log = 1
|
|
const palisades_per_log = 3
|
|
const seats_per_log = seats_per_plank * planks_per_log
|
|
const sign_posts_per_log = signs_per_log
|
|
const supports_per_log = supports_per_plank * planks_per_log
|
|
const vertical_planks_per_log = planks_per_log
|
|
const vertical_slabs_per_log = slabs_per_log
|
|
const val_posts_per_log = 2
|
|
|
|
const planks_per_panel = 1
|
|
const vertical_planks_per_panel = 1
|
|
|
|
|
|
// Atmospheric
|
|
var atmosphericLogsTags = []
|
|
var atmosphericStrippedLogs = []
|
|
var atmosphericWoods = []
|
|
var atmosphericStrippedWoods = []
|
|
var atmosphericPlanks = []
|
|
var atmosphericVerticalPlanks = []
|
|
var atmosphericSlabs = []
|
|
var atmosphericVerticalSlabs = []
|
|
var atmosphericStairs = []
|
|
var atmosphericSigns = []
|
|
var atmosphericLadders = []
|
|
var atmosphericFences = []
|
|
var atmosphericFenceGates = []
|
|
var atmosphericButtons = []
|
|
var atmosphericTrapdoors = []
|
|
var atmosphericDoors = []
|
|
var atmosphericPressurePlates = []
|
|
|
|
atmosphericWoodTypes.forEach(function(element) {
|
|
atmosphericLogsTags.push('#atmospheric:'.concat(element).concat('_logs'))
|
|
atmosphericStrippedLogs.push('atmospheric:stripped_'.concat(element).concat('_log'))
|
|
atmosphericWoods.push('atmospheric:'.concat(element).concat('_log'))
|
|
atmosphericStrippedWoods.push('atmospheric:stripped_'.concat(element).concat('_log'))
|
|
atmosphericPlanks.push('atmospheric:'.concat(element).concat('_planks'))
|
|
atmosphericVerticalPlanks.push('atmospheric:vertical_'.concat(element).concat('_planks'))
|
|
atmosphericSlabs.push('atmospheric:'.concat(element).concat('_slab'))
|
|
atmosphericVerticalSlabs.push('atmospheric:'.concat(element).concat('_vertical_slab'))
|
|
atmosphericStairs.push('atmospheric:'.concat(element).concat('_stairs'))
|
|
atmosphericSigns.push('atmospheric:'.concat(element).concat('_sign'))
|
|
atmosphericLadders.push('atmospheric:'.concat(element).concat('_ladder'))
|
|
atmosphericFences.push('atmospheric:'.concat(element).concat('_fence'))
|
|
atmosphericFenceGates.push('atmospheric:'.concat(element).concat('_fence_gate'))
|
|
atmosphericButtons.push('atmospheric:'.concat(element).concat('_button'))
|
|
atmosphericTrapdoors.push('atmospheric:'.concat(element).concat('_trapdoor'))
|
|
atmosphericDoors.push('atmospheric:'.concat(element).concat('_door'))
|
|
atmosphericPressurePlates.push('atmospheric:'.concat(element).concat('_pressure_plate'))
|
|
})
|
|
|
|
for (let i = 0; i < atmosphericWoodTypes.length; i++) {
|
|
// Log Woodcutting
|
|
woodcutting(atmosphericPlanks[i], atmosphericLogsTags[i], planks_per_log)
|
|
woodcutting(atmosphericVerticalPlanks[i], atmosphericLogsTags[i], vertical_planks_per_log)
|
|
woodcutting(atmosphericSlabs[i], atmosphericLogsTags[i], slabs_per_log)
|
|
woodcutting(atmosphericVerticalSlabs[i], atmosphericLogsTags[i], vertical_slabs_per_log)
|
|
woodcutting(atmosphericStairs[i], atmosphericLogsTags[i], stairs_per_log)
|
|
woodcutting(atmosphericSigns[i], atmosphericLogsTags[i], signs_per_log)
|
|
woodcutting(atmosphericLadders[i], atmosphericLogsTags[i], ladders_per_log)
|
|
woodcutting(atmosphericFences[i], atmosphericLogsTags[i], fences_per_log)
|
|
woodcutting(atmosphericFenceGates[i], atmosphericLogsTags[i], fence_gates_per_log)
|
|
woodcutting(atmosphericButtons[i], atmosphericLogsTags[i], buttons_per_log)
|
|
woodcutting(atmosphericTrapdoors[i], atmosphericLogsTags[i], trapdoors_per_log)
|
|
woodcutting(atmosphericDoors[i], atmosphericLogsTags[i], doors_per_log)
|
|
woodcutting(atmosphericPressurePlates[i], atmosphericLogsTags[i], pressure_plates_per_log)
|
|
|
|
// Plank Woodcutting
|
|
woodcutting(atmosphericVerticalPlanks[i], atmosphericPlanks[i], vertical_planks_per_plank)
|
|
woodcutting(atmosphericSlabs[i], atmosphericPlanks[i], slabs_per_plank)
|
|
woodcutting(atmosphericVerticalSlabs[i], atmosphericPlanks[i], vertical_slabs_per_plank)
|
|
woodcutting(atmosphericStairs[i], atmosphericPlanks[i], stairs_per_plank)
|
|
woodcutting(atmosphericSigns[i], atmosphericPlanks[i], signs_per_plank)
|
|
woodcutting(atmosphericLadders[i], atmosphericPlanks[i], ladders_per_plank)
|
|
woodcutting(atmosphericFences[i], atmosphericPlanks[i], fences_per_plank)
|
|
woodcutting(atmosphericFenceGates[i], atmosphericPlanks[i], fence_gates_per_plank)
|
|
woodcutting(atmosphericButtons[i], atmosphericPlanks[i], buttons_per_plank)
|
|
woodcutting(atmosphericTrapdoors[i], atmosphericPlanks[i], trapdoors_per_plank)
|
|
woodcutting(atmosphericDoors[i], atmosphericPlanks[i], doors_per_plank)
|
|
woodcutting(atmosphericPressurePlates[i], atmosphericPlanks[i], pressure_plates_per_plank)
|
|
|
|
// Misc
|
|
woodcutting(atmosphericPlanks[i], atmosphericVerticalPlanks[i], vertical_planks_per_plank)
|
|
}
|
|
|
|
// Autumnity
|
|
// TODO: Planks, Vertical Planks, Slabs, Stairs, Ladders, Signs, Fences, Fence Gates, Buttons, Doors
|
|
|
|
// Biomes O Plenty
|
|
// TODO: Way too much. :'(
|
|
|
|
// Botania
|
|
// TODO: All of it.
|
|
|
|
// Decorative Blocks
|
|
woodcutting('decorative_blocks:acacia_palisade', '#minecraft:acacia_logs', 3)
|
|
woodcutting('decorative_blocks:acacia_seat', 'minecraft:acacia_planks', 1)
|
|
woodcutting('decorative_blocks:acacia_seat', '#minecraft:acacia_logs', 4)
|
|
woodcutting('decorative_blocks:acacia_support', 'minecraft:acacia_planks', 1)
|
|
woodcutting('decorative_blocks:acacia_support', '#minecraft:acacia_logs', 4)
|
|
woodcutting('decorative_blocks:acacia_beam', '#minecraft:acacia_logs', 1)
|
|
// TODO: Add non-acacia stuff.
|
|
|
|
// Decorative Blocks - Biomes O Plenty
|
|
// TODO: All of it. :/
|
|
|
|
// Decorative Blocks - Abnormals
|
|
// TODO: All of it. :/
|
|
|
|
// Druidcraft
|
|
woodcutting('druidcraft:acacia_panels', '#minecraft:acacia_logs', 4)
|
|
woodcutting('druidcraft:birch_panels', '#minecraft:birch_logs', 4)
|
|
woodcutting('druidcraft:dark_oak_panels', '#minecraft:dark_oak_logs', 4)
|
|
woodcutting('druidcraft:darkwood_panels', '#druidcraft:darkwood_logs', 4)
|
|
woodcutting('druidcraft:elder_panels', '#druidcraft:elder_logs', 4)
|
|
woodcutting('druidcraft:jungle_panels', '#minecraft:jungle_logs', 4)
|
|
woodcutting('druidcraft:oak_panels', '#minecraft:oak_logs', 4)
|
|
woodcutting('druidcraft:spruce_panels', '#minecraft:spruce_logs', 4)
|
|
// Make sure to check this again if Druidcraft adds Crimson / Warped panels.
|
|
|
|
// Endergetic Expansion
|
|
// TODO: Planks, Vertical Planks, Slabs, Stairs, Ladders, Signs, Fences, Fence Gates, Buttons, Doors
|
|
|
|
// Engineer's Decor
|
|
// TODO: A bunch of Treated Wood stuff.
|
|
|
|
// Enhanced Mushrooms
|
|
// TODO: Planks, Vertical Planks, Slabs, Stairs, Ladders, Signs, Fences, Fence Gates, Buttons, Doors
|
|
|
|
// Environmental
|
|
// (do this whenever it actually releases)
|
|
// TODO: Planks, Vertical Planks, Slabs, Stairs, Ladders, Signs, Fences, Fence Gates, Buttons, Doors
|
|
|
|
// Farmer's Delight
|
|
woodcutting('farmersdelight:acacia_pantry', '#minecraft:acacia_logs', 1)
|
|
woodcutting('farmersdelight:birch_pantry', '#minecraft:birch_logs', 1)
|
|
woodcutting('farmersdelight:crimson_pantry', '#minecraft:crimson_stems', 1)
|
|
woodcutting('farmersdelight:dark_oak_pantry', '#minecraft:dark_oak_logs', 1)
|
|
woodcutting('farmersdelight:jungle_pantry', '#minecraft:jungle_logs', 1)
|
|
woodcutting('farmersdelight:oak_pantry', '#minecraft:oak_logs', 1)
|
|
woodcutting('farmersdelight:spruce_pantry', '#minecraft:spruce_logs', 1)
|
|
woodcutting('farmersdelight:warped_pantry', '#minecraft:warped_stems', 1)
|
|
|
|
// Immersive Engineering
|
|
// TODO: A bunch of Treated Wood stuff.
|
|
|
|
// Macaw's Stuff
|
|
|
|
// Minecraft
|
|
woodcutting('minecraft:acacia_sign', '#minecraft:acacia_logs', 2)
|
|
woodcutting('minecraft:acacia_slab', '#minecraft:acacia_logs', 8)
|
|
woodcutting('minecraft:acacia_stairs', '#minecraft:acacia_logs', 4)
|
|
woodcutting('minecraft:acacia_fence', '#minecraft:acacia_logs', 3)
|
|
woodcutting('minecraft:acacia_fence_gate', '#minecraft:acacia_logs', 2)
|
|
woodcutting('minecraft:acacia_trapdoor', '#minecraft:acacia_logs', 4)
|
|
woodcutting('minecraft:acacia_pressure_plate', 'minecraft:acacia_planks', 2)
|
|
woodcutting('minecraft:acacia_pressure_plate', '#minecraft:acacia_logs', 8)
|
|
woodcutting('minecraft:acacia_door', '#minecraft:acacia_logs', 2)
|
|
// TODO: Add non-acacia stuff.
|
|
|
|
// Supplementaries - Vanilla
|
|
woodcutting('supplementaries:item_shelf', '#minecraft:wooden_slabs', 1)
|
|
woodcutting('supplementaries:sign_post_acacia', 'minecraft:acacia_planks', 1)
|
|
woodcutting('supplementaries:sign_post_acacia', '#minecraft:acacia_logs', 4)
|
|
woodcutting('supplementaries:sign_post_birch', 'minecraft:birch_planks', 1)
|
|
woodcutting('supplementaries:sign_post_birch', '#minecraft:birch_logs', 4)
|
|
woodcutting('supplementaries:sign_post_crimson', 'minecraft:crimson_planks', 1)
|
|
woodcutting('supplementaries:sign_post_crimson', '#minecraft:crimson_stems', 4)
|
|
woodcutting('supplementaries:sign_post_dark_oak', 'minecraft:dark_oak_planks', 1)
|
|
woodcutting('supplementaries:sign_post_dark_oak', '#minecraft:dark_oak_logs', 4)
|
|
woodcutting('supplementaries:sign_post_jungle', 'minecraft:jungle_planks', 1)
|
|
woodcutting('supplementaries:sign_post_jungle', '#minecraft:jungle_logs', 4)
|
|
woodcutting('supplementaries:sign_post_oak', 'minecraft:oak_planks', 1)
|
|
woodcutting('supplementaries:sign_post_oak', '#minecraft:oak_logs', 4)
|
|
woodcutting('supplementaries:sign_post_spruce', 'minecraft:spruce_planks', 1)
|
|
woodcutting('supplementaries:sign_post_spruce', '#minecraft:spruce_logs', 4)
|
|
woodcutting('supplementaries:sign_post_warped', 'minecraft:warped_planks', 1)
|
|
woodcutting('supplementaries:sign_post_warped', '#minecraft:warped_stems', 4)
|
|
|
|
// Supplementaries - Atmospheric
|
|
woodcutting('supplementaries:sign_post_rosewood', 'atmospheric:rosewood_planks', 1)
|
|
woodcutting('supplementaries:sign_post_rosewood', '#atmospheric:rosewood_logs', 4)
|
|
woodcutting('supplementaries:sign_post_kousa', 'atmospheric:kousa_planks', 1)
|
|
woodcutting('supplementaries:sign_post_kousa', '#atmospheric:kousa_logs', 4)
|
|
woodcutting('supplementaries:sign_post_aspen', 'atmospheric:aspen_planks', 1)
|
|
woodcutting('supplementaries:sign_post_aspen', '#atmospheric:aspen_logs', 4)
|
|
woodcutting('supplementaries:sign_post_morado', 'atmospheric:morado_planks', 1)
|
|
woodcutting('supplementaries:sign_post_morado', '#atmospheric:morado_logs', 4)
|
|
woodcutting('supplementaries:sign_post_grimwood', 'atmospheric:grimwood_planks', 1)
|
|
woodcutting('supplementaries:sign_post_grimwood', '#atmospheric:grimwood_logs', 4)
|
|
woodcutting('supplementaries:sign_post_yucca', 'atmospheric:yucca_planks', 1)
|
|
woodcutting('supplementaries:sign_post_yucca', '#atmospheric:yucca_logs', 4)
|
|
|
|
// Supplementaries - Autumnity
|
|
woodcutting('supplementaries:sign_post_maple', 'autumnity:maple_planks', 1)
|
|
woodcutting('supplementaries:sign_post_maple', '#autumnity:maple_logs', 4)
|
|
|
|
// Supplementaries - Endergetic Expansion
|
|
woodcutting('supplementaries:sign_post_poise', 'endergetic:poise_planks', 1)
|
|
woodcutting('supplementaries:sign_post_poise', '#endergetic:poise_stems', 4)
|
|
|
|
// Supplementaries - Enhanced Mushrooms
|
|
woodcutting('supplementaries:sign_post_red_mushroom', 'enhanced_mushrooms:red_mushroom_planks', 1)
|
|
woodcutting('supplementaries:sign_post_red_mushroom', '#enhanced_mushrooms:red_mushroom_stems', 4)
|
|
woodcutting('supplementaries:sign_post_brown_mushroom', 'enhanced_mushrooms:brown_mushroom_planks', 1)
|
|
woodcutting('supplementaries:sign_post_brown_mushroom', '#enhanced_mushrooms:brown_mushroom_stems', 4)
|
|
|
|
// Supplementaries - Upgrade Aquatic
|
|
woodcutting('supplementaries:sign_post_driftwood', 'upgrade_aquatic:driftwood_planks', 1)
|
|
woodcutting('supplementaries:sign_post_driftwood', '#upgrade_aquatic:driftwood_logs', 4)
|
|
woodcutting('supplementaries:sign_post_river', 'upgrade_aquatic:river_planks', 1)
|
|
woodcutting('supplementaries:sign_post_river', '#upgrade_aquatic:river_logs', 4)
|
|
|
|
// Quark
|
|
woodcutting('quark:vertical_acacia_planks', 'minecraft:acacia_planks', 1)
|
|
woodcutting('quark:vertical_acacia_planks', '#minecraft:acacia_logs', 4)
|
|
woodcutting('quark:acacia_post', '#minecraft:acacia_logs', 3)
|
|
woodcutting('quark:stripped_acacia_post', '#minecraft:acacia_logs', 3)
|
|
woodcutting('quark:acacia_vertical_slab', 'minecraft:acacia_planks', 2)
|
|
woodcutting('quark:acacia_vertical_slab', '#minecraft:acacia_logs', 8)
|
|
woodcutting('quark:acacia_ladder', 'minecraft:acacia_planks', 2)
|
|
woodcutting('quark:acacia_ladder', '#minecraft:acacia_logs', 8)
|
|
// TODO: Add non-acacia stuff.
|
|
|
|
// Upgrade Aquatic
|
|
// TODO: Planks, Vertical PLanks, Slabs, Stairs, Ladders, Signs, Fences, Fence Gates, Buttons, Doors
|
|
|
|
// Valhelsia Structures
|
|
woodcutting('valhelsia_structures:acacia_post', '#minecraft:acacia_logs', 2)
|
|
woodcutting('valhelsia_structures:birch_post', '#minecraft:birch_logs', 2)
|
|
woodcutting('valhelsia_structures:dark_oak_post', '#minecraft:dark_oak_logs', 2)
|
|
woodcutting('valhelsia_structures:jungle_post', '#minecraft:jungle_logs', 2)
|
|
woodcutting('valhelsia_structures:oak_post', '#minecraft:oak_logs', 2)
|
|
woodcutting('valhelsia_structures:spruce_post', '#minecraft:spruce_logs', 2)
|
|
// Make sure to check this again after the Valhelsia Structures update to add the new posts.
|
|
|
|
})
|