function onlyFromIngredient(ingredient, regex) { return ingredient.itemIds.filter(a => !regex.test(a)) } const obliterateItems = [ 'bits_n_bobs:nixie_board', 'bits_n_bobs:large_nixie_tube', "kitchenkarrot:ice_cubes", // "kitchenkarrot:acorn", "kitchenkarrot:sweet_roll", "kitchenkarrot:pillager_pie", 'minecraft:enchanting_table', // /refinedstorage:\\d+k_(fluid_)?storage_(part|disk)"/, // "refinedstorage:storage_housing", // "refinedstorage:creative_fluid_storage_disk", 'createdieselgenerators:sheet_metal_panel', // /create:[\\w_]*_calcite_[\\w_]*/, // "!(another_furniture:|everycomp:af)[\\w_/]*_(shelf|sofa|tall_stool|lamp|bench)", // /(another_furniture:|everycomp:af)[\\w_/]*_(?!curtain|stool|table|service_bell)/, // /copycats:[\w_]*$(? { event.remove({ input: obliterateItems }) event.remove({ output: obliterateItems }) for(let [ target, item, ingredient ] of swapItems) { event.replaceInput({ input: obliterateItems }, target, ingredient ?? item) event.replaceOutput({ output: obliterateItems }, target, item) } }) // Remove tags ServerEvents.tags('item', event => { event.removeAllTagsFrom(obliterateItems) event.add('c:hidden_from_recipe_viewers', obliterateItems) event.add('c:hidden_from_recipe_viewers', swapItems.map(a => a[0])) event.remove('yttr:not_indexable', 'minecraft:bundle') }) // // Append disabled tooltip // ItemEvents.modifyTooltips(event => { // event.add(obliterateItems, Text.red('Disabled')) // }) // Remove from recipe viewer // RecipeViewerEvents.removeEntriesCompletely('item', event => { // event.remove(obliterateItems) // }) // Remove from loot pools // LootJS.lootTables(event => { // event.modifyLootTables(/.*/).removeItem(obliterateItems) // }) LootJS.modifiers(event => { // event.removeLoot(event.modifyLootTables(/.*/).removeItem(obliterateItems)) event.addLootTypeModifier(LootType.ENTITY).removeLoot(obliterateItems) event.addLootTypeModifier(LootType.BLOCK).removeLoot(obliterateItems) event.addLootTypeModifier(LootType.CHEST).removeLoot(obliterateItems) // event.addLootTypeModifier(LootType.CHEST).removeLoot(obliterateItems.concat([ // 'additionaladditions:rose_gold_upgrade' // ])) event.addLootTypeModifier(LootType.FISHING).removeLoot(obliterateItems) event.addLootTypeModifier(LootType.GIFT).removeLoot(obliterateItems) }) // Destroy on interaction BlockEvents.rightClicked(event => { let { block } = event if (ObliterateCheck(block.id)) { block.set('minecraft:air') } }) // Destroy on block placement BlockEvents.placed(event => { let { block } = event if (ObliterateCheck(block.id)) { block.set('minecraft:air') } }) // Destroy on pickup ItemEvents.canPickUp(event => { let { item, itemEntity } = event if(itemEntity.hasPickUpDelay()) return if (ObliterateCheck(item.id)) { item.setCount(0) } }) // Destroy on drop ItemEvents.dropped(event => { let { item } = event if (ObliterateCheck(item.id)) { item.setCount(0) } }) // Destroy on inventory changed PlayerEvents.inventoryChanged(event => { let { item, player } = event if (ObliterateCheck(item.id)) { player.inventory.clear(item); } })