From bd876eb5c3cec1569144469f0e3737f05a0cb8ea Mon Sep 17 00:00:00 2001 From: trafficlunar Date: Sat, 21 Dec 2024 15:57:07 +0000 Subject: [PATCH] feat: filter script --- generator/filter.js | 33 +++++++++++++++++ generator/regex.json | 87 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 generator/filter.js create mode 100644 generator/regex.json diff --git a/generator/filter.js b/generator/filter.js new file mode 100644 index 0000000..e65da74 --- /dev/null +++ b/generator/filter.js @@ -0,0 +1,33 @@ +const fs = require("fs"); +const path = require("path"); + +const regex = require("./regex.json"); + +const INPUT = path.join(__dirname, "blocks/"); + +function isBlacklisted(fileName) { + if (!fileName.endsWith(".png")) return true; + + return regex.some((pattern) => { + const regex = new RegExp(pattern); + return regex.test(fileName); + }); +} + +fs.readdir(INPUT, (err, files) => { + if (err) throw err; + + files.forEach((file) => { + const filePath = path.join(INPUT, file); + + if (isBlacklisted(file)) { + fs.unlink(filePath, (err) => { + if (err) { + console.error(`Error deleting file ${file}:`, err); + } else { + console.log(`Deleted file: ${file}`); + } + }); + } + }); +}); diff --git a/generator/regex.json b/generator/regex.json new file mode 100644 index 0000000..bdd7c2d --- /dev/null +++ b/generator/regex.json @@ -0,0 +1,87 @@ +[ + "NOTE: AN AI GENERATED THIS", + "glass_pane_top", + ".*tulip.*", + ".*water.*", + ".*vine.*", + ".*turtle_egg.*", + "(?!.*block.*)block", + ".*tripwire.*", + ".*torch.*", + "tnt_(top|bottom)", + "sea_pickle", + ".*seagrass.*", + "tall_grass", + ".*flower.*", + ".*sugar_cane.*", + "structure_block_.*", + "stone_slab_top", + ".*sapling.*", + ".*leaves.*", + ".*_door.*", + "sandstone_(top|bottom)", + ".*bush.*", + "(?!command_block_front).*command_block(?!(_front|_repeating|_chain))", + ".*repeater.*", + "(?<=_)on(?=.*)", + ".*dust.*", + "red_mushroom", + ".*rail.*", + "quartz_(pillar_top|block_(top|bottom))", + "purpur_pillar_top", + "pumpkin_top", + ".*stem.*", + ".*stage.*", + ".*poppy.*", + "(?!piston_top).*piston.*", + ".*peony.*", + ".*daisy.*", + "observer_top", + ".*portal.*", + "mycelium_top", + "lily_pad", + ".*lilac.*", + ".*lever.*", + ".*lava.*", + ".*fern.*", + ".*ladder.*", + "jukebox_top", + "iron_bars", + ".*hopper.*", + "grass_block_top", + "^(?!.*grass_block).*grass.*", + "grass_block_side_overlay", + "furnace_top", + "frosted_ice_0", + ".*fire.*", + ".*farmland.*", + ".*end_rod.*", + ".*end_portal_frame.*", + ".*enchanting_table.*", + "dropper_front_vertical", + "dragon_egg", + "dispenser_front_vertical", + ".*debug.*", + ".*daylight_detector.*", + ".*dandelion.*", + ".*anvil.*", + "(?!crafting_table_front).*crafting_table.*", + ".*conduit.*", + ".*comparator.*", + ".*chorus_(plant|flower).*", + "chiseled_quartz_block_top", + "(?!cauldron_side).*cauldron.*", + ".*cake.*", + ".*cactus.*", + "brown_mushroom", + ".*brewing_stand.*", + ".*orchid.*", + ".*allium.*", + ".*azure.*", + ".*beacon.*", + "^(?!.*coral_block).*coral.*", + "^(?!.*dried_kelp_side).*kelp.*", + "podzol_top", + "frosted_ice", + "iron_trapdoor" +]