232 lines
6.8 KiB
JavaScript
232 lines
6.8 KiB
JavaScript
console.info("[SOCIETY] addToolRecipes.js loaded");
|
|
|
|
ServerEvents.recipes((e) => {
|
|
const toolTypes = ["pickaxe", "shovel", "hoe", "sword", "axe"];
|
|
const armorTypes = ["helmet", "chestplate", "leggings", "boots"];
|
|
|
|
const upgradeTool = (type, modId, armor) => {
|
|
if (!armor) {
|
|
if (type !== "watering_can") {
|
|
e.smithing(
|
|
`${modId}:stone_${type}`,
|
|
"numismatics:cog",
|
|
`${modId}:wooden_${type}`,
|
|
"#minecraft:stone_tool_materials"
|
|
);
|
|
e.smithing(
|
|
`${modId}:iron_${type}`,
|
|
"society:iron_upgrade_smithing_template",
|
|
`${modId}:stone_${type}`,
|
|
"minecraft:iron_ingot"
|
|
);
|
|
}
|
|
} else {
|
|
e.smithing(
|
|
`${modId}:chainmail_${type}`,
|
|
"numismatics:cog",
|
|
`${modId}:leather_${type}`,
|
|
"minecraft:chain"
|
|
);
|
|
e.smithing(
|
|
`${modId}:iron_${type}`,
|
|
"society:iron_upgrade_smithing_template",
|
|
`${modId}:chainmail_${type}`,
|
|
"minecraft:iron_ingot"
|
|
);
|
|
}
|
|
e.smithing(
|
|
`${modId}:gold${modId === "minecraft" ? "en" : ""}_${type}`,
|
|
`society:gold_upgrade_smithing_template`,
|
|
`${modId}:iron_${type}`,
|
|
"minecraft:gold_ingot"
|
|
);
|
|
e.smithing(
|
|
`${modId}:diamond_${type}`,
|
|
`society:diamond_upgrade_smithing_template`,
|
|
`${modId}:gold${modId === "minecraft" ? "en" : ""}_${type}`,
|
|
"minecraft:diamond"
|
|
);
|
|
if (modId !== "aquaculture") {
|
|
e.smithing(
|
|
`${modId}:netherite_${type}`,
|
|
"minecraft:netherite_upgrade_smithing_template",
|
|
`${modId}:diamond_${type}`,
|
|
"minecraft:netherite_ingot"
|
|
);
|
|
}
|
|
};
|
|
e.smithing(
|
|
"society:galaxy_sword",
|
|
"minecraft:netherite_upgrade_smithing_template",
|
|
"minecraft:netherite_sword",
|
|
"society:prismatic_shard"
|
|
);
|
|
e.smithing(
|
|
"society:meowmageddon",
|
|
"simplehats:nekoears",
|
|
"society:galaxy_sword",
|
|
"society:prismatic_shard"
|
|
);
|
|
|
|
const manasteelUpgrades = (type) => {
|
|
e.smithing(
|
|
`botania:manasteel_${type === "pickaxe" ? "pick" : type}`,
|
|
"society:botanical_tribute",
|
|
`minecraft:golden_${type}`,
|
|
"botania:manasteel_ingot"
|
|
);
|
|
};
|
|
const elementiumUpgrades = (type) => {
|
|
e.smithing(
|
|
`botania:elementium_${type}`,
|
|
"society:botanical_tribute",
|
|
`botania:manasteel_${type === "pickaxe" ? "pick" : type}`,
|
|
"botania:elementium_ingot"
|
|
);
|
|
};
|
|
e.smithing(
|
|
"botania:glass_pickaxe",
|
|
"society:botanical_tribute",
|
|
"botania:manasteel_pick",
|
|
"botania:mana_glass"
|
|
);
|
|
const runes = ["spring", "summer", "autumn", "winter"];
|
|
const terrasteelUpgrades = (type, runeIndex) => {
|
|
e.shaped(`botania:terrasteel_${type}`, ["crc", "mTm", "cmc"], {
|
|
T: Item.of(`botania:manasteel_${type}`),
|
|
m: "botania:terrasteel_ingot",
|
|
c: "society:botanical_tribute",
|
|
r: `botania:rune_${runes[runeIndex]}`,
|
|
}).modifyResult((grid, result) => {
|
|
let item = grid.find(Item.of(`botania:manasteel_${type}`));
|
|
return result.withNBT(item.nbt);
|
|
});
|
|
};
|
|
const neptuniumUpgrades = (type) => {
|
|
e.smithing(
|
|
`aquaculture:neptunium_${type}`,
|
|
`society:neptunium_upgrade_smithing_template`,
|
|
`minecraft:diamond_${type}`,
|
|
"aquaculture:neptunium_ingot"
|
|
);
|
|
};
|
|
toolTypes.forEach((type) => {
|
|
upgradeTool(type, "minecraft");
|
|
neptuniumUpgrades(type);
|
|
manasteelUpgrades(type);
|
|
elementiumUpgrades(type);
|
|
});
|
|
armorTypes.forEach((type, index) => {
|
|
upgradeTool(type, "minecraft", true);
|
|
neptuniumUpgrades(type);
|
|
manasteelUpgrades(type);
|
|
elementiumUpgrades(type);
|
|
terrasteelUpgrades(type, index);
|
|
});
|
|
e.smithing(
|
|
`aquaculture:neptunium_bow`,
|
|
`society:neptunium_upgrade_smithing_template`,
|
|
`minecraft:bow`,
|
|
"aquaculture:neptunium_ingot"
|
|
);
|
|
// Knives
|
|
const knifeTiers = ["flint", "iron", "gold", "diamond", "netherite"];
|
|
knifeTiers.forEach((tier, index) => {
|
|
if (index > 0) {
|
|
e.smithing(
|
|
`farmersdelight:${tier === "gold" ? "golden" : tier}_knife`,
|
|
tier === "netherite"
|
|
? "minecraft:netherite_upgrade_smithing_template"
|
|
: `society:${tier}_upgrade_smithing_template`,
|
|
`farmersdelight:${tier === "diamond" ? "golden" : knifeTiers[index - 1]}_knife`,
|
|
`minecraft:${tier}${tier === "diamond" ? "" : "_ingot"}`
|
|
);
|
|
}
|
|
});
|
|
const rodTiers = ["normal", "iron", "gold", "diamond", "neptunium"];
|
|
rodTiers.forEach((tier, index) => {
|
|
if (index > 0) {
|
|
e.smithing(
|
|
`aquaculture:${tier}_fishing_rod`,
|
|
tier === "netherite"
|
|
? "minecraft:netherite_upgrade_smithing_template"
|
|
: `society:${tier}_upgrade_smithing_template`,
|
|
tier === "iron"
|
|
? "minecraft:fishing_rod"
|
|
: `aquaculture:${rodTiers[index - 1]}_fishing_rod`,
|
|
tier === "neptunium"
|
|
? "aquaculture:neptunium_ingot"
|
|
: `minecraft:${tier}${tier === "diamond" ? "" : "_ingot"}`
|
|
);
|
|
}
|
|
});
|
|
e.smithing(
|
|
"constructionwand:iron_wand",
|
|
"society:iron_upgrade_smithing_template",
|
|
"constructionwand:stone_wand",
|
|
"minecraft:iron_block"
|
|
);
|
|
e.smithing(
|
|
"constructionwand:diamond_wand",
|
|
"society:diamond_upgrade_smithing_template",
|
|
"constructionwand:iron_wand",
|
|
"minecraft:diamond_block"
|
|
);
|
|
e.smithing(
|
|
"constructionwand:infinity_wand",
|
|
"minecraft:netherite_upgrade_smithing_template",
|
|
"constructionwand:diamond_wand",
|
|
"minecraft:netherite_block"
|
|
);
|
|
// Misc
|
|
e.smithing(
|
|
"create:netherite_backtank",
|
|
"minecraft:netherite_upgrade_smithing_template",
|
|
"create:copper_backtank",
|
|
"minecraft:netherite_ingot"
|
|
);
|
|
e.smithing(
|
|
"create:netherite_diving_helmet",
|
|
"minecraft:netherite_upgrade_smithing_template",
|
|
"create:copper_diving_helmet",
|
|
"minecraft:netherite_ingot"
|
|
);
|
|
e.smithing(
|
|
"create:netherite_diving_boots",
|
|
"minecraft:netherite_upgrade_smithing_template",
|
|
"create:copper_diving_boots",
|
|
"minecraft:netherite_ingot"
|
|
);
|
|
// Wool armor
|
|
const upgradeWool = (type, mappedType) => {
|
|
e.smithing(
|
|
`minecraft:chainmail_${mappedType}`,
|
|
"numismatics:cog",
|
|
`sewingkit:wool_${type}`,
|
|
"minecraft:chain"
|
|
);
|
|
};
|
|
[
|
|
{ wool: "hat", upgrade: "helmet" },
|
|
{ wool: "shirt", upgrade: "chestplate" },
|
|
{ wool: "pants", upgrade: "leggings" },
|
|
{ wool: "shoes", upgrade: "boots" },
|
|
].forEach((entry) => {
|
|
upgradeWool(entry.wool, entry.upgrade);
|
|
});
|
|
e.smithing(
|
|
"society:dragontooth_axe",
|
|
"minecraft:netherite_upgrade_smithing_template",
|
|
"minecraft:diamond_axe",
|
|
"minecraft:bone_block"
|
|
);
|
|
// Watering Cans
|
|
e.smithing(
|
|
"dew_drop_watering_cans:iron_watering_can",
|
|
"society:iron_upgrade_smithing_template",
|
|
"dew_drop_watering_cans:copper_watering_can",
|
|
"minecraft:iron_ingot"
|
|
);
|
|
upgradeTool("watering_can", "dew_drop_watering_cans");
|
|
});
|