rewrite the ore processing to be even less code, buff compatability for agricultural automation
This commit is contained in:
@ -1,40 +1,64 @@
|
||||
// priority: 0
|
||||
function Metal(name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
global.metalForm = (metal, tag, form, qty) => {
|
||||
if (qty == undefined) {
|
||||
qty = 1;
|
||||
}
|
||||
let itemType = AlmostUnified.getPreferredItemForTag(`forge:${tag}/${metal}`);
|
||||
Metal.of = function(name) {
|
||||
return new Metal(name);
|
||||
}
|
||||
|
||||
Metal.prototype.formOf = function(form) {
|
||||
let itemType = AlmostUnified.getPreferredItemForTag(`forge:${form}/${this.name}`);
|
||||
if (itemType.id == 'minecraft:air') {
|
||||
console.log(`metals: ${metal} ${form} has unknown tag forge:${tag}/${metal}?`)
|
||||
let ret = Item.of(`alltheores:${metal}_${form}`);
|
||||
if (ret.id == "minecraft:air") {
|
||||
return Item.of(`thermal:${metal}_${form}`);
|
||||
}
|
||||
return ret;
|
||||
console.warn(`metals: #forge:${form}/${this.name} is not supported by AlmostUnified! Trying a vanilla hack...`);
|
||||
itemType = Ingredient.of(`#forge:${form}/${this.name}`).getFirst();
|
||||
}
|
||||
if (itemType.id == 'minecraft:air') {
|
||||
console.warn(`metals: No metal items found in #forge:${form}/${this.name}`)
|
||||
} else {
|
||||
console.log(`metals: Found ${itemType.id} for #forge:${form}/${this.name}`);
|
||||
}
|
||||
console.log(`metals: forge:${tag}/${metal} found`);
|
||||
return itemType;
|
||||
}
|
||||
|
||||
global.dustItem = (material, qty) => {
|
||||
return global.metalForm(material, 'dusts', 'dust', qty);
|
||||
// Format is [property name, tag name]
|
||||
const forms = [
|
||||
['ingot', 'ingots'],
|
||||
['gear', 'gears'],
|
||||
['rod', 'rods'],
|
||||
['nugget', 'nuggets'],
|
||||
['plate', 'plates'],
|
||||
['dust', 'dusts']
|
||||
];
|
||||
|
||||
for (const [prop_name, form_tag] of forms) {
|
||||
Metal.prototype[prop_name] = function() {
|
||||
return this.formOf(form_tag);
|
||||
}
|
||||
}
|
||||
|
||||
global.ingotItem = (material, qty) => {
|
||||
return global.metalForm(material, 'ingots', 'ingot', qty);
|
||||
global.metalForm = (metal, tag) => {
|
||||
return (new Metal(metal)).formOf(tag);
|
||||
}
|
||||
|
||||
global.plateItem = (material, qty) => {
|
||||
return global.metalForm(material, 'plates', 'plate', qty);
|
||||
global.dustItem = (material) => {
|
||||
return global.metalForm(material, 'dusts');
|
||||
}
|
||||
|
||||
global.gearItem = (material, qty) => {
|
||||
return global.metalForm(material, 'gears', 'gear', qty);
|
||||
global.ingotItem = (material) => {
|
||||
return global.metalForm(material, 'ingots');
|
||||
}
|
||||
|
||||
global.nuggetItem = (material, qty) => {
|
||||
return global.metalForm(material, 'nuggets', 'nugget', qty);
|
||||
global.plateItem = (material) => {
|
||||
return global.metalForm(material, 'plates');
|
||||
}
|
||||
|
||||
global.gearItem = (material) => {
|
||||
return global.metalForm(material, 'gears');
|
||||
}
|
||||
|
||||
global.nuggetItem = (material) => {
|
||||
return global.metalForm(material, 'nuggets');
|
||||
}
|
||||
|
||||
global.replaceInputs = (evt, filter, replaceMap) => {
|
||||
|
Reference in New Issue
Block a user