From 2440901c6a882c2684f5b3688c24711ee2ff58c8 Mon Sep 17 00:00:00 2001 From: TartaricAcid Date: Thu, 25 Jan 2018 21:19:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 100 + .travis.yml | 5 +- all_update_1.py | 41 - all_update_2.py | 41 - all_update_3.py | 46 - black.list | 5 - config.yml | 30 + delete_english.py | 69 - delete_update.py | 46 - download.log | 562 ------ download.py | 115 -- info.py | 224 --- logs/modpacks/1970-01-01-00-00-00.csv | 1 + logs/modpacks/mods/1970-01-01-00-00-00.csv | 1 + logs/mods/1970-01-01-00-00-00.csv | 1 + main.py | 31 + process.md | 1674 ----------------- .../assets}/abyssalcraft/lang/en_us.lang | 0 .../assets}/abyssalcraft/lang/zh_cn.lang | 0 .../assets}/abyssalcraft/lang/zh_cn_old.lang | 0 .../assets}/acintegration/lang/en_us.lang | 0 .../assets}/acintegration/lang/zh_cn.lang | 0 .../assets}/acintegration/lang/zh_cn_old.lang | 0 .../assets}/actuallyadditions/lang/en_us.lang | 0 .../assets}/actuallyadditions/lang/zh_cn.lang | 0 .../actuallyadditions/lang/zh_cn_old.lang | 0 .../assets}/adchimneys/lang/zh_cn.lang | 0 .../assets}/adchimneys/lang/zh_cn_old.lang | 0 .../assets}/additionalbanners/lang/en_us.lang | 0 .../assets}/additionalbanners/lang/zh_cn.lang | 0 .../additionalbanners/lang/zh_cn_old.lang | 0 .../assets}/adhooks/lang/zh_cn.lang | 0 .../assets}/adhooks/lang/zh_cn_old.lang | 0 .../assets}/adobeblocks/lang/zh_cn.lang | 0 .../assets}/adobeblocks/lang/zh_cn_old.lang | 0 .../assets}/advanced_machines/lang/zh_cn.lang | 0 .../advanced_machines/lang/zh_cn_old.lang | 0 .../advanced_solar_panels/lang/zh_cn.lang | 0 .../advanced_solar_panels/lang/zh_cn_old.lang | 0 .../assets}/advancedcapes/lang/en_us.lang | 0 .../assets}/advancedcapes/lang/zh_cn.lang | 0 .../assets}/advancedcapes/lang/zh_cn_old.lang | 0 .../assets}/advancedcombat/lang/zh_cn.lang | 0 .../advancedcombat/lang/zh_cn_old.lang | 0 .../assets}/advancedrocketry/lang/zh_cn.lang | 0 .../advancedrocketry/lang/zh_cn_old.lang | 0 .../assets}/advgenerators/lang/en_us.lang | 0 .../assets}/advgenerators/lang/zh_cn.lang | 0 .../assets}/advgenerators/lang/zh_cn_old.lang | 0 .../assets}/advinv/lang/zh_cn.lang | 0 .../assets}/advinv/lang/zh_cn_old.lang | 0 .../assets}/ae2stuff/lang/en_us.lang | 0 .../assets}/ae2stuff/lang/zh_cn.lang | 0 .../assets}/ae2stuff/lang/zh_cn_old.lang | 0 .../assets}/air_support/lang/zh_cn.lang | 0 .../assets}/air_support/lang/zh_cn_old.lang | 0 .../assets}/akashictome/lang/en_us.lang | 0 .../assets}/akashictome/lang/zh_cn.lang | 0 .../assets}/akashictome/lang/zh_cn_old.lang | 0 .../assets}/ancientwarfare/lang/en_us.lang | 0 .../assets}/ancientwarfare/lang/zh_cn.lang | 0 .../ancientwarfare/lang/zh_cn_old.lang | 0 .../assets}/animania/lang/en_us.lang | 0 .../assets}/animania/lang/zh_cn.lang | 0 .../assets}/animania/lang/zh_cn_old.lang | 0 .../assets}/aov/lang/zh_cn.lang | 0 .../assets}/aov/lang/zh_cn_old.lang | 0 .../assets}/aperture/lang/zh_cn.lang | 0 .../assets}/aperture/lang/zh_cn_old.lang | 0 .../assets}/applecore/lang/en_us.lang | 0 .../assets}/applecore/lang/zh_cn.lang | 0 .../assets}/applecore/lang/zh_cn_old.lang | 0 .../appliedenergistics2/lang/en_us.lang | 0 .../appliedenergistics2/lang/zh_cn.lang | 0 .../appliedenergistics2/lang/zh_cn_old.lang | 0 .../assets}/aquamunda/lang/zh_cn.lang | 0 .../assets}/aquamunda/lang/zh_cn_old.lang | 0 .../assets}/architect/lang/zh_cn.lang | 0 .../assets}/architect/lang/zh_cn_old.lang | 0 .../assets}/arcticmobs/lang/en_us.lang | 0 .../assets}/arcticmobs/lang/zh_cn.lang | 0 .../assets}/arcticmobs/lang/zh_cn_old.lang | 0 .../assets}/armorplus/lang/en_us.lang | 0 .../assets}/armorplus/lang/zh_cn.lang | 0 .../assets}/armorplus/lang/zh_cn_old.lang | 0 .../assets}/aroma1997core/lang/en_us.lang | 0 .../assets}/aroma1997core/lang/zh_cn.lang | 0 .../assets}/aroma1997core/lang/zh_cn_old.lang | 0 .../aroma1997sdimension/lang/en_us.lang | 0 .../aroma1997sdimension/lang/zh_cn.lang | 0 .../aroma1997sdimension/lang/zh_cn_old.lang | 0 .../assets}/aromabackup/lang/en_us.lang | 0 .../assets}/aromabackup/lang/zh_cn.lang | 0 .../assets}/aromabackup/lang/zh_cn_old.lang | 0 .../aromabackuprecovery/lang/en_us.lang | 0 .../aromabackuprecovery/lang/zh_cn.lang | 0 .../aromabackuprecovery/lang/zh_cn_old.lang | 0 .../assets}/asielib/lang/zh_cn.lang | 0 .../assets}/asielib/lang/zh_cn_old.lang | 0 .../assets}/astralsorcery/lang/en_us.lang | 0 .../assets}/astralsorcery/lang/zh_cn.lang | 0 .../assets}/astralsorcery/lang/zh_cn_old.lang | 0 .../assets}/atmtweaks/lang/zh_cn.lang | 0 .../assets}/atmtweaks/lang/zh_cn_old.lang | 0 .../assets}/autopackager/lang/en_us.lang | 0 .../assets}/autopackager/lang/zh_cn.lang | 0 .../assets}/autopackager/lang/zh_cn_old.lang | 0 .../assets}/autoreglib/lang/en_us.lang | 0 .../assets}/autoreglib/lang/zh_cn.lang | 0 .../assets}/autoreglib/lang/zh_cn_old.lang | 0 .../assets}/autoverse/lang/zh_cn.lang | 0 .../assets}/autoverse/lang/zh_cn_old.lang | 0 .../assets}/avaritia/lang/en_us.lang | 0 .../assets}/avaritia/lang/zh_cn.lang | 0 .../assets}/avaritia/lang/zh_cn_old.lang | 0 .../assets}/avaritiaddons/lang/zh_cn.lang | 0 .../assets}/avaritiaddons/lang/zh_cn_old.lang | 0 .../assets}/backpacks16840/lang/en_us.lang | 0 .../assets}/backpacks16840/lang/zh_cn.lang | 0 .../backpacks16840/lang/zh_cn_old.lang | 0 .../assets}/base/lang/en_us.lang | 0 .../assets}/base/lang/zh_cn.lang | 0 .../assets}/base/lang/zh_cn_old.lang | 0 .../assets}/basemetals/lang/en_us.lang | 0 .../assets}/basemetals/lang/zh_cn.lang | 0 .../assets}/basemetals/lang/zh_cn_old.lang | 0 .../assets}/battletowers/lang/en_us.lang | 0 .../assets}/battletowers/lang/zh_cn.lang | 0 .../assets}/battletowers/lang/zh_cn_old.lang | 0 .../assets}/baubles/lang/en_us.lang | 0 .../assets}/baubles/lang/zh_cn.lang | 0 .../assets}/baubles/lang/zh_cn_old.lang | 0 .../assets}/bdlib/lang/en_us.lang | 0 .../assets}/bdlib/lang/zh_cn.lang | 0 .../assets}/bdlib/lang/zh_cn_old.lang | 0 .../assets}/bedrockores/lang/zh_cn.lang | 0 .../assets}/bedrockores/lang/zh_cn_old.lang | 0 .../assets}/beneath/lang/en_us.lang | 0 .../assets}/beneath/lang/zh_cn.lang | 0 .../assets}/beneath/lang/zh_cn_old.lang | 0 .../assets}/betteragriculture/lang/zh_cn.lang | 0 .../betteragriculture/lang/zh_cn_old.lang | 0 .../betterbuilderswands/lang/en_us.lang | 0 .../betterbuilderswands/lang/zh_cn.lang | 0 .../betterbuilderswands/lang/zh_cn_old.lang | 0 .../assets}/betterfps/lang/en_us.lang | 0 .../assets}/betterfps/lang/zh_cn.lang | 0 .../assets}/betterfps/lang/zh_cn_old.lang | 0 .../assets}/betterplacement/lang/zh_cn.lang | 0 .../betterplacement/lang/zh_cn_old.lang | 0 .../assets}/betterquesting/lang/en_us.lang | 0 .../assets}/betterquesting/lang/zh_cn.lang | 0 .../betterquesting/lang/zh_cn_old.lang | 0 .../assets}/bettersprinting/lang/en_us.lang | 0 .../assets}/bettersprinting/lang/zh_cn.lang | 0 .../bettersprinting/lang/zh_cn_old.lang | 0 .../assets}/bettertitlescreen/lang/en_us.lang | 0 .../assets}/bettertitlescreen/lang/zh_cn.lang | 0 .../bettertitlescreen/lang/zh_cn_old.lang | 0 .../docs/zh_cn/bwa/blocks/adobe.md | 0 .../docs/zh_cn/bwa/blocks/ancestrysand.md | 0 .../docs/zh_cn/bwa/blocks/aqueduct.md | 0 .../docs/zh_cn/bwa/blocks/bamboo.md | 0 .../docs/zh_cn/bwa/blocks/bannerdetector.md | 0 .../docs/zh_cn/bwa/blocks/blockmatcher.md | 0 .../docs/zh_cn/bwa/blocks/bridges.md | 0 .../docs/zh_cn/bwa/blocks/chandelier.md | 0 .../docs/zh_cn/bwa/blocks/chute.md | 0 .../docs/zh_cn/bwa/blocks/dryingbox.md | 0 .../docs/zh_cn/bwa/blocks/ecksie_saplings.md | 0 .../docs/zh_cn/bwa/blocks/firenet.md | 0 .../docs/zh_cn/bwa/blocks/index.md | 0 .../docs/zh_cn/bwa/blocks/infuser.md | 0 .../docs/zh_cn/bwa/blocks/invertedgearbox.md | 0 .../docs/zh_cn/bwa/blocks/lanterns.md | 0 .../docs/zh_cn/bwa/blocks/lattice.md | 0 .../docs/zh_cn/bwa/blocks/legendarium.md | 0 .../docs/zh_cn/bwa/blocks/luretree.md | 0 .../docs/zh_cn/bwa/blocks/magmaverus.md | 0 .../docs/zh_cn/bwa/blocks/mulberrytree.md | 0 .../docs/zh_cn/bwa/blocks/net.md | 0 .../docs/zh_cn/bwa/blocks/pcb.md | 0 .../docs/zh_cn/bwa/blocks/sakuratree.md | 0 .../docs/zh_cn/bwa/blocks/sandnet.md | 0 .../docs/zh_cn/bwa/blocks/scaffold.md | 0 .../docs/zh_cn/bwa/blocks/shoji.md | 0 .../docs/zh_cn/bwa/blocks/soakingbox.md | 0 .../docs/zh_cn/bwa/blocks/spinningwheel.md | 0 .../docs/zh_cn/bwa/blocks/tatara.md | 0 .../docs/zh_cn/bwa/blocks/thorn_vines.md | 0 .../docs/zh_cn/bwa/blocks/waternet.md | 0 .../docs/zh_cn/bwa/blocks/weightsensor.md | 0 .../docs/zh_cn/bwa/blocks/worldscale.md | 0 .../betterwithaddons/docs/zh_cn/bwa/index.md | 0 .../docs/zh_cn/bwa/items/bleach.md | 0 .../docs/zh_cn/bwa/items/bottled_spirit.md | 0 .../docs/zh_cn/bwa/items/carpentersaw.md | 0 .../docs/zh_cn/bwa/items/condensed.md | 0 .../docs/zh_cn/bwa/items/greatbow.md | 0 .../docs/zh_cn/bwa/items/index.md | 0 .../docs/zh_cn/bwa/items/katana.md | 0 .../docs/zh_cn/bwa/items/kukri.md | 0 .../docs/zh_cn/bwa/items/machete.md | 0 .../docs/zh_cn/bwa/items/magmaverus.md | 0 .../docs/zh_cn/bwa/items/masonpick.md | 0 .../docs/zh_cn/bwa/items/matchpick.md | 0 .../docs/zh_cn/bwa/items/salt.md | 0 .../docs/zh_cn/bwa/items/shinai.md | 0 .../docs/zh_cn/bwa/items/spade.md | 0 .../docs/zh_cn/bwa/items/tanto.md | 0 .../docs/zh_cn/bwa/items/wakizashi.md | 0 .../docs/zh_cn/bwa/items/yumi.md | 0 .../docs/zh_cn/bwa/mechanics/index.md | 0 .../zh_cn/bwa/mechanics/karate_zombies.md | 0 .../docs/zh_cn/bwa/mechanics/spirits.md | 0 .../docs/zh_cn/bwa/skyblock/dirt.md | 0 .../docs/zh_cn/bwa/skyblock/index.md | 0 .../assets}/betterwithaddons/lang/zh_cn.lang | 0 .../betterwithaddons/lang/zh_cn_old.lang | 0 .../lang/en_us.lang | 0 .../lang/zh_cn.lang | 0 .../lang/zh_cn_old.lang | 0 .../docs/zh_cn/blocks/advanced_bellows.md | 0 .../betterwithmods/docs/zh_cn/blocks/axle.md | 0 .../docs/zh_cn/blocks/bellows.md | 0 .../docs/zh_cn/blocks/cauldron.md | 0 .../docs/zh_cn/blocks/crucible.md | 0 .../docs/zh_cn/blocks/fertile_farmland.md | 0 .../docs/zh_cn/blocks/gearbox.md | 0 .../docs/zh_cn/blocks/hand_crank.md | 0 .../betterwithmods/docs/zh_cn/blocks/hemp.md | 0 .../docs/zh_cn/blocks/hibachi.md | 0 .../docs/zh_cn/blocks/hopper.md | 0 .../docs/zh_cn/blocks/hopper_filters.md | 0 .../betterwithmods/docs/zh_cn/blocks/index.md | 0 .../betterwithmods/docs/zh_cn/blocks/kiln.md | 0 .../betterwithmods/docs/zh_cn/blocks/light.md | 0 .../betterwithmods/docs/zh_cn/blocks/mill.md | 0 .../docs/zh_cn/blocks/minimized_wood.md | 0 .../docs/zh_cn/blocks/planter.md | 0 .../docs/zh_cn/blocks/pulley.md | 0 .../betterwithmods/docs/zh_cn/blocks/saw.md | 0 .../docs/zh_cn/blocks/soul_urn.md | 0 .../docs/zh_cn/blocks/turntable.md | 0 .../docs/zh_cn/blocks/windmill.md | 0 .../betterwithmods/docs/zh_cn/compat.md | 0 .../docs/zh_cn/hardcore/beacons.md | 0 .../docs/zh_cn/hardcore/hunger.md | 0 .../docs/zh_cn/hardcore/index.md | 0 .../docs/zh_cn/hardcore/spawn.md | 0 .../betterwithmods/docs/zh_cn/index.md | 0 .../betterwithmods/docs/zh_cn/industry.md | 0 .../betterwithmods/docs/zh_cn/items/bark.md | 0 .../docs/zh_cn/items/element.md | 0 .../betterwithmods/docs/zh_cn/items/fabric.md | 0 .../docs/zh_cn/items/filament.md | 0 .../betterwithmods/docs/zh_cn/items/gear.md | 0 .../docs/zh_cn/items/ground_netherrack.md | 0 .../docs/zh_cn/items/hellfire.md | 0 .../betterwithmods/docs/zh_cn/items/index.md | 0 .../docs/zh_cn/items/restraint.md | 0 .../betterwithmods/docs/zh_cn/items/rope.md | 0 .../docs/zh_cn/items/sfs_armor.md | 0 .../docs/zh_cn/items/tanned_leather.md | 0 .../docs/zh_cn/mechanical/index.md | 0 .../betterwithmods/docs/zh_cn/tweaks.md | 0 .../assets}/betterwithmods/lang/en_us.lang | 0 .../assets}/betterwithmods/lang/zh_cn.lang | 0 .../betterwithmods/lang/zh_cn_old.lang | 0 .../assets}/bibliocraft/lang/en_us.lang | 0 .../assets}/bibliocraft/lang/zh_cn.lang | 0 .../assets}/bibliocraft/lang/zh_cn_old.lang | 0 .../assets}/bigreactors/lang/en_us.lang | 0 .../assets}/bigreactors/lang/zh_cn.lang | 0 .../assets}/bigreactors/lang/zh_cn_old.lang | 0 .../assets}/binniecore/lang/zh_cn.lang | 0 .../assets}/binniecore/lang/zh_cn_old.lang | 0 .../assets}/biomesoplenty/lang/en_us.lang | 0 .../assets}/biomesoplenty/lang/zh_cn.lang | 0 .../assets}/biomesoplenty/lang/zh_cn_old.lang | 0 .../assets}/biometweaker/lang/zh_cn.lang | 0 .../assets}/biometweaker/lang/zh_cn_old.lang | 0 .../assets}/birdsnests/lang/en_us.lang | 0 .../assets}/birdsnests/lang/zh_cn.lang | 0 .../assets}/birdsnests/lang/zh_cn_old.lang | 0 .../assets}/blockarmor/lang/en_us.lang | 0 .../assets}/blockarmor/lang/zh_cn.lang | 0 .../assets}/blockarmor/lang/zh_cn_old.lang | 0 .../assets}/blockcraftery/lang/en_us.lang | 0 .../assets}/blockcraftery/lang/zh_cn.lang | 0 .../assets}/blockcraftery/lang/zh_cn_old.lang | 0 .../assets}/bloodmoon/lang/en_us.lang | 0 .../assets}/bloodmoon/lang/zh_cn.lang | 0 .../assets}/bloodmoon/lang/zh_cn_old.lang | 0 .../assets}/blur/lang/en_us.lang | 0 .../assets}/blur/lang/zh_cn.lang | 0 .../assets}/blur/lang/zh_cn_old.lang | 0 .../assets}/bonetorch/lang/zh_cn.lang | 0 .../assets}/bonetorch/lang/zh_cn_old.lang | 0 .../assets}/bonsaitrees/lang/zh_cn.lang | 0 .../assets}/bonsaitrees/lang/zh_cn_old.lang | 0 .../assets}/botania/lang/en_us.lang | 0 .../assets}/botania/lang/zh_cn.lang | 0 .../assets}/botania/lang/zh_cn_old.lang | 0 .../assets}/botany/lang/zh_cn.lang | 0 .../assets}/botany/lang/zh_cn_old.lang | 0 .../assets}/bq_standard/lang/en_us.lang | 0 .../assets}/bq_standard/lang/zh_cn.lang | 0 .../assets}/bq_standard/lang/zh_cn_old.lang | 0 .../assets}/bqt/lang/en_us.lang | 0 .../assets}/bqt/lang/zh_cn.lang | 0 .../assets}/bqt/lang/zh_cn_old.lang | 0 .../assets}/brandonscore/lang/en_us.lang | 0 .../assets}/brandonscore/lang/zh_cn.lang | 0 .../assets}/brandonscore/lang/zh_cn_old.lang | 0 .../assets}/bullseye/lang/zh_cn.lang | 0 .../assets}/bullseye/lang/zh_cn_old.lang | 0 .../assets}/calculator/lang/en_us.lang | 0 .../assets}/calculator/lang/zh_cn.lang | 0 .../assets}/calculator/lang/zh_cn_old.lang | 0 .../assets}/capabilityproxy/lang/en_us.lang | 0 .../assets}/capabilityproxy/lang/zh_cn.lang | 0 .../capabilityproxy/lang/zh_cn_old.lang | 0 .../assets}/careerbees/lang/en_us.lang | 0 .../assets}/careerbees/lang/zh_cn.lang | 0 .../assets}/careerbees/lang/zh_cn_old.lang | 0 .../assets}/carryon/lang/en_us.lang | 0 .../assets}/carryon/lang/zh_cn.lang | 0 .../assets}/carryon/lang/zh_cn_old.lang | 0 .../assets}/carz/lang/zh_cn.lang | 0 .../assets}/carz/lang/zh_cn_old.lang | 0 .../assets}/catwalks/lang/zh_cn.lang | 0 .../assets}/catwalks/lang/zh_cn_old.lang | 0 .../assets}/cavern/lang/zh_cn.lang | 0 .../assets}/cavern/lang/zh_cn_old.lang | 0 .../assets}/cd4017be_lib/lang/zh_cn.lang | 0 .../assets}/cd4017be_lib/lang/zh_cn_old.lang | 0 .../assets}/ceramics/lang/en_us.lang | 0 .../assets}/ceramics/lang/zh_cn.lang | 0 .../assets}/ceramics/lang/zh_cn_old.lang | 0 .../assets}/cfm/lang/en_us.lang | 0 .../assets}/cfm/lang/zh_cn.lang | 0 .../assets}/cfm/lang/zh_cn_old.lang | 0 .../assets}/chancecubes/lang/en_us.lang | 0 .../assets}/chancecubes/lang/zh_cn.lang | 0 .../assets}/chancecubes/lang/zh_cn_old.lang | 0 .../assets}/charset/lang/zh_cn.lang | 0 .../assets}/charset/lang/zh_cn_old.lang | 0 .../assets}/charsetlib/lang/zh_cn.lang | 0 .../assets}/charsetlib/lang/zh_cn_old.lang | 0 .../assets}/chesttransporter/lang/en_us.lang | 0 .../assets}/chesttransporter/lang/zh_cn.lang | 0 .../chesttransporter/lang/zh_cn_old.lang | 0 .../assets}/chickenchunks/lang/en_us.lang | 0 .../assets}/chickenchunks/lang/zh_cn.lang | 0 .../assets}/chickenchunks/lang/zh_cn_old.lang | 0 .../assets}/chickens/lang/en_us.lang | 0 .../assets}/chickens/lang/zh_cn.lang | 0 .../assets}/chickens/lang/zh_cn_old.lang | 0 {assets => project/assets}/chisel/en_us.lang | 0 {assets => project/assets}/chisel/zh_cn.lang | 0 .../assets}/chiselsandbits/lang/en_us.lang | 0 .../assets}/chiselsandbits/lang/zh_cn.lang | 0 .../chiselsandbits/lang/zh_cn_old.lang | 0 .../assets}/chococraft/lang/en_us.lang | 0 .../assets}/chococraft/lang/zh_cn.lang | 0 .../assets}/chococraft/lang/zh_cn_old.lang | 0 .../assets}/circuits/lang/zh_cn.lang | 0 .../assets}/circuits/lang/zh_cn_old.lang | 0 .../assets}/classyhats/lang/zh_cn.lang | 0 .../assets}/classyhats/lang/zh_cn_old.lang | 0 .../assets}/claybucket/lang/en_us.lang | 0 .../assets}/claybucket/lang/zh_cn.lang | 0 .../assets}/claybucket/lang/zh_cn_old.lang | 0 .../assets}/claysoldiers/lang/zh_cn.lang | 0 .../assets}/claysoldiers/lang/zh_cn_old.lang | 0 .../assets}/clienttweaks/lang/en_us.lang | 0 .../assets}/clienttweaks/lang/zh_cn.lang | 0 .../assets}/clienttweaks/lang/zh_cn_old.lang | 0 .../assets}/cofh/lang/en_us.lang | 0 .../assets}/cofh/lang/zh_cn.lang | 0 .../assets}/cofh/lang/zh_cn_old.lang | 0 .../assets}/cofhworld/lang/en_us.lang | 0 .../assets}/cofhworld/lang/zh_cn.lang | 0 .../assets}/cofhworld/lang/zh_cn_old.lang | 0 .../assets}/colossalchests/lang/en_us.lang | 0 .../assets}/colossalchests/lang/zh_cn.lang | 0 .../colossalchests/lang/zh_cn_old.lang | 0 .../commoncapabilities/lang/en_us.lang | 0 .../commoncapabilities/lang/zh_cn.lang | 0 .../commoncapabilities/lang/zh_cn_old.lang | 0 .../assets}/compacter/lang/en_us.lang | 0 .../assets}/compacter/lang/zh_cn.lang | 0 .../assets}/compacter/lang/zh_cn_old.lang | 0 .../assets}/compactmachines3/lang/en_us.lang | 0 .../assets}/compactmachines3/lang/zh_cn.lang | 0 .../compactmachines3/lang/zh_cn_old.lang | 0 .../assets}/compactsolars/lang/en_us.lang | 0 .../assets}/compactsolars/lang/zh_cn.lang | 0 .../assets}/compactsolars/lang/zh_cn_old.lang | 0 .../assets}/compactstorage/lang/en_us.lang | 0 .../assets}/compactstorage/lang/zh_cn.lang | 0 .../compactstorage/lang/zh_cn_old.lang | 0 .../assets}/computercraft/lang/zh_cn.lang | 0 .../assets}/computercraft/lang/zh_cn_old.lang | 0 .../assets}/computronics/lang/zh_cn.lang | 0 .../assets}/computronics/lang/zh_cn_old.lang | 0 .../assets}/controlling/lang/en_us.lang | 0 .../assets}/controlling/lang/zh_cn.lang | 0 .../assets}/controlling/lang/zh_cn_old.lang | 0 .../assets}/conventionalchat/lang/zh_cn.lang | 0 .../conventionalchat/lang/zh_cn_old.lang | 0 .../cookingforblockheads/lang/en_us.lang | 0 .../cookingforblockheads/lang/zh_cn.lang | 0 .../cookingforblockheads/lang/zh_cn_old.lang | 0 .../coordinatesplusmod/lang/zh_cn.lang | 0 .../coordinatesplusmod/lang/zh_cn_old.lang | 0 .../assets}/corail_pillar/lang/zh_cn.lang | 0 .../assets}/corail_pillar/lang/zh_cn_old.lang | 0 .../assets}/coralreef/lang/zh_cn.lang | 0 .../assets}/coralreef/lang/zh_cn_old.lang | 0 .../assets}/core/lang/en_us.lang | 0 .../assets}/core/lang/zh_cn.lang | 0 .../assets}/core/lang/zh_cn_old.lang | 0 .../assets}/correlated/lang/zh_cn.lang | 0 .../assets}/correlated/lang/zh_cn_old.lang | 0 .../cosmeticarmorreworked/lang/en_us.lang | 0 .../cosmeticarmorreworked/lang/zh_cn.lang | 0 .../cosmeticarmorreworked/lang/zh_cn_old.lang | 0 .../assets}/crackedzombiemod/lang/zh_cn.lang | 0 .../crackedzombiemod/lang/zh_cn_old.lang | 0 .../assets}/craftingcraft/lang/zh_cn.lang | 0 .../assets}/craftingcraft/lang/zh_cn_old.lang | 0 .../assets}/craftingtweaks/lang/en_us.lang | 0 .../assets}/craftingtweaks/lang/zh_cn.lang | 0 .../craftingtweaks/lang/zh_cn_old.lang | 0 .../assets}/creeperconfetti/lang/en_us.lang | 0 .../assets}/creeperconfetti/lang/zh_cn.lang | 0 .../creeperconfetti/lang/zh_cn_old.lang | 0 .../assets}/creeperhost/lang/en_us.lang | 0 .../assets}/creeperhost/lang/zh_cn.lang | 0 .../assets}/creeperhost/lang/zh_cn_old.lang | 0 .../assets}/cropdusting/lang/zh_cn.lang | 0 .../assets}/cropdusting/lang/zh_cn_old.lang | 0 .../assets}/crossroads/lang/en_us.lang | 0 .../assets}/crossroads/lang/zh_cn.lang | 0 .../assets}/crossroads/lang/zh_cn_old.lang | 0 .../assets}/csb_ench_table/lang/zh_cn.lang | 0 .../csb_ench_table/lang/zh_cn_old.lang | 0 .../assets}/customnpcs/lang/en_us.lang | 0 .../assets}/customnpcs/lang/zh_cn.lang | 0 .../assets}/customnpcs/lang/zh_cn_old.lang | 0 .../assets}/cyclicmagic/lang/en_us.lang | 0 .../assets}/cyclicmagic/lang/zh_cn.lang | 0 .../assets}/cyclicmagic/lang/zh_cn_old.lang | 0 .../assets}/cyclopscore/lang/en_us.lang | 0 .../assets}/cyclopscore/lang/zh_cn.lang | 0 .../assets}/cyclopscore/lang/zh_cn_old.lang | 0 .../assets}/danknull/lang/zh_cn.lang | 0 .../assets}/danknull/lang/zh_cn_old.lang | 0 .../assets}/darkutils/lang/en_us.lang | 0 .../assets}/darkutils/lang/zh_cn.lang | 0 .../assets}/darkutils/lang/zh_cn_old.lang | 0 .../assets}/davincisvessels/lang/en_us.lang | 0 .../assets}/davincisvessels/lang/zh_cn.lang | 0 .../davincisvessels/lang/zh_cn_old.lang | 0 .../assets}/deathcounter/lang/zh_cn.lang | 0 .../assets}/deathcounter/lang/zh_cn_old.lang | 0 .../assets}/deepresonance/lang/en_us.lang | 0 .../assets}/deepresonance/lang/zh_cn.lang | 0 .../assets}/deepresonance/lang/zh_cn_old.lang | 0 .../assets}/deepresonance/text/manual.txt | 0 .../assets}/demonmobs/lang/en_us.lang | 0 .../assets}/demonmobs/lang/zh_cn.lang | 0 .../assets}/demonmobs/lang/zh_cn_old.lang | 0 .../assets}/desertmobs/lang/en_us.lang | 0 .../assets}/desertmobs/lang/zh_cn.lang | 0 .../assets}/desertmobs/lang/zh_cn_old.lang | 0 .../assets}/dissolution/lang/zh_cn.lang | 0 .../assets}/dissolution/lang/zh_cn_old.lang | 0 .../assets}/dmonsters/lang/zh_cn.lang | 0 .../assets}/dmonsters/lang/zh_cn_old.lang | 0 .../dooglamoocitiesmod/lang/zh_cn.lang | 0 .../dooglamoocitiesmod/lang/zh_cn_old.lang | 0 .../assets}/draconicevolution/lang/en_us.lang | 0 .../assets}/draconicevolution/lang/zh_cn.lang | 0 .../draconicevolution/lang/zh_cn_old.lang | 0 .../assets}/drones/lang/zh_cn.lang | 0 .../assets}/drones/lang/zh_cn_old.lang | 0 .../assets}/drpmedieval/lang/zh_cn.lang | 0 .../assets}/drpmedieval/lang/zh_cn_old.lang | 0 .../assets}/dsurround/lang/en_us.lang | 0 .../assets}/dsurround/lang/zh_cn.lang | 0 .../assets}/dsurround/lang/zh_cn_old.lang | 0 .../dynamicswordskills/lang/zh_cn.lang | 0 .../dynamicswordskills/lang/zh_cn_old.lang | 0 .../assets}/ediblebugs/lang/zh_cn.lang | 0 .../assets}/ediblebugs/lang/zh_cn_old.lang | 0 .../assets}/eiramoticons/lang/en_us.lang | 0 .../assets}/eiramoticons/lang/zh_cn.lang | 0 .../assets}/eiramoticons/lang/zh_cn_old.lang | 0 .../assets}/eleccore/lang/en_us.lang | 0 .../assets}/eleccore/lang/zh_cn.lang | 0 .../assets}/eleccore/lang/zh_cn_old.lang | 0 .../elementaldimensions/lang/zh_cn.lang | 0 .../elementaldimensions/lang/zh_cn_old.lang | 0 .../assets}/elevatorid/lang/en_us.lang | 0 .../assets}/elevatorid/lang/zh_cn.lang | 0 .../assets}/elevatorid/lang/zh_cn_old.lang | 0 .../assets}/elulib/lang/en_us.lang | 0 .../assets}/elulib/lang/zh_cn.lang | 0 .../assets}/elulib/lang/zh_cn_old.lang | 0 .../assets}/embers/lang/en_us.lang | 0 .../assets}/embers/lang/zh_cn.lang | 0 .../assets}/embers/lang/zh_cn_old.lang | 0 .../assets}/enchiridion/lang/en_us.lang | 0 .../assets}/enchiridion/lang/zh_cn.lang | 0 .../assets}/enchiridion/lang/zh_cn_old.lang | 0 .../assets}/enderore/lang/zh_cn.lang | 0 .../assets}/enderore/lang/zh_cn_old.lang | 0 .../assets}/enderrift/lang/zh_cn.lang | 0 .../assets}/enderrift/lang/zh_cn_old.lang | 0 .../assets}/enderstorage/lang/en_us.lang | 0 .../assets}/enderstorage/lang/zh_cn.lang | 0 .../assets}/enderstorage/lang/zh_cn_old.lang | 0 .../assets}/endertanks/lang/en_us.lang | 0 .../assets}/endertanks/lang/zh_cn.lang | 0 .../assets}/endertanks/lang/zh_cn_old.lang | 0 .../assets}/enderutilities/lang/en_us.lang | 0 .../assets}/enderutilities/lang/zh_cn.lang | 0 .../enderutilities/lang/zh_cn_old.lang | 0 .../assets}/enderzoo/lang/en_us.lang | 0 .../assets}/enderzoo/lang/zh_cn.lang | 0 .../assets}/enderzoo/lang/zh_cn_old.lang | 0 .../assets}/energeticsheep/lang/zh_cn.lang | 0 .../energeticsheep/lang/zh_cn_old.lang | 0 .../assets}/engination/lang/zh_cn.lang | 0 .../assets}/engination/lang/zh_cn_old.lang | 0 .../assets}/engineersworkshop/lang/en_us.lang | 0 .../assets}/engineersworkshop/lang/zh_cn.lang | 0 .../engineersworkshop/lang/zh_cn_old.lang | 0 .../environmentalmaterials/lang/en_us.lang | 0 .../environmentalmaterials/lang/zh_cn.lang | 0 .../lang/zh_cn_old.lang | 0 .../assets}/environmentaltech/lang/en_us.lang | 0 .../assets}/environmentaltech/lang/zh_cn.lang | 0 .../environmentaltech/lang/zh_cn_old.lang | 0 .../assets}/etlunar/lang/en_us.lang | 0 .../assets}/etlunar/lang/zh_cn.lang | 0 .../assets}/etlunar/lang/zh_cn_old.lang | 0 .../everlastingabilities/lang/zh_cn.lang | 0 .../everlastingabilities/lang/zh_cn_old.lang | 0 .../assets}/evilcraft/lang/en_us.lang | 0 .../assets}/evilcraft/lang/zh_cn.lang | 0 .../assets}/evilcraft/lang/zh_cn_old.lang | 0 .../assets}/evilcraftcompat/lang/en_us.lang | 0 .../assets}/evilcraftcompat/lang/zh_cn.lang | 0 .../evilcraftcompat/lang/zh_cn_old.lang | 0 .../assets}/exchangers/lang/en_us.lang | 0 .../assets}/exchangers/lang/zh_cn.lang | 0 .../assets}/exchangers/lang/zh_cn_old.lang | 0 .../assets}/excompressum/lang/en_us.lang | 0 .../assets}/excompressum/lang/zh_cn.lang | 0 .../assets}/excompressum/lang/zh_cn_old.lang | 0 .../assets}/extendedcrafting/lang/en_us.lang | 0 .../assets}/extendedcrafting/lang/zh_cn.lang | 0 .../extendedcrafting/lang/zh_cn_old.lang | 0 .../assets}/extraalchemy/lang/zh_cn.lang | 0 .../assets}/extraalchemy/lang/zh_cn_old.lang | 0 .../extrabitmanipulation/lang/zh_cn.lang | 0 .../extrabitmanipulation/lang/zh_cn_old.lang | 0 .../assets}/extracells/lang/en_us.lang | 0 .../assets}/extracells/lang/zh_cn.lang | 0 .../assets}/extracells/lang/zh_cn_old.lang | 0 .../assets}/extrarails/lang/zh_cn.lang | 0 .../assets}/extrarails/lang/zh_cn_old.lang | 0 .../assets}/extratrees/lang/zh_cn.lang | 0 .../assets}/extratrees/lang/zh_cn_old.lang | 0 .../assets}/extrautils2/lang/en_us.lang | 0 .../assets}/extrautils2/lang/zh_cn.lang | 0 .../assets}/extrautils2/lang/zh_cn_old.lang | 0 .../assets}/fairylights/lang/en_us.lang | 0 .../assets}/fairylights/lang/zh_cn.lang | 0 .../assets}/fairylights/lang/zh_cn_old.lang | 0 .../farmingforblockheads/lang/en_us.lang | 0 .../farmingforblockheads/lang/zh_cn.lang | 0 .../farmingforblockheads/lang/zh_cn_old.lang | 0 .../assets}/fastladder/lang/zh_cn.lang | 0 .../assets}/fastladder/lang/zh_cn_old.lang | 0 .../assets}/fenceoverhaul/lang/en_us.lang | 0 .../assets}/fenceoverhaul/lang/zh_cn.lang | 0 .../assets}/fenceoverhaul/lang/zh_cn_old.lang | 0 .../assets}/ffs/lang/zh_cn.lang | 0 .../assets}/ffs/lang/zh_cn_old.lang | 0 .../assets}/flamingo/lang/zh_cn.lang | 0 .../assets}/flamingo/lang/zh_cn_old.lang | 0 .../assets}/flatcoloredblocks/lang/en_us.lang | 0 .../assets}/flatcoloredblocks/lang/zh_cn.lang | 0 .../flatcoloredblocks/lang/zh_cn_old.lang | 0 .../assets}/fluxnetworks/lang/en_us.lang | 0 .../assets}/fluxnetworks/lang/zh_cn.lang | 0 .../assets}/fluxnetworks/lang/zh_cn_old.lang | 0 .../assets}/flyringbaublemod/lang/en_us.lang | 0 .../assets}/flyringbaublemod/lang/zh_cn.lang | 0 .../flyringbaublemod/lang/zh_cn_old.lang | 0 .../assets}/foodexpansion/lang/zh_cn.lang | 0 .../assets}/foodexpansion/lang/zh_cn_old.lang | 0 .../forecastersbackpacks/lang/zh_cn.lang | 0 .../forecastersbackpacks/lang/zh_cn_old.lang | 0 .../assets}/forestmobs/lang/en_us.lang | 0 .../assets}/forestmobs/lang/zh_cn.lang | 0 .../assets}/forestmobs/lang/zh_cn_old.lang | 0 .../assets}/forestry/lang/en_us.lang | 0 .../assets}/forestry/lang/zh_cn.lang | 0 .../assets}/forestry/lang/zh_cn_old.lang | 0 {assets => project/assets}/fp/lang/en_us.lang | 0 {assets => project/assets}/fp/lang/zh_cn.lang | 0 .../assets}/fp/lang/zh_cn_old.lang | 0 .../assets}/freshwatermobs/lang/en_us.lang | 0 .../assets}/freshwatermobs/lang/zh_cn.lang | 0 .../freshwatermobs/lang/zh_cn_old.lang | 0 .../assets}/frogcraftrebirth/lang/zh_cn.lang | 0 .../frogcraftrebirth/lang/zh_cn_old.lang | 0 .../assets}/fruitphone/lang/zh_cn.lang | 0 .../assets}/fruitphone/lang/zh_cn_old.lang | 0 .../assets}/ftbl/lang/en_us.lang | 0 .../assets}/ftbl/lang/zh_cn.lang | 0 .../assets}/ftbl/lang/zh_cn_old.lang | 0 .../assets}/ftbu/lang/en_us.lang | 0 .../assets}/ftbu/lang/zh_cn.lang | 0 .../assets}/ftbu/lang/zh_cn_old.lang | 0 .../assets}/ftfloocraft/lang/zh_cn.lang | 0 .../assets}/ftfloocraft/lang/zh_cn_old.lang | 0 .../assets}/funkylocomotion/lang/en_us.lang | 0 .../assets}/funkylocomotion/lang/zh_cn.lang | 0 .../funkylocomotion/lang/zh_cn_old.lang | 0 .../assets}/funores/lang/zh_cn.lang | 0 .../assets}/funores/lang/zh_cn_old.lang | 0 .../assets}/furnus/lang/en_us.lang | 0 .../assets}/furnus/lang/zh_cn.lang | 0 .../assets}/furnus/lang/zh_cn_old.lang | 0 .../assets}/gamestage/lang/zh_cn.lang | 0 .../assets}/gamestage/lang/zh_cn_old.lang | 0 .../assets}/gearswap/lang/en_us.lang | 0 .../assets}/gearswap/lang/zh_cn.lang | 0 .../assets}/gearswap/lang/zh_cn_old.lang | 0 .../assets}/gendustry/lang/en_us.lang | 0 .../assets}/gendustry/lang/zh_cn.lang | 0 .../assets}/gendustry/lang/zh_cn_old.lang | 0 .../assets}/genera/lang/zh_cn.lang | 0 .../assets}/genera/lang/zh_cn_old.lang | 0 .../assets}/genetics/lang/zh_cn.lang | 0 .../assets}/genetics/lang/zh_cn_old.lang | 0 .../assets}/geneticsreborn/lang/zh_cn.lang | 0 .../geneticsreborn/lang/zh_cn_old.lang | 0 .../giacomos_fishing_net/lang/en_us.lang | 0 .../giacomos_fishing_net/lang/zh_cn.lang | 0 .../giacomos_fishing_net/lang/zh_cn_old.lang | 0 .../assets}/glasshearts/lang/zh_cn.lang | 0 .../assets}/glasshearts/lang/zh_cn_old.lang | 0 .../assets}/googlyeyes/lang/en_us.lang | 0 .../assets}/googlyeyes/lang/zh_cn.lang | 0 .../assets}/googlyeyes/lang/zh_cn_old.lang | 0 .../assets}/gps/lang/zh_cn.lang | 0 .../assets}/gps/lang/zh_cn_old.lang | 0 .../assets}/gravestone/lang/en_us.lang | 0 .../assets}/gravestone/lang/zh_cn.lang | 0 .../assets}/gravestone/lang/zh_cn_old.lang | 0 .../assets}/gravisuite/lang/zh_cn.lang | 0 .../assets}/gravisuite/lang/zh_cn_old.lang | 0 .../assets}/gravitygun/lang/en_us.lang | 0 .../assets}/gravitygun/lang/zh_cn.lang | 0 .../assets}/gravitygun/lang/zh_cn_old.lang | 0 .../assets}/grue/lang/en_us.lang | 0 .../assets}/grue/lang/zh_cn.lang | 0 .../assets}/grue/lang/zh_cn_old.lang | 0 .../assets}/guideapi/lang/en_us.lang | 0 .../assets}/guideapi/lang/zh_cn.lang | 0 .../assets}/guideapi/lang/zh_cn_old.lang | 0 .../assets}/hammercore/lang/en_us.lang | 0 .../assets}/hammercore/lang/zh_cn.lang | 0 .../assets}/hammercore/lang/zh_cn_old.lang | 0 .../assets}/hammertime/lang/zh_cn.lang | 0 .../assets}/hammertime/lang/zh_cn_old.lang | 0 .../assets}/hardcoremapreset/lang/en_us.lang | 0 .../assets}/hardcoremapreset/lang/zh_cn.lang | 0 .../hardcoremapreset/lang/zh_cn_old.lang | 0 .../assets}/harvestcraft/lang/en_us.lang | 0 .../assets}/harvestcraft/lang/zh_cn.lang | 0 .../assets}/harvestcraft/lang/zh_cn_old.lang | 0 .../assets}/hatchery/lang/en_us.lang | 0 .../assets}/hatchery/lang/zh_cn.lang | 0 .../assets}/hatchery/lang/zh_cn_old.lang | 0 .../assets}/hats/lang/en_us.lang | 0 .../assets}/hats/lang/zh_cn.lang | 0 .../assets}/hats/lang/zh_cn_old.lang | 0 .../healthhungertweaks/lang/zh_cn.lang | 0 .../healthhungertweaks/lang/zh_cn_old.lang | 0 .../assets}/hopperducts/lang/en_us.lang | 0 .../assets}/hopperducts/lang/zh_cn.lang | 0 .../assets}/hopperducts/lang/zh_cn_old.lang | 0 .../assets}/iceandfire/lang/zh_cn.lang | 0 .../assets}/iceandfire/lang/zh_cn_old.lang | 0 .../assets}/ichunutil/lang/en_us.lang | 0 .../assets}/ichunutil/lang/zh_cn.lang | 0 .../assets}/ichunutil/lang/zh_cn_old.lang | 0 .../assets}/igwmod/lang/en_us.lang | 0 .../assets}/igwmod/lang/zh_cn.lang | 0 .../assets}/igwmod/lang/zh_cn_old.lang | 0 .../assets}/immcraft/lang/en_us.lang | 0 .../assets}/immcraft/lang/zh_cn.lang | 0 .../assets}/immcraft/lang/zh_cn_old.lang | 0 .../immersiveengineering/lang/en_us.lang | 0 .../immersiveengineering/lang/zh_cn.lang | 0 .../immersiveengineering/lang/zh_cn_old.lang | 0 .../immersivehempcraft/lang/zh_cn.lang | 0 .../immersivehempcraft/lang/zh_cn_old.lang | 0 .../immersivepetroleum/lang/en_us.lang | 0 .../immersivepetroleum/lang/zh_cn.lang | 0 .../immersivepetroleum/lang/zh_cn_old.lang | 0 .../immersiverailroading/lang/zh_cn.lang | 0 .../immersiverailroading/lang/zh_cn_old.lang | 0 .../assets}/immersivetech/lang/en_us.lang | 0 .../assets}/immersivetech/lang/zh_cn.lang | 0 .../assets}/immersivetech/lang/zh_cn_old.lang | 0 .../improvedextraction/lang/zh_cn.lang | 0 .../improvedextraction/lang/zh_cn_old.lang | 0 .../assets}/indlog/lang/zh_cn.lang | 0 .../assets}/indlog/lang/zh_cn_old.lang | 0 .../industrialforegoing/lang/en_us.lang | 0 .../industrialforegoing/lang/zh_cn.lang | 0 .../industrialforegoing/lang/zh_cn_old.lang | 0 .../assets}/industrialmeat/lang/zh_cn.lang | 0 .../industrialmeat/lang/zh_cn_old.lang | 0 .../assets}/industrialwires/lang/en_us.lang | 0 .../assets}/industrialwires/lang/zh_cn.lang | 0 .../industrialwires/lang/zh_cn_old.lang | 0 .../assets}/infernalmobs/lang/en_us.lang | 0 .../assets}/infernalmobs/lang/zh_cn.lang | 0 .../assets}/infernalmobs/lang/zh_cn_old.lang | 0 .../assets}/infernomobs/lang/en_us.lang | 0 .../assets}/infernomobs/lang/zh_cn.lang | 0 .../assets}/infernomobs/lang/zh_cn_old.lang | 0 .../assets}/ingameinfo/lang/en_us.lang | 0 .../assets}/ingameinfo/lang/zh_cn.lang | 0 .../assets}/ingameinfo/lang/zh_cn_old.lang | 0 .../integrateddynamics/lang/en_us.lang | 0 .../integrateddynamics/lang/zh_cn.lang | 0 .../integrateddynamics/lang/zh_cn_old.lang | 0 .../integrateddynamicscompat/lang/en_us.lang | 0 .../integrateddynamicscompat/lang/zh_cn.lang | 0 .../lang/zh_cn_old.lang | 0 .../assets}/integratedtunnels/lang/en_us.lang | 0 .../assets}/integratedtunnels/lang/zh_cn.lang | 0 .../integratedtunnels/lang/zh_cn_old.lang | 0 .../integrationforegoing/lang/en_us.lang | 0 .../integrationforegoing/lang/zh_cn.lang | 0 .../integrationforegoing/lang/zh_cn_old.lang | 0 .../assets}/intwheel/lang/en_us.lang | 0 .../assets}/intwheel/lang/zh_cn.lang | 0 .../assets}/intwheel/lang/zh_cn_old.lang | 0 .../assets}/inventoryneko/lang/zh_cn.lang | 0 .../assets}/inventoryneko/lang/zh_cn_old.lang | 0 .../assets}/inventorypets/lang/en_us.lang | 0 .../assets}/inventorypets/lang/zh_cn.lang | 0 .../assets}/inventorypets/lang/zh_cn_old.lang | 0 .../assets}/inventorysorter/lang/en_us.lang | 0 .../assets}/inventorysorter/lang/zh_cn.lang | 0 .../inventorysorter/lang/zh_cn_old.lang | 0 .../assets}/inventorytweaks/lang/en_us.lang | 0 .../assets}/inventorytweaks/lang/zh_cn.lang | 0 .../inventorytweaks/lang/zh_cn_old.lang | 0 .../assets}/ironbackpacks/lang/zh_cn.lang | 0 .../assets}/ironbackpacks/lang/zh_cn_old.lang | 0 .../assets}/ironchest/lang/en_us.lang | 0 .../assets}/ironchest/lang/zh_cn.lang | 0 .../assets}/ironchest/lang/zh_cn_old.lang | 0 .../assets}/itank/lang/zh_cn.lang | 0 .../assets}/itank/lang/zh_cn_old.lang | 0 .../assets}/itemscroller/lang/en_us.lang | 0 .../assets}/itemscroller/lang/zh_cn.lang | 0 .../assets}/itemscroller/lang/zh_cn_old.lang | 0 .../assets}/jaff/lang/zh_cn.lang | 0 .../assets}/jaff/lang/zh_cn_old.lang | 0 .../assets}/jaopca/lang/en_us.lang | 0 .../assets}/jaopca/lang/zh_cn.lang | 0 .../assets}/jaopca/lang/zh_cn_old.lang | 0 .../jaopcasingularities/lang/zh_cn.lang | 0 .../jaopcasingularities/lang/zh_cn_old.lang | 0 .../assets}/jehc/lang/en_us.lang | 0 .../assets}/jehc/lang/zh_cn.lang | 0 .../assets}/jehc/lang/zh_cn_old.lang | 0 .../assets}/jei/lang/en_us.lang | 0 .../assets}/jei/lang/zh_cn.lang | 0 .../assets}/jei/lang/zh_cn_old.lang | 0 .../assets}/jeibees/lang/en_us.lang | 0 .../assets}/jeibees/lang/zh_cn.lang | 0 .../assets}/jeibees/lang/zh_cn_old.lang | 0 .../assets}/jeiintegration/lang/en_us.lang | 0 .../assets}/jeiintegration/lang/zh_cn.lang | 0 .../jeiintegration/lang/zh_cn_old.lang | 0 .../assets}/jeresources/lang/en_us.lang | 0 .../assets}/jeresources/lang/zh_cn.lang | 0 .../assets}/jeresources/lang/zh_cn_old.lang | 0 .../assets}/journeymap/lang/en_us.lang | 0 .../assets}/journeymap/lang/zh_cn.lang | 0 .../assets}/journeymap/lang/zh_cn_old.lang | 0 .../assets}/junglemobs/lang/en_us.lang | 0 .../assets}/junglemobs/lang/zh_cn.lang | 0 .../assets}/junglemobs/lang/zh_cn_old.lang | 0 .../assets}/justanothersnad/lang/zh_cn.lang | 0 .../justanothersnad/lang/zh_cn_old.lang | 0 .../assets}/justenoughbuttons/lang/zh_cn.lang | 0 .../justenoughbuttons/lang/zh_cn_old.lang | 0 .../justenoughdimensions/lang/en_us.lang | 0 .../justenoughdimensions/lang/zh_cn.lang | 0 .../justenoughdimensions/lang/zh_cn_old.lang | 0 .../assets}/justthetips/lang/en_us.lang | 0 .../assets}/justthetips/lang/zh_cn.lang | 0 .../assets}/justthetips/lang/zh_cn_old.lang | 0 .../assets}/karatgarden/lang/en_us.lang | 0 .../assets}/karatgarden/lang/zh_cn.lang | 0 .../assets}/karatgarden/lang/zh_cn_old.lang | 0 .../assets}/levelup2/lang/en_us.lang | 0 .../assets}/levelup2/lang/zh_cn.lang | 0 .../assets}/levelup2/lang/zh_cn_old.lang | 0 .../assets}/librarianlib/lang/en_us.lang | 0 .../assets}/librarianlib/lang/zh_cn.lang | 0 .../assets}/librarianlib/lang/zh_cn_old.lang | 0 .../assets}/lightningcraft/lang/zh_cn.lang | 0 .../lightningcraft/lang/zh_cn_old.lang | 0 .../assets}/littletiles/lang/en_us.lang | 0 .../assets}/littletiles/lang/zh_cn.lang | 0 .../assets}/littletiles/lang/zh_cn_old.lang | 0 .../assets}/llibrary/lang/en_us.lang | 0 .../assets}/llibrary/lang/zh_cn.lang | 0 .../assets}/llibrary/lang/zh_cn_old.lang | 0 .../assets}/loginshield/lang/en_us.lang | 0 .../assets}/loginshield/lang/zh_cn.lang | 0 .../assets}/loginshield/lang/zh_cn_old.lang | 0 .../assets}/longfallboots/lang/en_us.lang | 0 .../assets}/longfallboots/lang/zh_cn.lang | 0 .../assets}/longfallboots/lang/zh_cn_old.lang | 0 .../assets}/lootbags/lang/en_us.lang | 0 .../assets}/lootbags/lang/zh.lang | 0 .../assets}/lootbags/lang/zh_cn.lang | 0 .../assets}/lootbags/lang/zh_cn_old.lang | 0 .../assets}/lostcities/lang/en_us.lang | 0 .../assets}/lostcities/lang/zh_cn.lang | 0 .../assets}/lostcities/lang/zh_cn_old.lang | 0 .../assets}/lteleporters/lang/en_us.lang | 0 .../assets}/lteleporters/lang/zh_cn.lang | 0 .../assets}/lteleporters/lang/zh_cn_old.lang | 0 .../assets}/lttweaks/lang/zh_cn.lang | 0 .../assets}/lttweaks/lang/zh_cn_old.lang | 0 .../assets}/lucraftcore/lang/zh_cn.lang | 0 .../assets}/lucraftcore/lang/zh_cn_old.lang | 0 .../assets}/lycanitesmobs/lang/en_us.lang | 0 .../assets}/lycanitesmobs/lang/zh_cn.lang | 0 .../assets}/lycanitesmobs/lang/zh_cn_old.lang | 0 .../assets}/magicbees/lang/en_us.lang | 0 .../assets}/magicbees/lang/zh_cn.lang | 0 .../assets}/magicbees/lang/zh_cn_old.lang | 0 .../assets}/magipsi/lang/zh_cn.lang | 0 .../assets}/magipsi/lang/zh_cn_old.lang | 0 .../assets}/magma_monsters/lang/zh_cn.lang | 0 .../magma_monsters/lang/zh_cn_old.lang | 0 .../assets}/magneticraft/lang/en_us.lang | 0 .../assets}/magneticraft/lang/zh_cn.lang | 0 .../assets}/magneticraft/lang/zh_cn_old.lang | 0 .../assets}/malisiscore/lang/en_us.lang | 0 .../assets}/malisiscore/lang/zh_cn.lang | 0 .../assets}/malisiscore/lang/zh_cn_old.lang | 0 .../assets}/malisisdoors/lang/en_us.lang | 0 .../assets}/malisisdoors/lang/zh_cn.lang | 0 .../assets}/malisisdoors/lang/zh_cn_old.lang | 0 .../assets}/mapwriter/lang/en_us.lang | 0 .../assets}/mapwriter/lang/zh_cn.lang | 0 .../assets}/mapwriter/lang/zh_cn_old.lang | 0 {assets => project/assets}/mb/lang/zh_cn.lang | 0 .../assets}/mb/lang/zh_cn_old.lang | 0 .../assets}/mcopts/lang/en_us.lang | 0 .../assets}/mcopts/lang/zh_cn.lang | 0 .../assets}/mcopts/lang/zh_cn_old.lang | 0 .../assets}/mdecore/lang/zh_cn.lang | 0 .../assets}/mdecore/lang/zh_cn_old.lang | 0 .../assets}/mechsoldiers/lang/zh_cn.lang | 0 .../assets}/mechsoldiers/lang/zh_cn_old.lang | 0 .../assets}/meecreeps/lang/zh_cn.lang | 0 .../assets}/meecreeps/lang/zh_cn_old.lang | 0 .../assets}/mekanism/lang/en_us.lang | 0 .../assets}/mekanism/lang/zh_cn.lang | 0 .../assets}/mekanism/lang/zh_cn_old.lang | 0 .../assets}/menu/lang/en_us.lang | 0 .../assets}/menu/lang/zh_cn.lang | 0 .../assets}/menu/lang/zh_cn_old.lang | 0 .../assets}/metamorph/lang/zh_cn.lang | 0 .../assets}/metamorph/lang/zh_cn_old.lang | 0 .../assets}/mikedongles/lang/en_us.lang | 0 .../assets}/mikedongles/lang/zh_cn.lang | 0 .../assets}/mikedongles/lang/zh_cn_old.lang | 0 .../assets}/minecolonies/lang/en_us.lang | 0 .../assets}/minecolonies/lang/zh_cn.lang | 0 .../assets}/minecolonies/lang/zh_cn_old.lang | 0 .../assets}/minecraft/font/glyph_sizes.bin | Bin .../assets}/minecraft/readme.md | 0 .../minetogetherserver/lang/en_us.lang | 0 .../minetogetherserver/lang/zh_cn.lang | 0 .../minetogetherserver/lang/zh_cn_old.lang | 0 .../assets}/minions/lang/zh_cn.lang | 0 .../assets}/minions/lang/zh_cn_old.lang | 0 .../assets}/missing_pieces/lang/en_us.lang | 0 .../assets}/missing_pieces/lang/zh_cn.lang | 0 .../missing_pieces/lang/zh_cn_old.lang | 0 .../assets}/moartinkers/lang/en_us.lang | 0 .../assets}/moartinkers/lang/zh_cn.lang | 0 .../assets}/moartinkers/lang/zh_cn_old.lang | 0 .../mob_grinding_utils/lang/en_us.lang | 0 .../mob_grinding_utils/lang/zh_cn.lang | 0 .../mob_grinding_utils/lang/zh_cn_old.lang | 0 .../assets}/mobamputation/lang/zh_cn.lang | 0 .../assets}/mobamputation/lang/zh_cn_old.lang | 0 .../assets}/mobdismemberment/lang/en_us.lang | 0 .../assets}/mobdismemberment/lang/zh_cn.lang | 0 .../mobdismemberment/lang/zh_cn_old.lang | 0 .../assets}/mobends/lang/en_us.lang | 0 .../assets}/mobends/lang/zh_cn.lang | 0 .../assets}/mobends/lang/zh_cn_old.lang | 0 .../assets}/mobtotems/lang/zh_cn.lang | 0 .../assets}/mobtotems/lang/zh_cn_old.lang | 0 .../assets}/modcurrency/lang/zh_cn.lang | 0 .../assets}/modcurrency/lang/zh_cn_old.lang | 0 .../assets}/modnametooltip/lang/en_us.lang | 0 .../assets}/modnametooltip/lang/zh_cn.lang | 0 .../modnametooltip/lang/zh_cn_old.lang | 0 .../assets}/modularmachinery/lang/zh_cn.lang | 0 .../modularmachinery/lang/zh_cn_old.lang | 0 .../assets}/modularrouters/lang/zh_cn.lang | 0 .../modularrouters/lang/zh_cn_old.lang | 0 .../assets}/moofluids/lang/en_us.lang | 0 .../assets}/moofluids/lang/zh_cn.lang | 0 .../assets}/moofluids/lang/zh_cn_old.lang | 0 .../assets}/morebees/lang/en_us.lang | 0 .../assets}/morebees/lang/zh_cn.lang | 0 .../assets}/morebees/lang/zh_cn_old.lang | 0 .../assets}/morechickens/lang/en_us.lang | 0 .../assets}/morechickens/lang/zh.lang | 0 .../assets}/morechickens/lang/zh_cn.lang | 0 .../assets}/morechickens/lang/zh_cn_old.lang | 0 .../assets}/morefurnaces/lang/en_us.lang | 0 .../assets}/morefurnaces/lang/zh_cn.lang | 0 .../assets}/morefurnaces/lang/zh_cn_old.lang | 0 .../assets}/moreoverlays/lang/en_us.lang | 0 .../assets}/moreoverlays/lang/zh_cn.lang | 0 .../assets}/moreoverlays/lang/zh_cn_old.lang | 0 .../assets}/moreplayermodels/lang/en_us.lang | 0 .../assets}/moreplayermodels/lang/zh_cn.lang | 0 .../moreplayermodels/lang/zh_cn_old.lang | 0 .../assets}/morph/lang/en_us.lang | 0 .../assets}/morph/lang/zh_cn.lang | 0 .../assets}/morph/lang/zh_cn_old.lang | 0 .../assets}/morphtool/lang/en_us.lang | 0 .../assets}/morphtool/lang/zh_cn.lang | 0 .../assets}/morphtool/lang/zh_cn_old.lang | 0 .../assets}/mountainmobs/lang/en_us.lang | 0 .../assets}/mountainmobs/lang/zh_cn.lang | 0 .../assets}/mountainmobs/lang/zh_cn_old.lang | 0 .../assets}/mputils/lang/en_us.lang | 0 .../assets}/mputils/lang/zh_cn.lang | 0 .../assets}/mputils/lang/zh_cn_old.lang | 0 .../assets}/multibeds/lang/zh_cn.lang | 0 .../assets}/multibeds/lang/zh_cn_old.lang | 0 .../assets}/multipagechest/lang/zh_cn.lang | 0 .../multipagechest/lang/zh_cn_old.lang | 0 .../assets}/multistorage/lang/en_us.lang | 0 .../assets}/multistorage/lang/zh_cn.lang | 0 .../assets}/multistorage/lang/zh_cn_old.lang | 0 {assets => project/assets}/mw/lang/en_us.lang | 0 {assets => project/assets}/mw/lang/zh_cn.lang | 0 .../assets}/mw/lang/zh_cn_old.lang | 0 .../assets}/mxtune/lang/zh_cn.lang | 0 .../assets}/mxtune/lang/zh_cn_old.lang | 0 .../mysticalagradditions/lang/en_us.lang | 0 .../mysticalagradditions/lang/zh_cn.lang | 0 .../mysticalagradditions/lang/zh_cn_old.lang | 0 .../mysticalagriculture/lang/en_us.lang | 0 .../mysticalagriculture/lang/zh_cn.lang | 0 .../mysticalagriculture/lang/zh_cn_old.lang | 0 .../assets}/mysttmtgravitymod/lang/zh_cn.lang | 0 .../mysttmtgravitymod/lang/zh_cn_old.lang | 0 .../assets}/natura/lang/en_us.lang | 0 .../assets}/natura/lang/zh_cn.lang | 0 .../assets}/natura/lang/zh_cn_old.lang | 0 .../assets}/naturescompass/lang/en_us.lang | 0 .../assets}/naturescompass/lang/zh_cn.lang | 0 .../naturescompass/lang/zh_cn_old.lang | 0 .../assets}/nei/lang/en_us.lang | 0 .../assets}/nei/lang/zh_cn.lang | 0 .../assets}/nei/lang/zh_cn_old.lang | 0 .../assets}/netherex/lang/zh_cn.lang | 0 .../assets}/netherex/lang/zh_cn_old.lang | 0 .../assets}/netherportalfix/lang/en_us.lang | 0 .../assets}/netherportalfix/lang/zh_cn.lang | 0 .../netherportalfix/lang/zh_cn_old.lang | 0 .../assets}/nice/lang/en_us.lang | 0 .../assets}/nice/lang/zh_cn.lang | 0 .../assets}/nice/lang/zh_cn_old.lang | 0 .../assets}/noel/lang/zh_cn.lang | 0 .../assets}/noel/lang/zh_cn_old.lang | 0 .../assets}/notenoughwands/lang/en_us.lang | 0 .../assets}/notenoughwands/lang/zh_cn.lang | 0 .../notenoughwands/lang/zh_cn_old.lang | 0 .../assets}/nuclearcraft/lang/en_us.lang | 0 .../assets}/nuclearcraft/lang/zh_cn.lang | 0 .../assets}/nuclearcraft/lang/zh_cn_old.lang | 0 .../assets}/nuclearphysics/lang/zh_cn.lang | 0 .../nuclearphysics/lang/zh_cn_old.lang | 0 .../assets}/ocsensors/lang/en_us.lang | 0 .../assets}/ocsensors/lang/zh_cn.lang | 0 .../assets}/ocsensors/lang/zh_cn_old.lang | 0 .../assets}/oeintegration/lang/en_us.lang | 0 .../assets}/oeintegration/lang/zh_cn.lang | 0 .../assets}/oeintegration/lang/zh_cn_old.lang | 0 .../assets}/omlib/lang/en_us.lang | 0 .../assets}/omlib/lang/zh_cn.lang | 0 .../assets}/omlib/lang/zh_cn_old.lang | 0 .../assets}/ompd/lang/zh_cn.lang | 0 .../assets}/ompd/lang/zh_cn_old.lang | 0 .../assets}/openblocks/lang/en_us.lang | 0 .../assets}/openblocks/lang/zh_cn.lang | 0 .../assets}/openblocks/lang/zh_cn_old.lang | 0 .../assets}/opencomputers/lang/en_us.lang | 0 .../assets}/opencomputers/lang/zh_cn.lang | 0 .../assets}/opencomputers/lang/zh_cn_old.lang | 0 .../assets}/openglasses/lang/zh_cn.lang | 0 .../assets}/openglasses/lang/zh_cn_old.lang | 0 .../assets}/openglider/lang/zh_cn.lang | 0 .../assets}/openglider/lang/zh_cn_old.lang | 0 .../assets}/openmods/lang/en_us.lang | 0 .../assets}/openmods/lang/zh_cn.lang | 0 .../assets}/openmods/lang/zh_cn_old.lang | 0 .../openmodularturrets/lang/en_us.lang | 0 .../openmodularturrets/lang/zh_cn.lang | 0 .../openmodularturrets/lang/zh_cn_old.lang | 0 .../assets}/opframe/lang/zh_cn.lang | 0 .../assets}/opframe/lang/zh_cn_old.lang | 0 .../assets}/oreexcavation/lang/en_us.lang | 0 .../assets}/oreexcavation/lang/zh_cn.lang | 0 .../assets}/oreexcavation/lang/zh_cn_old.lang | 0 .../assets}/oresheepmod/lang/zh_cn.lang | 0 .../assets}/oresheepmod/lang/zh_cn_old.lang | 0 .../assets}/overloaded/lang/en_us.lang | 0 .../assets}/overloaded/lang/zh_cn.lang | 0 .../assets}/overloaded/lang/zh_cn_old.lang | 0 .../assets}/overlord/lang/en_us.lang | 0 .../assets}/overlord/lang/zh_cn.lang | 0 .../assets}/overlord/lang/zh_cn_old.lang | 0 .../assets}/packmode/lang/zh_cn.lang | 0 .../assets}/packmode/lang/zh_cn_old.lang | 0 .../assets}/parachutemod/lang/en_us.lang | 0 .../assets}/parachutemod/lang/zh_cn.lang | 0 .../assets}/parachutemod/lang/zh_cn_old.lang | 0 .../assets}/pearcelmod/lang/zh_cn.lang | 0 .../assets}/pearcelmod/lang/zh_cn_old.lang | 0 .../assets}/persistentbits/lang/en_us.lang | 0 .../assets}/persistentbits/lang/zh_cn.lang | 0 .../persistentbits/lang/zh_cn_old.lang | 0 .../assets}/personalcars/lang/en_us.lang | 0 .../assets}/personalcars/lang/zh_cn.lang | 0 .../assets}/personalcars/lang/zh_cn_old.lang | 0 .../assets}/ping/lang/zh_cn.lang | 0 .../assets}/ping/lang/zh_cn_old.lang | 0 .../assets}/placeableitems/lang/zh_cn.lang | 0 .../placeableitems/lang/zh_cn_old.lang | 0 .../assets}/placementpreview/lang/en_us.lang | 0 .../assets}/placementpreview/lang/zh_cn.lang | 0 .../placementpreview/lang/zh_cn_old.lang | 0 .../assets}/plainsmobs/lang/en_us.lang | 0 .../assets}/plainsmobs/lang/zh_cn.lang | 0 .../assets}/plainsmobs/lang/zh_cn_old.lang | 0 .../assets}/plants2/lang/en_us.lang | 0 .../assets}/plants2/lang/zh_cn.lang | 0 .../assets}/plants2/lang/zh_cn_old.lang | 0 .../assets}/platforms/lang/en_us.lang | 0 .../assets}/platforms/lang/zh_cn.lang | 0 .../assets}/platforms/lang/zh_cn_old.lang | 0 .../assets}/playerskins/lang/zh_cn.lang | 0 .../assets}/playerskins/lang/zh_cn_old.lang | 0 .../assets}/plustic/lang/en_us.lang | 0 .../assets}/plustic/lang/zh_cn.lang | 0 .../assets}/plustic/lang/zh_cn_old.lang | 0 .../assets}/pokecube/lang/zh_cn.lang | 0 .../assets}/pokecube/lang/zh_cn_old.lang | 0 .../pokecube_adventures/lang/en_us.lang | 0 .../pokecube_adventures/lang/zh_cn.lang | 0 .../pokecube_adventures/lang/zh_cn_old.lang | 0 .../assets}/pokecube_books/lang/zh_cn.lang | 0 .../pokecube_books/lang/zh_cn_old.lang | 0 .../assets}/pokecube_compat/lang/en_us.lang | 0 .../assets}/pokecube_compat/lang/zh_cn.lang | 0 .../pokecube_compat/lang/zh_cn_old.lang | 0 .../assets}/pokecube_config/lang/zh_cn.lang | 0 .../pokecube_config/lang/zh_cn_old.lang | 0 .../assets}/pokecube_mobs/lang/zh_cn.lang | 0 .../assets}/pokecube_mobs/lang/zh_cn_old.lang | 0 .../assets}/pokecube_moves/lang/zh_cn.lang | 0 .../pokecube_moves/lang/zh_cn_old.lang | 0 .../assets}/pokecube_origin/lang/zh_cn.lang | 0 .../pokecube_origin/lang/zh_cn_old.lang | 0 .../assets}/portalgun/lang/en_us.lang | 0 .../assets}/portalgun/lang/zh_cn.lang | 0 .../assets}/portalgun/lang/zh_cn_old.lang | 0 .../assets}/powerinventory/lang/zh_cn.lang | 0 .../powerinventory/lang/zh_cn_old.lang | 0 .../assets}/prefab/lang/zh_cn.lang | 0 .../assets}/prefab/lang/zh_cn_old.lang | 0 .../assets}/presets/lang/en_us.lang | 0 .../assets}/presets/lang/zh_cn.lang | 0 .../assets}/presets/lang/zh_cn_old.lang | 0 .../assets}/pressure/lang/en_us.lang | 0 .../assets}/pressure/lang/zh_cn.lang | 0 .../assets}/pressure/lang/zh_cn_old.lang | 0 .../assets}/projecte/lang/en_us.lang | 0 .../assets}/projecte/lang/zh_cn.lang | 0 .../assets}/projecte/lang/zh_cn_old.lang | 0 .../assets}/props/lang/en_us.lang | 0 .../assets}/props/lang/zh_cn.lang | 0 .../assets}/props/lang/zh_cn_old.lang | 0 .../assets}/psi/lang/en_us.lang | 0 .../assets}/psi/lang/zh_cn.lang | 0 .../assets}/psi/lang/zh_cn_old.lang | 0 .../assets}/quacklib/lang/zh_cn.lang | 0 .../assets}/quacklib/lang/zh_cn_old.lang | 0 .../assets}/quantumstorage/lang/en_us.lang | 0 .../assets}/quantumstorage/lang/zh_cn.lang | 0 .../quantumstorage/lang/zh_cn_old.lang | 0 .../assets}/quark/lang/en_us.lang | 0 .../assets}/quark/lang/zh_cn.lang | 0 .../assets}/quark/lang/zh_cn_old.lang | 0 .../assets}/questbook/lang/zh_cn.lang | 0 .../assets}/questbook/lang/zh_cn_old.lang | 0 .../rafradek_tf2_weapons/lang/zh_cn.lang | 0 .../rafradek_tf2_weapons/lang/zh_cn_old.lang | 0 .../assets}/rainboaks/lang/en_us.lang | 0 .../assets}/rainboaks/lang/zh_cn.lang | 0 .../assets}/rainboaks/lang/zh_cn_old.lang | 0 .../assets}/randomthings/lang/en_us.lang | 0 .../assets}/randomthings/lang/zh_cn.lang | 0 .../assets}/randomthings/lang/zh_cn_old.lang | 0 .../assets}/rangedpumps/lang/en_us.lang | 0 .../assets}/rangedpumps/lang/zh_cn.lang | 0 .../assets}/rangedpumps/lang/zh_cn_old.lang | 0 .../assets}/reap/lang/zh_cn.lang | 0 .../assets}/reap/lang/zh_cn_old.lang | 0 .../assets}/reborncore/lang/en_us.lang | 0 .../assets}/reborncore/lang/zh_cn.lang | 0 .../assets}/reborncore/lang/zh_cn_old.lang | 0 .../assets}/rebornstorage/lang/en_us.lang | 0 .../assets}/rebornstorage/lang/zh_cn.lang | 0 .../assets}/rebornstorage/lang/zh_cn_old.lang | 0 .../assets}/reccomplex/lang/en_us.lang | 0 .../assets}/reccomplex/lang/zh_cn.lang | 0 .../assets}/reccomplex/lang/zh_cn_old.lang | 0 .../assets}/redstonearsenal/lang/en_us.lang | 0 .../assets}/redstonearsenal/lang/zh_cn.lang | 0 .../redstonearsenal/lang/zh_cn_old.lang | 0 .../assets}/redstonepaste/lang/en_us.lang | 0 .../assets}/redstonepaste/lang/zh_cn.lang | 0 .../assets}/redstonepaste/lang/zh_cn_old.lang | 0 .../assets}/redstoneplusplus/lang/zh_cn.lang | 0 .../redstoneplusplus/lang/zh_cn_old.lang | 0 .../assets}/refinedrelocation/lang/en_us.lang | 0 .../assets}/refinedrelocation/lang/zh_cn.lang | 0 .../refinedrelocation/lang/zh_cn_old.lang | 0 .../assets}/refinedstorage/lang/en_us.lang | 0 .../assets}/refinedstorage/lang/zh_cn.lang | 0 .../refinedstorage/lang/zh_cn_old.lang | 0 .../refinedstorageaddons/lang/en_us.lang | 0 .../refinedstorageaddons/lang/zh_cn.lang | 0 .../refinedstorageaddons/lang/zh_cn_old.lang | 0 .../assets}/reptilemod/lang/zh_cn.lang | 0 .../assets}/reptilemod/lang/zh_cn_old.lang | 0 .../assets}/restrictedportals/lang/en_us.lang | 0 .../assets}/restrictedportals/lang/zh_cn.lang | 0 .../restrictedportals/lang/zh_cn_old.lang | 0 .../assets}/retrocomputers/lang/zh_cn.lang | 0 .../retrocomputers/lang/zh_cn_old.lang | 0 .../rf-capability-adapter/lang/zh_cn.lang | 0 .../rf-capability-adapter/lang/zh_cn_old.lang | 0 .../assets}/rflux/lang/en_us.lang | 0 .../assets}/rflux/lang/zh_cn.lang | 0 .../assets}/rflux/lang/zh_cn_old.lang | 0 .../assets}/rftools/lang/en_us.lang | 0 .../assets}/rftools/lang/zh_cn.lang | 0 .../assets}/rftools/lang/zh_cn_old.lang | 0 .../assets}/rftoolscontrol/lang/en_us.lang | 0 .../assets}/rftoolscontrol/lang/zh_cn.lang | 0 .../rftoolscontrol/lang/zh_cn_old.lang | 0 .../assets}/rftoolsdim/lang/en_us.lang | 0 .../assets}/rftoolsdim/lang/zh_cn.lang | 0 .../assets}/rftoolsdim/lang/zh_cn_old.lang | 0 .../rftoolsdim/text/manual_dimension.txt | 0 .../assets}/rockhounding_core/lang/zh_cn.lang | 0 .../rockhounding_core/lang/zh_cn_old.lang | 0 .../assets}/roots/lang/en_us.lang | 0 .../assets}/roots/lang/zh_cn.lang | 0 .../assets}/roots/lang/zh_cn_old.lang | 0 .../assets}/roughtweaks/lang/zh_cn.lang | 0 .../assets}/roughtweaks/lang/zh_cn_old.lang | 0 .../assets}/rpghud/lang/zh_cn.lang | 0 .../assets}/rpghud/lang/zh_cn_old.lang | 0 .../assets}/rtfm/lang/zh_cn.lang | 0 .../assets}/rtfm/lang/zh_cn_old.lang | 0 .../assets}/runesofwizardry/lang/zh_cn.lang | 0 .../runesofwizardry/lang/zh_cn_old.lang | 0 .../runesofwizardry_classics/lang/zh_cn.lang | 0 .../lang/zh_cn_old.lang | 0 .../assets}/rustic/lang/en_us.lang | 0 .../assets}/rustic/lang/zh_cn.lang | 0 .../assets}/rustic/lang/zh_cn_old.lang | 0 .../assets}/saltwatermobs/lang/en_us.lang | 0 .../assets}/saltwatermobs/lang/zh_cn.lang | 0 .../assets}/saltwatermobs/lang/zh_cn_old.lang | 0 .../assets}/sanplayermodel/lang/zh_cn.lang | 0 .../sanplayermodel/lang/zh_cn_old.lang | 0 .../assets}/sapturretmod/lang/zh_cn.lang | 0 .../assets}/sapturretmod/lang/zh_cn_old.lang | 0 {assets => project/assets}/sc/lang/en_us.lang | 0 {assets => project/assets}/sc/lang/zh_cn.lang | 0 .../assets}/sc/lang/zh_cn_old.lang | 0 .../assets}/scalinghealth/lang/en_us.lang | 0 .../assets}/scalinghealth/lang/zh_cn.lang | 0 .../assets}/scalinghealth/lang/zh_cn_old.lang | 0 .../assets}/scannable/lang/en_us.lang | 0 .../assets}/scannable/lang/zh_cn.lang | 0 .../assets}/scannable/lang/zh_cn_old.lang | 0 .../assets}/sccraftingrunes/lang/zh_cn.lang | 0 .../sccraftingrunes/lang/zh_cn_old.lang | 0 .../assets}/schematica/lang/en_us.lang | 0 .../assets}/schematica/lang/zh_cn.lang | 0 .../assets}/schematica/lang/zh_cn_old.lang | 0 .../assets}/secretroomsmod/lang/zh_cn.lang | 0 .../secretroomsmod/lang/zh_cn_old.lang | 0 .../assets}/securitycraft/lang/en_us.lang | 0 .../assets}/securitycraft/lang/zh_cn.lang | 0 .../assets}/securitycraft/lang/zh_cn_old.lang | 0 .../assets}/sgextraparts/lang/en_us.lang | 0 .../assets}/sgextraparts/lang/zh_cn.lang | 0 .../assets}/sgextraparts/lang/zh_cn_old.lang | 0 .../assets}/shadowmc/lang/en_us.lang | 0 .../assets}/shadowmc/lang/zh_cn.lang | 0 .../assets}/shadowmc/lang/zh_cn_old.lang | 0 .../assets}/shadowmobs/lang/en_us.lang | 0 .../assets}/shadowmobs/lang/zh_cn.lang | 0 .../assets}/shadowmobs/lang/zh_cn_old.lang | 0 .../assets}/shear/lang/en_us.lang | 0 .../assets}/shear/lang/zh_cn.lang | 0 .../assets}/shear/lang/zh_cn_old.lang | 0 .../assets}/shearmadness/lang/en_us.lang | 0 .../assets}/shearmadness/lang/zh_cn.lang | 0 .../assets}/shearmadness/lang/zh_cn_old.lang | 0 .../assets}/shetiphiancore/lang/en_us.lang | 0 .../assets}/shetiphiancore/lang/zh_cn.lang | 0 .../shetiphiancore/lang/zh_cn_old.lang | 0 .../assets}/signals/lang/en_us.lang | 0 .../assets}/signals/lang/zh_cn.lang | 0 .../assets}/signals/lang/zh_cn_old.lang | 0 .../assets}/silentgems/lang/en_us.lang | 0 .../assets}/silentgems/lang/zh_cn.lang | 0 .../assets}/silentgems/lang/zh_cn_old.lang | 0 .../assets}/silentlib/lang/en_us.lang | 0 .../assets}/silentlib/lang/zh_cn.lang | 0 .../assets}/silentlib/lang/zh_cn_old.lang | 0 .../similsaxtranstructors/lang/zh_cn.lang | 0 .../similsaxtranstructors/lang/zh_cn_old.lang | 0 .../assets}/simplecore/lang/zh_cn.lang | 0 .../assets}/simplecore/lang/zh_cn_old.lang | 0 .../assets}/simplecorn/lang/en_us.lang | 0 .../assets}/simplecorn/lang/zh_cn.lang | 0 .../assets}/simplecorn/lang/zh_cn_old.lang | Bin .../assets}/simpleores/lang/zh_cn.lang | 0 .../assets}/simpleores/lang/zh_cn_old.lang | 0 .../assets}/simplesponge/lang/en_us.lang | 0 .../assets}/simplesponge/lang/zh_cn.lang | 0 .../assets}/simplesponge/lang/zh_cn_old.lang | 0 .../assets}/simplevoidworld/lang/en_us.lang | 0 .../assets}/simplevoidworld/lang/zh_cn.lang | 0 .../simplevoidworld/lang/zh_cn_old.lang | 0 .../assets}/simplygems/lang/zh_cn.lang | 0 .../assets}/simplygems/lang/zh_cn_old.lang | 0 .../assets}/simplyjetpacks/lang/en_us.lang | 0 .../assets}/simplyjetpacks/lang/zh_cn.lang | 0 .../simplyjetpacks/lang/zh_cn_old.lang | 0 .../assets}/simplytea/lang/zh_cn.lang | 0 .../assets}/simplytea/lang/zh_cn_old.lang | 0 .../assets}/skyblocks/lang/zh_cn.lang | 0 .../assets}/skyblocks/lang/zh_cn_old.lang | 0 .../assets}/skyresources/lang/en_us.lang | 0 .../assets}/skyresources/lang/zh_cn.lang | 0 .../assets}/skyresources/lang/zh_cn_old.lang | 0 .../assets}/slashblade/lang/zh_cn.lang | 0 .../assets}/slashblade/lang/zh_cn_old.lang | 0 .../assets}/snad/lang/en_us.lang | 0 .../assets}/snad/lang/zh_cn.lang | 0 .../assets}/snad/lang/zh_cn_old.lang | 0 .../assets}/sodiumcraft/lang/zh_cn.lang | 0 .../assets}/sodiumcraft/lang/zh_cn_old.lang | 0 .../assets}/solarfluxreborn/lang/en_us.lang | 0 .../assets}/solarfluxreborn/lang/zh_cn.lang | 0 .../solarfluxreborn/lang/zh_cn_old.lang | 0 .../assets}/solcarrot/lang/zh_cn.lang | 0 .../assets}/solcarrot/lang/zh_cn_old.lang | 0 .../assets}/sonarcore/lang/en_us.lang | 0 .../assets}/sonarcore/lang/zh_cn.lang | 0 .../assets}/sonarcore/lang/zh_cn_old.lang | 0 .../assets}/soot/lang/zh_cn.lang | 0 .../assets}/soot/lang/zh_cn_old.lang | 0 .../sophisticatedwolves/lang/zh_cn.lang | 0 .../sophisticatedwolves/lang/zh_cn_old.lang | 0 .../assets}/soulshardstow/lang/en_us.lang | 0 .../assets}/soulshardstow/lang/zh_cn.lang | 0 .../assets}/soulshardstow/lang/zh_cn_old.lang | 0 .../assets}/spartanshields/lang/en_us.lang | 0 .../assets}/spartanshields/lang/zh_cn.lang | 0 .../spartanshields/lang/zh_cn_old.lang | 0 .../assets}/spectrite/lang/zh_cn.lang | 0 .../assets}/spectrite/lang/zh_cn_old.lang | 0 .../assets}/speedsterheroes/lang/zh_cn.lang | 0 .../speedsterheroes/lang/zh_cn_old.lang | 0 .../assets}/spiceoflife/lang/en_us.lang | 0 .../assets}/spiceoflife/lang/zh_cn.lang | 0 .../assets}/spiceoflife/lang/zh_cn_old.lang | 0 .../assets}/stackie/lang/zh_cn.lang | 0 .../assets}/stackie/lang/zh_cn_old.lang | 0 .../assets}/stairs/lang/zh_cn.lang | 0 .../assets}/stairs/lang/zh_cn_old.lang | 0 .../assets}/stats_keeper/lang/zh_cn.lang | 0 .../assets}/stats_keeper/lang/zh_cn_old.lang | 0 .../assets}/statues/lang/en_us.lang | 0 .../assets}/statues/lang/zh_cn.lang | 0 .../assets}/statues/lang/zh_cn_old.lang | 0 .../assets}/stellarapi/lang/zh_cn.lang | 0 .../assets}/stellarapi/lang/zh_cn_old.lang | 0 .../assets}/stellarium/lang/zh_cn.lang | 0 .../assets}/stellarium/lang/zh_cn_old.lang | 0 .../assets}/stevescarts/lang/en_us.lang | 0 .../assets}/stevescarts/lang/zh_cn.lang | 0 .../assets}/stevescarts/lang/zh_cn_old.lang | 0 .../assets}/storageboats/lang/zh_cn.lang | 0 .../assets}/storageboats/lang/zh_cn_old.lang | 0 .../assets}/storagedrawers/lang/en_us.lang | 0 .../assets}/storagedrawers/lang/zh_cn.lang | 0 .../storagedrawers/lang/zh_cn_old.lang | 0 .../storagedrawersextra/lang/en_us.lang | 0 .../storagedrawersextra/lang/zh_cn.lang | 0 .../storagedrawersextra/lang/zh_cn_old.lang | 0 .../assets}/storagenetwork/lang/en_us.lang | 0 .../assets}/storagenetwork/lang/zh_cn.lang | 0 .../storagenetwork/lang/zh_cn_old.lang | 0 .../structuredcrafting/lang/en_us.lang | 0 .../structuredcrafting/lang/zh_cn.lang | 0 .../structuredcrafting/lang/zh_cn_old.lang | 0 .../assets}/survivalist/lang/en_us.lang | 0 .../assets}/survivalist/lang/zh_cn.lang | 0 .../assets}/survivalist/lang/zh_cn_old.lang | 0 .../assets}/swampmobs/lang/en_us.lang | 0 .../assets}/swampmobs/lang/zh_cn.lang | 0 .../assets}/swampmobs/lang/zh_cn_old.lang | 0 .../assets}/sync/lang/en_us.lang | 0 .../assets}/sync/lang/zh_cn.lang | 0 .../assets}/sync/lang/zh_cn_old.lang | 0 .../assets}/tails/lang/en_us.lang | 0 .../assets}/tails/lang/zh_cn.lang | 0 .../assets}/tails/lang/zh_cn_old.lang | 0 .../assets}/tammodized/lang/zh_cn.lang | 0 .../assets}/tammodized/lang/zh_cn_old.lang | 0 .../assets}/tanaddons/lang/en_us.lang | 0 .../assets}/tanaddons/lang/zh_cn.lang | 0 .../assets}/tanaddons/lang/zh_cn_old.lang | 0 .../assets}/tcomplement/lang/en_us.lang | 0 .../assets}/tcomplement/lang/zh_cn.lang | 0 .../assets}/tcomplement/lang/zh_cn_old.lang | 0 .../assets}/tconstruct/lang/en_us.lang | 0 .../assets}/tconstruct/lang/zh_cn.lang | 0 .../assets}/tconstruct/lang/zh_cn_old.lang | 0 .../assets}/techguns/lang/zh_cn.lang | 0 .../assets}/techguns/lang/zh_cn_old.lang | 0 .../assets}/techreborn/lang/en_us.lang | 0 .../assets}/techreborn/lang/zh_cn.lang | 0 .../assets}/techreborn/lang/zh_cn_old.lang | 0 .../assets}/teckle/lang/zh_cn.lang | 0 .../assets}/teckle/lang/zh_cn_old.lang | 0 .../assets}/telepads/lang/zh_cn.lang | 0 .../assets}/telepads/lang/zh_cn_old.lang | 0 .../assets}/terraqueous/lang/en_us.lang | 0 .../assets}/terraqueous/lang/zh_cn.lang | 0 .../assets}/terraqueous/lang/zh_cn_old.lang | 0 .../assets}/tesla/lang/en_us.lang | 0 .../assets}/tesla/lang/zh_cn.lang | 0 .../assets}/tesla/lang/zh_cn_old.lang | 0 .../assets}/teslacorelib/lang/en_us.lang | 0 .../assets}/teslacorelib/lang/zh_cn.lang | 0 .../assets}/teslacorelib/lang/zh_cn_old.lang | 0 .../assets}/testdummy/lang/en_us.lang | 0 .../assets}/testdummy/lang/zh_cn.lang | 0 .../assets}/testdummy/lang/zh_cn_old.lang | 0 .../assets}/thebetweenlands/lang/en_us.lang | 0 .../assets}/thebetweenlands/lang/zh_cn.lang | 0 .../thebetweenlands/lang/zh_cn_old.lang | 0 .../assets}/thedalekmod/lang/zh_cn.lang | 0 .../assets}/thedalekmod/lang/zh_cn_old.lang | 0 .../assets}/thedragonlib/lang/en_us.lang | 0 .../assets}/thedragonlib/lang/zh_cn.lang | 0 .../assets}/thedragonlib/lang/zh_cn_old.lang | 0 .../assets}/theoneprobe/lang/en_us.lang | 0 .../assets}/theoneprobe/lang/zh_cn.lang | 0 .../assets}/theoneprobe/lang/zh_cn_old.lang | 0 .../thermalcultivation/lang/en_us.lang | 0 .../thermalcultivation/lang/zh_cn.lang | 0 .../thermalcultivation/lang/zh_cn_old.lang | 0 .../assets}/thermaldynamics/lang/en_us.lang | 0 .../assets}/thermaldynamics/lang/zh_cn.lang | 0 .../thermaldynamics/lang/zh_cn_old.lang | 0 .../assets}/thermalexpansion/lang/en_us.lang | 0 .../assets}/thermalexpansion/lang/zh_cn.lang | 0 .../thermalexpansion/lang/zh_cn_old.lang | 0 .../assets}/thermalfoundation/lang/en_us.lang | 0 .../assets}/thermalfoundation/lang/zh_cn.lang | 0 .../thermalfoundation/lang/zh_cn_old.lang | 0 .../assets}/thermalsolars/lang/zh_cn.lang | 0 .../assets}/thermalsolars/lang/zh_cn_old.lang | 0 .../assets}/thermionics/lang/zh_cn.lang | 0 .../assets}/thermionics/lang/zh_cn_old.lang | 0 .../assets}/thutcore/lang/en_us.lang | 0 .../assets}/thutcore/lang/zh_cn.lang | 0 .../assets}/thutcore/lang/zh_cn_old.lang | 0 .../assets}/thuttech/lang/zh_cn.lang | 0 .../assets}/thuttech/lang/zh_cn_old.lang | 0 .../assets}/tinker_io/lang/en_us.lang | 0 .../assets}/tinker_io/lang/zh_cn.lang | 0 .../assets}/tinker_io/lang/zh_cn_old.lang | 0 .../assets}/tinkersaddons/lang/en_us.lang | 0 .../assets}/tinkersaddons/lang/zh_cn.lang | 0 .../assets}/tinkersaddons/lang/zh_cn_old.lang | 0 .../assets}/tinkersdefense/lang/en_us.lang | 0 .../assets}/tinkersdefense/lang/zh_cn.lang | 0 .../tinkersdefense/lang/zh_cn_old.lang | 0 .../assets}/tinkerskyblock/lang/zh_cn.lang | 0 .../tinkerskyblock/lang/zh_cn_old.lang | 0 .../tinkertoolleveling/lang/en_us.lang | 0 .../tinkertoolleveling/lang/zh_cn.lang | 0 .../tinkertoolleveling/lang/zh_cn_old.lang | 0 .../assets}/tis3d/lang/en_us.lang | 0 .../assets}/tis3d/lang/zh_cn.lang | 0 .../assets}/tis3d/lang/zh_cn_old.lang | 0 .../assets}/tombstone/lang/en_us.lang | 0 .../assets}/tombstone/lang/zh_cn.lang | 0 .../assets}/tombstone/lang/zh_cn_old.lang | 0 .../assets}/toolbelt/lang/zh_cn.lang | 0 .../assets}/toolbelt/lang/zh_cn_old.lang | 0 .../assets}/topaddons/lang/en_us.lang | 0 .../assets}/topaddons/lang/zh_cn.lang | 0 .../assets}/topaddons/lang/zh_cn_old.lang | 0 .../assets}/torchmaster/lang/en_us.lang | 0 .../assets}/torchmaster/lang/zh_cn.lang | 0 .../assets}/torchmaster/lang/zh_cn_old.lang | 0 .../assets}/torohealthmod/lang/en_us.lang | 0 .../assets}/torohealthmod/lang/zh_cn.lang | 0 .../assets}/torohealthmod/lang/zh_cn_old.lang | 0 .../assets}/totemic/lang/en_us.lang | 0 .../assets}/totemic/lang/zh_cn.lang | 0 .../assets}/totemic/lang/zh_cn_old.lang | 0 .../assets}/toughasnails/lang/en_us.lang | 0 .../assets}/toughasnails/lang/zh_cn.lang | 0 .../assets}/toughasnails/lang/zh_cn_old.lang | 0 .../assets}/towel/lang/zh_cn.lang | 0 .../assets}/towel/lang/zh_cn_old.lang | 0 {assets => project/assets}/tp/lang/en_us.lang | 0 {assets => project/assets}/tp/lang/zh_cn.lang | 0 .../assets}/tp/lang/zh_cn_old.lang | 0 .../assets}/trashslot/lang/en_us.lang | 0 .../assets}/trashslot/lang/zh_cn.lang | 0 .../assets}/trashslot/lang/zh_cn_old.lang | 0 .../assets}/traverse/lang/en_us.lang | 0 .../assets}/traverse/lang/zh_cn.lang | 0 .../assets}/traverse/lang/zh_cn_old.lang | 0 .../assets}/treechopper/lang/en_us.lang | 0 .../assets}/treechopper/lang/zh_cn.lang | 0 .../assets}/treechopper/lang/zh_cn_old.lang | 0 .../treegrowingsimulator/lang/zh_cn.lang | 0 .../treegrowingsimulator/lang/zh_cn_old.lang | 0 .../assets}/tri_addon/lang/zh_cn.lang | 0 .../assets}/tri_addon/lang/zh_cn_old.lang | 0 .../assets}/trophyslots/lang/zh_cn.lang | 0 .../assets}/trophyslots/lang/zh_cn_old.lang | 0 .../assets}/tropicraft/lang/zh_cn.lang | 0 .../assets}/tropicraft/lang/zh_cn_old.lang | 0 .../assets}/tumbleweed/lang/zh_cn.lang | 0 .../assets}/tumbleweed/lang/zh_cn_old.lang | 0 .../assets}/twilightforest/lang/en_us.lang | 0 .../assets}/twilightforest/lang/zh_cn.lang | 0 .../twilightforest/lang/zh_cn_old.lang | 0 .../ultimate_unicorn_mod/lang/en_us.lang | 0 .../ultimate_unicorn_mod/lang/zh_cn.lang | 0 .../ultimate_unicorn_mod/lang/zh_cn_old.lang | 0 .../assets}/uncraftingtable/lang/zh_cn.lang | 0 .../uncraftingtable/lang/zh_cn_old.lang | 0 .../unicodefontextension/lang/zh_cn.lang | 0 .../unicodefontextension/lang/zh_cn_old.lang | 0 .../assets}/uniquecrops/lang/zh_cn.lang | 0 .../assets}/uniquecrops/lang/zh_cn_old.lang | 0 .../assets}/usefulnullifiers/lang/en_us.lang | 0 .../assets}/usefulnullifiers/lang/zh_cn.lang | 0 .../usefulnullifiers/lang/zh_cn_old.lang | 0 .../assets}/valkyrielib/lang/en_us.lang | 0 .../assets}/valkyrielib/lang/zh_cn.lang | 0 .../assets}/valkyrielib/lang/zh_cn_old.lang | 0 .../assets}/vampirism/lang/en_us.lang | 0 .../assets}/vampirism/lang/zh_cn.lang | 0 .../assets}/vampirism/lang/zh_cn_old.lang | 0 .../assets}/vampirismguide/lang/en_us.lang | 0 .../assets}/vampirismguide/lang/zh_cn.lang | 0 .../vampirismguide/lang/zh_cn_old.lang | 0 {assets => project/assets}/vc/lang/en_us.lang | 0 {assets => project/assets}/vc/lang/zh_cn.lang | 0 .../assets}/vc/lang/zh_cn_old.lang | 0 .../assets}/vefluids/lang/zh_cn.lang | 0 .../assets}/vefluids/lang/zh_cn_old.lang | 0 .../assets}/veinminer/lang/en_us.lang | 0 .../assets}/veinminer/lang/zh_cn.lang | 0 .../assets}/veinminer/lang/zh_cn_old.lang | 0 .../assets}/vending/lang/en_us.lang | 0 .../assets}/vending/lang/zh_cn.lang | 0 .../assets}/vending/lang/zh_cn_old.lang | 0 .../assets}/vials/lang/zh_cn.lang | 0 .../assets}/vials/lang/zh_cn_old.lang | 0 .../assets}/viescraft/lang/zh_cn.lang | 0 .../assets}/viescraft/lang/zh_cn_old.lang | 0 .../assets}/voidislandcontrol/lang/en_us.lang | 0 .../assets}/voidislandcontrol/lang/zh_cn.lang | 0 .../voidislandcontrol/lang/zh_cn_old.lang | 0 .../assets}/voxelmap/lang/en_us.lang | 0 .../assets}/voxelmap/lang/zh_cn.lang | 0 .../assets}/voxelmap/lang/zh_cn_old.lang | 0 .../assets}/waddles/lang/en_us.lang | 0 .../assets}/waddles/lang/zh_cn.lang | 0 .../assets}/waddles/lang/zh_cn_old.lang | 0 .../assets}/waila/lang/en_us.lang | 0 .../assets}/waila/lang/zh_cn.lang | 0 .../assets}/waila/lang/zh_cn_old.lang | 0 .../wailaharvestability/lang/en_us.lang | 0 .../wailaharvestability/lang/zh_cn.lang | 0 .../wailaharvestability/lang/zh_cn_old.lang | 0 .../assets}/waterstrainer/lang/en_us.lang | 0 .../assets}/waterstrainer/lang/zh_cn.lang | 0 .../assets}/waterstrainer/lang/zh_cn_old.lang | 0 .../assets}/wawla/lang/en_us.lang | 0 .../assets}/wawla/lang/zh_cn.lang | 0 .../assets}/wawla/lang/zh_cn_old.lang | 0 .../assets}/waystones/lang/en_us.lang | 0 .../assets}/waystones/lang/zh_cn.lang | 0 .../assets}/waystones/lang/zh_cn_old.lang | 0 .../assets}/wct/lang/en_us.lang | 0 .../assets}/wct/lang/zh_cn.lang | 0 .../assets}/wct/lang/zh_cn_old.lang | 0 .../assets}/wearablebackpacks/lang/en_us.lang | 0 .../assets}/wearablebackpacks/lang/zh_cn.lang | 0 .../wearablebackpacks/lang/zh_cn_old.lang | 0 .../assets}/wearables/lang/zh_cn.lang | 0 .../assets}/wearables/lang/zh_cn_old.lang | 0 .../assets}/weather2/lang/en_us.lang | 0 .../assets}/weather2/lang/zh_cn.lang | 0 .../assets}/weather2/lang/zh_cn_old.lang | 0 .../assets}/wificharge/lang/zh_cn.lang | 0 .../assets}/wificharge/lang/zh_cn_old.lang | 0 .../assets}/wings/lang/zh_cn.lang | 0 .../assets}/wings/lang/zh_cn_old.lang | 0 .../assets}/wit/lang/zh_cn.lang | 0 .../assets}/wit/lang/zh_cn_old.lang | 0 .../assets}/wizardry/lang/zh_cn.lang | 0 .../assets}/wizardry/lang/zh_cn_old.lang | 0 .../assets}/wolfarmor/lang/en_us.lang | 0 .../assets}/wolfarmor/lang/zh_cn.lang | 0 .../assets}/wolfarmor/lang/zh_cn_old.lang | 0 .../assets}/woodenbucket/lang/zh_cn.lang | 0 .../assets}/woodenbucket/lang/zh_cn_old.lang | 0 .../assets}/woodenshears/lang/zh_cn.lang | 0 .../assets}/woodenshears/lang/zh_cn_old.lang | 0 .../assets}/woot/lang/en_us.lang | 0 .../assets}/woot/lang/zh_cn.lang | 0 .../assets}/woot/lang/zh_cn_old.lang | 0 .../assets}/worldlimiter/lang/zh_cn.lang | 0 .../assets}/worldlimiter/lang/zh_cn_old.lang | 0 .../assets}/xaerobetterpvp/lang/zh_cn.lang | 0 .../xaerobetterpvp/lang/zh_cn_old.lang | 0 .../assets}/xnet/lang/en_us.lang | 0 .../assets}/xnet/lang/zh_cn.lang | 0 .../assets}/xnet/lang/zh_cn_old.lang | 0 .../assets}/xnet/text/manual_xnet.txt | 0 .../assets}/xray/lang/zh_cn.lang | 0 .../assets}/xray/lang/zh_cn_old.lang | 0 .../assets}/xreliquary/lang/en_us.lang | 0 .../assets}/xreliquary/lang/zh_cn.lang | 0 .../assets}/xreliquary/lang/zh_cn_old.lang | 0 .../assets}/xtones/lang/en_us.lang | 0 .../assets}/xtones/lang/zh_cn.lang | 0 .../assets}/xtones/lang/zh_cn_old.lang | 0 .../assets}/yabba/lang/en_us.lang | 0 .../assets}/yabba/lang/zh_cn.lang | 0 .../assets}/yabba/lang/zh_cn_old.lang | 0 .../assets}/zerocore/lang/en_us.lang | 0 .../assets}/zerocore/lang/zh_cn.lang | 0 .../assets}/zerocore/lang/zh_cn_old.lang | 0 .../assets}/zettaindustries/lang/en_us.lang | 0 .../assets}/zettaindustries/lang/zh_cn.lang | 0 .../zettaindustries/lang/zh_cn_old.lang | 0 .../assets}/zombieawareness/lang/en_us.lang | 0 .../assets}/zombieawareness/lang/zh_cn.lang | 0 .../zombieawareness/lang/zh_cn_old.lang | 0 pack.mcmeta => project/pack.mcmeta | 0 pack.png => project/pack.png | Bin requests.txt | 1 + run.sh | 160 -- src/README.md | 30 + src/__init__.py | 0 src/crawler/__init__.py | 0 src/crawler/mod_downloader.py | 116 ++ src/crawler/mod_info_get.py | 163 ++ src/crawler/modpack_downloader.py | 117 ++ src/crawler/modpack_info_get.py | 165 ++ src/crawler/modpack_mod_downloader.py | 116 ++ src/crawler/modpack_mod_info_get.py | 203 ++ src/downloadscript/newdownload.py | 145 -- src/handle/__init__.py | 0 src/handle/handle.py | 42 + src/redundancy/__init__.py | 0 src/redundancy/redundancy.py | 59 + src/unzip/__init__.py | 0 src/unzip/mod_unzip.py | 47 + src/unzip/modpack_unzip.py | 19 + sync.py | 31 - sync.sh | 54 - weblate.md | 15 - zip.py | 16 + zip.sh | 44 - 1645 files changed, 1259 insertions(+), 3276 deletions(-) delete mode 100644 all_update_1.py delete mode 100644 all_update_2.py delete mode 100644 all_update_3.py delete mode 100644 black.list create mode 100644 config.yml delete mode 100644 delete_english.py delete mode 100644 delete_update.py delete mode 100644 download.log delete mode 100644 download.py delete mode 100644 info.py create mode 100644 logs/modpacks/1970-01-01-00-00-00.csv create mode 100644 logs/modpacks/mods/1970-01-01-00-00-00.csv create mode 100644 logs/mods/1970-01-01-00-00-00.csv create mode 100644 main.py delete mode 100644 process.md rename {assets => project/assets}/abyssalcraft/lang/en_us.lang (100%) rename {assets => project/assets}/abyssalcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/abyssalcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/acintegration/lang/en_us.lang (100%) rename {assets => project/assets}/acintegration/lang/zh_cn.lang (100%) rename {assets => project/assets}/acintegration/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/actuallyadditions/lang/en_us.lang (100%) rename {assets => project/assets}/actuallyadditions/lang/zh_cn.lang (100%) rename {assets => project/assets}/actuallyadditions/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/adchimneys/lang/zh_cn.lang (100%) rename {assets => project/assets}/adchimneys/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/additionalbanners/lang/en_us.lang (100%) rename {assets => project/assets}/additionalbanners/lang/zh_cn.lang (100%) rename {assets => project/assets}/additionalbanners/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/adhooks/lang/zh_cn.lang (100%) rename {assets => project/assets}/adhooks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/adobeblocks/lang/zh_cn.lang (100%) rename {assets => project/assets}/adobeblocks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/advanced_machines/lang/zh_cn.lang (100%) rename {assets => project/assets}/advanced_machines/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/advanced_solar_panels/lang/zh_cn.lang (100%) rename {assets => project/assets}/advanced_solar_panels/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/advancedcapes/lang/en_us.lang (100%) rename {assets => project/assets}/advancedcapes/lang/zh_cn.lang (100%) rename {assets => project/assets}/advancedcapes/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/advancedcombat/lang/zh_cn.lang (100%) rename {assets => project/assets}/advancedcombat/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/advancedrocketry/lang/zh_cn.lang (100%) rename {assets => project/assets}/advancedrocketry/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/advgenerators/lang/en_us.lang (100%) rename {assets => project/assets}/advgenerators/lang/zh_cn.lang (100%) rename {assets => project/assets}/advgenerators/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/advinv/lang/zh_cn.lang (100%) rename {assets => project/assets}/advinv/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ae2stuff/lang/en_us.lang (100%) rename {assets => project/assets}/ae2stuff/lang/zh_cn.lang (100%) rename {assets => project/assets}/ae2stuff/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/air_support/lang/zh_cn.lang (100%) rename {assets => project/assets}/air_support/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/akashictome/lang/en_us.lang (100%) rename {assets => project/assets}/akashictome/lang/zh_cn.lang (100%) rename {assets => project/assets}/akashictome/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ancientwarfare/lang/en_us.lang (100%) rename {assets => project/assets}/ancientwarfare/lang/zh_cn.lang (100%) rename {assets => project/assets}/ancientwarfare/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/animania/lang/en_us.lang (100%) rename {assets => project/assets}/animania/lang/zh_cn.lang (100%) rename {assets => project/assets}/animania/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/aov/lang/zh_cn.lang (100%) rename {assets => project/assets}/aov/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/aperture/lang/zh_cn.lang (100%) rename {assets => project/assets}/aperture/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/applecore/lang/en_us.lang (100%) rename {assets => project/assets}/applecore/lang/zh_cn.lang (100%) rename {assets => project/assets}/applecore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/appliedenergistics2/lang/en_us.lang (100%) rename {assets => project/assets}/appliedenergistics2/lang/zh_cn.lang (100%) rename {assets => project/assets}/appliedenergistics2/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/aquamunda/lang/zh_cn.lang (100%) rename {assets => project/assets}/aquamunda/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/architect/lang/zh_cn.lang (100%) rename {assets => project/assets}/architect/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/arcticmobs/lang/en_us.lang (100%) rename {assets => project/assets}/arcticmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/arcticmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/armorplus/lang/en_us.lang (100%) rename {assets => project/assets}/armorplus/lang/zh_cn.lang (100%) rename {assets => project/assets}/armorplus/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/aroma1997core/lang/en_us.lang (100%) rename {assets => project/assets}/aroma1997core/lang/zh_cn.lang (100%) rename {assets => project/assets}/aroma1997core/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/aroma1997sdimension/lang/en_us.lang (100%) rename {assets => project/assets}/aroma1997sdimension/lang/zh_cn.lang (100%) rename {assets => project/assets}/aroma1997sdimension/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/aromabackup/lang/en_us.lang (100%) rename {assets => project/assets}/aromabackup/lang/zh_cn.lang (100%) rename {assets => project/assets}/aromabackup/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/aromabackuprecovery/lang/en_us.lang (100%) rename {assets => project/assets}/aromabackuprecovery/lang/zh_cn.lang (100%) rename {assets => project/assets}/aromabackuprecovery/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/asielib/lang/zh_cn.lang (100%) rename {assets => project/assets}/asielib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/astralsorcery/lang/en_us.lang (100%) rename {assets => project/assets}/astralsorcery/lang/zh_cn.lang (100%) rename {assets => project/assets}/astralsorcery/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/atmtweaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/atmtweaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/autopackager/lang/en_us.lang (100%) rename {assets => project/assets}/autopackager/lang/zh_cn.lang (100%) rename {assets => project/assets}/autopackager/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/autoreglib/lang/en_us.lang (100%) rename {assets => project/assets}/autoreglib/lang/zh_cn.lang (100%) rename {assets => project/assets}/autoreglib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/autoverse/lang/zh_cn.lang (100%) rename {assets => project/assets}/autoverse/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/avaritia/lang/en_us.lang (100%) rename {assets => project/assets}/avaritia/lang/zh_cn.lang (100%) rename {assets => project/assets}/avaritia/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/avaritiaddons/lang/zh_cn.lang (100%) rename {assets => project/assets}/avaritiaddons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/backpacks16840/lang/en_us.lang (100%) rename {assets => project/assets}/backpacks16840/lang/zh_cn.lang (100%) rename {assets => project/assets}/backpacks16840/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/base/lang/en_us.lang (100%) rename {assets => project/assets}/base/lang/zh_cn.lang (100%) rename {assets => project/assets}/base/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/basemetals/lang/en_us.lang (100%) rename {assets => project/assets}/basemetals/lang/zh_cn.lang (100%) rename {assets => project/assets}/basemetals/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/battletowers/lang/en_us.lang (100%) rename {assets => project/assets}/battletowers/lang/zh_cn.lang (100%) rename {assets => project/assets}/battletowers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/baubles/lang/en_us.lang (100%) rename {assets => project/assets}/baubles/lang/zh_cn.lang (100%) rename {assets => project/assets}/baubles/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bdlib/lang/en_us.lang (100%) rename {assets => project/assets}/bdlib/lang/zh_cn.lang (100%) rename {assets => project/assets}/bdlib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bedrockores/lang/zh_cn.lang (100%) rename {assets => project/assets}/bedrockores/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/beneath/lang/en_us.lang (100%) rename {assets => project/assets}/beneath/lang/zh_cn.lang (100%) rename {assets => project/assets}/beneath/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betteragriculture/lang/zh_cn.lang (100%) rename {assets => project/assets}/betteragriculture/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betterbuilderswands/lang/en_us.lang (100%) rename {assets => project/assets}/betterbuilderswands/lang/zh_cn.lang (100%) rename {assets => project/assets}/betterbuilderswands/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betterfps/lang/en_us.lang (100%) rename {assets => project/assets}/betterfps/lang/zh_cn.lang (100%) rename {assets => project/assets}/betterfps/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betterplacement/lang/zh_cn.lang (100%) rename {assets => project/assets}/betterplacement/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betterquesting/lang/en_us.lang (100%) rename {assets => project/assets}/betterquesting/lang/zh_cn.lang (100%) rename {assets => project/assets}/betterquesting/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bettersprinting/lang/en_us.lang (100%) rename {assets => project/assets}/bettersprinting/lang/zh_cn.lang (100%) rename {assets => project/assets}/bettersprinting/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bettertitlescreen/lang/en_us.lang (100%) rename {assets => project/assets}/bettertitlescreen/lang/zh_cn.lang (100%) rename {assets => project/assets}/bettertitlescreen/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/adobe.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/ancestrysand.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/aqueduct.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/bamboo.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/bannerdetector.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/blockmatcher.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/bridges.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/chandelier.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/chute.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/dryingbox.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/ecksie_saplings.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/firenet.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/index.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/infuser.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/invertedgearbox.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/lanterns.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/lattice.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/legendarium.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/luretree.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/magmaverus.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/mulberrytree.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/net.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/pcb.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/sakuratree.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/sandnet.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/scaffold.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/shoji.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/soakingbox.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/spinningwheel.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/tatara.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/thorn_vines.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/waternet.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/weightsensor.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/blocks/worldscale.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/index.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/bleach.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/bottled_spirit.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/carpentersaw.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/condensed.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/greatbow.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/index.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/katana.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/kukri.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/machete.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/magmaverus.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/masonpick.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/matchpick.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/salt.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/shinai.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/spade.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/tanto.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/wakizashi.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/items/yumi.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/mechanics/index.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/mechanics/karate_zombies.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/mechanics/spirits.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/skyblock/dirt.md (100%) rename {assets => project/assets}/betterwithaddons/docs/zh_cn/bwa/skyblock/index.md (100%) rename {assets => project/assets}/betterwithaddons/lang/zh_cn.lang (100%) rename {assets => project/assets}/betterwithaddons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betterwithhardersteelrecipe/lang/en_us.lang (100%) rename {assets => project/assets}/betterwithhardersteelrecipe/lang/zh_cn.lang (100%) rename {assets => project/assets}/betterwithhardersteelrecipe/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/advanced_bellows.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/axle.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/bellows.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/cauldron.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/crucible.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/fertile_farmland.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/gearbox.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/hand_crank.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/hemp.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/hibachi.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/hopper.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/hopper_filters.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/index.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/kiln.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/light.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/mill.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/minimized_wood.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/planter.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/pulley.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/saw.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/soul_urn.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/turntable.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/blocks/windmill.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/compat.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/hardcore/beacons.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/hardcore/hunger.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/hardcore/index.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/hardcore/spawn.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/index.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/industry.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/bark.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/element.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/fabric.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/filament.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/gear.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/ground_netherrack.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/hellfire.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/index.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/restraint.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/rope.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/sfs_armor.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/items/tanned_leather.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/mechanical/index.md (100%) rename {assets => project/assets}/betterwithmods/docs/zh_cn/tweaks.md (100%) rename {assets => project/assets}/betterwithmods/lang/en_us.lang (100%) rename {assets => project/assets}/betterwithmods/lang/zh_cn.lang (100%) rename {assets => project/assets}/betterwithmods/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bibliocraft/lang/en_us.lang (100%) rename {assets => project/assets}/bibliocraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/bibliocraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bigreactors/lang/en_us.lang (100%) rename {assets => project/assets}/bigreactors/lang/zh_cn.lang (100%) rename {assets => project/assets}/bigreactors/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/binniecore/lang/zh_cn.lang (100%) rename {assets => project/assets}/binniecore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/biomesoplenty/lang/en_us.lang (100%) rename {assets => project/assets}/biomesoplenty/lang/zh_cn.lang (100%) rename {assets => project/assets}/biomesoplenty/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/biometweaker/lang/zh_cn.lang (100%) rename {assets => project/assets}/biometweaker/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/birdsnests/lang/en_us.lang (100%) rename {assets => project/assets}/birdsnests/lang/zh_cn.lang (100%) rename {assets => project/assets}/birdsnests/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/blockarmor/lang/en_us.lang (100%) rename {assets => project/assets}/blockarmor/lang/zh_cn.lang (100%) rename {assets => project/assets}/blockarmor/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/blockcraftery/lang/en_us.lang (100%) rename {assets => project/assets}/blockcraftery/lang/zh_cn.lang (100%) rename {assets => project/assets}/blockcraftery/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bloodmoon/lang/en_us.lang (100%) rename {assets => project/assets}/bloodmoon/lang/zh_cn.lang (100%) rename {assets => project/assets}/bloodmoon/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/blur/lang/en_us.lang (100%) rename {assets => project/assets}/blur/lang/zh_cn.lang (100%) rename {assets => project/assets}/blur/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bonetorch/lang/zh_cn.lang (100%) rename {assets => project/assets}/bonetorch/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bonsaitrees/lang/zh_cn.lang (100%) rename {assets => project/assets}/bonsaitrees/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/botania/lang/en_us.lang (100%) rename {assets => project/assets}/botania/lang/zh_cn.lang (100%) rename {assets => project/assets}/botania/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/botany/lang/zh_cn.lang (100%) rename {assets => project/assets}/botany/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bq_standard/lang/en_us.lang (100%) rename {assets => project/assets}/bq_standard/lang/zh_cn.lang (100%) rename {assets => project/assets}/bq_standard/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bqt/lang/en_us.lang (100%) rename {assets => project/assets}/bqt/lang/zh_cn.lang (100%) rename {assets => project/assets}/bqt/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/brandonscore/lang/en_us.lang (100%) rename {assets => project/assets}/brandonscore/lang/zh_cn.lang (100%) rename {assets => project/assets}/brandonscore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/bullseye/lang/zh_cn.lang (100%) rename {assets => project/assets}/bullseye/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/calculator/lang/en_us.lang (100%) rename {assets => project/assets}/calculator/lang/zh_cn.lang (100%) rename {assets => project/assets}/calculator/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/capabilityproxy/lang/en_us.lang (100%) rename {assets => project/assets}/capabilityproxy/lang/zh_cn.lang (100%) rename {assets => project/assets}/capabilityproxy/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/careerbees/lang/en_us.lang (100%) rename {assets => project/assets}/careerbees/lang/zh_cn.lang (100%) rename {assets => project/assets}/careerbees/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/carryon/lang/en_us.lang (100%) rename {assets => project/assets}/carryon/lang/zh_cn.lang (100%) rename {assets => project/assets}/carryon/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/carz/lang/zh_cn.lang (100%) rename {assets => project/assets}/carz/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/catwalks/lang/zh_cn.lang (100%) rename {assets => project/assets}/catwalks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cavern/lang/zh_cn.lang (100%) rename {assets => project/assets}/cavern/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cd4017be_lib/lang/zh_cn.lang (100%) rename {assets => project/assets}/cd4017be_lib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ceramics/lang/en_us.lang (100%) rename {assets => project/assets}/ceramics/lang/zh_cn.lang (100%) rename {assets => project/assets}/ceramics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cfm/lang/en_us.lang (100%) rename {assets => project/assets}/cfm/lang/zh_cn.lang (100%) rename {assets => project/assets}/cfm/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/chancecubes/lang/en_us.lang (100%) rename {assets => project/assets}/chancecubes/lang/zh_cn.lang (100%) rename {assets => project/assets}/chancecubes/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/charset/lang/zh_cn.lang (100%) rename {assets => project/assets}/charset/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/charsetlib/lang/zh_cn.lang (100%) rename {assets => project/assets}/charsetlib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/chesttransporter/lang/en_us.lang (100%) rename {assets => project/assets}/chesttransporter/lang/zh_cn.lang (100%) rename {assets => project/assets}/chesttransporter/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/chickenchunks/lang/en_us.lang (100%) rename {assets => project/assets}/chickenchunks/lang/zh_cn.lang (100%) rename {assets => project/assets}/chickenchunks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/chickens/lang/en_us.lang (100%) rename {assets => project/assets}/chickens/lang/zh_cn.lang (100%) rename {assets => project/assets}/chickens/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/chisel/en_us.lang (100%) rename {assets => project/assets}/chisel/zh_cn.lang (100%) rename {assets => project/assets}/chiselsandbits/lang/en_us.lang (100%) rename {assets => project/assets}/chiselsandbits/lang/zh_cn.lang (100%) rename {assets => project/assets}/chiselsandbits/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/chococraft/lang/en_us.lang (100%) rename {assets => project/assets}/chococraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/chococraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/circuits/lang/zh_cn.lang (100%) rename {assets => project/assets}/circuits/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/classyhats/lang/zh_cn.lang (100%) rename {assets => project/assets}/classyhats/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/claybucket/lang/en_us.lang (100%) rename {assets => project/assets}/claybucket/lang/zh_cn.lang (100%) rename {assets => project/assets}/claybucket/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/claysoldiers/lang/zh_cn.lang (100%) rename {assets => project/assets}/claysoldiers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/clienttweaks/lang/en_us.lang (100%) rename {assets => project/assets}/clienttweaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/clienttweaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cofh/lang/en_us.lang (100%) rename {assets => project/assets}/cofh/lang/zh_cn.lang (100%) rename {assets => project/assets}/cofh/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cofhworld/lang/en_us.lang (100%) rename {assets => project/assets}/cofhworld/lang/zh_cn.lang (100%) rename {assets => project/assets}/cofhworld/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/colossalchests/lang/en_us.lang (100%) rename {assets => project/assets}/colossalchests/lang/zh_cn.lang (100%) rename {assets => project/assets}/colossalchests/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/commoncapabilities/lang/en_us.lang (100%) rename {assets => project/assets}/commoncapabilities/lang/zh_cn.lang (100%) rename {assets => project/assets}/commoncapabilities/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/compacter/lang/en_us.lang (100%) rename {assets => project/assets}/compacter/lang/zh_cn.lang (100%) rename {assets => project/assets}/compacter/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/compactmachines3/lang/en_us.lang (100%) rename {assets => project/assets}/compactmachines3/lang/zh_cn.lang (100%) rename {assets => project/assets}/compactmachines3/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/compactsolars/lang/en_us.lang (100%) rename {assets => project/assets}/compactsolars/lang/zh_cn.lang (100%) rename {assets => project/assets}/compactsolars/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/compactstorage/lang/en_us.lang (100%) rename {assets => project/assets}/compactstorage/lang/zh_cn.lang (100%) rename {assets => project/assets}/compactstorage/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/computercraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/computercraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/computronics/lang/zh_cn.lang (100%) rename {assets => project/assets}/computronics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/controlling/lang/en_us.lang (100%) rename {assets => project/assets}/controlling/lang/zh_cn.lang (100%) rename {assets => project/assets}/controlling/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/conventionalchat/lang/zh_cn.lang (100%) rename {assets => project/assets}/conventionalchat/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cookingforblockheads/lang/en_us.lang (100%) rename {assets => project/assets}/cookingforblockheads/lang/zh_cn.lang (100%) rename {assets => project/assets}/cookingforblockheads/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/coordinatesplusmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/coordinatesplusmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/corail_pillar/lang/zh_cn.lang (100%) rename {assets => project/assets}/corail_pillar/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/coralreef/lang/zh_cn.lang (100%) rename {assets => project/assets}/coralreef/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/core/lang/en_us.lang (100%) rename {assets => project/assets}/core/lang/zh_cn.lang (100%) rename {assets => project/assets}/core/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/correlated/lang/zh_cn.lang (100%) rename {assets => project/assets}/correlated/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cosmeticarmorreworked/lang/en_us.lang (100%) rename {assets => project/assets}/cosmeticarmorreworked/lang/zh_cn.lang (100%) rename {assets => project/assets}/cosmeticarmorreworked/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/crackedzombiemod/lang/zh_cn.lang (100%) rename {assets => project/assets}/crackedzombiemod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/craftingcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/craftingcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/craftingtweaks/lang/en_us.lang (100%) rename {assets => project/assets}/craftingtweaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/craftingtweaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/creeperconfetti/lang/en_us.lang (100%) rename {assets => project/assets}/creeperconfetti/lang/zh_cn.lang (100%) rename {assets => project/assets}/creeperconfetti/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/creeperhost/lang/en_us.lang (100%) rename {assets => project/assets}/creeperhost/lang/zh_cn.lang (100%) rename {assets => project/assets}/creeperhost/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cropdusting/lang/zh_cn.lang (100%) rename {assets => project/assets}/cropdusting/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/crossroads/lang/en_us.lang (100%) rename {assets => project/assets}/crossroads/lang/zh_cn.lang (100%) rename {assets => project/assets}/crossroads/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/csb_ench_table/lang/zh_cn.lang (100%) rename {assets => project/assets}/csb_ench_table/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/customnpcs/lang/en_us.lang (100%) rename {assets => project/assets}/customnpcs/lang/zh_cn.lang (100%) rename {assets => project/assets}/customnpcs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cyclicmagic/lang/en_us.lang (100%) rename {assets => project/assets}/cyclicmagic/lang/zh_cn.lang (100%) rename {assets => project/assets}/cyclicmagic/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/cyclopscore/lang/en_us.lang (100%) rename {assets => project/assets}/cyclopscore/lang/zh_cn.lang (100%) rename {assets => project/assets}/cyclopscore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/danknull/lang/zh_cn.lang (100%) rename {assets => project/assets}/danknull/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/darkutils/lang/en_us.lang (100%) rename {assets => project/assets}/darkutils/lang/zh_cn.lang (100%) rename {assets => project/assets}/darkutils/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/davincisvessels/lang/en_us.lang (100%) rename {assets => project/assets}/davincisvessels/lang/zh_cn.lang (100%) rename {assets => project/assets}/davincisvessels/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/deathcounter/lang/zh_cn.lang (100%) rename {assets => project/assets}/deathcounter/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/deepresonance/lang/en_us.lang (100%) rename {assets => project/assets}/deepresonance/lang/zh_cn.lang (100%) rename {assets => project/assets}/deepresonance/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/deepresonance/text/manual.txt (100%) rename {assets => project/assets}/demonmobs/lang/en_us.lang (100%) rename {assets => project/assets}/demonmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/demonmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/desertmobs/lang/en_us.lang (100%) rename {assets => project/assets}/desertmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/desertmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/dissolution/lang/zh_cn.lang (100%) rename {assets => project/assets}/dissolution/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/dmonsters/lang/zh_cn.lang (100%) rename {assets => project/assets}/dmonsters/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/dooglamoocitiesmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/dooglamoocitiesmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/draconicevolution/lang/en_us.lang (100%) rename {assets => project/assets}/draconicevolution/lang/zh_cn.lang (100%) rename {assets => project/assets}/draconicevolution/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/drones/lang/zh_cn.lang (100%) rename {assets => project/assets}/drones/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/drpmedieval/lang/zh_cn.lang (100%) rename {assets => project/assets}/drpmedieval/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/dsurround/lang/en_us.lang (100%) rename {assets => project/assets}/dsurround/lang/zh_cn.lang (100%) rename {assets => project/assets}/dsurround/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/dynamicswordskills/lang/zh_cn.lang (100%) rename {assets => project/assets}/dynamicswordskills/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ediblebugs/lang/zh_cn.lang (100%) rename {assets => project/assets}/ediblebugs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/eiramoticons/lang/en_us.lang (100%) rename {assets => project/assets}/eiramoticons/lang/zh_cn.lang (100%) rename {assets => project/assets}/eiramoticons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/eleccore/lang/en_us.lang (100%) rename {assets => project/assets}/eleccore/lang/zh_cn.lang (100%) rename {assets => project/assets}/eleccore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/elementaldimensions/lang/zh_cn.lang (100%) rename {assets => project/assets}/elementaldimensions/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/elevatorid/lang/en_us.lang (100%) rename {assets => project/assets}/elevatorid/lang/zh_cn.lang (100%) rename {assets => project/assets}/elevatorid/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/elulib/lang/en_us.lang (100%) rename {assets => project/assets}/elulib/lang/zh_cn.lang (100%) rename {assets => project/assets}/elulib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/embers/lang/en_us.lang (100%) rename {assets => project/assets}/embers/lang/zh_cn.lang (100%) rename {assets => project/assets}/embers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/enchiridion/lang/en_us.lang (100%) rename {assets => project/assets}/enchiridion/lang/zh_cn.lang (100%) rename {assets => project/assets}/enchiridion/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/enderore/lang/zh_cn.lang (100%) rename {assets => project/assets}/enderore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/enderrift/lang/zh_cn.lang (100%) rename {assets => project/assets}/enderrift/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/enderstorage/lang/en_us.lang (100%) rename {assets => project/assets}/enderstorage/lang/zh_cn.lang (100%) rename {assets => project/assets}/enderstorage/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/endertanks/lang/en_us.lang (100%) rename {assets => project/assets}/endertanks/lang/zh_cn.lang (100%) rename {assets => project/assets}/endertanks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/enderutilities/lang/en_us.lang (100%) rename {assets => project/assets}/enderutilities/lang/zh_cn.lang (100%) rename {assets => project/assets}/enderutilities/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/enderzoo/lang/en_us.lang (100%) rename {assets => project/assets}/enderzoo/lang/zh_cn.lang (100%) rename {assets => project/assets}/enderzoo/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/energeticsheep/lang/zh_cn.lang (100%) rename {assets => project/assets}/energeticsheep/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/engination/lang/zh_cn.lang (100%) rename {assets => project/assets}/engination/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/engineersworkshop/lang/en_us.lang (100%) rename {assets => project/assets}/engineersworkshop/lang/zh_cn.lang (100%) rename {assets => project/assets}/engineersworkshop/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/environmentalmaterials/lang/en_us.lang (100%) rename {assets => project/assets}/environmentalmaterials/lang/zh_cn.lang (100%) rename {assets => project/assets}/environmentalmaterials/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/environmentaltech/lang/en_us.lang (100%) rename {assets => project/assets}/environmentaltech/lang/zh_cn.lang (100%) rename {assets => project/assets}/environmentaltech/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/etlunar/lang/en_us.lang (100%) rename {assets => project/assets}/etlunar/lang/zh_cn.lang (100%) rename {assets => project/assets}/etlunar/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/everlastingabilities/lang/zh_cn.lang (100%) rename {assets => project/assets}/everlastingabilities/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/evilcraft/lang/en_us.lang (100%) rename {assets => project/assets}/evilcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/evilcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/evilcraftcompat/lang/en_us.lang (100%) rename {assets => project/assets}/evilcraftcompat/lang/zh_cn.lang (100%) rename {assets => project/assets}/evilcraftcompat/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/exchangers/lang/en_us.lang (100%) rename {assets => project/assets}/exchangers/lang/zh_cn.lang (100%) rename {assets => project/assets}/exchangers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/excompressum/lang/en_us.lang (100%) rename {assets => project/assets}/excompressum/lang/zh_cn.lang (100%) rename {assets => project/assets}/excompressum/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/extendedcrafting/lang/en_us.lang (100%) rename {assets => project/assets}/extendedcrafting/lang/zh_cn.lang (100%) rename {assets => project/assets}/extendedcrafting/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/extraalchemy/lang/zh_cn.lang (100%) rename {assets => project/assets}/extraalchemy/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/extrabitmanipulation/lang/zh_cn.lang (100%) rename {assets => project/assets}/extrabitmanipulation/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/extracells/lang/en_us.lang (100%) rename {assets => project/assets}/extracells/lang/zh_cn.lang (100%) rename {assets => project/assets}/extracells/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/extrarails/lang/zh_cn.lang (100%) rename {assets => project/assets}/extrarails/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/extratrees/lang/zh_cn.lang (100%) rename {assets => project/assets}/extratrees/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/extrautils2/lang/en_us.lang (100%) rename {assets => project/assets}/extrautils2/lang/zh_cn.lang (100%) rename {assets => project/assets}/extrautils2/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/fairylights/lang/en_us.lang (100%) rename {assets => project/assets}/fairylights/lang/zh_cn.lang (100%) rename {assets => project/assets}/fairylights/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/farmingforblockheads/lang/en_us.lang (100%) rename {assets => project/assets}/farmingforblockheads/lang/zh_cn.lang (100%) rename {assets => project/assets}/farmingforblockheads/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/fastladder/lang/zh_cn.lang (100%) rename {assets => project/assets}/fastladder/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/fenceoverhaul/lang/en_us.lang (100%) rename {assets => project/assets}/fenceoverhaul/lang/zh_cn.lang (100%) rename {assets => project/assets}/fenceoverhaul/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ffs/lang/zh_cn.lang (100%) rename {assets => project/assets}/ffs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/flamingo/lang/zh_cn.lang (100%) rename {assets => project/assets}/flamingo/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/flatcoloredblocks/lang/en_us.lang (100%) rename {assets => project/assets}/flatcoloredblocks/lang/zh_cn.lang (100%) rename {assets => project/assets}/flatcoloredblocks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/fluxnetworks/lang/en_us.lang (100%) rename {assets => project/assets}/fluxnetworks/lang/zh_cn.lang (100%) rename {assets => project/assets}/fluxnetworks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/flyringbaublemod/lang/en_us.lang (100%) rename {assets => project/assets}/flyringbaublemod/lang/zh_cn.lang (100%) rename {assets => project/assets}/flyringbaublemod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/foodexpansion/lang/zh_cn.lang (100%) rename {assets => project/assets}/foodexpansion/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/forecastersbackpacks/lang/zh_cn.lang (100%) rename {assets => project/assets}/forecastersbackpacks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/forestmobs/lang/en_us.lang (100%) rename {assets => project/assets}/forestmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/forestmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/forestry/lang/en_us.lang (100%) rename {assets => project/assets}/forestry/lang/zh_cn.lang (100%) rename {assets => project/assets}/forestry/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/fp/lang/en_us.lang (100%) rename {assets => project/assets}/fp/lang/zh_cn.lang (100%) rename {assets => project/assets}/fp/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/freshwatermobs/lang/en_us.lang (100%) rename {assets => project/assets}/freshwatermobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/freshwatermobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/frogcraftrebirth/lang/zh_cn.lang (100%) rename {assets => project/assets}/frogcraftrebirth/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/fruitphone/lang/zh_cn.lang (100%) rename {assets => project/assets}/fruitphone/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ftbl/lang/en_us.lang (100%) rename {assets => project/assets}/ftbl/lang/zh_cn.lang (100%) rename {assets => project/assets}/ftbl/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ftbu/lang/en_us.lang (100%) rename {assets => project/assets}/ftbu/lang/zh_cn.lang (100%) rename {assets => project/assets}/ftbu/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ftfloocraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/ftfloocraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/funkylocomotion/lang/en_us.lang (100%) rename {assets => project/assets}/funkylocomotion/lang/zh_cn.lang (100%) rename {assets => project/assets}/funkylocomotion/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/funores/lang/zh_cn.lang (100%) rename {assets => project/assets}/funores/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/furnus/lang/en_us.lang (100%) rename {assets => project/assets}/furnus/lang/zh_cn.lang (100%) rename {assets => project/assets}/furnus/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/gamestage/lang/zh_cn.lang (100%) rename {assets => project/assets}/gamestage/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/gearswap/lang/en_us.lang (100%) rename {assets => project/assets}/gearswap/lang/zh_cn.lang (100%) rename {assets => project/assets}/gearswap/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/gendustry/lang/en_us.lang (100%) rename {assets => project/assets}/gendustry/lang/zh_cn.lang (100%) rename {assets => project/assets}/gendustry/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/genera/lang/zh_cn.lang (100%) rename {assets => project/assets}/genera/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/genetics/lang/zh_cn.lang (100%) rename {assets => project/assets}/genetics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/geneticsreborn/lang/zh_cn.lang (100%) rename {assets => project/assets}/geneticsreborn/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/giacomos_fishing_net/lang/en_us.lang (100%) rename {assets => project/assets}/giacomos_fishing_net/lang/zh_cn.lang (100%) rename {assets => project/assets}/giacomos_fishing_net/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/glasshearts/lang/zh_cn.lang (100%) rename {assets => project/assets}/glasshearts/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/googlyeyes/lang/en_us.lang (100%) rename {assets => project/assets}/googlyeyes/lang/zh_cn.lang (100%) rename {assets => project/assets}/googlyeyes/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/gps/lang/zh_cn.lang (100%) rename {assets => project/assets}/gps/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/gravestone/lang/en_us.lang (100%) rename {assets => project/assets}/gravestone/lang/zh_cn.lang (100%) rename {assets => project/assets}/gravestone/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/gravisuite/lang/zh_cn.lang (100%) rename {assets => project/assets}/gravisuite/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/gravitygun/lang/en_us.lang (100%) rename {assets => project/assets}/gravitygun/lang/zh_cn.lang (100%) rename {assets => project/assets}/gravitygun/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/grue/lang/en_us.lang (100%) rename {assets => project/assets}/grue/lang/zh_cn.lang (100%) rename {assets => project/assets}/grue/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/guideapi/lang/en_us.lang (100%) rename {assets => project/assets}/guideapi/lang/zh_cn.lang (100%) rename {assets => project/assets}/guideapi/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/hammercore/lang/en_us.lang (100%) rename {assets => project/assets}/hammercore/lang/zh_cn.lang (100%) rename {assets => project/assets}/hammercore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/hammertime/lang/zh_cn.lang (100%) rename {assets => project/assets}/hammertime/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/hardcoremapreset/lang/en_us.lang (100%) rename {assets => project/assets}/hardcoremapreset/lang/zh_cn.lang (100%) rename {assets => project/assets}/hardcoremapreset/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/harvestcraft/lang/en_us.lang (100%) rename {assets => project/assets}/harvestcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/harvestcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/hatchery/lang/en_us.lang (100%) rename {assets => project/assets}/hatchery/lang/zh_cn.lang (100%) rename {assets => project/assets}/hatchery/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/hats/lang/en_us.lang (100%) rename {assets => project/assets}/hats/lang/zh_cn.lang (100%) rename {assets => project/assets}/hats/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/healthhungertweaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/healthhungertweaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/hopperducts/lang/en_us.lang (100%) rename {assets => project/assets}/hopperducts/lang/zh_cn.lang (100%) rename {assets => project/assets}/hopperducts/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/iceandfire/lang/zh_cn.lang (100%) rename {assets => project/assets}/iceandfire/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ichunutil/lang/en_us.lang (100%) rename {assets => project/assets}/ichunutil/lang/zh_cn.lang (100%) rename {assets => project/assets}/ichunutil/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/igwmod/lang/en_us.lang (100%) rename {assets => project/assets}/igwmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/igwmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/immcraft/lang/en_us.lang (100%) rename {assets => project/assets}/immcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/immcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/immersiveengineering/lang/en_us.lang (100%) rename {assets => project/assets}/immersiveengineering/lang/zh_cn.lang (100%) rename {assets => project/assets}/immersiveengineering/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/immersivehempcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/immersivehempcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/immersivepetroleum/lang/en_us.lang (100%) rename {assets => project/assets}/immersivepetroleum/lang/zh_cn.lang (100%) rename {assets => project/assets}/immersivepetroleum/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/immersiverailroading/lang/zh_cn.lang (100%) rename {assets => project/assets}/immersiverailroading/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/immersivetech/lang/en_us.lang (100%) rename {assets => project/assets}/immersivetech/lang/zh_cn.lang (100%) rename {assets => project/assets}/immersivetech/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/improvedextraction/lang/zh_cn.lang (100%) rename {assets => project/assets}/improvedextraction/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/indlog/lang/zh_cn.lang (100%) rename {assets => project/assets}/indlog/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/industrialforegoing/lang/en_us.lang (100%) rename {assets => project/assets}/industrialforegoing/lang/zh_cn.lang (100%) rename {assets => project/assets}/industrialforegoing/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/industrialmeat/lang/zh_cn.lang (100%) rename {assets => project/assets}/industrialmeat/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/industrialwires/lang/en_us.lang (100%) rename {assets => project/assets}/industrialwires/lang/zh_cn.lang (100%) rename {assets => project/assets}/industrialwires/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/infernalmobs/lang/en_us.lang (100%) rename {assets => project/assets}/infernalmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/infernalmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/infernomobs/lang/en_us.lang (100%) rename {assets => project/assets}/infernomobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/infernomobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ingameinfo/lang/en_us.lang (100%) rename {assets => project/assets}/ingameinfo/lang/zh_cn.lang (100%) rename {assets => project/assets}/ingameinfo/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/integrateddynamics/lang/en_us.lang (100%) rename {assets => project/assets}/integrateddynamics/lang/zh_cn.lang (100%) rename {assets => project/assets}/integrateddynamics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/integrateddynamicscompat/lang/en_us.lang (100%) rename {assets => project/assets}/integrateddynamicscompat/lang/zh_cn.lang (100%) rename {assets => project/assets}/integrateddynamicscompat/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/integratedtunnels/lang/en_us.lang (100%) rename {assets => project/assets}/integratedtunnels/lang/zh_cn.lang (100%) rename {assets => project/assets}/integratedtunnels/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/integrationforegoing/lang/en_us.lang (100%) rename {assets => project/assets}/integrationforegoing/lang/zh_cn.lang (100%) rename {assets => project/assets}/integrationforegoing/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/intwheel/lang/en_us.lang (100%) rename {assets => project/assets}/intwheel/lang/zh_cn.lang (100%) rename {assets => project/assets}/intwheel/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/inventoryneko/lang/zh_cn.lang (100%) rename {assets => project/assets}/inventoryneko/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/inventorypets/lang/en_us.lang (100%) rename {assets => project/assets}/inventorypets/lang/zh_cn.lang (100%) rename {assets => project/assets}/inventorypets/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/inventorysorter/lang/en_us.lang (100%) rename {assets => project/assets}/inventorysorter/lang/zh_cn.lang (100%) rename {assets => project/assets}/inventorysorter/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/inventorytweaks/lang/en_us.lang (100%) rename {assets => project/assets}/inventorytweaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/inventorytweaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ironbackpacks/lang/zh_cn.lang (100%) rename {assets => project/assets}/ironbackpacks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ironchest/lang/en_us.lang (100%) rename {assets => project/assets}/ironchest/lang/zh_cn.lang (100%) rename {assets => project/assets}/ironchest/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/itank/lang/zh_cn.lang (100%) rename {assets => project/assets}/itank/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/itemscroller/lang/en_us.lang (100%) rename {assets => project/assets}/itemscroller/lang/zh_cn.lang (100%) rename {assets => project/assets}/itemscroller/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jaff/lang/zh_cn.lang (100%) rename {assets => project/assets}/jaff/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jaopca/lang/en_us.lang (100%) rename {assets => project/assets}/jaopca/lang/zh_cn.lang (100%) rename {assets => project/assets}/jaopca/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jaopcasingularities/lang/zh_cn.lang (100%) rename {assets => project/assets}/jaopcasingularities/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jehc/lang/en_us.lang (100%) rename {assets => project/assets}/jehc/lang/zh_cn.lang (100%) rename {assets => project/assets}/jehc/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jei/lang/en_us.lang (100%) rename {assets => project/assets}/jei/lang/zh_cn.lang (100%) rename {assets => project/assets}/jei/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jeibees/lang/en_us.lang (100%) rename {assets => project/assets}/jeibees/lang/zh_cn.lang (100%) rename {assets => project/assets}/jeibees/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jeiintegration/lang/en_us.lang (100%) rename {assets => project/assets}/jeiintegration/lang/zh_cn.lang (100%) rename {assets => project/assets}/jeiintegration/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/jeresources/lang/en_us.lang (100%) rename {assets => project/assets}/jeresources/lang/zh_cn.lang (100%) rename {assets => project/assets}/jeresources/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/journeymap/lang/en_us.lang (100%) rename {assets => project/assets}/journeymap/lang/zh_cn.lang (100%) rename {assets => project/assets}/journeymap/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/junglemobs/lang/en_us.lang (100%) rename {assets => project/assets}/junglemobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/junglemobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/justanothersnad/lang/zh_cn.lang (100%) rename {assets => project/assets}/justanothersnad/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/justenoughbuttons/lang/zh_cn.lang (100%) rename {assets => project/assets}/justenoughbuttons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/justenoughdimensions/lang/en_us.lang (100%) rename {assets => project/assets}/justenoughdimensions/lang/zh_cn.lang (100%) rename {assets => project/assets}/justenoughdimensions/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/justthetips/lang/en_us.lang (100%) rename {assets => project/assets}/justthetips/lang/zh_cn.lang (100%) rename {assets => project/assets}/justthetips/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/karatgarden/lang/en_us.lang (100%) rename {assets => project/assets}/karatgarden/lang/zh_cn.lang (100%) rename {assets => project/assets}/karatgarden/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/levelup2/lang/en_us.lang (100%) rename {assets => project/assets}/levelup2/lang/zh_cn.lang (100%) rename {assets => project/assets}/levelup2/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/librarianlib/lang/en_us.lang (100%) rename {assets => project/assets}/librarianlib/lang/zh_cn.lang (100%) rename {assets => project/assets}/librarianlib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/lightningcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/lightningcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/littletiles/lang/en_us.lang (100%) rename {assets => project/assets}/littletiles/lang/zh_cn.lang (100%) rename {assets => project/assets}/littletiles/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/llibrary/lang/en_us.lang (100%) rename {assets => project/assets}/llibrary/lang/zh_cn.lang (100%) rename {assets => project/assets}/llibrary/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/loginshield/lang/en_us.lang (100%) rename {assets => project/assets}/loginshield/lang/zh_cn.lang (100%) rename {assets => project/assets}/loginshield/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/longfallboots/lang/en_us.lang (100%) rename {assets => project/assets}/longfallboots/lang/zh_cn.lang (100%) rename {assets => project/assets}/longfallboots/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/lootbags/lang/en_us.lang (100%) rename {assets => project/assets}/lootbags/lang/zh.lang (100%) rename {assets => project/assets}/lootbags/lang/zh_cn.lang (100%) rename {assets => project/assets}/lootbags/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/lostcities/lang/en_us.lang (100%) rename {assets => project/assets}/lostcities/lang/zh_cn.lang (100%) rename {assets => project/assets}/lostcities/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/lteleporters/lang/en_us.lang (100%) rename {assets => project/assets}/lteleporters/lang/zh_cn.lang (100%) rename {assets => project/assets}/lteleporters/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/lttweaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/lttweaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/lucraftcore/lang/zh_cn.lang (100%) rename {assets => project/assets}/lucraftcore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/lycanitesmobs/lang/en_us.lang (100%) rename {assets => project/assets}/lycanitesmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/lycanitesmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/magicbees/lang/en_us.lang (100%) rename {assets => project/assets}/magicbees/lang/zh_cn.lang (100%) rename {assets => project/assets}/magicbees/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/magipsi/lang/zh_cn.lang (100%) rename {assets => project/assets}/magipsi/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/magma_monsters/lang/zh_cn.lang (100%) rename {assets => project/assets}/magma_monsters/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/magneticraft/lang/en_us.lang (100%) rename {assets => project/assets}/magneticraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/magneticraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/malisiscore/lang/en_us.lang (100%) rename {assets => project/assets}/malisiscore/lang/zh_cn.lang (100%) rename {assets => project/assets}/malisiscore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/malisisdoors/lang/en_us.lang (100%) rename {assets => project/assets}/malisisdoors/lang/zh_cn.lang (100%) rename {assets => project/assets}/malisisdoors/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mapwriter/lang/en_us.lang (100%) rename {assets => project/assets}/mapwriter/lang/zh_cn.lang (100%) rename {assets => project/assets}/mapwriter/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mb/lang/zh_cn.lang (100%) rename {assets => project/assets}/mb/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mcopts/lang/en_us.lang (100%) rename {assets => project/assets}/mcopts/lang/zh_cn.lang (100%) rename {assets => project/assets}/mcopts/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mdecore/lang/zh_cn.lang (100%) rename {assets => project/assets}/mdecore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mechsoldiers/lang/zh_cn.lang (100%) rename {assets => project/assets}/mechsoldiers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/meecreeps/lang/zh_cn.lang (100%) rename {assets => project/assets}/meecreeps/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mekanism/lang/en_us.lang (100%) rename {assets => project/assets}/mekanism/lang/zh_cn.lang (100%) rename {assets => project/assets}/mekanism/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/menu/lang/en_us.lang (100%) rename {assets => project/assets}/menu/lang/zh_cn.lang (100%) rename {assets => project/assets}/menu/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/metamorph/lang/zh_cn.lang (100%) rename {assets => project/assets}/metamorph/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mikedongles/lang/en_us.lang (100%) rename {assets => project/assets}/mikedongles/lang/zh_cn.lang (100%) rename {assets => project/assets}/mikedongles/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/minecolonies/lang/en_us.lang (100%) rename {assets => project/assets}/minecolonies/lang/zh_cn.lang (100%) rename {assets => project/assets}/minecolonies/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/minecraft/font/glyph_sizes.bin (100%) rename {assets => project/assets}/minecraft/readme.md (100%) rename {assets => project/assets}/minetogetherserver/lang/en_us.lang (100%) rename {assets => project/assets}/minetogetherserver/lang/zh_cn.lang (100%) rename {assets => project/assets}/minetogetherserver/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/minions/lang/zh_cn.lang (100%) rename {assets => project/assets}/minions/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/missing_pieces/lang/en_us.lang (100%) rename {assets => project/assets}/missing_pieces/lang/zh_cn.lang (100%) rename {assets => project/assets}/missing_pieces/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/moartinkers/lang/en_us.lang (100%) rename {assets => project/assets}/moartinkers/lang/zh_cn.lang (100%) rename {assets => project/assets}/moartinkers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mob_grinding_utils/lang/en_us.lang (100%) rename {assets => project/assets}/mob_grinding_utils/lang/zh_cn.lang (100%) rename {assets => project/assets}/mob_grinding_utils/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mobamputation/lang/zh_cn.lang (100%) rename {assets => project/assets}/mobamputation/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mobdismemberment/lang/en_us.lang (100%) rename {assets => project/assets}/mobdismemberment/lang/zh_cn.lang (100%) rename {assets => project/assets}/mobdismemberment/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mobends/lang/en_us.lang (100%) rename {assets => project/assets}/mobends/lang/zh_cn.lang (100%) rename {assets => project/assets}/mobends/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mobtotems/lang/zh_cn.lang (100%) rename {assets => project/assets}/mobtotems/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/modcurrency/lang/zh_cn.lang (100%) rename {assets => project/assets}/modcurrency/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/modnametooltip/lang/en_us.lang (100%) rename {assets => project/assets}/modnametooltip/lang/zh_cn.lang (100%) rename {assets => project/assets}/modnametooltip/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/modularmachinery/lang/zh_cn.lang (100%) rename {assets => project/assets}/modularmachinery/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/modularrouters/lang/zh_cn.lang (100%) rename {assets => project/assets}/modularrouters/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/moofluids/lang/en_us.lang (100%) rename {assets => project/assets}/moofluids/lang/zh_cn.lang (100%) rename {assets => project/assets}/moofluids/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/morebees/lang/en_us.lang (100%) rename {assets => project/assets}/morebees/lang/zh_cn.lang (100%) rename {assets => project/assets}/morebees/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/morechickens/lang/en_us.lang (100%) rename {assets => project/assets}/morechickens/lang/zh.lang (100%) rename {assets => project/assets}/morechickens/lang/zh_cn.lang (100%) rename {assets => project/assets}/morechickens/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/morefurnaces/lang/en_us.lang (100%) rename {assets => project/assets}/morefurnaces/lang/zh_cn.lang (100%) rename {assets => project/assets}/morefurnaces/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/moreoverlays/lang/en_us.lang (100%) rename {assets => project/assets}/moreoverlays/lang/zh_cn.lang (100%) rename {assets => project/assets}/moreoverlays/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/moreplayermodels/lang/en_us.lang (100%) rename {assets => project/assets}/moreplayermodels/lang/zh_cn.lang (100%) rename {assets => project/assets}/moreplayermodels/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/morph/lang/en_us.lang (100%) rename {assets => project/assets}/morph/lang/zh_cn.lang (100%) rename {assets => project/assets}/morph/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/morphtool/lang/en_us.lang (100%) rename {assets => project/assets}/morphtool/lang/zh_cn.lang (100%) rename {assets => project/assets}/morphtool/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mountainmobs/lang/en_us.lang (100%) rename {assets => project/assets}/mountainmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/mountainmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mputils/lang/en_us.lang (100%) rename {assets => project/assets}/mputils/lang/zh_cn.lang (100%) rename {assets => project/assets}/mputils/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/multibeds/lang/zh_cn.lang (100%) rename {assets => project/assets}/multibeds/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/multipagechest/lang/zh_cn.lang (100%) rename {assets => project/assets}/multipagechest/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/multistorage/lang/en_us.lang (100%) rename {assets => project/assets}/multistorage/lang/zh_cn.lang (100%) rename {assets => project/assets}/multistorage/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mw/lang/en_us.lang (100%) rename {assets => project/assets}/mw/lang/zh_cn.lang (100%) rename {assets => project/assets}/mw/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mxtune/lang/zh_cn.lang (100%) rename {assets => project/assets}/mxtune/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mysticalagradditions/lang/en_us.lang (100%) rename {assets => project/assets}/mysticalagradditions/lang/zh_cn.lang (100%) rename {assets => project/assets}/mysticalagradditions/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mysticalagriculture/lang/en_us.lang (100%) rename {assets => project/assets}/mysticalagriculture/lang/zh_cn.lang (100%) rename {assets => project/assets}/mysticalagriculture/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/mysttmtgravitymod/lang/zh_cn.lang (100%) rename {assets => project/assets}/mysttmtgravitymod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/natura/lang/en_us.lang (100%) rename {assets => project/assets}/natura/lang/zh_cn.lang (100%) rename {assets => project/assets}/natura/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/naturescompass/lang/en_us.lang (100%) rename {assets => project/assets}/naturescompass/lang/zh_cn.lang (100%) rename {assets => project/assets}/naturescompass/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/nei/lang/en_us.lang (100%) rename {assets => project/assets}/nei/lang/zh_cn.lang (100%) rename {assets => project/assets}/nei/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/netherex/lang/zh_cn.lang (100%) rename {assets => project/assets}/netherex/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/netherportalfix/lang/en_us.lang (100%) rename {assets => project/assets}/netherportalfix/lang/zh_cn.lang (100%) rename {assets => project/assets}/netherportalfix/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/nice/lang/en_us.lang (100%) rename {assets => project/assets}/nice/lang/zh_cn.lang (100%) rename {assets => project/assets}/nice/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/noel/lang/zh_cn.lang (100%) rename {assets => project/assets}/noel/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/notenoughwands/lang/en_us.lang (100%) rename {assets => project/assets}/notenoughwands/lang/zh_cn.lang (100%) rename {assets => project/assets}/notenoughwands/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/nuclearcraft/lang/en_us.lang (100%) rename {assets => project/assets}/nuclearcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/nuclearcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/nuclearphysics/lang/zh_cn.lang (100%) rename {assets => project/assets}/nuclearphysics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ocsensors/lang/en_us.lang (100%) rename {assets => project/assets}/ocsensors/lang/zh_cn.lang (100%) rename {assets => project/assets}/ocsensors/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/oeintegration/lang/en_us.lang (100%) rename {assets => project/assets}/oeintegration/lang/zh_cn.lang (100%) rename {assets => project/assets}/oeintegration/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/omlib/lang/en_us.lang (100%) rename {assets => project/assets}/omlib/lang/zh_cn.lang (100%) rename {assets => project/assets}/omlib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ompd/lang/zh_cn.lang (100%) rename {assets => project/assets}/ompd/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/openblocks/lang/en_us.lang (100%) rename {assets => project/assets}/openblocks/lang/zh_cn.lang (100%) rename {assets => project/assets}/openblocks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/opencomputers/lang/en_us.lang (100%) rename {assets => project/assets}/opencomputers/lang/zh_cn.lang (100%) rename {assets => project/assets}/opencomputers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/openglasses/lang/zh_cn.lang (100%) rename {assets => project/assets}/openglasses/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/openglider/lang/zh_cn.lang (100%) rename {assets => project/assets}/openglider/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/openmods/lang/en_us.lang (100%) rename {assets => project/assets}/openmods/lang/zh_cn.lang (100%) rename {assets => project/assets}/openmods/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/openmodularturrets/lang/en_us.lang (100%) rename {assets => project/assets}/openmodularturrets/lang/zh_cn.lang (100%) rename {assets => project/assets}/openmodularturrets/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/opframe/lang/zh_cn.lang (100%) rename {assets => project/assets}/opframe/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/oreexcavation/lang/en_us.lang (100%) rename {assets => project/assets}/oreexcavation/lang/zh_cn.lang (100%) rename {assets => project/assets}/oreexcavation/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/oresheepmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/oresheepmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/overloaded/lang/en_us.lang (100%) rename {assets => project/assets}/overloaded/lang/zh_cn.lang (100%) rename {assets => project/assets}/overloaded/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/overlord/lang/en_us.lang (100%) rename {assets => project/assets}/overlord/lang/zh_cn.lang (100%) rename {assets => project/assets}/overlord/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/packmode/lang/zh_cn.lang (100%) rename {assets => project/assets}/packmode/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/parachutemod/lang/en_us.lang (100%) rename {assets => project/assets}/parachutemod/lang/zh_cn.lang (100%) rename {assets => project/assets}/parachutemod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pearcelmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/pearcelmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/persistentbits/lang/en_us.lang (100%) rename {assets => project/assets}/persistentbits/lang/zh_cn.lang (100%) rename {assets => project/assets}/persistentbits/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/personalcars/lang/en_us.lang (100%) rename {assets => project/assets}/personalcars/lang/zh_cn.lang (100%) rename {assets => project/assets}/personalcars/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ping/lang/zh_cn.lang (100%) rename {assets => project/assets}/ping/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/placeableitems/lang/zh_cn.lang (100%) rename {assets => project/assets}/placeableitems/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/placementpreview/lang/en_us.lang (100%) rename {assets => project/assets}/placementpreview/lang/zh_cn.lang (100%) rename {assets => project/assets}/placementpreview/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/plainsmobs/lang/en_us.lang (100%) rename {assets => project/assets}/plainsmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/plainsmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/plants2/lang/en_us.lang (100%) rename {assets => project/assets}/plants2/lang/zh_cn.lang (100%) rename {assets => project/assets}/plants2/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/platforms/lang/en_us.lang (100%) rename {assets => project/assets}/platforms/lang/zh_cn.lang (100%) rename {assets => project/assets}/platforms/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/playerskins/lang/zh_cn.lang (100%) rename {assets => project/assets}/playerskins/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/plustic/lang/en_us.lang (100%) rename {assets => project/assets}/plustic/lang/zh_cn.lang (100%) rename {assets => project/assets}/plustic/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube_adventures/lang/en_us.lang (100%) rename {assets => project/assets}/pokecube_adventures/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube_adventures/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube_books/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube_books/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube_compat/lang/en_us.lang (100%) rename {assets => project/assets}/pokecube_compat/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube_compat/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube_config/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube_config/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube_mobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube_mobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube_moves/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube_moves/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pokecube_origin/lang/zh_cn.lang (100%) rename {assets => project/assets}/pokecube_origin/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/portalgun/lang/en_us.lang (100%) rename {assets => project/assets}/portalgun/lang/zh_cn.lang (100%) rename {assets => project/assets}/portalgun/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/powerinventory/lang/zh_cn.lang (100%) rename {assets => project/assets}/powerinventory/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/prefab/lang/zh_cn.lang (100%) rename {assets => project/assets}/prefab/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/presets/lang/en_us.lang (100%) rename {assets => project/assets}/presets/lang/zh_cn.lang (100%) rename {assets => project/assets}/presets/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/pressure/lang/en_us.lang (100%) rename {assets => project/assets}/pressure/lang/zh_cn.lang (100%) rename {assets => project/assets}/pressure/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/projecte/lang/en_us.lang (100%) rename {assets => project/assets}/projecte/lang/zh_cn.lang (100%) rename {assets => project/assets}/projecte/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/props/lang/en_us.lang (100%) rename {assets => project/assets}/props/lang/zh_cn.lang (100%) rename {assets => project/assets}/props/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/psi/lang/en_us.lang (100%) rename {assets => project/assets}/psi/lang/zh_cn.lang (100%) rename {assets => project/assets}/psi/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/quacklib/lang/zh_cn.lang (100%) rename {assets => project/assets}/quacklib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/quantumstorage/lang/en_us.lang (100%) rename {assets => project/assets}/quantumstorage/lang/zh_cn.lang (100%) rename {assets => project/assets}/quantumstorage/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/quark/lang/en_us.lang (100%) rename {assets => project/assets}/quark/lang/zh_cn.lang (100%) rename {assets => project/assets}/quark/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/questbook/lang/zh_cn.lang (100%) rename {assets => project/assets}/questbook/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rafradek_tf2_weapons/lang/zh_cn.lang (100%) rename {assets => project/assets}/rafradek_tf2_weapons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rainboaks/lang/en_us.lang (100%) rename {assets => project/assets}/rainboaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/rainboaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/randomthings/lang/en_us.lang (100%) rename {assets => project/assets}/randomthings/lang/zh_cn.lang (100%) rename {assets => project/assets}/randomthings/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rangedpumps/lang/en_us.lang (100%) rename {assets => project/assets}/rangedpumps/lang/zh_cn.lang (100%) rename {assets => project/assets}/rangedpumps/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/reap/lang/zh_cn.lang (100%) rename {assets => project/assets}/reap/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/reborncore/lang/en_us.lang (100%) rename {assets => project/assets}/reborncore/lang/zh_cn.lang (100%) rename {assets => project/assets}/reborncore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rebornstorage/lang/en_us.lang (100%) rename {assets => project/assets}/rebornstorage/lang/zh_cn.lang (100%) rename {assets => project/assets}/rebornstorage/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/reccomplex/lang/en_us.lang (100%) rename {assets => project/assets}/reccomplex/lang/zh_cn.lang (100%) rename {assets => project/assets}/reccomplex/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/redstonearsenal/lang/en_us.lang (100%) rename {assets => project/assets}/redstonearsenal/lang/zh_cn.lang (100%) rename {assets => project/assets}/redstonearsenal/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/redstonepaste/lang/en_us.lang (100%) rename {assets => project/assets}/redstonepaste/lang/zh_cn.lang (100%) rename {assets => project/assets}/redstonepaste/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/redstoneplusplus/lang/zh_cn.lang (100%) rename {assets => project/assets}/redstoneplusplus/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/refinedrelocation/lang/en_us.lang (100%) rename {assets => project/assets}/refinedrelocation/lang/zh_cn.lang (100%) rename {assets => project/assets}/refinedrelocation/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/refinedstorage/lang/en_us.lang (100%) rename {assets => project/assets}/refinedstorage/lang/zh_cn.lang (100%) rename {assets => project/assets}/refinedstorage/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/refinedstorageaddons/lang/en_us.lang (100%) rename {assets => project/assets}/refinedstorageaddons/lang/zh_cn.lang (100%) rename {assets => project/assets}/refinedstorageaddons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/reptilemod/lang/zh_cn.lang (100%) rename {assets => project/assets}/reptilemod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/restrictedportals/lang/en_us.lang (100%) rename {assets => project/assets}/restrictedportals/lang/zh_cn.lang (100%) rename {assets => project/assets}/restrictedportals/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/retrocomputers/lang/zh_cn.lang (100%) rename {assets => project/assets}/retrocomputers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rf-capability-adapter/lang/zh_cn.lang (100%) rename {assets => project/assets}/rf-capability-adapter/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rflux/lang/en_us.lang (100%) rename {assets => project/assets}/rflux/lang/zh_cn.lang (100%) rename {assets => project/assets}/rflux/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rftools/lang/en_us.lang (100%) rename {assets => project/assets}/rftools/lang/zh_cn.lang (100%) rename {assets => project/assets}/rftools/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rftoolscontrol/lang/en_us.lang (100%) rename {assets => project/assets}/rftoolscontrol/lang/zh_cn.lang (100%) rename {assets => project/assets}/rftoolscontrol/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rftoolsdim/lang/en_us.lang (100%) rename {assets => project/assets}/rftoolsdim/lang/zh_cn.lang (100%) rename {assets => project/assets}/rftoolsdim/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rftoolsdim/text/manual_dimension.txt (100%) rename {assets => project/assets}/rockhounding_core/lang/zh_cn.lang (100%) rename {assets => project/assets}/rockhounding_core/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/roots/lang/en_us.lang (100%) rename {assets => project/assets}/roots/lang/zh_cn.lang (100%) rename {assets => project/assets}/roots/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/roughtweaks/lang/zh_cn.lang (100%) rename {assets => project/assets}/roughtweaks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rpghud/lang/zh_cn.lang (100%) rename {assets => project/assets}/rpghud/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rtfm/lang/zh_cn.lang (100%) rename {assets => project/assets}/rtfm/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/runesofwizardry/lang/zh_cn.lang (100%) rename {assets => project/assets}/runesofwizardry/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/runesofwizardry_classics/lang/zh_cn.lang (100%) rename {assets => project/assets}/runesofwizardry_classics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/rustic/lang/en_us.lang (100%) rename {assets => project/assets}/rustic/lang/zh_cn.lang (100%) rename {assets => project/assets}/rustic/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/saltwatermobs/lang/en_us.lang (100%) rename {assets => project/assets}/saltwatermobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/saltwatermobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sanplayermodel/lang/zh_cn.lang (100%) rename {assets => project/assets}/sanplayermodel/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sapturretmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/sapturretmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sc/lang/en_us.lang (100%) rename {assets => project/assets}/sc/lang/zh_cn.lang (100%) rename {assets => project/assets}/sc/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/scalinghealth/lang/en_us.lang (100%) rename {assets => project/assets}/scalinghealth/lang/zh_cn.lang (100%) rename {assets => project/assets}/scalinghealth/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/scannable/lang/en_us.lang (100%) rename {assets => project/assets}/scannable/lang/zh_cn.lang (100%) rename {assets => project/assets}/scannable/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sccraftingrunes/lang/zh_cn.lang (100%) rename {assets => project/assets}/sccraftingrunes/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/schematica/lang/en_us.lang (100%) rename {assets => project/assets}/schematica/lang/zh_cn.lang (100%) rename {assets => project/assets}/schematica/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/secretroomsmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/secretroomsmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/securitycraft/lang/en_us.lang (100%) rename {assets => project/assets}/securitycraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/securitycraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sgextraparts/lang/en_us.lang (100%) rename {assets => project/assets}/sgextraparts/lang/zh_cn.lang (100%) rename {assets => project/assets}/sgextraparts/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/shadowmc/lang/en_us.lang (100%) rename {assets => project/assets}/shadowmc/lang/zh_cn.lang (100%) rename {assets => project/assets}/shadowmc/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/shadowmobs/lang/en_us.lang (100%) rename {assets => project/assets}/shadowmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/shadowmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/shear/lang/en_us.lang (100%) rename {assets => project/assets}/shear/lang/zh_cn.lang (100%) rename {assets => project/assets}/shear/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/shearmadness/lang/en_us.lang (100%) rename {assets => project/assets}/shearmadness/lang/zh_cn.lang (100%) rename {assets => project/assets}/shearmadness/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/shetiphiancore/lang/en_us.lang (100%) rename {assets => project/assets}/shetiphiancore/lang/zh_cn.lang (100%) rename {assets => project/assets}/shetiphiancore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/signals/lang/en_us.lang (100%) rename {assets => project/assets}/signals/lang/zh_cn.lang (100%) rename {assets => project/assets}/signals/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/silentgems/lang/en_us.lang (100%) rename {assets => project/assets}/silentgems/lang/zh_cn.lang (100%) rename {assets => project/assets}/silentgems/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/silentlib/lang/en_us.lang (100%) rename {assets => project/assets}/silentlib/lang/zh_cn.lang (100%) rename {assets => project/assets}/silentlib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/similsaxtranstructors/lang/zh_cn.lang (100%) rename {assets => project/assets}/similsaxtranstructors/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simplecore/lang/zh_cn.lang (100%) rename {assets => project/assets}/simplecore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simplecorn/lang/en_us.lang (100%) rename {assets => project/assets}/simplecorn/lang/zh_cn.lang (100%) rename {assets => project/assets}/simplecorn/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simpleores/lang/zh_cn.lang (100%) rename {assets => project/assets}/simpleores/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simplesponge/lang/en_us.lang (100%) rename {assets => project/assets}/simplesponge/lang/zh_cn.lang (100%) rename {assets => project/assets}/simplesponge/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simplevoidworld/lang/en_us.lang (100%) rename {assets => project/assets}/simplevoidworld/lang/zh_cn.lang (100%) rename {assets => project/assets}/simplevoidworld/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simplygems/lang/zh_cn.lang (100%) rename {assets => project/assets}/simplygems/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simplyjetpacks/lang/en_us.lang (100%) rename {assets => project/assets}/simplyjetpacks/lang/zh_cn.lang (100%) rename {assets => project/assets}/simplyjetpacks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/simplytea/lang/zh_cn.lang (100%) rename {assets => project/assets}/simplytea/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/skyblocks/lang/zh_cn.lang (100%) rename {assets => project/assets}/skyblocks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/skyresources/lang/en_us.lang (100%) rename {assets => project/assets}/skyresources/lang/zh_cn.lang (100%) rename {assets => project/assets}/skyresources/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/slashblade/lang/zh_cn.lang (100%) rename {assets => project/assets}/slashblade/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/snad/lang/en_us.lang (100%) rename {assets => project/assets}/snad/lang/zh_cn.lang (100%) rename {assets => project/assets}/snad/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sodiumcraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/sodiumcraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/solarfluxreborn/lang/en_us.lang (100%) rename {assets => project/assets}/solarfluxreborn/lang/zh_cn.lang (100%) rename {assets => project/assets}/solarfluxreborn/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/solcarrot/lang/zh_cn.lang (100%) rename {assets => project/assets}/solcarrot/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sonarcore/lang/en_us.lang (100%) rename {assets => project/assets}/sonarcore/lang/zh_cn.lang (100%) rename {assets => project/assets}/sonarcore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/soot/lang/zh_cn.lang (100%) rename {assets => project/assets}/soot/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sophisticatedwolves/lang/zh_cn.lang (100%) rename {assets => project/assets}/sophisticatedwolves/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/soulshardstow/lang/en_us.lang (100%) rename {assets => project/assets}/soulshardstow/lang/zh_cn.lang (100%) rename {assets => project/assets}/soulshardstow/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/spartanshields/lang/en_us.lang (100%) rename {assets => project/assets}/spartanshields/lang/zh_cn.lang (100%) rename {assets => project/assets}/spartanshields/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/spectrite/lang/zh_cn.lang (100%) rename {assets => project/assets}/spectrite/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/speedsterheroes/lang/zh_cn.lang (100%) rename {assets => project/assets}/speedsterheroes/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/spiceoflife/lang/en_us.lang (100%) rename {assets => project/assets}/spiceoflife/lang/zh_cn.lang (100%) rename {assets => project/assets}/spiceoflife/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/stackie/lang/zh_cn.lang (100%) rename {assets => project/assets}/stackie/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/stairs/lang/zh_cn.lang (100%) rename {assets => project/assets}/stairs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/stats_keeper/lang/zh_cn.lang (100%) rename {assets => project/assets}/stats_keeper/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/statues/lang/en_us.lang (100%) rename {assets => project/assets}/statues/lang/zh_cn.lang (100%) rename {assets => project/assets}/statues/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/stellarapi/lang/zh_cn.lang (100%) rename {assets => project/assets}/stellarapi/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/stellarium/lang/zh_cn.lang (100%) rename {assets => project/assets}/stellarium/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/stevescarts/lang/en_us.lang (100%) rename {assets => project/assets}/stevescarts/lang/zh_cn.lang (100%) rename {assets => project/assets}/stevescarts/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/storageboats/lang/zh_cn.lang (100%) rename {assets => project/assets}/storageboats/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/storagedrawers/lang/en_us.lang (100%) rename {assets => project/assets}/storagedrawers/lang/zh_cn.lang (100%) rename {assets => project/assets}/storagedrawers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/storagedrawersextra/lang/en_us.lang (100%) rename {assets => project/assets}/storagedrawersextra/lang/zh_cn.lang (100%) rename {assets => project/assets}/storagedrawersextra/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/storagenetwork/lang/en_us.lang (100%) rename {assets => project/assets}/storagenetwork/lang/zh_cn.lang (100%) rename {assets => project/assets}/storagenetwork/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/structuredcrafting/lang/en_us.lang (100%) rename {assets => project/assets}/structuredcrafting/lang/zh_cn.lang (100%) rename {assets => project/assets}/structuredcrafting/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/survivalist/lang/en_us.lang (100%) rename {assets => project/assets}/survivalist/lang/zh_cn.lang (100%) rename {assets => project/assets}/survivalist/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/swampmobs/lang/en_us.lang (100%) rename {assets => project/assets}/swampmobs/lang/zh_cn.lang (100%) rename {assets => project/assets}/swampmobs/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/sync/lang/en_us.lang (100%) rename {assets => project/assets}/sync/lang/zh_cn.lang (100%) rename {assets => project/assets}/sync/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tails/lang/en_us.lang (100%) rename {assets => project/assets}/tails/lang/zh_cn.lang (100%) rename {assets => project/assets}/tails/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tammodized/lang/zh_cn.lang (100%) rename {assets => project/assets}/tammodized/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tanaddons/lang/en_us.lang (100%) rename {assets => project/assets}/tanaddons/lang/zh_cn.lang (100%) rename {assets => project/assets}/tanaddons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tcomplement/lang/en_us.lang (100%) rename {assets => project/assets}/tcomplement/lang/zh_cn.lang (100%) rename {assets => project/assets}/tcomplement/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tconstruct/lang/en_us.lang (100%) rename {assets => project/assets}/tconstruct/lang/zh_cn.lang (100%) rename {assets => project/assets}/tconstruct/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/techguns/lang/zh_cn.lang (100%) rename {assets => project/assets}/techguns/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/techreborn/lang/en_us.lang (100%) rename {assets => project/assets}/techreborn/lang/zh_cn.lang (100%) rename {assets => project/assets}/techreborn/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/teckle/lang/zh_cn.lang (100%) rename {assets => project/assets}/teckle/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/telepads/lang/zh_cn.lang (100%) rename {assets => project/assets}/telepads/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/terraqueous/lang/en_us.lang (100%) rename {assets => project/assets}/terraqueous/lang/zh_cn.lang (100%) rename {assets => project/assets}/terraqueous/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tesla/lang/en_us.lang (100%) rename {assets => project/assets}/tesla/lang/zh_cn.lang (100%) rename {assets => project/assets}/tesla/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/teslacorelib/lang/en_us.lang (100%) rename {assets => project/assets}/teslacorelib/lang/zh_cn.lang (100%) rename {assets => project/assets}/teslacorelib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/testdummy/lang/en_us.lang (100%) rename {assets => project/assets}/testdummy/lang/zh_cn.lang (100%) rename {assets => project/assets}/testdummy/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thebetweenlands/lang/en_us.lang (100%) rename {assets => project/assets}/thebetweenlands/lang/zh_cn.lang (100%) rename {assets => project/assets}/thebetweenlands/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thedalekmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/thedalekmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thedragonlib/lang/en_us.lang (100%) rename {assets => project/assets}/thedragonlib/lang/zh_cn.lang (100%) rename {assets => project/assets}/thedragonlib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/theoneprobe/lang/en_us.lang (100%) rename {assets => project/assets}/theoneprobe/lang/zh_cn.lang (100%) rename {assets => project/assets}/theoneprobe/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thermalcultivation/lang/en_us.lang (100%) rename {assets => project/assets}/thermalcultivation/lang/zh_cn.lang (100%) rename {assets => project/assets}/thermalcultivation/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thermaldynamics/lang/en_us.lang (100%) rename {assets => project/assets}/thermaldynamics/lang/zh_cn.lang (100%) rename {assets => project/assets}/thermaldynamics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thermalexpansion/lang/en_us.lang (100%) rename {assets => project/assets}/thermalexpansion/lang/zh_cn.lang (100%) rename {assets => project/assets}/thermalexpansion/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thermalfoundation/lang/en_us.lang (100%) rename {assets => project/assets}/thermalfoundation/lang/zh_cn.lang (100%) rename {assets => project/assets}/thermalfoundation/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thermalsolars/lang/zh_cn.lang (100%) rename {assets => project/assets}/thermalsolars/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thermionics/lang/zh_cn.lang (100%) rename {assets => project/assets}/thermionics/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thutcore/lang/en_us.lang (100%) rename {assets => project/assets}/thutcore/lang/zh_cn.lang (100%) rename {assets => project/assets}/thutcore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/thuttech/lang/zh_cn.lang (100%) rename {assets => project/assets}/thuttech/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tinker_io/lang/en_us.lang (100%) rename {assets => project/assets}/tinker_io/lang/zh_cn.lang (100%) rename {assets => project/assets}/tinker_io/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tinkersaddons/lang/en_us.lang (100%) rename {assets => project/assets}/tinkersaddons/lang/zh_cn.lang (100%) rename {assets => project/assets}/tinkersaddons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tinkersdefense/lang/en_us.lang (100%) rename {assets => project/assets}/tinkersdefense/lang/zh_cn.lang (100%) rename {assets => project/assets}/tinkersdefense/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tinkerskyblock/lang/zh_cn.lang (100%) rename {assets => project/assets}/tinkerskyblock/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tinkertoolleveling/lang/en_us.lang (100%) rename {assets => project/assets}/tinkertoolleveling/lang/zh_cn.lang (100%) rename {assets => project/assets}/tinkertoolleveling/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tis3d/lang/en_us.lang (100%) rename {assets => project/assets}/tis3d/lang/zh_cn.lang (100%) rename {assets => project/assets}/tis3d/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tombstone/lang/en_us.lang (100%) rename {assets => project/assets}/tombstone/lang/zh_cn.lang (100%) rename {assets => project/assets}/tombstone/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/toolbelt/lang/zh_cn.lang (100%) rename {assets => project/assets}/toolbelt/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/topaddons/lang/en_us.lang (100%) rename {assets => project/assets}/topaddons/lang/zh_cn.lang (100%) rename {assets => project/assets}/topaddons/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/torchmaster/lang/en_us.lang (100%) rename {assets => project/assets}/torchmaster/lang/zh_cn.lang (100%) rename {assets => project/assets}/torchmaster/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/torohealthmod/lang/en_us.lang (100%) rename {assets => project/assets}/torohealthmod/lang/zh_cn.lang (100%) rename {assets => project/assets}/torohealthmod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/totemic/lang/en_us.lang (100%) rename {assets => project/assets}/totemic/lang/zh_cn.lang (100%) rename {assets => project/assets}/totemic/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/toughasnails/lang/en_us.lang (100%) rename {assets => project/assets}/toughasnails/lang/zh_cn.lang (100%) rename {assets => project/assets}/toughasnails/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/towel/lang/zh_cn.lang (100%) rename {assets => project/assets}/towel/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tp/lang/en_us.lang (100%) rename {assets => project/assets}/tp/lang/zh_cn.lang (100%) rename {assets => project/assets}/tp/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/trashslot/lang/en_us.lang (100%) rename {assets => project/assets}/trashslot/lang/zh_cn.lang (100%) rename {assets => project/assets}/trashslot/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/traverse/lang/en_us.lang (100%) rename {assets => project/assets}/traverse/lang/zh_cn.lang (100%) rename {assets => project/assets}/traverse/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/treechopper/lang/en_us.lang (100%) rename {assets => project/assets}/treechopper/lang/zh_cn.lang (100%) rename {assets => project/assets}/treechopper/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/treegrowingsimulator/lang/zh_cn.lang (100%) rename {assets => project/assets}/treegrowingsimulator/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tri_addon/lang/zh_cn.lang (100%) rename {assets => project/assets}/tri_addon/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/trophyslots/lang/zh_cn.lang (100%) rename {assets => project/assets}/trophyslots/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tropicraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/tropicraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/tumbleweed/lang/zh_cn.lang (100%) rename {assets => project/assets}/tumbleweed/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/twilightforest/lang/en_us.lang (100%) rename {assets => project/assets}/twilightforest/lang/zh_cn.lang (100%) rename {assets => project/assets}/twilightforest/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/ultimate_unicorn_mod/lang/en_us.lang (100%) rename {assets => project/assets}/ultimate_unicorn_mod/lang/zh_cn.lang (100%) rename {assets => project/assets}/ultimate_unicorn_mod/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/uncraftingtable/lang/zh_cn.lang (100%) rename {assets => project/assets}/uncraftingtable/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/unicodefontextension/lang/zh_cn.lang (100%) rename {assets => project/assets}/unicodefontextension/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/uniquecrops/lang/zh_cn.lang (100%) rename {assets => project/assets}/uniquecrops/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/usefulnullifiers/lang/en_us.lang (100%) rename {assets => project/assets}/usefulnullifiers/lang/zh_cn.lang (100%) rename {assets => project/assets}/usefulnullifiers/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/valkyrielib/lang/en_us.lang (100%) rename {assets => project/assets}/valkyrielib/lang/zh_cn.lang (100%) rename {assets => project/assets}/valkyrielib/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/vampirism/lang/en_us.lang (100%) rename {assets => project/assets}/vampirism/lang/zh_cn.lang (100%) rename {assets => project/assets}/vampirism/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/vampirismguide/lang/en_us.lang (100%) rename {assets => project/assets}/vampirismguide/lang/zh_cn.lang (100%) rename {assets => project/assets}/vampirismguide/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/vc/lang/en_us.lang (100%) rename {assets => project/assets}/vc/lang/zh_cn.lang (100%) rename {assets => project/assets}/vc/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/vefluids/lang/zh_cn.lang (100%) rename {assets => project/assets}/vefluids/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/veinminer/lang/en_us.lang (100%) rename {assets => project/assets}/veinminer/lang/zh_cn.lang (100%) rename {assets => project/assets}/veinminer/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/vending/lang/en_us.lang (100%) rename {assets => project/assets}/vending/lang/zh_cn.lang (100%) rename {assets => project/assets}/vending/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/vials/lang/zh_cn.lang (100%) rename {assets => project/assets}/vials/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/viescraft/lang/zh_cn.lang (100%) rename {assets => project/assets}/viescraft/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/voidislandcontrol/lang/en_us.lang (100%) rename {assets => project/assets}/voidislandcontrol/lang/zh_cn.lang (100%) rename {assets => project/assets}/voidislandcontrol/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/voxelmap/lang/en_us.lang (100%) rename {assets => project/assets}/voxelmap/lang/zh_cn.lang (100%) rename {assets => project/assets}/voxelmap/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/waddles/lang/en_us.lang (100%) rename {assets => project/assets}/waddles/lang/zh_cn.lang (100%) rename {assets => project/assets}/waddles/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/waila/lang/en_us.lang (100%) rename {assets => project/assets}/waila/lang/zh_cn.lang (100%) rename {assets => project/assets}/waila/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wailaharvestability/lang/en_us.lang (100%) rename {assets => project/assets}/wailaharvestability/lang/zh_cn.lang (100%) rename {assets => project/assets}/wailaharvestability/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/waterstrainer/lang/en_us.lang (100%) rename {assets => project/assets}/waterstrainer/lang/zh_cn.lang (100%) rename {assets => project/assets}/waterstrainer/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wawla/lang/en_us.lang (100%) rename {assets => project/assets}/wawla/lang/zh_cn.lang (100%) rename {assets => project/assets}/wawla/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/waystones/lang/en_us.lang (100%) rename {assets => project/assets}/waystones/lang/zh_cn.lang (100%) rename {assets => project/assets}/waystones/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wct/lang/en_us.lang (100%) rename {assets => project/assets}/wct/lang/zh_cn.lang (100%) rename {assets => project/assets}/wct/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wearablebackpacks/lang/en_us.lang (100%) rename {assets => project/assets}/wearablebackpacks/lang/zh_cn.lang (100%) rename {assets => project/assets}/wearablebackpacks/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wearables/lang/zh_cn.lang (100%) rename {assets => project/assets}/wearables/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/weather2/lang/en_us.lang (100%) rename {assets => project/assets}/weather2/lang/zh_cn.lang (100%) rename {assets => project/assets}/weather2/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wificharge/lang/zh_cn.lang (100%) rename {assets => project/assets}/wificharge/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wings/lang/zh_cn.lang (100%) rename {assets => project/assets}/wings/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wit/lang/zh_cn.lang (100%) rename {assets => project/assets}/wit/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wizardry/lang/zh_cn.lang (100%) rename {assets => project/assets}/wizardry/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/wolfarmor/lang/en_us.lang (100%) rename {assets => project/assets}/wolfarmor/lang/zh_cn.lang (100%) rename {assets => project/assets}/wolfarmor/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/woodenbucket/lang/zh_cn.lang (100%) rename {assets => project/assets}/woodenbucket/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/woodenshears/lang/zh_cn.lang (100%) rename {assets => project/assets}/woodenshears/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/woot/lang/en_us.lang (100%) rename {assets => project/assets}/woot/lang/zh_cn.lang (100%) rename {assets => project/assets}/woot/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/worldlimiter/lang/zh_cn.lang (100%) rename {assets => project/assets}/worldlimiter/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/xaerobetterpvp/lang/zh_cn.lang (100%) rename {assets => project/assets}/xaerobetterpvp/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/xnet/lang/en_us.lang (100%) rename {assets => project/assets}/xnet/lang/zh_cn.lang (100%) rename {assets => project/assets}/xnet/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/xnet/text/manual_xnet.txt (100%) rename {assets => project/assets}/xray/lang/zh_cn.lang (100%) rename {assets => project/assets}/xray/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/xreliquary/lang/en_us.lang (100%) rename {assets => project/assets}/xreliquary/lang/zh_cn.lang (100%) rename {assets => project/assets}/xreliquary/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/xtones/lang/en_us.lang (100%) rename {assets => project/assets}/xtones/lang/zh_cn.lang (100%) rename {assets => project/assets}/xtones/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/yabba/lang/en_us.lang (100%) rename {assets => project/assets}/yabba/lang/zh_cn.lang (100%) rename {assets => project/assets}/yabba/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/zerocore/lang/en_us.lang (100%) rename {assets => project/assets}/zerocore/lang/zh_cn.lang (100%) rename {assets => project/assets}/zerocore/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/zettaindustries/lang/en_us.lang (100%) rename {assets => project/assets}/zettaindustries/lang/zh_cn.lang (100%) rename {assets => project/assets}/zettaindustries/lang/zh_cn_old.lang (100%) rename {assets => project/assets}/zombieawareness/lang/en_us.lang (100%) rename {assets => project/assets}/zombieawareness/lang/zh_cn.lang (100%) rename {assets => project/assets}/zombieawareness/lang/zh_cn_old.lang (100%) rename pack.mcmeta => project/pack.mcmeta (100%) rename pack.png => project/pack.png (100%) delete mode 100755 run.sh create mode 100644 src/README.md create mode 100644 src/__init__.py create mode 100644 src/crawler/__init__.py create mode 100644 src/crawler/mod_downloader.py create mode 100644 src/crawler/mod_info_get.py create mode 100644 src/crawler/modpack_downloader.py create mode 100644 src/crawler/modpack_info_get.py create mode 100644 src/crawler/modpack_mod_downloader.py create mode 100644 src/crawler/modpack_mod_info_get.py delete mode 100644 src/downloadscript/newdownload.py create mode 100644 src/handle/__init__.py create mode 100644 src/handle/handle.py create mode 100644 src/redundancy/__init__.py create mode 100644 src/redundancy/redundancy.py create mode 100644 src/unzip/__init__.py create mode 100644 src/unzip/mod_unzip.py create mode 100644 src/unzip/modpack_unzip.py delete mode 100644 sync.py delete mode 100755 sync.sh delete mode 100644 weblate.md create mode 100644 zip.py delete mode 100644 zip.sh diff --git a/.gitignore b/.gitignore index bdaab25d58d7..7bbc71c09205 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,101 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# dotenv +.env + +# virtualenv +.venv +venv/ +ENV/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ diff --git a/.travis.yml b/.travis.yml index 3e41ddcc47e5..4c6e2d7e9fb3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,8 @@ language: python python: - '3.6' -before_install: -- sudo apt-get install unzip script: -- chmod +x zip.sh -- "./zip.sh" +- "python3 ./zip.py" before_deploy: - git config --local user.name "TartaricAcid" - git config --local user.email "baka943@qq.com" diff --git a/all_update_1.py b/all_update_1.py deleted file mode 100644 index e633eddb882d..000000000000 --- a/all_update_1.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 批量本地化更新工具 -###################################### - -print("all_update_1 Script Loading") - -# 读取文件 -assets_en = open("en_us.lang", 'r', encoding='UTF-8', errors='ignore') -assets_zh = open("zh_cn_old.lang", 'r', encoding='UTF-8', errors='ignore') -assets_out = open("en_zh.lang", 'w', encoding='UTF-8') - -# 放置中英文映射表 -en_dict = dict() -zh_dict = dict() - -# 放置英文空key,用以for循环查找 -en_key = list() - -for entry in assets_en.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - en_key.append(entry_list[0]) # 空key文件为之后for循环查找提供参考 - en_dict[entry_list[0]] = entry_list[1] - -for entry in assets_zh.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - zh_dict[entry_list[0]] = entry_list[1] - -for entry in en_key: - try: # 如果给定的英文key在中文映射表中不存在,抛出异常 - assets_out.writelines(entry + '=' + zh_dict[entry]) - except: # 接收异常,对英文key和英文value进行拼接 - assets_out.writelines(entry + '=' + en_dict[entry]) - -assets_en.close() -assets_zh.close() -assets_out.close() - -print("all_update_1 Script Stop Load") diff --git a/all_update_2.py b/all_update_2.py deleted file mode 100644 index 4886fec0b9e3..000000000000 --- a/all_update_2.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 批量本地化更新工具 -###################################### - -print("all_update_2 Script Loading") - -# 读取文件 -assets_en = open("en_zh.lang", 'r', encoding='UTF-8', errors='ignore') -assets_zh = open("zh_cn.lang", 'r', encoding='UTF-8', errors='ignore') -assets_out = open("zh_cn_out.lang", 'w', encoding='UTF-8') - -# 放置中英文映射表 -en_dict = dict() -zh_dict = dict() - -# 放置英文空key,用以for循环查找 -en_key = list() - -for entry in assets_en.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - en_key.append(entry_list[0]) # 空key文件为之后for循环查找提供参考 - en_dict[entry_list[0]] = entry_list[1] - -for entry in assets_zh.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - zh_dict[entry_list[0]] = entry_list[1] - -for entry in en_key: - try: # 如果给定的英文key在中文映射表中不存在,抛出异常 - assets_out.writelines(entry + '=' + zh_dict[entry]) - except: # 接收异常,对英文key和英文value进行拼接 - assets_out.writelines(entry + '=' + en_dict[entry]) - -assets_en.close() -assets_zh.close() -assets_out.close() - -print("all_update_2 Script Stop Load") diff --git a/all_update_3.py b/all_update_3.py deleted file mode 100644 index 5b79dcaed02f..000000000000 --- a/all_update_3.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 批量本地化更新工具 -###################################### - -print("all_update_3 Script Loading") - -import operator - -# 读取文件 -old = open("en_us.lang", 'r', encoding='UTF-8', errors='ignore') -new = open("zh_cn_out.lang", 'r', encoding='UTF-8', errors='ignore') -out = open("zh_cn_del.lang", 'w', encoding='UTF-8') - -# 放置映射表 -old_dict = dict() -new_dict = dict() - -# 放置key,用以for循环查找 -new_key = list() - -for entry in old.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - old_dict[entry_list[0]] = entry_list[1] - -for entry in new.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - new_key.append(entry_list[0]) # 空key文件为之后for循环查找提供参考 - new_dict[entry_list[0]] = entry_list[1] - -for entry in new_key: - try: - if operator.eq(new_dict[entry], old_dict[entry]): - pass - else: - out.writelines(entry + '=' + new_dict[entry]) - except: # 接收异常,对英文key和英文value进行拼接 - out.writelines(entry + '=' + new_dict[entry]) - -old.close() -new.close() -out.close() - -print("all_update_3 Script Stop Load") diff --git a/black.list b/black.list deleted file mode 100644 index c3a20a8475fa..000000000000 --- a/black.list +++ /dev/null @@ -1,5 +0,0 @@ -writing_guides -chisel_guide -dungeontactics -mca -bookshelf diff --git a/config.yml b/config.yml new file mode 100644 index 000000000000..56c5837f17d5 --- /dev/null +++ b/config.yml @@ -0,0 +1,30 @@ +# 爬虫工具的配置文件 + +# 爬虫抓取的版本 +# 目前只有 1.7.10, 1.8.9, 1.9.4, 1.10.2, 1.11.2, 1.12.2 四个可选 +version: 1.12.2 + +# 爬虫的线程数 +threads_num: 20 + +# 爬虫的爬取页数 +mod_page: 30 +modpack_page: 1 + +# 爬虫白名单,在此名单上的模组和整合包会被爬取 +# 名单请使用 curseforge url 中的名称 +mod_whitelist: + - integrated-rest +modpack_whitelist: + - baka943 + +# 爬虫黑名单,在此名单上的模组和整合包会被禁止爬取,会覆盖白名单 +# 名单请使用 curseforge url 中的名称 +mod_blacklist: + - dungeon-tactics + - minecraft-comes-alive-mca + - bookshelf + - mike-dongles + - magical-psi +modpack_blacklist: + - the-new-frontier diff --git a/delete_english.py b/delete_english.py deleted file mode 100644 index 225fc2f464e8..000000000000 --- a/delete_english.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 英文、非语言字符剔除工具 -###################################### - -print("delete_english Script Loading") - -import re -import os -import time - -# 开始遍历 assets 文件夹 -for root, dirs, files in os.walk("./assets", topdown=False): - for name in files: - # 找到符合这个正则匹配的语言文件 - modid = re.findall(r"./assets/(.*)/lang/zh_cn.lang", - os.path.join(root, name)) - - # 不符合的会抛出异常,先用try语句包裹 - try: - modname = modid[0] - except: - print("路径不存在") - continue - - # 存储语言文件映射表 - zh_dict = dict() - # 放置key,用以for循环查找 - zh_key = list() - - zh_file = open( - "./assets/" + modname + "/lang/zh_cn.lang", 'r', encoding='UTF-8') - - # 这一块读取行数居然发生过一个错误,貌似是解码问题 - # 还是写个try except来避免吧 - - try: - # 开始遍历读取语言文件value - for entry in zh_file.readlines(): - if entry != None and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - zh_dict[entry_list[0]] = entry_list[1] # 将语言文件全部写入映射表中 - # 空key文件为之后for循环查找提供参考 - zh_key.append(entry_list[0]) - - zh_file.close() - except: - print(modid[0] + "编码有错") - break - - # 重新打开语言文件,这次开始剔除英文文本 - zh_file = open( - "./assets/" + modname + "/lang/zh_cn.lang", 'w', encoding='UTF-8') - - # 开始遍历分析字符串 - for entry in zh_key: - is_chinese = False # 记录是否为中文文本 - for charset in zh_dict[entry]: - # 开始逐个分析字符串 - # 在 4e00 到 9fa5 之间为 20902 个基本汉字 - if u'\u4e00' <= charset <= u'\u9fa5': - is_chinese = True - break - - # 如果是中文,那就写入key - if is_chinese: - zh_file.writelines(entry + '=' + zh_dict[entry]) - - zh_file.close() diff --git a/delete_update.py b/delete_update.py deleted file mode 100644 index 9e6a6d17f73e..000000000000 --- a/delete_update.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 批量本地化更新工具(增量更新版本) -###################################### - -print("del_update Script Loading") - -import operator - -# 读取文件 -old = open("zh_cn_old.lang", 'r', encoding='UTF-8') -new = open("zh_cn.lang", 'r', encoding='UTF-8') -out = open("zh_cn_out.lang", 'w', encoding='UTF-8') - -# 放置映射表 -old_dict = dict() -new_dict = dict() - -# 放置key,用以for循环查找 -new_key = list() - -for entry in old.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - old_dict[entry_list[0]] = entry_list[1] - -for entry in new.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - new_key.append(entry_list[0]) # 空key文件为之后for循环查找提供参考 - new_dict[entry_list[0]] = entry_list[1] - -for entry in new_key: - try: - if operator.eq(new_dict[entry], old_dict[entry]): - pass - else: - out.writelines(entry + '=' + new_dict[entry]) - except: # 接收异常,对英文key和英文value进行拼接 - out.writelines(entry + '=' + new_dict[entry]) - -old.close() -new.close() -out.close() - -print("del_update Script Stop Load") diff --git a/download.log b/download.log deleted file mode 100644 index 82bcb2138920..000000000000 --- a/download.log +++ /dev/null @@ -1,562 +0,0 @@ -# 2018-01-11-20:08:38 - -journeymap=2514298 -tinkers-construct=2518400 -mantle=2474052 -storage-drawers=2484308 -extra-utilities=2512406 -inventory-tweaks=2482481 -iron-chests=2487724 -pams-harvestcraft=2518832 -cofhcore=2518220 -custom-main-menu=2482584 -chisel=2516679 -resource-loader=2477566 -botania=2507921 -bdlib=2518031 -thermalexpansion=2518361 -jei=2517641 -applied-energistics-2=2515354 -baubles=2518667 -immersive-engineering=2515333 -bibliocraft=2456043 -mcjtylib=2516349 -thermal-foundation=2518222 -morpheus=2432272 -rftools=2516350 -modtweaker=2514559 -decocraft2=2495136 -ftblib=2505841 -waila-harvestability=2481605 -ftb-utilities=2505842 -forestry=2518143 -natura=2518591 -draconic-evolution=2517088 -brandons-core=2514752 -crafttweaker=2513460 -thermal-dynamics=2518224 -better-builders-wands=2443194 -mouse-tweaks=2462627 -wawla-what-are-we-looking-at=2493710 -chameleon=2450900 -cooking-for-blockheads=2503873 -guide-api=2466858 -chisels-bits=2516302 -applecore=2508285 -biomes-o-plenty=2514873 -aroma1997core=2516041 -redstone-arsenal=2518221 -ichunutil=2510760 -codechicken-lib-1-8=2509819 -openblocks=2514379 -autoreglib=2497562 -random-things=2513069 -openmodslib=2514375 -bookshelf=2514598 -industrial-craft=2517744 -actually-additions=2511216 -gravestone-mod=2482114 -gendustry=2516215 -lunatriuscore=2489549 -refined-storage=2515440 -opencomputers=2508602 -fast-leaf-decay=2463272 -reborncore=2515436 -extreme-reactors=2516062 -appleskin=2496585 -zerocore=2482156 -just-enough-resources-jer=2500678 -flat-colored-blocks=2483466 -malisisdoors=2510292 -ae2-stuff=2491032 -valkyrielib=2512885 -ender-storage-1-8=2509842 -veinminer=2457081 -mtlib=2491141 -psi=2499167 -chance-cubes=2515577 -ingame-info-xml=2489566 -mcmultipart=2511780 -quark=2517238 -malisiscore=2508318 -environmental-tech=2512886 -extracells2=2512993 -dark-utilities=2497247 -betterfps=2483393 -chest-transporter=2460961 -kleeslabs=2443462 -rftools-control=2514031 -shadowfacts-forgelin=2505090 -aroma1997s-dimensional-world=2440965 -shetiphiancore=2502305 -rftools-dimensions=2516650 -the-twilight-forest=2505472 -shadowmc=2441500 -unidict=2515662 -openblocks-elevator=2494729 -lootbags=2508201 -ranged-pumps=2441326 -mputils=2448392 -roots=2510836 -autopackager=2508230 -wanionlib=2510015 -mputils-basic-tools=2448393 -eleccore=2510914 -mercurius=2481890 -portal-gun=2487083 -default-options=2513607 -the-one-probe=2496985 -tinkers-tool-leveling=2507887 -reliquary-v1-3=2509540 -quantumstorage=2497503 -deep-resonance=2514028 -custom-npcs=2495413 -ender-zoo=2484148 -advanced-generators=2516219 -magic-bees=2517686 -not-enough-wands=2514037 -hopper-ducts=2454832 -hats=2487838 -cyclops-core=2512184 -sonar-core=2512472 -funky-locomotion=2504291 -controlling=2509063 -snad=2480458 -aromabackup=2510519 -netherportalfix=2489643 -mob-grinding-utils=2496911 -torchmaster=2489361 -roguelike-dungeons=2492586 -voxelmap=2492763 -mystical-agriculture=2511036 -simply-jetpacks-2=2515837 -openmodularturrets=2514918 -steves-carts-reborn=2512323 -jei-bees=2490058 -not-enough-items-1-8=2509851 -botania-garden-of-glass=2391198 -hammer-core=2518528 -neat=2436376 -projecte=2518569 -soul-shards-the-old-ways=2502644 -solar-flux-reborn=2485160 -compact-solars=2497832 -wireless-crafting-terminal=2502510 -ex-compressum=2516565 -llibrary=2504999 -p455w0rds-library=2516440 -ore-excavation=2493799 -et-lunar-environmental-tech-addon=2509903 -biometweaker=2518237 -hwyla=2506337 -flux-networks=2512474 -platforms=2511432 -ctm=2485010 -chicken-chunks-1-8=2509854 -minetweaker-recipemaker=2497436 -mmmmmmmmmmmm=2503041 -redstone-paste=2477676 -colossal-chests=2499702 -better-than-bunnies=2477840 -the-spice-of-life=2486848 -inventory-pets=2488018 -hat-stand=2487075 -morph-o-tool=2475117 -ceramics=2489278 -inventory-sorter=2517985 -tiny-progressions=2489292 -minecraft-comes-alive-mca=2483852 -techreborn=2515447 -b-a-s-e=2513730 -mrcrayfish-furniture-mod=2512843 -common-capabilities=2467504 -better-questing=2467353 -engineers-workshop=2512032 -enchiridion=2498022 -akashic-tome=2476494 -better-questing-standard-expansion=2467361 -clumps=2458862 -reauth=2491161 -radixcore=2483855 -integrated-dynamics=2512189 -top-addons=2504625 -quick-leaf-decay=2469364 -crafting-tweaks=2489633 -long-fall-boots=2468868 -xnet=2517060 -mod-name-tooltip=2486868 -ding=2476271 -embers=2495586 -fairy-lights=2513426 -hardcore-map-reset=2434554 -more-overlays=2495438 -endertanks=2502310 -useful-nullifiers=2444884 -moo-fluids=2496365 -integrated-tunnels=2512203 -woot=2518818 -missing-pieces=2490951 -googlyeyes=2487836 -rebornstorage=2515435 -ivtoolkit=2443253 -client-tweaks=2458010 -waddles=2481603 -signals=2508339 -multistorage=2503501 -more-bees=2506997 -chickens=2500767 -the-beneath=2489848 -infinitylib=2516027 -compact-machines=2516780 -storage-drawers-extras=2443623 -gravestone-mod-graves=2512995 -actuallycomputers=2465255 -sound-filters=2445236 -morph=2510763 -hatchery=2518363 -minemenu=2497593 -abyssalcraft=2508832 -more-player-models=2500167 -xnicex=2514040 -pressure-pipes=2476931 -magneticraft=2509347 -more-chickens=2500822 -helpfixer=2479308 -fence-overhaul=2507871 -mekanism=2510812 -astral-sorcery=2509051 -grue=2450761 -armorplus=2514849 -mekanism-generators=2510813 -mekanism-tools=2510814 -security-craft=2512765 -simple-corn=2514701 -recurrent-complex=2516761 -compacter=2490045 -eiramoticons=2489632 -twerk-sim-2k16=2482383 -bloodmoon=2495657 -minecolonies=2515794 -project-74246=2514803 -shear-madness=2482454 -more-shearables=2457644 -tinkers-addons=2476626 -atomicstrykers-infernal-mobs=2510286 -cyclic=2515962 -mmd-orespawn=2518394 -yabba=2501392 -omlib=2514917 -compactstorage=2516873 -calculator=2509148 -betterbedrockgen=2458763 -item-scroller=2434598 -chatflow=2436360 -tesla=2487959 -waystones=2513625 -creeperhost-minetogether=2516905 -refined-relocation-2=2516600 -cosmetic-armor-reworked=2481744 -evilcraft=2512199 -better-title-screen=2481601 -farming-for-blockheads=2468274 -water-strainer=2460195 -sync=2487084 -more-furnaces=2494776 -thedragonlib=2489142 -interaction-wheel=2441962 -tinker-i-o=2497403 -nuclearcraft-mod=2518905 -tough-as-nails=2513237 -notenoughids=2483500 -spartan-shields=2512977 -chococraft=2473983 -backpacks=2500039 -simple-void-world=2498115 -redstone-flux=2448933 -in-game-wiki-mod=2501941 -cofh-world=2513671 -karat-garden=2507970 -plustic=2508052 -silent-lib=2511191 -immersive-petroleum=2514850 -tails=2445532 -exchangers=2517321 -mob-dismemberment=2487081 -viescraft-airships=2515257 -tesla-core-lib=2509629 -ender-utilities=2493036 -dynamic-surroundings=2517428 -base-metals=2494542 -extra-rails=2441517 -hardcore-darkness=2499443 -trashslot=2477077 -cxlibrary=2463886 -wolf-armor-and-storage=2484803 -swingthroughgrass=2508268 -silents-gems=2515159 -mo-bends=2456231 -thermal-cultivation=2518223 -coroutil=2515876 -davincis-vessels=2499846 -industrial-foregoing=2516439 -bad-wither-no-cookie-reloaded=2496777 -ancient-warfare-2=2508991 -lockdown=2477270 -block-armor=2485124 -xtones=2502661 -deathquotes-death-quotes=2435092 -mystical-agradditions=2503986 -atomicstrykers-battle-towers=2497430 -avaritia-1-10=2511625 -industrial-wires=2518475 -gravity-gun=2487073 -movingworld=2485041 -mapwriter-2=2510933 -the-lost-cities=2497882 -simpleharvest=2475234 -better-questing-triggerer=2507971 -mike-dongles=2509354 -holoinventory=2491598 -simple-teleporters=2512726 -refined-storage-addons=2488705 -thutcore=2518922 -just-enough-harvestcraft=2482075 -weather-storms-tornadoes=2515877 -vics-modern-warfare-mod=2513699 -custom-backgrounds=2445809 -infinitefluids=2484246 -schematica=2517396 -login-shield=2496183 -natures-compass=2513221 -lycanites-mobs=2518179 -birds-nests=2514692 -diet-hoppers=2482543 -animania=2508867 -pokecube-revival=2518677 -moar-tinkers=2464145 -tinkers-defense=2506403 -clay-bucket=2463480 -zombie-awareness=2514750 -farseek=2518776 -blur=2460821 -sublib=2516809 -better-with-mods=2516240 -additional-banners=2483859 -streams=2518778 -vending-block=2489400 -dungeon-tactics=2515490 -torohealth-damage-indicators=2483817 -cucumber=2499635 -wings-horns-hooves-the-ultimate-unicorn-mod=2497349 -advanced-capes=2507183 -terraqueous=2517841 -in-control=2516687 -climate-control-geographicraft=2497541 -furnus=2511778 -giacomos-fishing-net=2502206 -vampirism-become-a-vampire=2517879 -block-drops-jei-addon=2509046 -rough-mobs=2503394 -thirsty-bottles=2483838 -better-advancements=2504151 -forgeendertech=2518453 -jei-integration=2491927 -parachutemod=2518715 -silents-gems-extra-parts=2496969 -creativecore=2510047 -rustic=2517218 -actually-baubles=2459131 -toast-control=2512453 -blockcraftery=2485336 -elulib=2506916 -clarity=2507721 -totemic=2514462 -tough-expansion=2494708 -creeper-confetti=2506542 -limelib=2497466 -librarianlib=2508310 -loottweaker=2504521 -better-sprinting=2484515 -tree-chopper=2492770 -crossroads-mc=2497099 -secretroomsmod=2518881 -scaling-health=2516671 -chunk-animator=2432424 -nonausea=2432422 -wearable-backpacks=2502176 -thuts-elevators=2518971 -ice-and-fire-dragons-in-a-whole-new-light=2515807 -stellar-sky=2518124 -oreexcavation-integration=2496519 -pokecube-core=2518921 -gear-swapper=2514041 -void-island-control=2485205 -jaopca=2504029 -teslafied=2484899 -simpleores=2501605 -statues=2493219 -simplecore-api=2501231 -scannable=2485237 -drones=2488533 -dank-null=2515694 -stats-keeper=2499224 -genetics-reborn=2501071 -level-up=2515911 -sophisticated-wolves=2503789 -ore-tweaker=2433748 -pokecube-mobs=2518678 -craftingcraft=2457687 -advanced-hook-launchers=2518455 -dirt2path=2432115 -tool-belt=2461671 -simple-sponge=2457022 -placeable-items=2516576 -dooglamoo-cities=2459766 -itemphysic=2518229 -lapis-stays-in-the-enchanting-table=2460192 -survivalist=2498948 -knob-control=2512487 -modular-routers=2507901 -better-agriculture=2485679 -lucraft-core=2517707 -fence-jumper=2517731 -traverse=2478137 -mob-amputation=2487080 -integration-foregoing=2509227 -crop-dusting=2503050 -back-tools=2487071 -wrapup=2486198 -speedster-heroes=2448503 -stellar-api=2518405 -tumbleweed=2488657 -metamorph=2482041 -good-ol-currency=2490774 -more-loot-tables=2432679 -ambientsounds=2509565 -ompd=2514919 -space-astronomy-tweaks=2509789 -hammer-time=2509579 -edible-bugs=2497196 -jaopcaadditions=2497724 -just-a-few-fish=2448283 -pams-simple-recipes=2445430 -air-support=2497836 -magma-monsters=2463637 -ore-sheep-mod=2509841 -everlastingabilities=2510886 -rough-tweaks=2457682 -mo-villages=2484281 -plants=2503237 -reptilemod=2505844 -loottabletweaker=2485631 -sky-resources=2502580 -immersive-tech=2491360 -world-limiter-mod=2495379 -packmode=2489662 -persistent-bits=2442831 -advanced-inventory=2463903 -ping=2459175 -k4lib=2516105 -littletiles=2515004 -health-and-hunger-tweaks=2474492 -prefab=2497633 -better-than-llamas=2477842 -faster-ladder-climbing=2512758 -pams-get-all-the-seeds=2445431 -thermal-solars=2508509 -bullseye=2478834 -stuff-a-sock-in-it=2518645 -corail-tombstone=2517833 -mxtune=2467937 -rf-lux=2514033 -carry-on=2497037 -capabilityproxy=2514393 -telepad=2517360 -just-enough-buttons=2509288 -the-dalek-mod=2513422 -restricted-portals=2486185 -deadly-monsters=2499522 -wit-what-is-that=2448921 -classic-combat=2454648 -jglrxavpoks-uncrafting-table=2480822 -structured-crafting=2518086 -underp-hangables=2432682 -craftable-horse-armour-saddle-cha-s=2499736 -biome-bundle=2505277 -stackie=2489553 -ffs-fancy-fluid-storage=2459745 -abyssalcraft-integration=2502319 -rainbow-oak-trees=2460463 -career-bees=2518027 -forgiving-void=2516607 -personal-cars=2468026 -keeping-inventory=2510058 -meecreeps=2514029 -tammodized=2482183 -simpleinventorystarter=2505822 -advanced-combat=2486370 -cavern=2497907 -corail-pillar=2484008 -pams-cookables=2504109 -rpg-hud=2483068 -floocraft=2510729 -food-expansion=2457523 -tinkers-complement=2508767 -sky-compression=2500893 -just-enough-dimensions=2480142 -overloaded=2489518 -mattdahepic-core-mdecore=2502051 -batty-ui=2481590 -coralreef=2499501 -extended-crafting=2511863 -more-default-options=2463898 -overpowered-inventory=2447452 -multi-page-chest=2441299 -dark-roleplay-medieval=2496705 -to-the-bat-poles=2475128 -bonsai-trees=2504378 -oc-sensors=2466745 -extra-alchemy=2498172 -advanced-xray=2501984 -crackedzombie=2502610 -trophy-slots=2507560 -death-counter=2477848 -battys-ui-mod-forge=2460421 -pams-clay-spawn=2445432 -justthetips=2468740 -storage-boats-mod=2510275 -pearcel-mod=2493748 -zetta-industries=2497686 -minecraft-minions=2503250 -multibeds=2481686 -hunger-in-peace=2442631 -runes-of-wizardry=2494788 -itank=2502040 -stacksize=2511850 -simple-storage-network=2496193 -dynamic-sword-skills=2504915 -better-with-harder-steel-recipe=2482049 -advanced-chimneys=2518454 -exu2-cursed-earth-ritual=2450585 -environmental-materials=2509940 -runes-of-wizardry-classic-dusts-pack=2494104 -immersive-craft=2514034 -overlord=2511725 -craftstudio-api=2480954 -applied-llamagistics=2496743 -reap-mod=2487055 -custom-starter-gear=2514705 -corail-pillar-extension-chisel=2484060 -rockhounding-mod-core=2506208 -tf2-stuff-mod=2511921 -fun-ores=2481781 -crafting-runes=2503026 -nofov=2432421 -gog-skybox=2436378 -pet-buddy-mod=2516812 -adobe-blocks-2=2482240 -tis-3d=2490981 -futurepack=2512005 -xaeros-minimap=2517393 -placebo=2512449 -angel-of-vengeance=2518977 diff --git a/download.py b/download.py deleted file mode 100644 index b65e76e306e6..000000000000 --- a/download.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Credit asdflj -# @Title 批量模组下载工具 -###################################### - -print("download Script Loading") - -import urllib.request -import urllib.parse -import re -import time - -# 读取 log 文件,做到增量更新 -download_log = open("download.log", 'r', encoding='UTF-8') - -# 创建映射表,记录更新情况 -log_dict = dict() - -# 将上次产生的日志记录到映射表中 -for entry in download_log.readlines(): - if entry != None and entry[0] != '#' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分日志文件条目 - log_dict[entry_list[0]] = entry_list[1] - -download_log.close() - -# 对应不同版本的URL参数,留作备用 -# version = ['1.7.10', 'filter-game-version=' + urllib.parse.quote('2020709689:4449') ] -# version = ['1.8.9', 'filter-game-version=' + urllib.parse.quote('2020709689:5806') ] -# version = ['1.9.4', 'filter-game-version=' + urllib.parse.quote('2020709689:6084') ] -# version = ['1.10.2', 'filter-game-version=' + urllib.parse.quote('2020709689:6170') ] -# version = ['1.11.2, 'filter-game-version=' + urllib.parse.quote('2020709689:6452') ] -version = ['1.12.2', 'filter-game-version=' + - urllib.parse.quote('2020709689:6756')] - -# 创建并重置日志文件,记录下载进度 -download_log = open("download.log", 'w', encoding='UTF-8') -download_log.writelines( - "# " + time.strftime("%Y-%m-%d-%H:%M:%S", time.localtime()) + "\n\n") -print("# " + time.strftime("%Y-%m-%d-%H:%M:%S", time.localtime()) + "\n\n") -download_log.close() - -# 开始遍历 curseforge 页面,暂定为前 30 页 -for num in range(1, 30): - # 限定版本,按照下载量排序 - url = "https://www.curseforge.com/minecraft/mc-mods?" + \ - version[1] + "&filter-sort=downloads" + "&page=" + str(num) - data = urllib.request.urlopen(url).read() - data = data.decode('utf-8') - - # 正则抓取 mod id - modid = re.findall(r"href=\"/minecraft/mc-mods/(.*)/download\"", data) - - for i in modid: - # 找到 mod 下载页面 - url = "https://www.curseforge.com/minecraft/mc-mods/" + \ - i + "/files/?" + version[1] - data = urllib.request.urlopen(url).read() - data = data.decode('utf-8') - - # 正则抓取文件id,文件名称 - project_file_id = re.findall(r"\"ProjectFileID\": (.*),", data) - - try: - # 这一块会出问题 - # alpha版本模组不会提供下载界面 - # 但是限定版本页面中却会出现 - # 故用 try 语句来抓取错误 - project_file_id[0] - - url = "https://www.curseforge.com/minecraft/mc-mods/" + \ - i + "/download/" + project_file_id[0] + "/file" - # 用 geturl 方法得到真正的下载地址 - real_url = urllib.request.urlopen(url).geturl() - - # 输出到屏幕 - print("###############################" + "\n" - + "下载模组:" + i + "\n" - + "下载地址:" + real_url + "\n" - + "文件ID:" + project_file_id[0] + "\n" - + "页数:" + str(num) + "\n" - + "###############################") - - # 开始尝试检测映射表 - try: - if int(log_dict[i]) == int(project_file_id[0]): - print("这个模组已经下载过了\n") - # 写入日志中 - download_log = open("download.log", 'a', encoding='UTF-8') - download_log.write(i + "=" + project_file_id[0] + "\n") - download_log.close() - else: - # 下载 mod - urllib.request.urlretrieve( - real_url, "./mods/" + project_file_id[0]) - print(i + " 模组更新完毕\n") - # 写入日志中 - download_log = open("download.log", 'a', encoding='UTF-8') - download_log.write(i + "=" + project_file_id[0] + "\n") - download_log.close() - except: - print("新增模组:" + i) - # 下载 mod,因为网速不行,暂时关闭 - urllib.request.urlretrieve( - real_url, "./mods/" + project_file_id[0]) - print(i + " 模组更新完毕\n") - # 写入日志中 - download_log = open("download.log", 'a', encoding='UTF-8') - download_log.write(i + "=" + project_file_id[0] + "\n") - download_log.close() - except: - print("看起来这个模组目前只有alpha版本,不建议下载\n") - -print("download Script Stop Load") diff --git a/info.py b/info.py deleted file mode 100644 index 52941be564ea..000000000000 --- a/info.py +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 语言文件分析工具 -###################################### - -print("info Script Loading") - -import re -import os -import time - -# 存储分析信息 -info_list = list() -fre_list = list() - -# 开始遍历 assets 文件夹 -for root, dirs, files in os.walk("./assets", topdown=False): - for name in files: - # 找到符合这个正则匹配的语言文件 - modid = re.findall(r"./assets/(.*)/lang/en_us.lang", - os.path.join(root, name)) - - # 不符合的会抛出异常,先用try语句包裹 - # 读取文件 - try: - en_us = open("./assets/" + modid[0] + - "/lang/en_us.lang", 'r', encoding='UTF-8') - zh_cn = open("./assets/" + modid[0] + - "/lang/zh_cn.lang", 'r', encoding='UTF-8') - except: - print("文件不存在") - continue - - # 放置中英文映射表 - en_dict = dict() - zh_dict = dict() - - # 放置英文空key,用以for循环查找 - en_key = list() - - try: - for entry in en_us.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - # 空key文件为之后for循环查找提供参考 - en_key.append(entry_list[0]) - en_dict[entry_list[0]] = entry_list[1] - - for entry in zh_cn.readlines(): - if entry != None and entry[0] != '#' and entry[0] != '/' and '=' in entry: - entry_list = entry.split('=', 1) # 依据等号切分语言文件条目 - zh_dict[entry_list[0]] = entry_list[1] - except: - print("编码有问题") - - en_us.close() - zh_cn.close() - - # 分析数据记录初始化 - total = len(en_key) - english = chinese = 0 - - for entry in en_key: - is_english = False # 记录是否为英文文本 - - try: # 如果给定的英文key在中文映射表中不存在,抛出异常 - en_dict[entry] = zh_dict[entry] - chinese = chinese + 1 - except: - for charset in en_dict[entry]: - # 在 0041 到 005a, 0061 到 007a 之间为 26 个基本英文字母 - if (u'\u0041' <= charset <= u'\u005a') or (u'\u0061' <= charset <= u'\u007a'): - is_english = True - - if is_english: - english = english + 1 - - # 将分析得到的数据全部处理,放入 list 中 - info_list.append(modid[0] + "/" + str(total) + - "/" + str(english) + "/" + str(chinese)) - fre_list.append(str(english) + "/" + modid[0]) - -# 这个函数是给之后排序用的 -# 功能是拆分字符串,将英文词条数变成int类型 - - -def trans_int(str): - a = str.split("/", 1) - b = int(a[0]) - return b - - -# 然后调用这个函数来处理字符串 -# 而后排序,注意是降序排序 -fre_list.sort(key=trans_int, reverse=True) - -# 排序,这样就能够得到按照字母排序的模组信息列表了 -info_list.sort() - -# 创建 process.md 文件 -process = open("process.md", 'w', encoding='UTF-8') - -# 写入头文件 -process.writelines("# 词条更新分频统计列表\n更新时间:" + - time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + "\n\n") - -# 感觉分频统计就挺好,暂时禁用这个全统计 -# process.writelines("| 序号 | modid | 总条目 | 未翻译条目 | 已翻译条目 | 翻译比重 | \n") -# process.write("| :--: | :--: | :--: | :--: | :--: | :--: | \n") - -# width, num 分别记录进度和序号 -width, num = 0, 1 -# 这三个用以统计全局数据 -total_all, total_en, total_zh = 0, 0, 0 - -for entry in info_list: - # 开始拆分字符串,读取出数据 - entry_list = entry.split("/", 3) - - # 先统计全局数据 - total_all = total_all + int(entry_list[1]) - total_en = total_en + int(entry_list[2]) - total_zh = total_zh + int(entry_list[3]) - - # 极个别模组处理后不存在语言文件,分母为0,强制限定其为100% - if int(entry_list[1]) == 0: - width = 100 - else: - width = (int(entry_list[1]) - int(entry_list[2]) - ) / int(entry_list[1]) * 100 - width = round(width, 2) - - # process.write(" | " + str(num) + " | " + entry_list[0] + " | " + entry_list[1] + - # " | " + entry_list[2] + " | " + entry_list[3] + " | " + str(width) + "% | \n") - - # 别忘了,序号加一 - num = num + 1 - -# 最后,行尾加上全局统计数据 -process.write("总计词条数:" + str(total_all) + " \n") -process.write("英文条数:" + str(total_en) + " \n") -process.write("中文条数:" + str(total_zh) + " \n") - -if total_all == 0: - percentage = 100 -else: - percentage = round(((total_all - total_en) / total_all * 100), 2) - -process.write( - "完成率:" + str(percentage) + "% \n") - -# 对未翻译数按照数量,进行统计 -# num用了记录个数 -num1 = num2 = num3 = num4 = 1 -# entry用来记录行数 -entry1 = entry2 = entry3 = entry4 = 0 - -for entry in fre_list: - # 开始拆分字符串,读取出数据 - entry_list = entry.split("/", 1) - - # 大于等于500的,单独一个表格 - # 用num1来判定是否写表格头文件 - # 如果写完一次头文件后,num1存储数值已经不是1了,就无法再次写入头文件 - # 从而避免头文件重复 - if num1 == 1: - process.write("\n## 未翻译条目大于等于500行 \n") - process.write("| 序号 | modid | 未翻译条目 | \n") - process.write("| :--: | :--: | :--: | \n") - if int(entry_list[0]) >= 500: - process.write(" | " + str(num1) + " | " + - entry_list[1] + " | " + entry_list[0] + " | \n") - num1 = num1 + 1 - entry1 = entry1 + int(entry_list[0]) - continue - - # 大于等于100的,单独一个表格 - if num2 == 1: - process.write("\n## 未翻译条目大于等于100行 \n") - process.write("| 序号 | modid | 未翻译条目 | \n") - process.write("| :--: | :--: | :--: | \n") - if 100 <= int(entry_list[0]) < 500: - process.write(" | " + str(num2) + " | " + - entry_list[1] + " | " + entry_list[0] + " | \n") - num2 = num2 + 1 - entry2 = entry2 + int(entry_list[0]) - continue - - # 大于等于10的,单独一个表格 - if num3 == 1: - process.write("\n## 未翻译条目大于等于10行 \n") - process.write("| 序号 | modid | 未翻译条目 | \n") - process.write("| :--: | :--: | :--: | \n") - if 10 <= int(entry_list[0]) < 100: - process.write(" | " + str(num3) + " | " + - entry_list[1] + " | " + entry_list[0] + " | \n") - num3 = num3 + 1 - entry3 = entry3 + int(entry_list[0]) - continue - - # 小于10个的单独一个表格 - if num4 == 1: - process.write("\n## 未翻译条目小于10行 \n") - process.write("| 序号 | modid | 未翻译条目 | \n") - process.write("| :--: | :--: | :--: | \n") - if 0 < int(entry_list[0]) < 10: - process.write(" | " + str(num4) + " | " + - entry_list[1] + " | " + entry_list[0] + " | \n") - num4 = num4 + 1 - entry4 = entry4 + int(entry_list[0]) - continue - -# 最后,行尾加上分频统计数据 -if total_en != 0: - process.write("### 未翻译条目大于等于 500 行的模组有 " + str(num1) + - " 个,占到了未翻译行数的 " + str(round(entry1 / total_en * 100, 2)) + " % 。\n") - process.write("### 未翻译条目大于等于 100 行的模组有 " + str(num2) + - " 个,占到了未翻译行数的 " + str(round(entry2 / total_en * 100, 2)) + " % 。\n") - process.write("### 未翻译条目大于等于 10 行的模组有 " + str(num3) + - " 个,占到了未翻译行数的 " + str(round(entry3 / total_en * 100, 2)) + " % 。\n") - process.write("### 未翻译条目大于等于 1 行的模组有 " + str(num4) + - " 个,占到了未翻译行数的 " + str(round(entry4 / total_en * 100, 2)) + " % 。\n") - -process.close() diff --git a/logs/modpacks/1970-01-01-00-00-00.csv b/logs/modpacks/1970-01-01-00-00-00.csv new file mode 100644 index 000000000000..996012c52731 --- /dev/null +++ b/logs/modpacks/1970-01-01-00-00-00.csv @@ -0,0 +1 @@ +Url Name,Project ID,File ID diff --git a/logs/modpacks/mods/1970-01-01-00-00-00.csv b/logs/modpacks/mods/1970-01-01-00-00-00.csv new file mode 100644 index 000000000000..996012c52731 --- /dev/null +++ b/logs/modpacks/mods/1970-01-01-00-00-00.csv @@ -0,0 +1 @@ +Url Name,Project ID,File ID diff --git a/logs/mods/1970-01-01-00-00-00.csv b/logs/mods/1970-01-01-00-00-00.csv new file mode 100644 index 000000000000..996012c52731 --- /dev/null +++ b/logs/mods/1970-01-01-00-00-00.csv @@ -0,0 +1 @@ +Url Name,Project ID,File ID diff --git a/main.py b/main.py new file mode 100644 index 000000000000..13efa1e713a0 --- /dev/null +++ b/main.py @@ -0,0 +1,31 @@ +#!/usr/bin/python3 +import os + +# 清除先前的零时文件 +os.system('rm -rf /tmp/mods') +os.system('rm -rf /tmp/modpacks') + +# mod 信息抓取 +import src.crawler.mod_info_get + +# modpack 信息抓取、下载、解压 +import src.crawler.modpack_info_get +import src.crawler.modpack_downloader +import src.unzip.modpack_unzip + +# modpack 中的 mod 信息抓取 +import src.crawler.modpack_mod_info_get + +# 开始下载 mod +import src.crawler.mod_downloader +import src.crawler.modpack_mod_downloader + +# 最后,解压语言文件 +import src.unzip.mod_unzip + +# 开始处理语言文件 +import src.handle.handle + +# 再次清除先前的零时文件 +os.system('rm -rf /tmp/mods') +os.system('rm -rf /tmp/modpacks') diff --git a/process.md b/process.md deleted file mode 100644 index eee848d16ea2..000000000000 --- a/process.md +++ /dev/null @@ -1,1674 +0,0 @@ -# 词条更新分频统计列表 -更新时间:2018-01-11 20:47:25 - -总计词条数:65712 -英文条数:6899 -中文条数:58618 -完成率:89.5% - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于100行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 1 | nuclearcraft | 422 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 2 | vc | 393 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 3 | securitycraft | 372 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 4 | crossroads | 364 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 5 | xreliquary | 258 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 6 | thebetweenlands | 234 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 7 | props | 221 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 8 | inventorypets | 201 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 9 | mikedongles | 195 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 10 | customnpcs | 175 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 11 | pokecube_adventures | 166 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 12 | mw | 161 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 13 | integrateddynamicscompat | 158 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 14 | evilcraftcompat | 154 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 15 | tombstone | 121 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 16 | ultimate_unicorn_mod | 118 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 17 | evilcraft | 117 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 18 | schematica | 117 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于10行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 1 | integrateddynamics | 97 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 2 | statues | 94 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 3 | botania | 89 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 4 | silentgems | 86 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 5 | justenoughdimensions | 81 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 6 | reccomplex | 79 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 7 | terraqueous | 76 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 8 | refinedstorage | 73 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 9 | forestry | 71 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 10 | randomthings | 62 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 11 | twilightforest | 53 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 12 | morechickens | 52 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 13 | cyclicmagic | 52 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 14 | acintegration | 52 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 15 | journeymap | 51 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 16 | tails | 51 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 17 | morph | 48 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 18 | parachutemod | 48 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 19 | ftbu | 47 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 20 | cofh | 46 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 21 | careerbees | 45 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 22 | thermalexpansion | 43 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 23 | projecte | 42 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 24 | ancientwarfare | 42 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 25 | openmods | 41 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 26 | mekanism | 40 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 27 | appliedenergistics2 | 40 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 28 | sc | 39 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 29 | opencomputers | 38 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 30 | openmodularturrets | 36 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 31 | astralsorcery | 36 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 32 | littletiles | 35 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 33 | xtones | 35 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 34 | simplyjetpacks | 33 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 35 | spartanshields | 30 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 36 | sgextraparts | 30 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 37 | gravitygun | 28 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 38 | dsurround | 27 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 39 | hats | 26 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 40 | sync | 26 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 41 | immersiveengineering | 25 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 42 | stevescarts | 24 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 43 | psi | 24 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 44 | lycanitesmobs | 23 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 45 | rftools | 23 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 46 | wolfarmor | 22 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 47 | industrialwires | 22 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 48 | capabilityproxy | 21 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 49 | mapwriter | 21 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 50 | jeiintegration | 20 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 51 | minecolonies | 19 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 52 | enderutilities | 19 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 53 | minetogetherserver | 19 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 54 | scalinghealth | 19 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 55 | armorplus | 19 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 56 | ichunutil | 18 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 57 | hammercore | 16 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 58 | actuallyadditions | 15 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 59 | tconstruct | 15 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 60 | embers | 14 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 61 | funkylocomotion | 14 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 62 | structuredcrafting | 14 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 63 | magicbees | 14 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 64 | tis3d | 13 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 65 | compactmachines3 | 11 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 66 | chiselsandbits | 11 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 67 | ftbl | 11 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 68 | carryon | 11 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 69 | refinedrelocation | 10 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 70 | ingameinfo | 10 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 71 | shadowmobs | 10 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 72 | teslacorelib | 10 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目小于10行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 1 | totemic | 9 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 2 | ocsensors | 9 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 3 | tcomplement | 9 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 4 | extendedcrafting | 9 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 5 | waystones | 9 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 6 | plustic | 8 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 7 | bibliocraft | 8 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 8 | freshwatermobs | 8 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 9 | nei | 7 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 10 | veinminer | 7 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 11 | signals | 7 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 12 | extrautils2 | 7 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 13 | jei | 7 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 14 | scannable | 6 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 15 | excompressum | 6 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 16 | saltwatermobs | 6 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 17 | zerocore | 6 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 18 | eleccore | 6 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 19 | fp | 6 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 20 | storagedrawers | 6 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 21 | eiramoticons | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 22 | plainsmobs | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 23 | thutcore | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 24 | harvestcraft | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 25 | personalcars | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 26 | cyclopscore | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 27 | creeperhost | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 28 | plants2 | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 29 | betterwithmods | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 30 | thermalfoundation | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 31 | advgenerators | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 32 | storagenetwork | 5 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 33 | vampirism | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 34 | lteleporters | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 35 | draconicevolution | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 36 | jaopca | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 37 | immersivepetroleum | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 38 | levelup2 | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 39 | flatcoloredblocks | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 40 | integratedtunnels | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 41 | waila | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 42 | techreborn | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 43 | malisisdoors | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 44 | backpacks16840 | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 45 | thedragonlib | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 46 | solarfluxreborn | 4 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 47 | mputils | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 48 | guideapi | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 49 | magneticraft | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 50 | malisiscore | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 51 | gravestone | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 52 | tinkertoolleveling | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 53 | rftoolsdim | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 54 | cfm | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 55 | tinker_io | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 56 | fairylights | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 57 | morebees | 3 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 58 | bigreactors | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 59 | thermaldynamics | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 60 | wawla | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 61 | itemscroller | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 62 | swampmobs | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 63 | missing_pieces | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 64 | darkutils | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 65 | xnet | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 66 | shadowmc | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 67 | topaddons | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 68 | multistorage | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 69 | yabba | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 70 | placementpreview | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 71 | voxelmap | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 72 | presets | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 73 | immersivetech | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 74 | theoneprobe | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 75 | aromabackuprecovery | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 76 | exchangers | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 77 | zettaindustries | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 78 | immcraft | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 79 | openblocks | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 80 | mcopts | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 81 | igwmod | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 82 | valkyrielib | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 83 | tp | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 84 | betterquesting | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 85 | enchiridion | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 86 | hatchery | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 87 | woot | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 88 | rebornstorage | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 89 | deepresonance | 2 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 90 | ironchest | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 91 | blockcraftery | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 92 | pokecube_compat | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 93 | platforms | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 94 | roots | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 95 | bdlib | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 96 | farmingforblockheads | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 97 | chococraft | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 98 | betterwithhardersteelrecipe | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 99 | overlord | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 100 | engineersworkshop | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 101 | wct | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 102 | bettersprinting | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 103 | clienttweaks | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 104 | tanaddons | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 105 | overloaded | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 106 | enderstorage | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 107 | davincisvessels | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 108 | flyringbaublemod | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 109 | brandonscore | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 110 | chickens | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 111 | shearmadness | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 112 | compactstorage | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 113 | elulib | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 114 | soulshardstow | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 115 | hardcoremapreset | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 116 | furnus | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 117 | simplesponge | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 118 | rangedpumps | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 119 | chickenchunks | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 120 | ae2stuff | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 121 | aroma1997core | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 122 | rustic | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 123 | infernalmobs | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 124 | industrialforegoing | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - | 125 | tesla | 1 | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | - -## 未翻译条目大于等于500行 -| 序号 | modid | 未翻译条目 | -| :--: | :--: | :--: | -### 未翻译条目大于等于 500 行的模组有 1 个,占到了未翻译行数的 0.0 % 。 -### 未翻译条目大于等于 100 行的模组有 19 个,占到了未翻译行数的 57.21 % 。 -### 未翻译条目大于等于 10 行的模组有 73 个,占到了未翻译行数的 37.06 % 。 -### 未翻译条目大于等于 1 行的模组有 126 个,占到了未翻译行数的 5.73 % 。 diff --git a/assets/abyssalcraft/lang/en_us.lang b/project/assets/abyssalcraft/lang/en_us.lang similarity index 100% rename from assets/abyssalcraft/lang/en_us.lang rename to project/assets/abyssalcraft/lang/en_us.lang diff --git a/assets/abyssalcraft/lang/zh_cn.lang b/project/assets/abyssalcraft/lang/zh_cn.lang similarity index 100% rename from assets/abyssalcraft/lang/zh_cn.lang rename to project/assets/abyssalcraft/lang/zh_cn.lang diff --git a/assets/abyssalcraft/lang/zh_cn_old.lang b/project/assets/abyssalcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/abyssalcraft/lang/zh_cn_old.lang rename to project/assets/abyssalcraft/lang/zh_cn_old.lang diff --git a/assets/acintegration/lang/en_us.lang b/project/assets/acintegration/lang/en_us.lang similarity index 100% rename from assets/acintegration/lang/en_us.lang rename to project/assets/acintegration/lang/en_us.lang diff --git a/assets/acintegration/lang/zh_cn.lang b/project/assets/acintegration/lang/zh_cn.lang similarity index 100% rename from assets/acintegration/lang/zh_cn.lang rename to project/assets/acintegration/lang/zh_cn.lang diff --git a/assets/acintegration/lang/zh_cn_old.lang b/project/assets/acintegration/lang/zh_cn_old.lang similarity index 100% rename from assets/acintegration/lang/zh_cn_old.lang rename to project/assets/acintegration/lang/zh_cn_old.lang diff --git a/assets/actuallyadditions/lang/en_us.lang b/project/assets/actuallyadditions/lang/en_us.lang similarity index 100% rename from assets/actuallyadditions/lang/en_us.lang rename to project/assets/actuallyadditions/lang/en_us.lang diff --git a/assets/actuallyadditions/lang/zh_cn.lang b/project/assets/actuallyadditions/lang/zh_cn.lang similarity index 100% rename from assets/actuallyadditions/lang/zh_cn.lang rename to project/assets/actuallyadditions/lang/zh_cn.lang diff --git a/assets/actuallyadditions/lang/zh_cn_old.lang b/project/assets/actuallyadditions/lang/zh_cn_old.lang similarity index 100% rename from assets/actuallyadditions/lang/zh_cn_old.lang rename to project/assets/actuallyadditions/lang/zh_cn_old.lang diff --git a/assets/adchimneys/lang/zh_cn.lang b/project/assets/adchimneys/lang/zh_cn.lang similarity index 100% rename from assets/adchimneys/lang/zh_cn.lang rename to project/assets/adchimneys/lang/zh_cn.lang diff --git a/assets/adchimneys/lang/zh_cn_old.lang b/project/assets/adchimneys/lang/zh_cn_old.lang similarity index 100% rename from assets/adchimneys/lang/zh_cn_old.lang rename to project/assets/adchimneys/lang/zh_cn_old.lang diff --git a/assets/additionalbanners/lang/en_us.lang b/project/assets/additionalbanners/lang/en_us.lang similarity index 100% rename from assets/additionalbanners/lang/en_us.lang rename to project/assets/additionalbanners/lang/en_us.lang diff --git a/assets/additionalbanners/lang/zh_cn.lang b/project/assets/additionalbanners/lang/zh_cn.lang similarity index 100% rename from assets/additionalbanners/lang/zh_cn.lang rename to project/assets/additionalbanners/lang/zh_cn.lang diff --git a/assets/additionalbanners/lang/zh_cn_old.lang b/project/assets/additionalbanners/lang/zh_cn_old.lang similarity index 100% rename from assets/additionalbanners/lang/zh_cn_old.lang rename to project/assets/additionalbanners/lang/zh_cn_old.lang diff --git a/assets/adhooks/lang/zh_cn.lang b/project/assets/adhooks/lang/zh_cn.lang similarity index 100% rename from assets/adhooks/lang/zh_cn.lang rename to project/assets/adhooks/lang/zh_cn.lang diff --git a/assets/adhooks/lang/zh_cn_old.lang b/project/assets/adhooks/lang/zh_cn_old.lang similarity index 100% rename from assets/adhooks/lang/zh_cn_old.lang rename to project/assets/adhooks/lang/zh_cn_old.lang diff --git a/assets/adobeblocks/lang/zh_cn.lang b/project/assets/adobeblocks/lang/zh_cn.lang similarity index 100% rename from assets/adobeblocks/lang/zh_cn.lang rename to project/assets/adobeblocks/lang/zh_cn.lang diff --git a/assets/adobeblocks/lang/zh_cn_old.lang b/project/assets/adobeblocks/lang/zh_cn_old.lang similarity index 100% rename from assets/adobeblocks/lang/zh_cn_old.lang rename to project/assets/adobeblocks/lang/zh_cn_old.lang diff --git a/assets/advanced_machines/lang/zh_cn.lang b/project/assets/advanced_machines/lang/zh_cn.lang similarity index 100% rename from assets/advanced_machines/lang/zh_cn.lang rename to project/assets/advanced_machines/lang/zh_cn.lang diff --git a/assets/advanced_machines/lang/zh_cn_old.lang b/project/assets/advanced_machines/lang/zh_cn_old.lang similarity index 100% rename from assets/advanced_machines/lang/zh_cn_old.lang rename to project/assets/advanced_machines/lang/zh_cn_old.lang diff --git a/assets/advanced_solar_panels/lang/zh_cn.lang b/project/assets/advanced_solar_panels/lang/zh_cn.lang similarity index 100% rename from assets/advanced_solar_panels/lang/zh_cn.lang rename to project/assets/advanced_solar_panels/lang/zh_cn.lang diff --git a/assets/advanced_solar_panels/lang/zh_cn_old.lang b/project/assets/advanced_solar_panels/lang/zh_cn_old.lang similarity index 100% rename from assets/advanced_solar_panels/lang/zh_cn_old.lang rename to project/assets/advanced_solar_panels/lang/zh_cn_old.lang diff --git a/assets/advancedcapes/lang/en_us.lang b/project/assets/advancedcapes/lang/en_us.lang similarity index 100% rename from assets/advancedcapes/lang/en_us.lang rename to project/assets/advancedcapes/lang/en_us.lang diff --git a/assets/advancedcapes/lang/zh_cn.lang b/project/assets/advancedcapes/lang/zh_cn.lang similarity index 100% rename from assets/advancedcapes/lang/zh_cn.lang rename to project/assets/advancedcapes/lang/zh_cn.lang diff --git a/assets/advancedcapes/lang/zh_cn_old.lang b/project/assets/advancedcapes/lang/zh_cn_old.lang similarity index 100% rename from assets/advancedcapes/lang/zh_cn_old.lang rename to project/assets/advancedcapes/lang/zh_cn_old.lang diff --git a/assets/advancedcombat/lang/zh_cn.lang b/project/assets/advancedcombat/lang/zh_cn.lang similarity index 100% rename from assets/advancedcombat/lang/zh_cn.lang rename to project/assets/advancedcombat/lang/zh_cn.lang diff --git a/assets/advancedcombat/lang/zh_cn_old.lang b/project/assets/advancedcombat/lang/zh_cn_old.lang similarity index 100% rename from assets/advancedcombat/lang/zh_cn_old.lang rename to project/assets/advancedcombat/lang/zh_cn_old.lang diff --git a/assets/advancedrocketry/lang/zh_cn.lang b/project/assets/advancedrocketry/lang/zh_cn.lang similarity index 100% rename from assets/advancedrocketry/lang/zh_cn.lang rename to project/assets/advancedrocketry/lang/zh_cn.lang diff --git a/assets/advancedrocketry/lang/zh_cn_old.lang b/project/assets/advancedrocketry/lang/zh_cn_old.lang similarity index 100% rename from assets/advancedrocketry/lang/zh_cn_old.lang rename to project/assets/advancedrocketry/lang/zh_cn_old.lang diff --git a/assets/advgenerators/lang/en_us.lang b/project/assets/advgenerators/lang/en_us.lang similarity index 100% rename from assets/advgenerators/lang/en_us.lang rename to project/assets/advgenerators/lang/en_us.lang diff --git a/assets/advgenerators/lang/zh_cn.lang b/project/assets/advgenerators/lang/zh_cn.lang similarity index 100% rename from assets/advgenerators/lang/zh_cn.lang rename to project/assets/advgenerators/lang/zh_cn.lang diff --git a/assets/advgenerators/lang/zh_cn_old.lang b/project/assets/advgenerators/lang/zh_cn_old.lang similarity index 100% rename from assets/advgenerators/lang/zh_cn_old.lang rename to project/assets/advgenerators/lang/zh_cn_old.lang diff --git a/assets/advinv/lang/zh_cn.lang b/project/assets/advinv/lang/zh_cn.lang similarity index 100% rename from assets/advinv/lang/zh_cn.lang rename to project/assets/advinv/lang/zh_cn.lang diff --git a/assets/advinv/lang/zh_cn_old.lang b/project/assets/advinv/lang/zh_cn_old.lang similarity index 100% rename from assets/advinv/lang/zh_cn_old.lang rename to project/assets/advinv/lang/zh_cn_old.lang diff --git a/assets/ae2stuff/lang/en_us.lang b/project/assets/ae2stuff/lang/en_us.lang similarity index 100% rename from assets/ae2stuff/lang/en_us.lang rename to project/assets/ae2stuff/lang/en_us.lang diff --git a/assets/ae2stuff/lang/zh_cn.lang b/project/assets/ae2stuff/lang/zh_cn.lang similarity index 100% rename from assets/ae2stuff/lang/zh_cn.lang rename to project/assets/ae2stuff/lang/zh_cn.lang diff --git a/assets/ae2stuff/lang/zh_cn_old.lang b/project/assets/ae2stuff/lang/zh_cn_old.lang similarity index 100% rename from assets/ae2stuff/lang/zh_cn_old.lang rename to project/assets/ae2stuff/lang/zh_cn_old.lang diff --git a/assets/air_support/lang/zh_cn.lang b/project/assets/air_support/lang/zh_cn.lang similarity index 100% rename from assets/air_support/lang/zh_cn.lang rename to project/assets/air_support/lang/zh_cn.lang diff --git a/assets/air_support/lang/zh_cn_old.lang b/project/assets/air_support/lang/zh_cn_old.lang similarity index 100% rename from assets/air_support/lang/zh_cn_old.lang rename to project/assets/air_support/lang/zh_cn_old.lang diff --git a/assets/akashictome/lang/en_us.lang b/project/assets/akashictome/lang/en_us.lang similarity index 100% rename from assets/akashictome/lang/en_us.lang rename to project/assets/akashictome/lang/en_us.lang diff --git a/assets/akashictome/lang/zh_cn.lang b/project/assets/akashictome/lang/zh_cn.lang similarity index 100% rename from assets/akashictome/lang/zh_cn.lang rename to project/assets/akashictome/lang/zh_cn.lang diff --git a/assets/akashictome/lang/zh_cn_old.lang b/project/assets/akashictome/lang/zh_cn_old.lang similarity index 100% rename from assets/akashictome/lang/zh_cn_old.lang rename to project/assets/akashictome/lang/zh_cn_old.lang diff --git a/assets/ancientwarfare/lang/en_us.lang b/project/assets/ancientwarfare/lang/en_us.lang similarity index 100% rename from assets/ancientwarfare/lang/en_us.lang rename to project/assets/ancientwarfare/lang/en_us.lang diff --git a/assets/ancientwarfare/lang/zh_cn.lang b/project/assets/ancientwarfare/lang/zh_cn.lang similarity index 100% rename from assets/ancientwarfare/lang/zh_cn.lang rename to project/assets/ancientwarfare/lang/zh_cn.lang diff --git a/assets/ancientwarfare/lang/zh_cn_old.lang b/project/assets/ancientwarfare/lang/zh_cn_old.lang similarity index 100% rename from assets/ancientwarfare/lang/zh_cn_old.lang rename to project/assets/ancientwarfare/lang/zh_cn_old.lang diff --git a/assets/animania/lang/en_us.lang b/project/assets/animania/lang/en_us.lang similarity index 100% rename from assets/animania/lang/en_us.lang rename to project/assets/animania/lang/en_us.lang diff --git a/assets/animania/lang/zh_cn.lang b/project/assets/animania/lang/zh_cn.lang similarity index 100% rename from assets/animania/lang/zh_cn.lang rename to project/assets/animania/lang/zh_cn.lang diff --git a/assets/animania/lang/zh_cn_old.lang b/project/assets/animania/lang/zh_cn_old.lang similarity index 100% rename from assets/animania/lang/zh_cn_old.lang rename to project/assets/animania/lang/zh_cn_old.lang diff --git a/assets/aov/lang/zh_cn.lang b/project/assets/aov/lang/zh_cn.lang similarity index 100% rename from assets/aov/lang/zh_cn.lang rename to project/assets/aov/lang/zh_cn.lang diff --git a/assets/aov/lang/zh_cn_old.lang b/project/assets/aov/lang/zh_cn_old.lang similarity index 100% rename from assets/aov/lang/zh_cn_old.lang rename to project/assets/aov/lang/zh_cn_old.lang diff --git a/assets/aperture/lang/zh_cn.lang b/project/assets/aperture/lang/zh_cn.lang similarity index 100% rename from assets/aperture/lang/zh_cn.lang rename to project/assets/aperture/lang/zh_cn.lang diff --git a/assets/aperture/lang/zh_cn_old.lang b/project/assets/aperture/lang/zh_cn_old.lang similarity index 100% rename from assets/aperture/lang/zh_cn_old.lang rename to project/assets/aperture/lang/zh_cn_old.lang diff --git a/assets/applecore/lang/en_us.lang b/project/assets/applecore/lang/en_us.lang similarity index 100% rename from assets/applecore/lang/en_us.lang rename to project/assets/applecore/lang/en_us.lang diff --git a/assets/applecore/lang/zh_cn.lang b/project/assets/applecore/lang/zh_cn.lang similarity index 100% rename from assets/applecore/lang/zh_cn.lang rename to project/assets/applecore/lang/zh_cn.lang diff --git a/assets/applecore/lang/zh_cn_old.lang b/project/assets/applecore/lang/zh_cn_old.lang similarity index 100% rename from assets/applecore/lang/zh_cn_old.lang rename to project/assets/applecore/lang/zh_cn_old.lang diff --git a/assets/appliedenergistics2/lang/en_us.lang b/project/assets/appliedenergistics2/lang/en_us.lang similarity index 100% rename from assets/appliedenergistics2/lang/en_us.lang rename to project/assets/appliedenergistics2/lang/en_us.lang diff --git a/assets/appliedenergistics2/lang/zh_cn.lang b/project/assets/appliedenergistics2/lang/zh_cn.lang similarity index 100% rename from assets/appliedenergistics2/lang/zh_cn.lang rename to project/assets/appliedenergistics2/lang/zh_cn.lang diff --git a/assets/appliedenergistics2/lang/zh_cn_old.lang b/project/assets/appliedenergistics2/lang/zh_cn_old.lang similarity index 100% rename from assets/appliedenergistics2/lang/zh_cn_old.lang rename to project/assets/appliedenergistics2/lang/zh_cn_old.lang diff --git a/assets/aquamunda/lang/zh_cn.lang b/project/assets/aquamunda/lang/zh_cn.lang similarity index 100% rename from assets/aquamunda/lang/zh_cn.lang rename to project/assets/aquamunda/lang/zh_cn.lang diff --git a/assets/aquamunda/lang/zh_cn_old.lang b/project/assets/aquamunda/lang/zh_cn_old.lang similarity index 100% rename from assets/aquamunda/lang/zh_cn_old.lang rename to project/assets/aquamunda/lang/zh_cn_old.lang diff --git a/assets/architect/lang/zh_cn.lang b/project/assets/architect/lang/zh_cn.lang similarity index 100% rename from assets/architect/lang/zh_cn.lang rename to project/assets/architect/lang/zh_cn.lang diff --git a/assets/architect/lang/zh_cn_old.lang b/project/assets/architect/lang/zh_cn_old.lang similarity index 100% rename from assets/architect/lang/zh_cn_old.lang rename to project/assets/architect/lang/zh_cn_old.lang diff --git a/assets/arcticmobs/lang/en_us.lang b/project/assets/arcticmobs/lang/en_us.lang similarity index 100% rename from assets/arcticmobs/lang/en_us.lang rename to project/assets/arcticmobs/lang/en_us.lang diff --git a/assets/arcticmobs/lang/zh_cn.lang b/project/assets/arcticmobs/lang/zh_cn.lang similarity index 100% rename from assets/arcticmobs/lang/zh_cn.lang rename to project/assets/arcticmobs/lang/zh_cn.lang diff --git a/assets/arcticmobs/lang/zh_cn_old.lang b/project/assets/arcticmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/arcticmobs/lang/zh_cn_old.lang rename to project/assets/arcticmobs/lang/zh_cn_old.lang diff --git a/assets/armorplus/lang/en_us.lang b/project/assets/armorplus/lang/en_us.lang similarity index 100% rename from assets/armorplus/lang/en_us.lang rename to project/assets/armorplus/lang/en_us.lang diff --git a/assets/armorplus/lang/zh_cn.lang b/project/assets/armorplus/lang/zh_cn.lang similarity index 100% rename from assets/armorplus/lang/zh_cn.lang rename to project/assets/armorplus/lang/zh_cn.lang diff --git a/assets/armorplus/lang/zh_cn_old.lang b/project/assets/armorplus/lang/zh_cn_old.lang similarity index 100% rename from assets/armorplus/lang/zh_cn_old.lang rename to project/assets/armorplus/lang/zh_cn_old.lang diff --git a/assets/aroma1997core/lang/en_us.lang b/project/assets/aroma1997core/lang/en_us.lang similarity index 100% rename from assets/aroma1997core/lang/en_us.lang rename to project/assets/aroma1997core/lang/en_us.lang diff --git a/assets/aroma1997core/lang/zh_cn.lang b/project/assets/aroma1997core/lang/zh_cn.lang similarity index 100% rename from assets/aroma1997core/lang/zh_cn.lang rename to project/assets/aroma1997core/lang/zh_cn.lang diff --git a/assets/aroma1997core/lang/zh_cn_old.lang b/project/assets/aroma1997core/lang/zh_cn_old.lang similarity index 100% rename from assets/aroma1997core/lang/zh_cn_old.lang rename to project/assets/aroma1997core/lang/zh_cn_old.lang diff --git a/assets/aroma1997sdimension/lang/en_us.lang b/project/assets/aroma1997sdimension/lang/en_us.lang similarity index 100% rename from assets/aroma1997sdimension/lang/en_us.lang rename to project/assets/aroma1997sdimension/lang/en_us.lang diff --git a/assets/aroma1997sdimension/lang/zh_cn.lang b/project/assets/aroma1997sdimension/lang/zh_cn.lang similarity index 100% rename from assets/aroma1997sdimension/lang/zh_cn.lang rename to project/assets/aroma1997sdimension/lang/zh_cn.lang diff --git a/assets/aroma1997sdimension/lang/zh_cn_old.lang b/project/assets/aroma1997sdimension/lang/zh_cn_old.lang similarity index 100% rename from assets/aroma1997sdimension/lang/zh_cn_old.lang rename to project/assets/aroma1997sdimension/lang/zh_cn_old.lang diff --git a/assets/aromabackup/lang/en_us.lang b/project/assets/aromabackup/lang/en_us.lang similarity index 100% rename from assets/aromabackup/lang/en_us.lang rename to project/assets/aromabackup/lang/en_us.lang diff --git a/assets/aromabackup/lang/zh_cn.lang b/project/assets/aromabackup/lang/zh_cn.lang similarity index 100% rename from assets/aromabackup/lang/zh_cn.lang rename to project/assets/aromabackup/lang/zh_cn.lang diff --git a/assets/aromabackup/lang/zh_cn_old.lang b/project/assets/aromabackup/lang/zh_cn_old.lang similarity index 100% rename from assets/aromabackup/lang/zh_cn_old.lang rename to project/assets/aromabackup/lang/zh_cn_old.lang diff --git a/assets/aromabackuprecovery/lang/en_us.lang b/project/assets/aromabackuprecovery/lang/en_us.lang similarity index 100% rename from assets/aromabackuprecovery/lang/en_us.lang rename to project/assets/aromabackuprecovery/lang/en_us.lang diff --git a/assets/aromabackuprecovery/lang/zh_cn.lang b/project/assets/aromabackuprecovery/lang/zh_cn.lang similarity index 100% rename from assets/aromabackuprecovery/lang/zh_cn.lang rename to project/assets/aromabackuprecovery/lang/zh_cn.lang diff --git a/assets/aromabackuprecovery/lang/zh_cn_old.lang b/project/assets/aromabackuprecovery/lang/zh_cn_old.lang similarity index 100% rename from assets/aromabackuprecovery/lang/zh_cn_old.lang rename to project/assets/aromabackuprecovery/lang/zh_cn_old.lang diff --git a/assets/asielib/lang/zh_cn.lang b/project/assets/asielib/lang/zh_cn.lang similarity index 100% rename from assets/asielib/lang/zh_cn.lang rename to project/assets/asielib/lang/zh_cn.lang diff --git a/assets/asielib/lang/zh_cn_old.lang b/project/assets/asielib/lang/zh_cn_old.lang similarity index 100% rename from assets/asielib/lang/zh_cn_old.lang rename to project/assets/asielib/lang/zh_cn_old.lang diff --git a/assets/astralsorcery/lang/en_us.lang b/project/assets/astralsorcery/lang/en_us.lang similarity index 100% rename from assets/astralsorcery/lang/en_us.lang rename to project/assets/astralsorcery/lang/en_us.lang diff --git a/assets/astralsorcery/lang/zh_cn.lang b/project/assets/astralsorcery/lang/zh_cn.lang similarity index 100% rename from assets/astralsorcery/lang/zh_cn.lang rename to project/assets/astralsorcery/lang/zh_cn.lang diff --git a/assets/astralsorcery/lang/zh_cn_old.lang b/project/assets/astralsorcery/lang/zh_cn_old.lang similarity index 100% rename from assets/astralsorcery/lang/zh_cn_old.lang rename to project/assets/astralsorcery/lang/zh_cn_old.lang diff --git a/assets/atmtweaks/lang/zh_cn.lang b/project/assets/atmtweaks/lang/zh_cn.lang similarity index 100% rename from assets/atmtweaks/lang/zh_cn.lang rename to project/assets/atmtweaks/lang/zh_cn.lang diff --git a/assets/atmtweaks/lang/zh_cn_old.lang b/project/assets/atmtweaks/lang/zh_cn_old.lang similarity index 100% rename from assets/atmtweaks/lang/zh_cn_old.lang rename to project/assets/atmtweaks/lang/zh_cn_old.lang diff --git a/assets/autopackager/lang/en_us.lang b/project/assets/autopackager/lang/en_us.lang similarity index 100% rename from assets/autopackager/lang/en_us.lang rename to project/assets/autopackager/lang/en_us.lang diff --git a/assets/autopackager/lang/zh_cn.lang b/project/assets/autopackager/lang/zh_cn.lang similarity index 100% rename from assets/autopackager/lang/zh_cn.lang rename to project/assets/autopackager/lang/zh_cn.lang diff --git a/assets/autopackager/lang/zh_cn_old.lang b/project/assets/autopackager/lang/zh_cn_old.lang similarity index 100% rename from assets/autopackager/lang/zh_cn_old.lang rename to project/assets/autopackager/lang/zh_cn_old.lang diff --git a/assets/autoreglib/lang/en_us.lang b/project/assets/autoreglib/lang/en_us.lang similarity index 100% rename from assets/autoreglib/lang/en_us.lang rename to project/assets/autoreglib/lang/en_us.lang diff --git a/assets/autoreglib/lang/zh_cn.lang b/project/assets/autoreglib/lang/zh_cn.lang similarity index 100% rename from assets/autoreglib/lang/zh_cn.lang rename to project/assets/autoreglib/lang/zh_cn.lang diff --git a/assets/autoreglib/lang/zh_cn_old.lang b/project/assets/autoreglib/lang/zh_cn_old.lang similarity index 100% rename from assets/autoreglib/lang/zh_cn_old.lang rename to project/assets/autoreglib/lang/zh_cn_old.lang diff --git a/assets/autoverse/lang/zh_cn.lang b/project/assets/autoverse/lang/zh_cn.lang similarity index 100% rename from assets/autoverse/lang/zh_cn.lang rename to project/assets/autoverse/lang/zh_cn.lang diff --git a/assets/autoverse/lang/zh_cn_old.lang b/project/assets/autoverse/lang/zh_cn_old.lang similarity index 100% rename from assets/autoverse/lang/zh_cn_old.lang rename to project/assets/autoverse/lang/zh_cn_old.lang diff --git a/assets/avaritia/lang/en_us.lang b/project/assets/avaritia/lang/en_us.lang similarity index 100% rename from assets/avaritia/lang/en_us.lang rename to project/assets/avaritia/lang/en_us.lang diff --git a/assets/avaritia/lang/zh_cn.lang b/project/assets/avaritia/lang/zh_cn.lang similarity index 100% rename from assets/avaritia/lang/zh_cn.lang rename to project/assets/avaritia/lang/zh_cn.lang diff --git a/assets/avaritia/lang/zh_cn_old.lang b/project/assets/avaritia/lang/zh_cn_old.lang similarity index 100% rename from assets/avaritia/lang/zh_cn_old.lang rename to project/assets/avaritia/lang/zh_cn_old.lang diff --git a/assets/avaritiaddons/lang/zh_cn.lang b/project/assets/avaritiaddons/lang/zh_cn.lang similarity index 100% rename from assets/avaritiaddons/lang/zh_cn.lang rename to project/assets/avaritiaddons/lang/zh_cn.lang diff --git a/assets/avaritiaddons/lang/zh_cn_old.lang b/project/assets/avaritiaddons/lang/zh_cn_old.lang similarity index 100% rename from assets/avaritiaddons/lang/zh_cn_old.lang rename to project/assets/avaritiaddons/lang/zh_cn_old.lang diff --git a/assets/backpacks16840/lang/en_us.lang b/project/assets/backpacks16840/lang/en_us.lang similarity index 100% rename from assets/backpacks16840/lang/en_us.lang rename to project/assets/backpacks16840/lang/en_us.lang diff --git a/assets/backpacks16840/lang/zh_cn.lang b/project/assets/backpacks16840/lang/zh_cn.lang similarity index 100% rename from assets/backpacks16840/lang/zh_cn.lang rename to project/assets/backpacks16840/lang/zh_cn.lang diff --git a/assets/backpacks16840/lang/zh_cn_old.lang b/project/assets/backpacks16840/lang/zh_cn_old.lang similarity index 100% rename from assets/backpacks16840/lang/zh_cn_old.lang rename to project/assets/backpacks16840/lang/zh_cn_old.lang diff --git a/assets/base/lang/en_us.lang b/project/assets/base/lang/en_us.lang similarity index 100% rename from assets/base/lang/en_us.lang rename to project/assets/base/lang/en_us.lang diff --git a/assets/base/lang/zh_cn.lang b/project/assets/base/lang/zh_cn.lang similarity index 100% rename from assets/base/lang/zh_cn.lang rename to project/assets/base/lang/zh_cn.lang diff --git a/assets/base/lang/zh_cn_old.lang b/project/assets/base/lang/zh_cn_old.lang similarity index 100% rename from assets/base/lang/zh_cn_old.lang rename to project/assets/base/lang/zh_cn_old.lang diff --git a/assets/basemetals/lang/en_us.lang b/project/assets/basemetals/lang/en_us.lang similarity index 100% rename from assets/basemetals/lang/en_us.lang rename to project/assets/basemetals/lang/en_us.lang diff --git a/assets/basemetals/lang/zh_cn.lang b/project/assets/basemetals/lang/zh_cn.lang similarity index 100% rename from assets/basemetals/lang/zh_cn.lang rename to project/assets/basemetals/lang/zh_cn.lang diff --git a/assets/basemetals/lang/zh_cn_old.lang b/project/assets/basemetals/lang/zh_cn_old.lang similarity index 100% rename from assets/basemetals/lang/zh_cn_old.lang rename to project/assets/basemetals/lang/zh_cn_old.lang diff --git a/assets/battletowers/lang/en_us.lang b/project/assets/battletowers/lang/en_us.lang similarity index 100% rename from assets/battletowers/lang/en_us.lang rename to project/assets/battletowers/lang/en_us.lang diff --git a/assets/battletowers/lang/zh_cn.lang b/project/assets/battletowers/lang/zh_cn.lang similarity index 100% rename from assets/battletowers/lang/zh_cn.lang rename to project/assets/battletowers/lang/zh_cn.lang diff --git a/assets/battletowers/lang/zh_cn_old.lang b/project/assets/battletowers/lang/zh_cn_old.lang similarity index 100% rename from assets/battletowers/lang/zh_cn_old.lang rename to project/assets/battletowers/lang/zh_cn_old.lang diff --git a/assets/baubles/lang/en_us.lang b/project/assets/baubles/lang/en_us.lang similarity index 100% rename from assets/baubles/lang/en_us.lang rename to project/assets/baubles/lang/en_us.lang diff --git a/assets/baubles/lang/zh_cn.lang b/project/assets/baubles/lang/zh_cn.lang similarity index 100% rename from assets/baubles/lang/zh_cn.lang rename to project/assets/baubles/lang/zh_cn.lang diff --git a/assets/baubles/lang/zh_cn_old.lang b/project/assets/baubles/lang/zh_cn_old.lang similarity index 100% rename from assets/baubles/lang/zh_cn_old.lang rename to project/assets/baubles/lang/zh_cn_old.lang diff --git a/assets/bdlib/lang/en_us.lang b/project/assets/bdlib/lang/en_us.lang similarity index 100% rename from assets/bdlib/lang/en_us.lang rename to project/assets/bdlib/lang/en_us.lang diff --git a/assets/bdlib/lang/zh_cn.lang b/project/assets/bdlib/lang/zh_cn.lang similarity index 100% rename from assets/bdlib/lang/zh_cn.lang rename to project/assets/bdlib/lang/zh_cn.lang diff --git a/assets/bdlib/lang/zh_cn_old.lang b/project/assets/bdlib/lang/zh_cn_old.lang similarity index 100% rename from assets/bdlib/lang/zh_cn_old.lang rename to project/assets/bdlib/lang/zh_cn_old.lang diff --git a/assets/bedrockores/lang/zh_cn.lang b/project/assets/bedrockores/lang/zh_cn.lang similarity index 100% rename from assets/bedrockores/lang/zh_cn.lang rename to project/assets/bedrockores/lang/zh_cn.lang diff --git a/assets/bedrockores/lang/zh_cn_old.lang b/project/assets/bedrockores/lang/zh_cn_old.lang similarity index 100% rename from assets/bedrockores/lang/zh_cn_old.lang rename to project/assets/bedrockores/lang/zh_cn_old.lang diff --git a/assets/beneath/lang/en_us.lang b/project/assets/beneath/lang/en_us.lang similarity index 100% rename from assets/beneath/lang/en_us.lang rename to project/assets/beneath/lang/en_us.lang diff --git a/assets/beneath/lang/zh_cn.lang b/project/assets/beneath/lang/zh_cn.lang similarity index 100% rename from assets/beneath/lang/zh_cn.lang rename to project/assets/beneath/lang/zh_cn.lang diff --git a/assets/beneath/lang/zh_cn_old.lang b/project/assets/beneath/lang/zh_cn_old.lang similarity index 100% rename from assets/beneath/lang/zh_cn_old.lang rename to project/assets/beneath/lang/zh_cn_old.lang diff --git a/assets/betteragriculture/lang/zh_cn.lang b/project/assets/betteragriculture/lang/zh_cn.lang similarity index 100% rename from assets/betteragriculture/lang/zh_cn.lang rename to project/assets/betteragriculture/lang/zh_cn.lang diff --git a/assets/betteragriculture/lang/zh_cn_old.lang b/project/assets/betteragriculture/lang/zh_cn_old.lang similarity index 100% rename from assets/betteragriculture/lang/zh_cn_old.lang rename to project/assets/betteragriculture/lang/zh_cn_old.lang diff --git a/assets/betterbuilderswands/lang/en_us.lang b/project/assets/betterbuilderswands/lang/en_us.lang similarity index 100% rename from assets/betterbuilderswands/lang/en_us.lang rename to project/assets/betterbuilderswands/lang/en_us.lang diff --git a/assets/betterbuilderswands/lang/zh_cn.lang b/project/assets/betterbuilderswands/lang/zh_cn.lang similarity index 100% rename from assets/betterbuilderswands/lang/zh_cn.lang rename to project/assets/betterbuilderswands/lang/zh_cn.lang diff --git a/assets/betterbuilderswands/lang/zh_cn_old.lang b/project/assets/betterbuilderswands/lang/zh_cn_old.lang similarity index 100% rename from assets/betterbuilderswands/lang/zh_cn_old.lang rename to project/assets/betterbuilderswands/lang/zh_cn_old.lang diff --git a/assets/betterfps/lang/en_us.lang b/project/assets/betterfps/lang/en_us.lang similarity index 100% rename from assets/betterfps/lang/en_us.lang rename to project/assets/betterfps/lang/en_us.lang diff --git a/assets/betterfps/lang/zh_cn.lang b/project/assets/betterfps/lang/zh_cn.lang similarity index 100% rename from assets/betterfps/lang/zh_cn.lang rename to project/assets/betterfps/lang/zh_cn.lang diff --git a/assets/betterfps/lang/zh_cn_old.lang b/project/assets/betterfps/lang/zh_cn_old.lang similarity index 100% rename from assets/betterfps/lang/zh_cn_old.lang rename to project/assets/betterfps/lang/zh_cn_old.lang diff --git a/assets/betterplacement/lang/zh_cn.lang b/project/assets/betterplacement/lang/zh_cn.lang similarity index 100% rename from assets/betterplacement/lang/zh_cn.lang rename to project/assets/betterplacement/lang/zh_cn.lang diff --git a/assets/betterplacement/lang/zh_cn_old.lang b/project/assets/betterplacement/lang/zh_cn_old.lang similarity index 100% rename from assets/betterplacement/lang/zh_cn_old.lang rename to project/assets/betterplacement/lang/zh_cn_old.lang diff --git a/assets/betterquesting/lang/en_us.lang b/project/assets/betterquesting/lang/en_us.lang similarity index 100% rename from assets/betterquesting/lang/en_us.lang rename to project/assets/betterquesting/lang/en_us.lang diff --git a/assets/betterquesting/lang/zh_cn.lang b/project/assets/betterquesting/lang/zh_cn.lang similarity index 100% rename from assets/betterquesting/lang/zh_cn.lang rename to project/assets/betterquesting/lang/zh_cn.lang diff --git a/assets/betterquesting/lang/zh_cn_old.lang b/project/assets/betterquesting/lang/zh_cn_old.lang similarity index 100% rename from assets/betterquesting/lang/zh_cn_old.lang rename to project/assets/betterquesting/lang/zh_cn_old.lang diff --git a/assets/bettersprinting/lang/en_us.lang b/project/assets/bettersprinting/lang/en_us.lang similarity index 100% rename from assets/bettersprinting/lang/en_us.lang rename to project/assets/bettersprinting/lang/en_us.lang diff --git a/assets/bettersprinting/lang/zh_cn.lang b/project/assets/bettersprinting/lang/zh_cn.lang similarity index 100% rename from assets/bettersprinting/lang/zh_cn.lang rename to project/assets/bettersprinting/lang/zh_cn.lang diff --git a/assets/bettersprinting/lang/zh_cn_old.lang b/project/assets/bettersprinting/lang/zh_cn_old.lang similarity index 100% rename from assets/bettersprinting/lang/zh_cn_old.lang rename to project/assets/bettersprinting/lang/zh_cn_old.lang diff --git a/assets/bettertitlescreen/lang/en_us.lang b/project/assets/bettertitlescreen/lang/en_us.lang similarity index 100% rename from assets/bettertitlescreen/lang/en_us.lang rename to project/assets/bettertitlescreen/lang/en_us.lang diff --git a/assets/bettertitlescreen/lang/zh_cn.lang b/project/assets/bettertitlescreen/lang/zh_cn.lang similarity index 100% rename from assets/bettertitlescreen/lang/zh_cn.lang rename to project/assets/bettertitlescreen/lang/zh_cn.lang diff --git a/assets/bettertitlescreen/lang/zh_cn_old.lang b/project/assets/bettertitlescreen/lang/zh_cn_old.lang similarity index 100% rename from assets/bettertitlescreen/lang/zh_cn_old.lang rename to project/assets/bettertitlescreen/lang/zh_cn_old.lang diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/adobe.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/adobe.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/adobe.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/adobe.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/ancestrysand.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/ancestrysand.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/ancestrysand.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/ancestrysand.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/aqueduct.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/aqueduct.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/aqueduct.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/aqueduct.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bamboo.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bamboo.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/bamboo.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bamboo.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bannerdetector.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bannerdetector.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/bannerdetector.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bannerdetector.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/blockmatcher.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/blockmatcher.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/blockmatcher.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/blockmatcher.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bridges.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bridges.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/bridges.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/bridges.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/chandelier.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/chandelier.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/chandelier.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/chandelier.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/chute.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/chute.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/chute.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/chute.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/dryingbox.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/dryingbox.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/dryingbox.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/dryingbox.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/ecksie_saplings.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/ecksie_saplings.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/ecksie_saplings.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/ecksie_saplings.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/firenet.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/firenet.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/firenet.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/firenet.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/index.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/index.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/index.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/index.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/infuser.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/infuser.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/infuser.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/infuser.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/invertedgearbox.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/invertedgearbox.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/invertedgearbox.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/invertedgearbox.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/lanterns.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/lanterns.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/lanterns.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/lanterns.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/lattice.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/lattice.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/lattice.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/lattice.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/legendarium.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/legendarium.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/legendarium.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/legendarium.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/luretree.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/luretree.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/luretree.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/luretree.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/magmaverus.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/magmaverus.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/magmaverus.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/magmaverus.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/mulberrytree.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/mulberrytree.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/mulberrytree.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/mulberrytree.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/net.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/net.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/net.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/net.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/pcb.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/pcb.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/pcb.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/pcb.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/sakuratree.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/sakuratree.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/sakuratree.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/sakuratree.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/sandnet.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/sandnet.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/sandnet.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/sandnet.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/scaffold.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/scaffold.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/scaffold.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/scaffold.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/shoji.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/shoji.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/shoji.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/shoji.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/soakingbox.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/soakingbox.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/soakingbox.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/soakingbox.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/spinningwheel.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/spinningwheel.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/spinningwheel.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/spinningwheel.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/tatara.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/tatara.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/tatara.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/tatara.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/thorn_vines.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/thorn_vines.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/thorn_vines.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/thorn_vines.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/waternet.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/waternet.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/waternet.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/waternet.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/weightsensor.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/weightsensor.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/weightsensor.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/weightsensor.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/blocks/worldscale.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/worldscale.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/blocks/worldscale.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/blocks/worldscale.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/index.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/index.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/index.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/index.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/bleach.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/bleach.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/bleach.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/bleach.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/bottled_spirit.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/bottled_spirit.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/bottled_spirit.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/bottled_spirit.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/carpentersaw.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/carpentersaw.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/carpentersaw.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/carpentersaw.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/condensed.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/condensed.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/condensed.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/condensed.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/greatbow.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/greatbow.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/greatbow.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/greatbow.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/index.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/index.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/index.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/index.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/katana.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/katana.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/katana.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/katana.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/kukri.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/kukri.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/kukri.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/kukri.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/machete.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/machete.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/machete.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/machete.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/magmaverus.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/magmaverus.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/magmaverus.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/magmaverus.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/masonpick.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/masonpick.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/masonpick.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/masonpick.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/matchpick.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/matchpick.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/matchpick.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/matchpick.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/salt.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/salt.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/salt.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/salt.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/shinai.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/shinai.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/shinai.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/shinai.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/spade.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/spade.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/spade.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/spade.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/tanto.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/tanto.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/tanto.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/tanto.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/wakizashi.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/wakizashi.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/wakizashi.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/wakizashi.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/items/yumi.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/items/yumi.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/items/yumi.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/items/yumi.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/index.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/index.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/mechanics/index.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/index.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/karate_zombies.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/karate_zombies.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/mechanics/karate_zombies.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/karate_zombies.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/spirits.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/spirits.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/mechanics/spirits.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/mechanics/spirits.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/skyblock/dirt.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/skyblock/dirt.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/skyblock/dirt.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/skyblock/dirt.md diff --git a/assets/betterwithaddons/docs/zh_cn/bwa/skyblock/index.md b/project/assets/betterwithaddons/docs/zh_cn/bwa/skyblock/index.md similarity index 100% rename from assets/betterwithaddons/docs/zh_cn/bwa/skyblock/index.md rename to project/assets/betterwithaddons/docs/zh_cn/bwa/skyblock/index.md diff --git a/assets/betterwithaddons/lang/zh_cn.lang b/project/assets/betterwithaddons/lang/zh_cn.lang similarity index 100% rename from assets/betterwithaddons/lang/zh_cn.lang rename to project/assets/betterwithaddons/lang/zh_cn.lang diff --git a/assets/betterwithaddons/lang/zh_cn_old.lang b/project/assets/betterwithaddons/lang/zh_cn_old.lang similarity index 100% rename from assets/betterwithaddons/lang/zh_cn_old.lang rename to project/assets/betterwithaddons/lang/zh_cn_old.lang diff --git a/assets/betterwithhardersteelrecipe/lang/en_us.lang b/project/assets/betterwithhardersteelrecipe/lang/en_us.lang similarity index 100% rename from assets/betterwithhardersteelrecipe/lang/en_us.lang rename to project/assets/betterwithhardersteelrecipe/lang/en_us.lang diff --git a/assets/betterwithhardersteelrecipe/lang/zh_cn.lang b/project/assets/betterwithhardersteelrecipe/lang/zh_cn.lang similarity index 100% rename from assets/betterwithhardersteelrecipe/lang/zh_cn.lang rename to project/assets/betterwithhardersteelrecipe/lang/zh_cn.lang diff --git a/assets/betterwithhardersteelrecipe/lang/zh_cn_old.lang b/project/assets/betterwithhardersteelrecipe/lang/zh_cn_old.lang similarity index 100% rename from assets/betterwithhardersteelrecipe/lang/zh_cn_old.lang rename to project/assets/betterwithhardersteelrecipe/lang/zh_cn_old.lang diff --git a/assets/betterwithmods/docs/zh_cn/blocks/advanced_bellows.md b/project/assets/betterwithmods/docs/zh_cn/blocks/advanced_bellows.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/advanced_bellows.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/advanced_bellows.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/axle.md b/project/assets/betterwithmods/docs/zh_cn/blocks/axle.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/axle.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/axle.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/bellows.md b/project/assets/betterwithmods/docs/zh_cn/blocks/bellows.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/bellows.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/bellows.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/cauldron.md b/project/assets/betterwithmods/docs/zh_cn/blocks/cauldron.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/cauldron.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/cauldron.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/crucible.md b/project/assets/betterwithmods/docs/zh_cn/blocks/crucible.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/crucible.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/crucible.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/fertile_farmland.md b/project/assets/betterwithmods/docs/zh_cn/blocks/fertile_farmland.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/fertile_farmland.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/fertile_farmland.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/gearbox.md b/project/assets/betterwithmods/docs/zh_cn/blocks/gearbox.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/gearbox.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/gearbox.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/hand_crank.md b/project/assets/betterwithmods/docs/zh_cn/blocks/hand_crank.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/hand_crank.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/hand_crank.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/hemp.md b/project/assets/betterwithmods/docs/zh_cn/blocks/hemp.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/hemp.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/hemp.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/hibachi.md b/project/assets/betterwithmods/docs/zh_cn/blocks/hibachi.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/hibachi.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/hibachi.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/hopper.md b/project/assets/betterwithmods/docs/zh_cn/blocks/hopper.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/hopper.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/hopper.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/hopper_filters.md b/project/assets/betterwithmods/docs/zh_cn/blocks/hopper_filters.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/hopper_filters.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/hopper_filters.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/index.md b/project/assets/betterwithmods/docs/zh_cn/blocks/index.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/index.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/index.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/kiln.md b/project/assets/betterwithmods/docs/zh_cn/blocks/kiln.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/kiln.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/kiln.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/light.md b/project/assets/betterwithmods/docs/zh_cn/blocks/light.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/light.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/light.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/mill.md b/project/assets/betterwithmods/docs/zh_cn/blocks/mill.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/mill.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/mill.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/minimized_wood.md b/project/assets/betterwithmods/docs/zh_cn/blocks/minimized_wood.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/minimized_wood.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/minimized_wood.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/planter.md b/project/assets/betterwithmods/docs/zh_cn/blocks/planter.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/planter.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/planter.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/pulley.md b/project/assets/betterwithmods/docs/zh_cn/blocks/pulley.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/pulley.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/pulley.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/saw.md b/project/assets/betterwithmods/docs/zh_cn/blocks/saw.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/saw.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/saw.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/soul_urn.md b/project/assets/betterwithmods/docs/zh_cn/blocks/soul_urn.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/soul_urn.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/soul_urn.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/turntable.md b/project/assets/betterwithmods/docs/zh_cn/blocks/turntable.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/turntable.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/turntable.md diff --git a/assets/betterwithmods/docs/zh_cn/blocks/windmill.md b/project/assets/betterwithmods/docs/zh_cn/blocks/windmill.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/blocks/windmill.md rename to project/assets/betterwithmods/docs/zh_cn/blocks/windmill.md diff --git a/assets/betterwithmods/docs/zh_cn/compat.md b/project/assets/betterwithmods/docs/zh_cn/compat.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/compat.md rename to project/assets/betterwithmods/docs/zh_cn/compat.md diff --git a/assets/betterwithmods/docs/zh_cn/hardcore/beacons.md b/project/assets/betterwithmods/docs/zh_cn/hardcore/beacons.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/hardcore/beacons.md rename to project/assets/betterwithmods/docs/zh_cn/hardcore/beacons.md diff --git a/assets/betterwithmods/docs/zh_cn/hardcore/hunger.md b/project/assets/betterwithmods/docs/zh_cn/hardcore/hunger.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/hardcore/hunger.md rename to project/assets/betterwithmods/docs/zh_cn/hardcore/hunger.md diff --git a/assets/betterwithmods/docs/zh_cn/hardcore/index.md b/project/assets/betterwithmods/docs/zh_cn/hardcore/index.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/hardcore/index.md rename to project/assets/betterwithmods/docs/zh_cn/hardcore/index.md diff --git a/assets/betterwithmods/docs/zh_cn/hardcore/spawn.md b/project/assets/betterwithmods/docs/zh_cn/hardcore/spawn.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/hardcore/spawn.md rename to project/assets/betterwithmods/docs/zh_cn/hardcore/spawn.md diff --git a/assets/betterwithmods/docs/zh_cn/index.md b/project/assets/betterwithmods/docs/zh_cn/index.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/index.md rename to project/assets/betterwithmods/docs/zh_cn/index.md diff --git a/assets/betterwithmods/docs/zh_cn/industry.md b/project/assets/betterwithmods/docs/zh_cn/industry.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/industry.md rename to project/assets/betterwithmods/docs/zh_cn/industry.md diff --git a/assets/betterwithmods/docs/zh_cn/items/bark.md b/project/assets/betterwithmods/docs/zh_cn/items/bark.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/bark.md rename to project/assets/betterwithmods/docs/zh_cn/items/bark.md diff --git a/assets/betterwithmods/docs/zh_cn/items/element.md b/project/assets/betterwithmods/docs/zh_cn/items/element.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/element.md rename to project/assets/betterwithmods/docs/zh_cn/items/element.md diff --git a/assets/betterwithmods/docs/zh_cn/items/fabric.md b/project/assets/betterwithmods/docs/zh_cn/items/fabric.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/fabric.md rename to project/assets/betterwithmods/docs/zh_cn/items/fabric.md diff --git a/assets/betterwithmods/docs/zh_cn/items/filament.md b/project/assets/betterwithmods/docs/zh_cn/items/filament.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/filament.md rename to project/assets/betterwithmods/docs/zh_cn/items/filament.md diff --git a/assets/betterwithmods/docs/zh_cn/items/gear.md b/project/assets/betterwithmods/docs/zh_cn/items/gear.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/gear.md rename to project/assets/betterwithmods/docs/zh_cn/items/gear.md diff --git a/assets/betterwithmods/docs/zh_cn/items/ground_netherrack.md b/project/assets/betterwithmods/docs/zh_cn/items/ground_netherrack.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/ground_netherrack.md rename to project/assets/betterwithmods/docs/zh_cn/items/ground_netherrack.md diff --git a/assets/betterwithmods/docs/zh_cn/items/hellfire.md b/project/assets/betterwithmods/docs/zh_cn/items/hellfire.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/hellfire.md rename to project/assets/betterwithmods/docs/zh_cn/items/hellfire.md diff --git a/assets/betterwithmods/docs/zh_cn/items/index.md b/project/assets/betterwithmods/docs/zh_cn/items/index.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/index.md rename to project/assets/betterwithmods/docs/zh_cn/items/index.md diff --git a/assets/betterwithmods/docs/zh_cn/items/restraint.md b/project/assets/betterwithmods/docs/zh_cn/items/restraint.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/restraint.md rename to project/assets/betterwithmods/docs/zh_cn/items/restraint.md diff --git a/assets/betterwithmods/docs/zh_cn/items/rope.md b/project/assets/betterwithmods/docs/zh_cn/items/rope.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/rope.md rename to project/assets/betterwithmods/docs/zh_cn/items/rope.md diff --git a/assets/betterwithmods/docs/zh_cn/items/sfs_armor.md b/project/assets/betterwithmods/docs/zh_cn/items/sfs_armor.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/sfs_armor.md rename to project/assets/betterwithmods/docs/zh_cn/items/sfs_armor.md diff --git a/assets/betterwithmods/docs/zh_cn/items/tanned_leather.md b/project/assets/betterwithmods/docs/zh_cn/items/tanned_leather.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/items/tanned_leather.md rename to project/assets/betterwithmods/docs/zh_cn/items/tanned_leather.md diff --git a/assets/betterwithmods/docs/zh_cn/mechanical/index.md b/project/assets/betterwithmods/docs/zh_cn/mechanical/index.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/mechanical/index.md rename to project/assets/betterwithmods/docs/zh_cn/mechanical/index.md diff --git a/assets/betterwithmods/docs/zh_cn/tweaks.md b/project/assets/betterwithmods/docs/zh_cn/tweaks.md similarity index 100% rename from assets/betterwithmods/docs/zh_cn/tweaks.md rename to project/assets/betterwithmods/docs/zh_cn/tweaks.md diff --git a/assets/betterwithmods/lang/en_us.lang b/project/assets/betterwithmods/lang/en_us.lang similarity index 100% rename from assets/betterwithmods/lang/en_us.lang rename to project/assets/betterwithmods/lang/en_us.lang diff --git a/assets/betterwithmods/lang/zh_cn.lang b/project/assets/betterwithmods/lang/zh_cn.lang similarity index 100% rename from assets/betterwithmods/lang/zh_cn.lang rename to project/assets/betterwithmods/lang/zh_cn.lang diff --git a/assets/betterwithmods/lang/zh_cn_old.lang b/project/assets/betterwithmods/lang/zh_cn_old.lang similarity index 100% rename from assets/betterwithmods/lang/zh_cn_old.lang rename to project/assets/betterwithmods/lang/zh_cn_old.lang diff --git a/assets/bibliocraft/lang/en_us.lang b/project/assets/bibliocraft/lang/en_us.lang similarity index 100% rename from assets/bibliocraft/lang/en_us.lang rename to project/assets/bibliocraft/lang/en_us.lang diff --git a/assets/bibliocraft/lang/zh_cn.lang b/project/assets/bibliocraft/lang/zh_cn.lang similarity index 100% rename from assets/bibliocraft/lang/zh_cn.lang rename to project/assets/bibliocraft/lang/zh_cn.lang diff --git a/assets/bibliocraft/lang/zh_cn_old.lang b/project/assets/bibliocraft/lang/zh_cn_old.lang similarity index 100% rename from assets/bibliocraft/lang/zh_cn_old.lang rename to project/assets/bibliocraft/lang/zh_cn_old.lang diff --git a/assets/bigreactors/lang/en_us.lang b/project/assets/bigreactors/lang/en_us.lang similarity index 100% rename from assets/bigreactors/lang/en_us.lang rename to project/assets/bigreactors/lang/en_us.lang diff --git a/assets/bigreactors/lang/zh_cn.lang b/project/assets/bigreactors/lang/zh_cn.lang similarity index 100% rename from assets/bigreactors/lang/zh_cn.lang rename to project/assets/bigreactors/lang/zh_cn.lang diff --git a/assets/bigreactors/lang/zh_cn_old.lang b/project/assets/bigreactors/lang/zh_cn_old.lang similarity index 100% rename from assets/bigreactors/lang/zh_cn_old.lang rename to project/assets/bigreactors/lang/zh_cn_old.lang diff --git a/assets/binniecore/lang/zh_cn.lang b/project/assets/binniecore/lang/zh_cn.lang similarity index 100% rename from assets/binniecore/lang/zh_cn.lang rename to project/assets/binniecore/lang/zh_cn.lang diff --git a/assets/binniecore/lang/zh_cn_old.lang b/project/assets/binniecore/lang/zh_cn_old.lang similarity index 100% rename from assets/binniecore/lang/zh_cn_old.lang rename to project/assets/binniecore/lang/zh_cn_old.lang diff --git a/assets/biomesoplenty/lang/en_us.lang b/project/assets/biomesoplenty/lang/en_us.lang similarity index 100% rename from assets/biomesoplenty/lang/en_us.lang rename to project/assets/biomesoplenty/lang/en_us.lang diff --git a/assets/biomesoplenty/lang/zh_cn.lang b/project/assets/biomesoplenty/lang/zh_cn.lang similarity index 100% rename from assets/biomesoplenty/lang/zh_cn.lang rename to project/assets/biomesoplenty/lang/zh_cn.lang diff --git a/assets/biomesoplenty/lang/zh_cn_old.lang b/project/assets/biomesoplenty/lang/zh_cn_old.lang similarity index 100% rename from assets/biomesoplenty/lang/zh_cn_old.lang rename to project/assets/biomesoplenty/lang/zh_cn_old.lang diff --git a/assets/biometweaker/lang/zh_cn.lang b/project/assets/biometweaker/lang/zh_cn.lang similarity index 100% rename from assets/biometweaker/lang/zh_cn.lang rename to project/assets/biometweaker/lang/zh_cn.lang diff --git a/assets/biometweaker/lang/zh_cn_old.lang b/project/assets/biometweaker/lang/zh_cn_old.lang similarity index 100% rename from assets/biometweaker/lang/zh_cn_old.lang rename to project/assets/biometweaker/lang/zh_cn_old.lang diff --git a/assets/birdsnests/lang/en_us.lang b/project/assets/birdsnests/lang/en_us.lang similarity index 100% rename from assets/birdsnests/lang/en_us.lang rename to project/assets/birdsnests/lang/en_us.lang diff --git a/assets/birdsnests/lang/zh_cn.lang b/project/assets/birdsnests/lang/zh_cn.lang similarity index 100% rename from assets/birdsnests/lang/zh_cn.lang rename to project/assets/birdsnests/lang/zh_cn.lang diff --git a/assets/birdsnests/lang/zh_cn_old.lang b/project/assets/birdsnests/lang/zh_cn_old.lang similarity index 100% rename from assets/birdsnests/lang/zh_cn_old.lang rename to project/assets/birdsnests/lang/zh_cn_old.lang diff --git a/assets/blockarmor/lang/en_us.lang b/project/assets/blockarmor/lang/en_us.lang similarity index 100% rename from assets/blockarmor/lang/en_us.lang rename to project/assets/blockarmor/lang/en_us.lang diff --git a/assets/blockarmor/lang/zh_cn.lang b/project/assets/blockarmor/lang/zh_cn.lang similarity index 100% rename from assets/blockarmor/lang/zh_cn.lang rename to project/assets/blockarmor/lang/zh_cn.lang diff --git a/assets/blockarmor/lang/zh_cn_old.lang b/project/assets/blockarmor/lang/zh_cn_old.lang similarity index 100% rename from assets/blockarmor/lang/zh_cn_old.lang rename to project/assets/blockarmor/lang/zh_cn_old.lang diff --git a/assets/blockcraftery/lang/en_us.lang b/project/assets/blockcraftery/lang/en_us.lang similarity index 100% rename from assets/blockcraftery/lang/en_us.lang rename to project/assets/blockcraftery/lang/en_us.lang diff --git a/assets/blockcraftery/lang/zh_cn.lang b/project/assets/blockcraftery/lang/zh_cn.lang similarity index 100% rename from assets/blockcraftery/lang/zh_cn.lang rename to project/assets/blockcraftery/lang/zh_cn.lang diff --git a/assets/blockcraftery/lang/zh_cn_old.lang b/project/assets/blockcraftery/lang/zh_cn_old.lang similarity index 100% rename from assets/blockcraftery/lang/zh_cn_old.lang rename to project/assets/blockcraftery/lang/zh_cn_old.lang diff --git a/assets/bloodmoon/lang/en_us.lang b/project/assets/bloodmoon/lang/en_us.lang similarity index 100% rename from assets/bloodmoon/lang/en_us.lang rename to project/assets/bloodmoon/lang/en_us.lang diff --git a/assets/bloodmoon/lang/zh_cn.lang b/project/assets/bloodmoon/lang/zh_cn.lang similarity index 100% rename from assets/bloodmoon/lang/zh_cn.lang rename to project/assets/bloodmoon/lang/zh_cn.lang diff --git a/assets/bloodmoon/lang/zh_cn_old.lang b/project/assets/bloodmoon/lang/zh_cn_old.lang similarity index 100% rename from assets/bloodmoon/lang/zh_cn_old.lang rename to project/assets/bloodmoon/lang/zh_cn_old.lang diff --git a/assets/blur/lang/en_us.lang b/project/assets/blur/lang/en_us.lang similarity index 100% rename from assets/blur/lang/en_us.lang rename to project/assets/blur/lang/en_us.lang diff --git a/assets/blur/lang/zh_cn.lang b/project/assets/blur/lang/zh_cn.lang similarity index 100% rename from assets/blur/lang/zh_cn.lang rename to project/assets/blur/lang/zh_cn.lang diff --git a/assets/blur/lang/zh_cn_old.lang b/project/assets/blur/lang/zh_cn_old.lang similarity index 100% rename from assets/blur/lang/zh_cn_old.lang rename to project/assets/blur/lang/zh_cn_old.lang diff --git a/assets/bonetorch/lang/zh_cn.lang b/project/assets/bonetorch/lang/zh_cn.lang similarity index 100% rename from assets/bonetorch/lang/zh_cn.lang rename to project/assets/bonetorch/lang/zh_cn.lang diff --git a/assets/bonetorch/lang/zh_cn_old.lang b/project/assets/bonetorch/lang/zh_cn_old.lang similarity index 100% rename from assets/bonetorch/lang/zh_cn_old.lang rename to project/assets/bonetorch/lang/zh_cn_old.lang diff --git a/assets/bonsaitrees/lang/zh_cn.lang b/project/assets/bonsaitrees/lang/zh_cn.lang similarity index 100% rename from assets/bonsaitrees/lang/zh_cn.lang rename to project/assets/bonsaitrees/lang/zh_cn.lang diff --git a/assets/bonsaitrees/lang/zh_cn_old.lang b/project/assets/bonsaitrees/lang/zh_cn_old.lang similarity index 100% rename from assets/bonsaitrees/lang/zh_cn_old.lang rename to project/assets/bonsaitrees/lang/zh_cn_old.lang diff --git a/assets/botania/lang/en_us.lang b/project/assets/botania/lang/en_us.lang similarity index 100% rename from assets/botania/lang/en_us.lang rename to project/assets/botania/lang/en_us.lang diff --git a/assets/botania/lang/zh_cn.lang b/project/assets/botania/lang/zh_cn.lang similarity index 100% rename from assets/botania/lang/zh_cn.lang rename to project/assets/botania/lang/zh_cn.lang diff --git a/assets/botania/lang/zh_cn_old.lang b/project/assets/botania/lang/zh_cn_old.lang similarity index 100% rename from assets/botania/lang/zh_cn_old.lang rename to project/assets/botania/lang/zh_cn_old.lang diff --git a/assets/botany/lang/zh_cn.lang b/project/assets/botany/lang/zh_cn.lang similarity index 100% rename from assets/botany/lang/zh_cn.lang rename to project/assets/botany/lang/zh_cn.lang diff --git a/assets/botany/lang/zh_cn_old.lang b/project/assets/botany/lang/zh_cn_old.lang similarity index 100% rename from assets/botany/lang/zh_cn_old.lang rename to project/assets/botany/lang/zh_cn_old.lang diff --git a/assets/bq_standard/lang/en_us.lang b/project/assets/bq_standard/lang/en_us.lang similarity index 100% rename from assets/bq_standard/lang/en_us.lang rename to project/assets/bq_standard/lang/en_us.lang diff --git a/assets/bq_standard/lang/zh_cn.lang b/project/assets/bq_standard/lang/zh_cn.lang similarity index 100% rename from assets/bq_standard/lang/zh_cn.lang rename to project/assets/bq_standard/lang/zh_cn.lang diff --git a/assets/bq_standard/lang/zh_cn_old.lang b/project/assets/bq_standard/lang/zh_cn_old.lang similarity index 100% rename from assets/bq_standard/lang/zh_cn_old.lang rename to project/assets/bq_standard/lang/zh_cn_old.lang diff --git a/assets/bqt/lang/en_us.lang b/project/assets/bqt/lang/en_us.lang similarity index 100% rename from assets/bqt/lang/en_us.lang rename to project/assets/bqt/lang/en_us.lang diff --git a/assets/bqt/lang/zh_cn.lang b/project/assets/bqt/lang/zh_cn.lang similarity index 100% rename from assets/bqt/lang/zh_cn.lang rename to project/assets/bqt/lang/zh_cn.lang diff --git a/assets/bqt/lang/zh_cn_old.lang b/project/assets/bqt/lang/zh_cn_old.lang similarity index 100% rename from assets/bqt/lang/zh_cn_old.lang rename to project/assets/bqt/lang/zh_cn_old.lang diff --git a/assets/brandonscore/lang/en_us.lang b/project/assets/brandonscore/lang/en_us.lang similarity index 100% rename from assets/brandonscore/lang/en_us.lang rename to project/assets/brandonscore/lang/en_us.lang diff --git a/assets/brandonscore/lang/zh_cn.lang b/project/assets/brandonscore/lang/zh_cn.lang similarity index 100% rename from assets/brandonscore/lang/zh_cn.lang rename to project/assets/brandonscore/lang/zh_cn.lang diff --git a/assets/brandonscore/lang/zh_cn_old.lang b/project/assets/brandonscore/lang/zh_cn_old.lang similarity index 100% rename from assets/brandonscore/lang/zh_cn_old.lang rename to project/assets/brandonscore/lang/zh_cn_old.lang diff --git a/assets/bullseye/lang/zh_cn.lang b/project/assets/bullseye/lang/zh_cn.lang similarity index 100% rename from assets/bullseye/lang/zh_cn.lang rename to project/assets/bullseye/lang/zh_cn.lang diff --git a/assets/bullseye/lang/zh_cn_old.lang b/project/assets/bullseye/lang/zh_cn_old.lang similarity index 100% rename from assets/bullseye/lang/zh_cn_old.lang rename to project/assets/bullseye/lang/zh_cn_old.lang diff --git a/assets/calculator/lang/en_us.lang b/project/assets/calculator/lang/en_us.lang similarity index 100% rename from assets/calculator/lang/en_us.lang rename to project/assets/calculator/lang/en_us.lang diff --git a/assets/calculator/lang/zh_cn.lang b/project/assets/calculator/lang/zh_cn.lang similarity index 100% rename from assets/calculator/lang/zh_cn.lang rename to project/assets/calculator/lang/zh_cn.lang diff --git a/assets/calculator/lang/zh_cn_old.lang b/project/assets/calculator/lang/zh_cn_old.lang similarity index 100% rename from assets/calculator/lang/zh_cn_old.lang rename to project/assets/calculator/lang/zh_cn_old.lang diff --git a/assets/capabilityproxy/lang/en_us.lang b/project/assets/capabilityproxy/lang/en_us.lang similarity index 100% rename from assets/capabilityproxy/lang/en_us.lang rename to project/assets/capabilityproxy/lang/en_us.lang diff --git a/assets/capabilityproxy/lang/zh_cn.lang b/project/assets/capabilityproxy/lang/zh_cn.lang similarity index 100% rename from assets/capabilityproxy/lang/zh_cn.lang rename to project/assets/capabilityproxy/lang/zh_cn.lang diff --git a/assets/capabilityproxy/lang/zh_cn_old.lang b/project/assets/capabilityproxy/lang/zh_cn_old.lang similarity index 100% rename from assets/capabilityproxy/lang/zh_cn_old.lang rename to project/assets/capabilityproxy/lang/zh_cn_old.lang diff --git a/assets/careerbees/lang/en_us.lang b/project/assets/careerbees/lang/en_us.lang similarity index 100% rename from assets/careerbees/lang/en_us.lang rename to project/assets/careerbees/lang/en_us.lang diff --git a/assets/careerbees/lang/zh_cn.lang b/project/assets/careerbees/lang/zh_cn.lang similarity index 100% rename from assets/careerbees/lang/zh_cn.lang rename to project/assets/careerbees/lang/zh_cn.lang diff --git a/assets/careerbees/lang/zh_cn_old.lang b/project/assets/careerbees/lang/zh_cn_old.lang similarity index 100% rename from assets/careerbees/lang/zh_cn_old.lang rename to project/assets/careerbees/lang/zh_cn_old.lang diff --git a/assets/carryon/lang/en_us.lang b/project/assets/carryon/lang/en_us.lang similarity index 100% rename from assets/carryon/lang/en_us.lang rename to project/assets/carryon/lang/en_us.lang diff --git a/assets/carryon/lang/zh_cn.lang b/project/assets/carryon/lang/zh_cn.lang similarity index 100% rename from assets/carryon/lang/zh_cn.lang rename to project/assets/carryon/lang/zh_cn.lang diff --git a/assets/carryon/lang/zh_cn_old.lang b/project/assets/carryon/lang/zh_cn_old.lang similarity index 100% rename from assets/carryon/lang/zh_cn_old.lang rename to project/assets/carryon/lang/zh_cn_old.lang diff --git a/assets/carz/lang/zh_cn.lang b/project/assets/carz/lang/zh_cn.lang similarity index 100% rename from assets/carz/lang/zh_cn.lang rename to project/assets/carz/lang/zh_cn.lang diff --git a/assets/carz/lang/zh_cn_old.lang b/project/assets/carz/lang/zh_cn_old.lang similarity index 100% rename from assets/carz/lang/zh_cn_old.lang rename to project/assets/carz/lang/zh_cn_old.lang diff --git a/assets/catwalks/lang/zh_cn.lang b/project/assets/catwalks/lang/zh_cn.lang similarity index 100% rename from assets/catwalks/lang/zh_cn.lang rename to project/assets/catwalks/lang/zh_cn.lang diff --git a/assets/catwalks/lang/zh_cn_old.lang b/project/assets/catwalks/lang/zh_cn_old.lang similarity index 100% rename from assets/catwalks/lang/zh_cn_old.lang rename to project/assets/catwalks/lang/zh_cn_old.lang diff --git a/assets/cavern/lang/zh_cn.lang b/project/assets/cavern/lang/zh_cn.lang similarity index 100% rename from assets/cavern/lang/zh_cn.lang rename to project/assets/cavern/lang/zh_cn.lang diff --git a/assets/cavern/lang/zh_cn_old.lang b/project/assets/cavern/lang/zh_cn_old.lang similarity index 100% rename from assets/cavern/lang/zh_cn_old.lang rename to project/assets/cavern/lang/zh_cn_old.lang diff --git a/assets/cd4017be_lib/lang/zh_cn.lang b/project/assets/cd4017be_lib/lang/zh_cn.lang similarity index 100% rename from assets/cd4017be_lib/lang/zh_cn.lang rename to project/assets/cd4017be_lib/lang/zh_cn.lang diff --git a/assets/cd4017be_lib/lang/zh_cn_old.lang b/project/assets/cd4017be_lib/lang/zh_cn_old.lang similarity index 100% rename from assets/cd4017be_lib/lang/zh_cn_old.lang rename to project/assets/cd4017be_lib/lang/zh_cn_old.lang diff --git a/assets/ceramics/lang/en_us.lang b/project/assets/ceramics/lang/en_us.lang similarity index 100% rename from assets/ceramics/lang/en_us.lang rename to project/assets/ceramics/lang/en_us.lang diff --git a/assets/ceramics/lang/zh_cn.lang b/project/assets/ceramics/lang/zh_cn.lang similarity index 100% rename from assets/ceramics/lang/zh_cn.lang rename to project/assets/ceramics/lang/zh_cn.lang diff --git a/assets/ceramics/lang/zh_cn_old.lang b/project/assets/ceramics/lang/zh_cn_old.lang similarity index 100% rename from assets/ceramics/lang/zh_cn_old.lang rename to project/assets/ceramics/lang/zh_cn_old.lang diff --git a/assets/cfm/lang/en_us.lang b/project/assets/cfm/lang/en_us.lang similarity index 100% rename from assets/cfm/lang/en_us.lang rename to project/assets/cfm/lang/en_us.lang diff --git a/assets/cfm/lang/zh_cn.lang b/project/assets/cfm/lang/zh_cn.lang similarity index 100% rename from assets/cfm/lang/zh_cn.lang rename to project/assets/cfm/lang/zh_cn.lang diff --git a/assets/cfm/lang/zh_cn_old.lang b/project/assets/cfm/lang/zh_cn_old.lang similarity index 100% rename from assets/cfm/lang/zh_cn_old.lang rename to project/assets/cfm/lang/zh_cn_old.lang diff --git a/assets/chancecubes/lang/en_us.lang b/project/assets/chancecubes/lang/en_us.lang similarity index 100% rename from assets/chancecubes/lang/en_us.lang rename to project/assets/chancecubes/lang/en_us.lang diff --git a/assets/chancecubes/lang/zh_cn.lang b/project/assets/chancecubes/lang/zh_cn.lang similarity index 100% rename from assets/chancecubes/lang/zh_cn.lang rename to project/assets/chancecubes/lang/zh_cn.lang diff --git a/assets/chancecubes/lang/zh_cn_old.lang b/project/assets/chancecubes/lang/zh_cn_old.lang similarity index 100% rename from assets/chancecubes/lang/zh_cn_old.lang rename to project/assets/chancecubes/lang/zh_cn_old.lang diff --git a/assets/charset/lang/zh_cn.lang b/project/assets/charset/lang/zh_cn.lang similarity index 100% rename from assets/charset/lang/zh_cn.lang rename to project/assets/charset/lang/zh_cn.lang diff --git a/assets/charset/lang/zh_cn_old.lang b/project/assets/charset/lang/zh_cn_old.lang similarity index 100% rename from assets/charset/lang/zh_cn_old.lang rename to project/assets/charset/lang/zh_cn_old.lang diff --git a/assets/charsetlib/lang/zh_cn.lang b/project/assets/charsetlib/lang/zh_cn.lang similarity index 100% rename from assets/charsetlib/lang/zh_cn.lang rename to project/assets/charsetlib/lang/zh_cn.lang diff --git a/assets/charsetlib/lang/zh_cn_old.lang b/project/assets/charsetlib/lang/zh_cn_old.lang similarity index 100% rename from assets/charsetlib/lang/zh_cn_old.lang rename to project/assets/charsetlib/lang/zh_cn_old.lang diff --git a/assets/chesttransporter/lang/en_us.lang b/project/assets/chesttransporter/lang/en_us.lang similarity index 100% rename from assets/chesttransporter/lang/en_us.lang rename to project/assets/chesttransporter/lang/en_us.lang diff --git a/assets/chesttransporter/lang/zh_cn.lang b/project/assets/chesttransporter/lang/zh_cn.lang similarity index 100% rename from assets/chesttransporter/lang/zh_cn.lang rename to project/assets/chesttransporter/lang/zh_cn.lang diff --git a/assets/chesttransporter/lang/zh_cn_old.lang b/project/assets/chesttransporter/lang/zh_cn_old.lang similarity index 100% rename from assets/chesttransporter/lang/zh_cn_old.lang rename to project/assets/chesttransporter/lang/zh_cn_old.lang diff --git a/assets/chickenchunks/lang/en_us.lang b/project/assets/chickenchunks/lang/en_us.lang similarity index 100% rename from assets/chickenchunks/lang/en_us.lang rename to project/assets/chickenchunks/lang/en_us.lang diff --git a/assets/chickenchunks/lang/zh_cn.lang b/project/assets/chickenchunks/lang/zh_cn.lang similarity index 100% rename from assets/chickenchunks/lang/zh_cn.lang rename to project/assets/chickenchunks/lang/zh_cn.lang diff --git a/assets/chickenchunks/lang/zh_cn_old.lang b/project/assets/chickenchunks/lang/zh_cn_old.lang similarity index 100% rename from assets/chickenchunks/lang/zh_cn_old.lang rename to project/assets/chickenchunks/lang/zh_cn_old.lang diff --git a/assets/chickens/lang/en_us.lang b/project/assets/chickens/lang/en_us.lang similarity index 100% rename from assets/chickens/lang/en_us.lang rename to project/assets/chickens/lang/en_us.lang diff --git a/assets/chickens/lang/zh_cn.lang b/project/assets/chickens/lang/zh_cn.lang similarity index 100% rename from assets/chickens/lang/zh_cn.lang rename to project/assets/chickens/lang/zh_cn.lang diff --git a/assets/chickens/lang/zh_cn_old.lang b/project/assets/chickens/lang/zh_cn_old.lang similarity index 100% rename from assets/chickens/lang/zh_cn_old.lang rename to project/assets/chickens/lang/zh_cn_old.lang diff --git a/assets/chisel/en_us.lang b/project/assets/chisel/en_us.lang similarity index 100% rename from assets/chisel/en_us.lang rename to project/assets/chisel/en_us.lang diff --git a/assets/chisel/zh_cn.lang b/project/assets/chisel/zh_cn.lang similarity index 100% rename from assets/chisel/zh_cn.lang rename to project/assets/chisel/zh_cn.lang diff --git a/assets/chiselsandbits/lang/en_us.lang b/project/assets/chiselsandbits/lang/en_us.lang similarity index 100% rename from assets/chiselsandbits/lang/en_us.lang rename to project/assets/chiselsandbits/lang/en_us.lang diff --git a/assets/chiselsandbits/lang/zh_cn.lang b/project/assets/chiselsandbits/lang/zh_cn.lang similarity index 100% rename from assets/chiselsandbits/lang/zh_cn.lang rename to project/assets/chiselsandbits/lang/zh_cn.lang diff --git a/assets/chiselsandbits/lang/zh_cn_old.lang b/project/assets/chiselsandbits/lang/zh_cn_old.lang similarity index 100% rename from assets/chiselsandbits/lang/zh_cn_old.lang rename to project/assets/chiselsandbits/lang/zh_cn_old.lang diff --git a/assets/chococraft/lang/en_us.lang b/project/assets/chococraft/lang/en_us.lang similarity index 100% rename from assets/chococraft/lang/en_us.lang rename to project/assets/chococraft/lang/en_us.lang diff --git a/assets/chococraft/lang/zh_cn.lang b/project/assets/chococraft/lang/zh_cn.lang similarity index 100% rename from assets/chococraft/lang/zh_cn.lang rename to project/assets/chococraft/lang/zh_cn.lang diff --git a/assets/chococraft/lang/zh_cn_old.lang b/project/assets/chococraft/lang/zh_cn_old.lang similarity index 100% rename from assets/chococraft/lang/zh_cn_old.lang rename to project/assets/chococraft/lang/zh_cn_old.lang diff --git a/assets/circuits/lang/zh_cn.lang b/project/assets/circuits/lang/zh_cn.lang similarity index 100% rename from assets/circuits/lang/zh_cn.lang rename to project/assets/circuits/lang/zh_cn.lang diff --git a/assets/circuits/lang/zh_cn_old.lang b/project/assets/circuits/lang/zh_cn_old.lang similarity index 100% rename from assets/circuits/lang/zh_cn_old.lang rename to project/assets/circuits/lang/zh_cn_old.lang diff --git a/assets/classyhats/lang/zh_cn.lang b/project/assets/classyhats/lang/zh_cn.lang similarity index 100% rename from assets/classyhats/lang/zh_cn.lang rename to project/assets/classyhats/lang/zh_cn.lang diff --git a/assets/classyhats/lang/zh_cn_old.lang b/project/assets/classyhats/lang/zh_cn_old.lang similarity index 100% rename from assets/classyhats/lang/zh_cn_old.lang rename to project/assets/classyhats/lang/zh_cn_old.lang diff --git a/assets/claybucket/lang/en_us.lang b/project/assets/claybucket/lang/en_us.lang similarity index 100% rename from assets/claybucket/lang/en_us.lang rename to project/assets/claybucket/lang/en_us.lang diff --git a/assets/claybucket/lang/zh_cn.lang b/project/assets/claybucket/lang/zh_cn.lang similarity index 100% rename from assets/claybucket/lang/zh_cn.lang rename to project/assets/claybucket/lang/zh_cn.lang diff --git a/assets/claybucket/lang/zh_cn_old.lang b/project/assets/claybucket/lang/zh_cn_old.lang similarity index 100% rename from assets/claybucket/lang/zh_cn_old.lang rename to project/assets/claybucket/lang/zh_cn_old.lang diff --git a/assets/claysoldiers/lang/zh_cn.lang b/project/assets/claysoldiers/lang/zh_cn.lang similarity index 100% rename from assets/claysoldiers/lang/zh_cn.lang rename to project/assets/claysoldiers/lang/zh_cn.lang diff --git a/assets/claysoldiers/lang/zh_cn_old.lang b/project/assets/claysoldiers/lang/zh_cn_old.lang similarity index 100% rename from assets/claysoldiers/lang/zh_cn_old.lang rename to project/assets/claysoldiers/lang/zh_cn_old.lang diff --git a/assets/clienttweaks/lang/en_us.lang b/project/assets/clienttweaks/lang/en_us.lang similarity index 100% rename from assets/clienttweaks/lang/en_us.lang rename to project/assets/clienttweaks/lang/en_us.lang diff --git a/assets/clienttweaks/lang/zh_cn.lang b/project/assets/clienttweaks/lang/zh_cn.lang similarity index 100% rename from assets/clienttweaks/lang/zh_cn.lang rename to project/assets/clienttweaks/lang/zh_cn.lang diff --git a/assets/clienttweaks/lang/zh_cn_old.lang b/project/assets/clienttweaks/lang/zh_cn_old.lang similarity index 100% rename from assets/clienttweaks/lang/zh_cn_old.lang rename to project/assets/clienttweaks/lang/zh_cn_old.lang diff --git a/assets/cofh/lang/en_us.lang b/project/assets/cofh/lang/en_us.lang similarity index 100% rename from assets/cofh/lang/en_us.lang rename to project/assets/cofh/lang/en_us.lang diff --git a/assets/cofh/lang/zh_cn.lang b/project/assets/cofh/lang/zh_cn.lang similarity index 100% rename from assets/cofh/lang/zh_cn.lang rename to project/assets/cofh/lang/zh_cn.lang diff --git a/assets/cofh/lang/zh_cn_old.lang b/project/assets/cofh/lang/zh_cn_old.lang similarity index 100% rename from assets/cofh/lang/zh_cn_old.lang rename to project/assets/cofh/lang/zh_cn_old.lang diff --git a/assets/cofhworld/lang/en_us.lang b/project/assets/cofhworld/lang/en_us.lang similarity index 100% rename from assets/cofhworld/lang/en_us.lang rename to project/assets/cofhworld/lang/en_us.lang diff --git a/assets/cofhworld/lang/zh_cn.lang b/project/assets/cofhworld/lang/zh_cn.lang similarity index 100% rename from assets/cofhworld/lang/zh_cn.lang rename to project/assets/cofhworld/lang/zh_cn.lang diff --git a/assets/cofhworld/lang/zh_cn_old.lang b/project/assets/cofhworld/lang/zh_cn_old.lang similarity index 100% rename from assets/cofhworld/lang/zh_cn_old.lang rename to project/assets/cofhworld/lang/zh_cn_old.lang diff --git a/assets/colossalchests/lang/en_us.lang b/project/assets/colossalchests/lang/en_us.lang similarity index 100% rename from assets/colossalchests/lang/en_us.lang rename to project/assets/colossalchests/lang/en_us.lang diff --git a/assets/colossalchests/lang/zh_cn.lang b/project/assets/colossalchests/lang/zh_cn.lang similarity index 100% rename from assets/colossalchests/lang/zh_cn.lang rename to project/assets/colossalchests/lang/zh_cn.lang diff --git a/assets/colossalchests/lang/zh_cn_old.lang b/project/assets/colossalchests/lang/zh_cn_old.lang similarity index 100% rename from assets/colossalchests/lang/zh_cn_old.lang rename to project/assets/colossalchests/lang/zh_cn_old.lang diff --git a/assets/commoncapabilities/lang/en_us.lang b/project/assets/commoncapabilities/lang/en_us.lang similarity index 100% rename from assets/commoncapabilities/lang/en_us.lang rename to project/assets/commoncapabilities/lang/en_us.lang diff --git a/assets/commoncapabilities/lang/zh_cn.lang b/project/assets/commoncapabilities/lang/zh_cn.lang similarity index 100% rename from assets/commoncapabilities/lang/zh_cn.lang rename to project/assets/commoncapabilities/lang/zh_cn.lang diff --git a/assets/commoncapabilities/lang/zh_cn_old.lang b/project/assets/commoncapabilities/lang/zh_cn_old.lang similarity index 100% rename from assets/commoncapabilities/lang/zh_cn_old.lang rename to project/assets/commoncapabilities/lang/zh_cn_old.lang diff --git a/assets/compacter/lang/en_us.lang b/project/assets/compacter/lang/en_us.lang similarity index 100% rename from assets/compacter/lang/en_us.lang rename to project/assets/compacter/lang/en_us.lang diff --git a/assets/compacter/lang/zh_cn.lang b/project/assets/compacter/lang/zh_cn.lang similarity index 100% rename from assets/compacter/lang/zh_cn.lang rename to project/assets/compacter/lang/zh_cn.lang diff --git a/assets/compacter/lang/zh_cn_old.lang b/project/assets/compacter/lang/zh_cn_old.lang similarity index 100% rename from assets/compacter/lang/zh_cn_old.lang rename to project/assets/compacter/lang/zh_cn_old.lang diff --git a/assets/compactmachines3/lang/en_us.lang b/project/assets/compactmachines3/lang/en_us.lang similarity index 100% rename from assets/compactmachines3/lang/en_us.lang rename to project/assets/compactmachines3/lang/en_us.lang diff --git a/assets/compactmachines3/lang/zh_cn.lang b/project/assets/compactmachines3/lang/zh_cn.lang similarity index 100% rename from assets/compactmachines3/lang/zh_cn.lang rename to project/assets/compactmachines3/lang/zh_cn.lang diff --git a/assets/compactmachines3/lang/zh_cn_old.lang b/project/assets/compactmachines3/lang/zh_cn_old.lang similarity index 100% rename from assets/compactmachines3/lang/zh_cn_old.lang rename to project/assets/compactmachines3/lang/zh_cn_old.lang diff --git a/assets/compactsolars/lang/en_us.lang b/project/assets/compactsolars/lang/en_us.lang similarity index 100% rename from assets/compactsolars/lang/en_us.lang rename to project/assets/compactsolars/lang/en_us.lang diff --git a/assets/compactsolars/lang/zh_cn.lang b/project/assets/compactsolars/lang/zh_cn.lang similarity index 100% rename from assets/compactsolars/lang/zh_cn.lang rename to project/assets/compactsolars/lang/zh_cn.lang diff --git a/assets/compactsolars/lang/zh_cn_old.lang b/project/assets/compactsolars/lang/zh_cn_old.lang similarity index 100% rename from assets/compactsolars/lang/zh_cn_old.lang rename to project/assets/compactsolars/lang/zh_cn_old.lang diff --git a/assets/compactstorage/lang/en_us.lang b/project/assets/compactstorage/lang/en_us.lang similarity index 100% rename from assets/compactstorage/lang/en_us.lang rename to project/assets/compactstorage/lang/en_us.lang diff --git a/assets/compactstorage/lang/zh_cn.lang b/project/assets/compactstorage/lang/zh_cn.lang similarity index 100% rename from assets/compactstorage/lang/zh_cn.lang rename to project/assets/compactstorage/lang/zh_cn.lang diff --git a/assets/compactstorage/lang/zh_cn_old.lang b/project/assets/compactstorage/lang/zh_cn_old.lang similarity index 100% rename from assets/compactstorage/lang/zh_cn_old.lang rename to project/assets/compactstorage/lang/zh_cn_old.lang diff --git a/assets/computercraft/lang/zh_cn.lang b/project/assets/computercraft/lang/zh_cn.lang similarity index 100% rename from assets/computercraft/lang/zh_cn.lang rename to project/assets/computercraft/lang/zh_cn.lang diff --git a/assets/computercraft/lang/zh_cn_old.lang b/project/assets/computercraft/lang/zh_cn_old.lang similarity index 100% rename from assets/computercraft/lang/zh_cn_old.lang rename to project/assets/computercraft/lang/zh_cn_old.lang diff --git a/assets/computronics/lang/zh_cn.lang b/project/assets/computronics/lang/zh_cn.lang similarity index 100% rename from assets/computronics/lang/zh_cn.lang rename to project/assets/computronics/lang/zh_cn.lang diff --git a/assets/computronics/lang/zh_cn_old.lang b/project/assets/computronics/lang/zh_cn_old.lang similarity index 100% rename from assets/computronics/lang/zh_cn_old.lang rename to project/assets/computronics/lang/zh_cn_old.lang diff --git a/assets/controlling/lang/en_us.lang b/project/assets/controlling/lang/en_us.lang similarity index 100% rename from assets/controlling/lang/en_us.lang rename to project/assets/controlling/lang/en_us.lang diff --git a/assets/controlling/lang/zh_cn.lang b/project/assets/controlling/lang/zh_cn.lang similarity index 100% rename from assets/controlling/lang/zh_cn.lang rename to project/assets/controlling/lang/zh_cn.lang diff --git a/assets/controlling/lang/zh_cn_old.lang b/project/assets/controlling/lang/zh_cn_old.lang similarity index 100% rename from assets/controlling/lang/zh_cn_old.lang rename to project/assets/controlling/lang/zh_cn_old.lang diff --git a/assets/conventionalchat/lang/zh_cn.lang b/project/assets/conventionalchat/lang/zh_cn.lang similarity index 100% rename from assets/conventionalchat/lang/zh_cn.lang rename to project/assets/conventionalchat/lang/zh_cn.lang diff --git a/assets/conventionalchat/lang/zh_cn_old.lang b/project/assets/conventionalchat/lang/zh_cn_old.lang similarity index 100% rename from assets/conventionalchat/lang/zh_cn_old.lang rename to project/assets/conventionalchat/lang/zh_cn_old.lang diff --git a/assets/cookingforblockheads/lang/en_us.lang b/project/assets/cookingforblockheads/lang/en_us.lang similarity index 100% rename from assets/cookingforblockheads/lang/en_us.lang rename to project/assets/cookingforblockheads/lang/en_us.lang diff --git a/assets/cookingforblockheads/lang/zh_cn.lang b/project/assets/cookingforblockheads/lang/zh_cn.lang similarity index 100% rename from assets/cookingforblockheads/lang/zh_cn.lang rename to project/assets/cookingforblockheads/lang/zh_cn.lang diff --git a/assets/cookingforblockheads/lang/zh_cn_old.lang b/project/assets/cookingforblockheads/lang/zh_cn_old.lang similarity index 100% rename from assets/cookingforblockheads/lang/zh_cn_old.lang rename to project/assets/cookingforblockheads/lang/zh_cn_old.lang diff --git a/assets/coordinatesplusmod/lang/zh_cn.lang b/project/assets/coordinatesplusmod/lang/zh_cn.lang similarity index 100% rename from assets/coordinatesplusmod/lang/zh_cn.lang rename to project/assets/coordinatesplusmod/lang/zh_cn.lang diff --git a/assets/coordinatesplusmod/lang/zh_cn_old.lang b/project/assets/coordinatesplusmod/lang/zh_cn_old.lang similarity index 100% rename from assets/coordinatesplusmod/lang/zh_cn_old.lang rename to project/assets/coordinatesplusmod/lang/zh_cn_old.lang diff --git a/assets/corail_pillar/lang/zh_cn.lang b/project/assets/corail_pillar/lang/zh_cn.lang similarity index 100% rename from assets/corail_pillar/lang/zh_cn.lang rename to project/assets/corail_pillar/lang/zh_cn.lang diff --git a/assets/corail_pillar/lang/zh_cn_old.lang b/project/assets/corail_pillar/lang/zh_cn_old.lang similarity index 100% rename from assets/corail_pillar/lang/zh_cn_old.lang rename to project/assets/corail_pillar/lang/zh_cn_old.lang diff --git a/assets/coralreef/lang/zh_cn.lang b/project/assets/coralreef/lang/zh_cn.lang similarity index 100% rename from assets/coralreef/lang/zh_cn.lang rename to project/assets/coralreef/lang/zh_cn.lang diff --git a/assets/coralreef/lang/zh_cn_old.lang b/project/assets/coralreef/lang/zh_cn_old.lang similarity index 100% rename from assets/coralreef/lang/zh_cn_old.lang rename to project/assets/coralreef/lang/zh_cn_old.lang diff --git a/assets/core/lang/en_us.lang b/project/assets/core/lang/en_us.lang similarity index 100% rename from assets/core/lang/en_us.lang rename to project/assets/core/lang/en_us.lang diff --git a/assets/core/lang/zh_cn.lang b/project/assets/core/lang/zh_cn.lang similarity index 100% rename from assets/core/lang/zh_cn.lang rename to project/assets/core/lang/zh_cn.lang diff --git a/assets/core/lang/zh_cn_old.lang b/project/assets/core/lang/zh_cn_old.lang similarity index 100% rename from assets/core/lang/zh_cn_old.lang rename to project/assets/core/lang/zh_cn_old.lang diff --git a/assets/correlated/lang/zh_cn.lang b/project/assets/correlated/lang/zh_cn.lang similarity index 100% rename from assets/correlated/lang/zh_cn.lang rename to project/assets/correlated/lang/zh_cn.lang diff --git a/assets/correlated/lang/zh_cn_old.lang b/project/assets/correlated/lang/zh_cn_old.lang similarity index 100% rename from assets/correlated/lang/zh_cn_old.lang rename to project/assets/correlated/lang/zh_cn_old.lang diff --git a/assets/cosmeticarmorreworked/lang/en_us.lang b/project/assets/cosmeticarmorreworked/lang/en_us.lang similarity index 100% rename from assets/cosmeticarmorreworked/lang/en_us.lang rename to project/assets/cosmeticarmorreworked/lang/en_us.lang diff --git a/assets/cosmeticarmorreworked/lang/zh_cn.lang b/project/assets/cosmeticarmorreworked/lang/zh_cn.lang similarity index 100% rename from assets/cosmeticarmorreworked/lang/zh_cn.lang rename to project/assets/cosmeticarmorreworked/lang/zh_cn.lang diff --git a/assets/cosmeticarmorreworked/lang/zh_cn_old.lang b/project/assets/cosmeticarmorreworked/lang/zh_cn_old.lang similarity index 100% rename from assets/cosmeticarmorreworked/lang/zh_cn_old.lang rename to project/assets/cosmeticarmorreworked/lang/zh_cn_old.lang diff --git a/assets/crackedzombiemod/lang/zh_cn.lang b/project/assets/crackedzombiemod/lang/zh_cn.lang similarity index 100% rename from assets/crackedzombiemod/lang/zh_cn.lang rename to project/assets/crackedzombiemod/lang/zh_cn.lang diff --git a/assets/crackedzombiemod/lang/zh_cn_old.lang b/project/assets/crackedzombiemod/lang/zh_cn_old.lang similarity index 100% rename from assets/crackedzombiemod/lang/zh_cn_old.lang rename to project/assets/crackedzombiemod/lang/zh_cn_old.lang diff --git a/assets/craftingcraft/lang/zh_cn.lang b/project/assets/craftingcraft/lang/zh_cn.lang similarity index 100% rename from assets/craftingcraft/lang/zh_cn.lang rename to project/assets/craftingcraft/lang/zh_cn.lang diff --git a/assets/craftingcraft/lang/zh_cn_old.lang b/project/assets/craftingcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/craftingcraft/lang/zh_cn_old.lang rename to project/assets/craftingcraft/lang/zh_cn_old.lang diff --git a/assets/craftingtweaks/lang/en_us.lang b/project/assets/craftingtweaks/lang/en_us.lang similarity index 100% rename from assets/craftingtweaks/lang/en_us.lang rename to project/assets/craftingtweaks/lang/en_us.lang diff --git a/assets/craftingtweaks/lang/zh_cn.lang b/project/assets/craftingtweaks/lang/zh_cn.lang similarity index 100% rename from assets/craftingtweaks/lang/zh_cn.lang rename to project/assets/craftingtweaks/lang/zh_cn.lang diff --git a/assets/craftingtweaks/lang/zh_cn_old.lang b/project/assets/craftingtweaks/lang/zh_cn_old.lang similarity index 100% rename from assets/craftingtweaks/lang/zh_cn_old.lang rename to project/assets/craftingtweaks/lang/zh_cn_old.lang diff --git a/assets/creeperconfetti/lang/en_us.lang b/project/assets/creeperconfetti/lang/en_us.lang similarity index 100% rename from assets/creeperconfetti/lang/en_us.lang rename to project/assets/creeperconfetti/lang/en_us.lang diff --git a/assets/creeperconfetti/lang/zh_cn.lang b/project/assets/creeperconfetti/lang/zh_cn.lang similarity index 100% rename from assets/creeperconfetti/lang/zh_cn.lang rename to project/assets/creeperconfetti/lang/zh_cn.lang diff --git a/assets/creeperconfetti/lang/zh_cn_old.lang b/project/assets/creeperconfetti/lang/zh_cn_old.lang similarity index 100% rename from assets/creeperconfetti/lang/zh_cn_old.lang rename to project/assets/creeperconfetti/lang/zh_cn_old.lang diff --git a/assets/creeperhost/lang/en_us.lang b/project/assets/creeperhost/lang/en_us.lang similarity index 100% rename from assets/creeperhost/lang/en_us.lang rename to project/assets/creeperhost/lang/en_us.lang diff --git a/assets/creeperhost/lang/zh_cn.lang b/project/assets/creeperhost/lang/zh_cn.lang similarity index 100% rename from assets/creeperhost/lang/zh_cn.lang rename to project/assets/creeperhost/lang/zh_cn.lang diff --git a/assets/creeperhost/lang/zh_cn_old.lang b/project/assets/creeperhost/lang/zh_cn_old.lang similarity index 100% rename from assets/creeperhost/lang/zh_cn_old.lang rename to project/assets/creeperhost/lang/zh_cn_old.lang diff --git a/assets/cropdusting/lang/zh_cn.lang b/project/assets/cropdusting/lang/zh_cn.lang similarity index 100% rename from assets/cropdusting/lang/zh_cn.lang rename to project/assets/cropdusting/lang/zh_cn.lang diff --git a/assets/cropdusting/lang/zh_cn_old.lang b/project/assets/cropdusting/lang/zh_cn_old.lang similarity index 100% rename from assets/cropdusting/lang/zh_cn_old.lang rename to project/assets/cropdusting/lang/zh_cn_old.lang diff --git a/assets/crossroads/lang/en_us.lang b/project/assets/crossroads/lang/en_us.lang similarity index 100% rename from assets/crossroads/lang/en_us.lang rename to project/assets/crossroads/lang/en_us.lang diff --git a/assets/crossroads/lang/zh_cn.lang b/project/assets/crossroads/lang/zh_cn.lang similarity index 100% rename from assets/crossroads/lang/zh_cn.lang rename to project/assets/crossroads/lang/zh_cn.lang diff --git a/assets/crossroads/lang/zh_cn_old.lang b/project/assets/crossroads/lang/zh_cn_old.lang similarity index 100% rename from assets/crossroads/lang/zh_cn_old.lang rename to project/assets/crossroads/lang/zh_cn_old.lang diff --git a/assets/csb_ench_table/lang/zh_cn.lang b/project/assets/csb_ench_table/lang/zh_cn.lang similarity index 100% rename from assets/csb_ench_table/lang/zh_cn.lang rename to project/assets/csb_ench_table/lang/zh_cn.lang diff --git a/assets/csb_ench_table/lang/zh_cn_old.lang b/project/assets/csb_ench_table/lang/zh_cn_old.lang similarity index 100% rename from assets/csb_ench_table/lang/zh_cn_old.lang rename to project/assets/csb_ench_table/lang/zh_cn_old.lang diff --git a/assets/customnpcs/lang/en_us.lang b/project/assets/customnpcs/lang/en_us.lang similarity index 100% rename from assets/customnpcs/lang/en_us.lang rename to project/assets/customnpcs/lang/en_us.lang diff --git a/assets/customnpcs/lang/zh_cn.lang b/project/assets/customnpcs/lang/zh_cn.lang similarity index 100% rename from assets/customnpcs/lang/zh_cn.lang rename to project/assets/customnpcs/lang/zh_cn.lang diff --git a/assets/customnpcs/lang/zh_cn_old.lang b/project/assets/customnpcs/lang/zh_cn_old.lang similarity index 100% rename from assets/customnpcs/lang/zh_cn_old.lang rename to project/assets/customnpcs/lang/zh_cn_old.lang diff --git a/assets/cyclicmagic/lang/en_us.lang b/project/assets/cyclicmagic/lang/en_us.lang similarity index 100% rename from assets/cyclicmagic/lang/en_us.lang rename to project/assets/cyclicmagic/lang/en_us.lang diff --git a/assets/cyclicmagic/lang/zh_cn.lang b/project/assets/cyclicmagic/lang/zh_cn.lang similarity index 100% rename from assets/cyclicmagic/lang/zh_cn.lang rename to project/assets/cyclicmagic/lang/zh_cn.lang diff --git a/assets/cyclicmagic/lang/zh_cn_old.lang b/project/assets/cyclicmagic/lang/zh_cn_old.lang similarity index 100% rename from assets/cyclicmagic/lang/zh_cn_old.lang rename to project/assets/cyclicmagic/lang/zh_cn_old.lang diff --git a/assets/cyclopscore/lang/en_us.lang b/project/assets/cyclopscore/lang/en_us.lang similarity index 100% rename from assets/cyclopscore/lang/en_us.lang rename to project/assets/cyclopscore/lang/en_us.lang diff --git a/assets/cyclopscore/lang/zh_cn.lang b/project/assets/cyclopscore/lang/zh_cn.lang similarity index 100% rename from assets/cyclopscore/lang/zh_cn.lang rename to project/assets/cyclopscore/lang/zh_cn.lang diff --git a/assets/cyclopscore/lang/zh_cn_old.lang b/project/assets/cyclopscore/lang/zh_cn_old.lang similarity index 100% rename from assets/cyclopscore/lang/zh_cn_old.lang rename to project/assets/cyclopscore/lang/zh_cn_old.lang diff --git a/assets/danknull/lang/zh_cn.lang b/project/assets/danknull/lang/zh_cn.lang similarity index 100% rename from assets/danknull/lang/zh_cn.lang rename to project/assets/danknull/lang/zh_cn.lang diff --git a/assets/danknull/lang/zh_cn_old.lang b/project/assets/danknull/lang/zh_cn_old.lang similarity index 100% rename from assets/danknull/lang/zh_cn_old.lang rename to project/assets/danknull/lang/zh_cn_old.lang diff --git a/assets/darkutils/lang/en_us.lang b/project/assets/darkutils/lang/en_us.lang similarity index 100% rename from assets/darkutils/lang/en_us.lang rename to project/assets/darkutils/lang/en_us.lang diff --git a/assets/darkutils/lang/zh_cn.lang b/project/assets/darkutils/lang/zh_cn.lang similarity index 100% rename from assets/darkutils/lang/zh_cn.lang rename to project/assets/darkutils/lang/zh_cn.lang diff --git a/assets/darkutils/lang/zh_cn_old.lang b/project/assets/darkutils/lang/zh_cn_old.lang similarity index 100% rename from assets/darkutils/lang/zh_cn_old.lang rename to project/assets/darkutils/lang/zh_cn_old.lang diff --git a/assets/davincisvessels/lang/en_us.lang b/project/assets/davincisvessels/lang/en_us.lang similarity index 100% rename from assets/davincisvessels/lang/en_us.lang rename to project/assets/davincisvessels/lang/en_us.lang diff --git a/assets/davincisvessels/lang/zh_cn.lang b/project/assets/davincisvessels/lang/zh_cn.lang similarity index 100% rename from assets/davincisvessels/lang/zh_cn.lang rename to project/assets/davincisvessels/lang/zh_cn.lang diff --git a/assets/davincisvessels/lang/zh_cn_old.lang b/project/assets/davincisvessels/lang/zh_cn_old.lang similarity index 100% rename from assets/davincisvessels/lang/zh_cn_old.lang rename to project/assets/davincisvessels/lang/zh_cn_old.lang diff --git a/assets/deathcounter/lang/zh_cn.lang b/project/assets/deathcounter/lang/zh_cn.lang similarity index 100% rename from assets/deathcounter/lang/zh_cn.lang rename to project/assets/deathcounter/lang/zh_cn.lang diff --git a/assets/deathcounter/lang/zh_cn_old.lang b/project/assets/deathcounter/lang/zh_cn_old.lang similarity index 100% rename from assets/deathcounter/lang/zh_cn_old.lang rename to project/assets/deathcounter/lang/zh_cn_old.lang diff --git a/assets/deepresonance/lang/en_us.lang b/project/assets/deepresonance/lang/en_us.lang similarity index 100% rename from assets/deepresonance/lang/en_us.lang rename to project/assets/deepresonance/lang/en_us.lang diff --git a/assets/deepresonance/lang/zh_cn.lang b/project/assets/deepresonance/lang/zh_cn.lang similarity index 100% rename from assets/deepresonance/lang/zh_cn.lang rename to project/assets/deepresonance/lang/zh_cn.lang diff --git a/assets/deepresonance/lang/zh_cn_old.lang b/project/assets/deepresonance/lang/zh_cn_old.lang similarity index 100% rename from assets/deepresonance/lang/zh_cn_old.lang rename to project/assets/deepresonance/lang/zh_cn_old.lang diff --git a/assets/deepresonance/text/manual.txt b/project/assets/deepresonance/text/manual.txt similarity index 100% rename from assets/deepresonance/text/manual.txt rename to project/assets/deepresonance/text/manual.txt diff --git a/assets/demonmobs/lang/en_us.lang b/project/assets/demonmobs/lang/en_us.lang similarity index 100% rename from assets/demonmobs/lang/en_us.lang rename to project/assets/demonmobs/lang/en_us.lang diff --git a/assets/demonmobs/lang/zh_cn.lang b/project/assets/demonmobs/lang/zh_cn.lang similarity index 100% rename from assets/demonmobs/lang/zh_cn.lang rename to project/assets/demonmobs/lang/zh_cn.lang diff --git a/assets/demonmobs/lang/zh_cn_old.lang b/project/assets/demonmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/demonmobs/lang/zh_cn_old.lang rename to project/assets/demonmobs/lang/zh_cn_old.lang diff --git a/assets/desertmobs/lang/en_us.lang b/project/assets/desertmobs/lang/en_us.lang similarity index 100% rename from assets/desertmobs/lang/en_us.lang rename to project/assets/desertmobs/lang/en_us.lang diff --git a/assets/desertmobs/lang/zh_cn.lang b/project/assets/desertmobs/lang/zh_cn.lang similarity index 100% rename from assets/desertmobs/lang/zh_cn.lang rename to project/assets/desertmobs/lang/zh_cn.lang diff --git a/assets/desertmobs/lang/zh_cn_old.lang b/project/assets/desertmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/desertmobs/lang/zh_cn_old.lang rename to project/assets/desertmobs/lang/zh_cn_old.lang diff --git a/assets/dissolution/lang/zh_cn.lang b/project/assets/dissolution/lang/zh_cn.lang similarity index 100% rename from assets/dissolution/lang/zh_cn.lang rename to project/assets/dissolution/lang/zh_cn.lang diff --git a/assets/dissolution/lang/zh_cn_old.lang b/project/assets/dissolution/lang/zh_cn_old.lang similarity index 100% rename from assets/dissolution/lang/zh_cn_old.lang rename to project/assets/dissolution/lang/zh_cn_old.lang diff --git a/assets/dmonsters/lang/zh_cn.lang b/project/assets/dmonsters/lang/zh_cn.lang similarity index 100% rename from assets/dmonsters/lang/zh_cn.lang rename to project/assets/dmonsters/lang/zh_cn.lang diff --git a/assets/dmonsters/lang/zh_cn_old.lang b/project/assets/dmonsters/lang/zh_cn_old.lang similarity index 100% rename from assets/dmonsters/lang/zh_cn_old.lang rename to project/assets/dmonsters/lang/zh_cn_old.lang diff --git a/assets/dooglamoocitiesmod/lang/zh_cn.lang b/project/assets/dooglamoocitiesmod/lang/zh_cn.lang similarity index 100% rename from assets/dooglamoocitiesmod/lang/zh_cn.lang rename to project/assets/dooglamoocitiesmod/lang/zh_cn.lang diff --git a/assets/dooglamoocitiesmod/lang/zh_cn_old.lang b/project/assets/dooglamoocitiesmod/lang/zh_cn_old.lang similarity index 100% rename from assets/dooglamoocitiesmod/lang/zh_cn_old.lang rename to project/assets/dooglamoocitiesmod/lang/zh_cn_old.lang diff --git a/assets/draconicevolution/lang/en_us.lang b/project/assets/draconicevolution/lang/en_us.lang similarity index 100% rename from assets/draconicevolution/lang/en_us.lang rename to project/assets/draconicevolution/lang/en_us.lang diff --git a/assets/draconicevolution/lang/zh_cn.lang b/project/assets/draconicevolution/lang/zh_cn.lang similarity index 100% rename from assets/draconicevolution/lang/zh_cn.lang rename to project/assets/draconicevolution/lang/zh_cn.lang diff --git a/assets/draconicevolution/lang/zh_cn_old.lang b/project/assets/draconicevolution/lang/zh_cn_old.lang similarity index 100% rename from assets/draconicevolution/lang/zh_cn_old.lang rename to project/assets/draconicevolution/lang/zh_cn_old.lang diff --git a/assets/drones/lang/zh_cn.lang b/project/assets/drones/lang/zh_cn.lang similarity index 100% rename from assets/drones/lang/zh_cn.lang rename to project/assets/drones/lang/zh_cn.lang diff --git a/assets/drones/lang/zh_cn_old.lang b/project/assets/drones/lang/zh_cn_old.lang similarity index 100% rename from assets/drones/lang/zh_cn_old.lang rename to project/assets/drones/lang/zh_cn_old.lang diff --git a/assets/drpmedieval/lang/zh_cn.lang b/project/assets/drpmedieval/lang/zh_cn.lang similarity index 100% rename from assets/drpmedieval/lang/zh_cn.lang rename to project/assets/drpmedieval/lang/zh_cn.lang diff --git a/assets/drpmedieval/lang/zh_cn_old.lang b/project/assets/drpmedieval/lang/zh_cn_old.lang similarity index 100% rename from assets/drpmedieval/lang/zh_cn_old.lang rename to project/assets/drpmedieval/lang/zh_cn_old.lang diff --git a/assets/dsurround/lang/en_us.lang b/project/assets/dsurround/lang/en_us.lang similarity index 100% rename from assets/dsurround/lang/en_us.lang rename to project/assets/dsurround/lang/en_us.lang diff --git a/assets/dsurround/lang/zh_cn.lang b/project/assets/dsurround/lang/zh_cn.lang similarity index 100% rename from assets/dsurround/lang/zh_cn.lang rename to project/assets/dsurround/lang/zh_cn.lang diff --git a/assets/dsurround/lang/zh_cn_old.lang b/project/assets/dsurround/lang/zh_cn_old.lang similarity index 100% rename from assets/dsurround/lang/zh_cn_old.lang rename to project/assets/dsurround/lang/zh_cn_old.lang diff --git a/assets/dynamicswordskills/lang/zh_cn.lang b/project/assets/dynamicswordskills/lang/zh_cn.lang similarity index 100% rename from assets/dynamicswordskills/lang/zh_cn.lang rename to project/assets/dynamicswordskills/lang/zh_cn.lang diff --git a/assets/dynamicswordskills/lang/zh_cn_old.lang b/project/assets/dynamicswordskills/lang/zh_cn_old.lang similarity index 100% rename from assets/dynamicswordskills/lang/zh_cn_old.lang rename to project/assets/dynamicswordskills/lang/zh_cn_old.lang diff --git a/assets/ediblebugs/lang/zh_cn.lang b/project/assets/ediblebugs/lang/zh_cn.lang similarity index 100% rename from assets/ediblebugs/lang/zh_cn.lang rename to project/assets/ediblebugs/lang/zh_cn.lang diff --git a/assets/ediblebugs/lang/zh_cn_old.lang b/project/assets/ediblebugs/lang/zh_cn_old.lang similarity index 100% rename from assets/ediblebugs/lang/zh_cn_old.lang rename to project/assets/ediblebugs/lang/zh_cn_old.lang diff --git a/assets/eiramoticons/lang/en_us.lang b/project/assets/eiramoticons/lang/en_us.lang similarity index 100% rename from assets/eiramoticons/lang/en_us.lang rename to project/assets/eiramoticons/lang/en_us.lang diff --git a/assets/eiramoticons/lang/zh_cn.lang b/project/assets/eiramoticons/lang/zh_cn.lang similarity index 100% rename from assets/eiramoticons/lang/zh_cn.lang rename to project/assets/eiramoticons/lang/zh_cn.lang diff --git a/assets/eiramoticons/lang/zh_cn_old.lang b/project/assets/eiramoticons/lang/zh_cn_old.lang similarity index 100% rename from assets/eiramoticons/lang/zh_cn_old.lang rename to project/assets/eiramoticons/lang/zh_cn_old.lang diff --git a/assets/eleccore/lang/en_us.lang b/project/assets/eleccore/lang/en_us.lang similarity index 100% rename from assets/eleccore/lang/en_us.lang rename to project/assets/eleccore/lang/en_us.lang diff --git a/assets/eleccore/lang/zh_cn.lang b/project/assets/eleccore/lang/zh_cn.lang similarity index 100% rename from assets/eleccore/lang/zh_cn.lang rename to project/assets/eleccore/lang/zh_cn.lang diff --git a/assets/eleccore/lang/zh_cn_old.lang b/project/assets/eleccore/lang/zh_cn_old.lang similarity index 100% rename from assets/eleccore/lang/zh_cn_old.lang rename to project/assets/eleccore/lang/zh_cn_old.lang diff --git a/assets/elementaldimensions/lang/zh_cn.lang b/project/assets/elementaldimensions/lang/zh_cn.lang similarity index 100% rename from assets/elementaldimensions/lang/zh_cn.lang rename to project/assets/elementaldimensions/lang/zh_cn.lang diff --git a/assets/elementaldimensions/lang/zh_cn_old.lang b/project/assets/elementaldimensions/lang/zh_cn_old.lang similarity index 100% rename from assets/elementaldimensions/lang/zh_cn_old.lang rename to project/assets/elementaldimensions/lang/zh_cn_old.lang diff --git a/assets/elevatorid/lang/en_us.lang b/project/assets/elevatorid/lang/en_us.lang similarity index 100% rename from assets/elevatorid/lang/en_us.lang rename to project/assets/elevatorid/lang/en_us.lang diff --git a/assets/elevatorid/lang/zh_cn.lang b/project/assets/elevatorid/lang/zh_cn.lang similarity index 100% rename from assets/elevatorid/lang/zh_cn.lang rename to project/assets/elevatorid/lang/zh_cn.lang diff --git a/assets/elevatorid/lang/zh_cn_old.lang b/project/assets/elevatorid/lang/zh_cn_old.lang similarity index 100% rename from assets/elevatorid/lang/zh_cn_old.lang rename to project/assets/elevatorid/lang/zh_cn_old.lang diff --git a/assets/elulib/lang/en_us.lang b/project/assets/elulib/lang/en_us.lang similarity index 100% rename from assets/elulib/lang/en_us.lang rename to project/assets/elulib/lang/en_us.lang diff --git a/assets/elulib/lang/zh_cn.lang b/project/assets/elulib/lang/zh_cn.lang similarity index 100% rename from assets/elulib/lang/zh_cn.lang rename to project/assets/elulib/lang/zh_cn.lang diff --git a/assets/elulib/lang/zh_cn_old.lang b/project/assets/elulib/lang/zh_cn_old.lang similarity index 100% rename from assets/elulib/lang/zh_cn_old.lang rename to project/assets/elulib/lang/zh_cn_old.lang diff --git a/assets/embers/lang/en_us.lang b/project/assets/embers/lang/en_us.lang similarity index 100% rename from assets/embers/lang/en_us.lang rename to project/assets/embers/lang/en_us.lang diff --git a/assets/embers/lang/zh_cn.lang b/project/assets/embers/lang/zh_cn.lang similarity index 100% rename from assets/embers/lang/zh_cn.lang rename to project/assets/embers/lang/zh_cn.lang diff --git a/assets/embers/lang/zh_cn_old.lang b/project/assets/embers/lang/zh_cn_old.lang similarity index 100% rename from assets/embers/lang/zh_cn_old.lang rename to project/assets/embers/lang/zh_cn_old.lang diff --git a/assets/enchiridion/lang/en_us.lang b/project/assets/enchiridion/lang/en_us.lang similarity index 100% rename from assets/enchiridion/lang/en_us.lang rename to project/assets/enchiridion/lang/en_us.lang diff --git a/assets/enchiridion/lang/zh_cn.lang b/project/assets/enchiridion/lang/zh_cn.lang similarity index 100% rename from assets/enchiridion/lang/zh_cn.lang rename to project/assets/enchiridion/lang/zh_cn.lang diff --git a/assets/enchiridion/lang/zh_cn_old.lang b/project/assets/enchiridion/lang/zh_cn_old.lang similarity index 100% rename from assets/enchiridion/lang/zh_cn_old.lang rename to project/assets/enchiridion/lang/zh_cn_old.lang diff --git a/assets/enderore/lang/zh_cn.lang b/project/assets/enderore/lang/zh_cn.lang similarity index 100% rename from assets/enderore/lang/zh_cn.lang rename to project/assets/enderore/lang/zh_cn.lang diff --git a/assets/enderore/lang/zh_cn_old.lang b/project/assets/enderore/lang/zh_cn_old.lang similarity index 100% rename from assets/enderore/lang/zh_cn_old.lang rename to project/assets/enderore/lang/zh_cn_old.lang diff --git a/assets/enderrift/lang/zh_cn.lang b/project/assets/enderrift/lang/zh_cn.lang similarity index 100% rename from assets/enderrift/lang/zh_cn.lang rename to project/assets/enderrift/lang/zh_cn.lang diff --git a/assets/enderrift/lang/zh_cn_old.lang b/project/assets/enderrift/lang/zh_cn_old.lang similarity index 100% rename from assets/enderrift/lang/zh_cn_old.lang rename to project/assets/enderrift/lang/zh_cn_old.lang diff --git a/assets/enderstorage/lang/en_us.lang b/project/assets/enderstorage/lang/en_us.lang similarity index 100% rename from assets/enderstorage/lang/en_us.lang rename to project/assets/enderstorage/lang/en_us.lang diff --git a/assets/enderstorage/lang/zh_cn.lang b/project/assets/enderstorage/lang/zh_cn.lang similarity index 100% rename from assets/enderstorage/lang/zh_cn.lang rename to project/assets/enderstorage/lang/zh_cn.lang diff --git a/assets/enderstorage/lang/zh_cn_old.lang b/project/assets/enderstorage/lang/zh_cn_old.lang similarity index 100% rename from assets/enderstorage/lang/zh_cn_old.lang rename to project/assets/enderstorage/lang/zh_cn_old.lang diff --git a/assets/endertanks/lang/en_us.lang b/project/assets/endertanks/lang/en_us.lang similarity index 100% rename from assets/endertanks/lang/en_us.lang rename to project/assets/endertanks/lang/en_us.lang diff --git a/assets/endertanks/lang/zh_cn.lang b/project/assets/endertanks/lang/zh_cn.lang similarity index 100% rename from assets/endertanks/lang/zh_cn.lang rename to project/assets/endertanks/lang/zh_cn.lang diff --git a/assets/endertanks/lang/zh_cn_old.lang b/project/assets/endertanks/lang/zh_cn_old.lang similarity index 100% rename from assets/endertanks/lang/zh_cn_old.lang rename to project/assets/endertanks/lang/zh_cn_old.lang diff --git a/assets/enderutilities/lang/en_us.lang b/project/assets/enderutilities/lang/en_us.lang similarity index 100% rename from assets/enderutilities/lang/en_us.lang rename to project/assets/enderutilities/lang/en_us.lang diff --git a/assets/enderutilities/lang/zh_cn.lang b/project/assets/enderutilities/lang/zh_cn.lang similarity index 100% rename from assets/enderutilities/lang/zh_cn.lang rename to project/assets/enderutilities/lang/zh_cn.lang diff --git a/assets/enderutilities/lang/zh_cn_old.lang b/project/assets/enderutilities/lang/zh_cn_old.lang similarity index 100% rename from assets/enderutilities/lang/zh_cn_old.lang rename to project/assets/enderutilities/lang/zh_cn_old.lang diff --git a/assets/enderzoo/lang/en_us.lang b/project/assets/enderzoo/lang/en_us.lang similarity index 100% rename from assets/enderzoo/lang/en_us.lang rename to project/assets/enderzoo/lang/en_us.lang diff --git a/assets/enderzoo/lang/zh_cn.lang b/project/assets/enderzoo/lang/zh_cn.lang similarity index 100% rename from assets/enderzoo/lang/zh_cn.lang rename to project/assets/enderzoo/lang/zh_cn.lang diff --git a/assets/enderzoo/lang/zh_cn_old.lang b/project/assets/enderzoo/lang/zh_cn_old.lang similarity index 100% rename from assets/enderzoo/lang/zh_cn_old.lang rename to project/assets/enderzoo/lang/zh_cn_old.lang diff --git a/assets/energeticsheep/lang/zh_cn.lang b/project/assets/energeticsheep/lang/zh_cn.lang similarity index 100% rename from assets/energeticsheep/lang/zh_cn.lang rename to project/assets/energeticsheep/lang/zh_cn.lang diff --git a/assets/energeticsheep/lang/zh_cn_old.lang b/project/assets/energeticsheep/lang/zh_cn_old.lang similarity index 100% rename from assets/energeticsheep/lang/zh_cn_old.lang rename to project/assets/energeticsheep/lang/zh_cn_old.lang diff --git a/assets/engination/lang/zh_cn.lang b/project/assets/engination/lang/zh_cn.lang similarity index 100% rename from assets/engination/lang/zh_cn.lang rename to project/assets/engination/lang/zh_cn.lang diff --git a/assets/engination/lang/zh_cn_old.lang b/project/assets/engination/lang/zh_cn_old.lang similarity index 100% rename from assets/engination/lang/zh_cn_old.lang rename to project/assets/engination/lang/zh_cn_old.lang diff --git a/assets/engineersworkshop/lang/en_us.lang b/project/assets/engineersworkshop/lang/en_us.lang similarity index 100% rename from assets/engineersworkshop/lang/en_us.lang rename to project/assets/engineersworkshop/lang/en_us.lang diff --git a/assets/engineersworkshop/lang/zh_cn.lang b/project/assets/engineersworkshop/lang/zh_cn.lang similarity index 100% rename from assets/engineersworkshop/lang/zh_cn.lang rename to project/assets/engineersworkshop/lang/zh_cn.lang diff --git a/assets/engineersworkshop/lang/zh_cn_old.lang b/project/assets/engineersworkshop/lang/zh_cn_old.lang similarity index 100% rename from assets/engineersworkshop/lang/zh_cn_old.lang rename to project/assets/engineersworkshop/lang/zh_cn_old.lang diff --git a/assets/environmentalmaterials/lang/en_us.lang b/project/assets/environmentalmaterials/lang/en_us.lang similarity index 100% rename from assets/environmentalmaterials/lang/en_us.lang rename to project/assets/environmentalmaterials/lang/en_us.lang diff --git a/assets/environmentalmaterials/lang/zh_cn.lang b/project/assets/environmentalmaterials/lang/zh_cn.lang similarity index 100% rename from assets/environmentalmaterials/lang/zh_cn.lang rename to project/assets/environmentalmaterials/lang/zh_cn.lang diff --git a/assets/environmentalmaterials/lang/zh_cn_old.lang b/project/assets/environmentalmaterials/lang/zh_cn_old.lang similarity index 100% rename from assets/environmentalmaterials/lang/zh_cn_old.lang rename to project/assets/environmentalmaterials/lang/zh_cn_old.lang diff --git a/assets/environmentaltech/lang/en_us.lang b/project/assets/environmentaltech/lang/en_us.lang similarity index 100% rename from assets/environmentaltech/lang/en_us.lang rename to project/assets/environmentaltech/lang/en_us.lang diff --git a/assets/environmentaltech/lang/zh_cn.lang b/project/assets/environmentaltech/lang/zh_cn.lang similarity index 100% rename from assets/environmentaltech/lang/zh_cn.lang rename to project/assets/environmentaltech/lang/zh_cn.lang diff --git a/assets/environmentaltech/lang/zh_cn_old.lang b/project/assets/environmentaltech/lang/zh_cn_old.lang similarity index 100% rename from assets/environmentaltech/lang/zh_cn_old.lang rename to project/assets/environmentaltech/lang/zh_cn_old.lang diff --git a/assets/etlunar/lang/en_us.lang b/project/assets/etlunar/lang/en_us.lang similarity index 100% rename from assets/etlunar/lang/en_us.lang rename to project/assets/etlunar/lang/en_us.lang diff --git a/assets/etlunar/lang/zh_cn.lang b/project/assets/etlunar/lang/zh_cn.lang similarity index 100% rename from assets/etlunar/lang/zh_cn.lang rename to project/assets/etlunar/lang/zh_cn.lang diff --git a/assets/etlunar/lang/zh_cn_old.lang b/project/assets/etlunar/lang/zh_cn_old.lang similarity index 100% rename from assets/etlunar/lang/zh_cn_old.lang rename to project/assets/etlunar/lang/zh_cn_old.lang diff --git a/assets/everlastingabilities/lang/zh_cn.lang b/project/assets/everlastingabilities/lang/zh_cn.lang similarity index 100% rename from assets/everlastingabilities/lang/zh_cn.lang rename to project/assets/everlastingabilities/lang/zh_cn.lang diff --git a/assets/everlastingabilities/lang/zh_cn_old.lang b/project/assets/everlastingabilities/lang/zh_cn_old.lang similarity index 100% rename from assets/everlastingabilities/lang/zh_cn_old.lang rename to project/assets/everlastingabilities/lang/zh_cn_old.lang diff --git a/assets/evilcraft/lang/en_us.lang b/project/assets/evilcraft/lang/en_us.lang similarity index 100% rename from assets/evilcraft/lang/en_us.lang rename to project/assets/evilcraft/lang/en_us.lang diff --git a/assets/evilcraft/lang/zh_cn.lang b/project/assets/evilcraft/lang/zh_cn.lang similarity index 100% rename from assets/evilcraft/lang/zh_cn.lang rename to project/assets/evilcraft/lang/zh_cn.lang diff --git a/assets/evilcraft/lang/zh_cn_old.lang b/project/assets/evilcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/evilcraft/lang/zh_cn_old.lang rename to project/assets/evilcraft/lang/zh_cn_old.lang diff --git a/assets/evilcraftcompat/lang/en_us.lang b/project/assets/evilcraftcompat/lang/en_us.lang similarity index 100% rename from assets/evilcraftcompat/lang/en_us.lang rename to project/assets/evilcraftcompat/lang/en_us.lang diff --git a/assets/evilcraftcompat/lang/zh_cn.lang b/project/assets/evilcraftcompat/lang/zh_cn.lang similarity index 100% rename from assets/evilcraftcompat/lang/zh_cn.lang rename to project/assets/evilcraftcompat/lang/zh_cn.lang diff --git a/assets/evilcraftcompat/lang/zh_cn_old.lang b/project/assets/evilcraftcompat/lang/zh_cn_old.lang similarity index 100% rename from assets/evilcraftcompat/lang/zh_cn_old.lang rename to project/assets/evilcraftcompat/lang/zh_cn_old.lang diff --git a/assets/exchangers/lang/en_us.lang b/project/assets/exchangers/lang/en_us.lang similarity index 100% rename from assets/exchangers/lang/en_us.lang rename to project/assets/exchangers/lang/en_us.lang diff --git a/assets/exchangers/lang/zh_cn.lang b/project/assets/exchangers/lang/zh_cn.lang similarity index 100% rename from assets/exchangers/lang/zh_cn.lang rename to project/assets/exchangers/lang/zh_cn.lang diff --git a/assets/exchangers/lang/zh_cn_old.lang b/project/assets/exchangers/lang/zh_cn_old.lang similarity index 100% rename from assets/exchangers/lang/zh_cn_old.lang rename to project/assets/exchangers/lang/zh_cn_old.lang diff --git a/assets/excompressum/lang/en_us.lang b/project/assets/excompressum/lang/en_us.lang similarity index 100% rename from assets/excompressum/lang/en_us.lang rename to project/assets/excompressum/lang/en_us.lang diff --git a/assets/excompressum/lang/zh_cn.lang b/project/assets/excompressum/lang/zh_cn.lang similarity index 100% rename from assets/excompressum/lang/zh_cn.lang rename to project/assets/excompressum/lang/zh_cn.lang diff --git a/assets/excompressum/lang/zh_cn_old.lang b/project/assets/excompressum/lang/zh_cn_old.lang similarity index 100% rename from assets/excompressum/lang/zh_cn_old.lang rename to project/assets/excompressum/lang/zh_cn_old.lang diff --git a/assets/extendedcrafting/lang/en_us.lang b/project/assets/extendedcrafting/lang/en_us.lang similarity index 100% rename from assets/extendedcrafting/lang/en_us.lang rename to project/assets/extendedcrafting/lang/en_us.lang diff --git a/assets/extendedcrafting/lang/zh_cn.lang b/project/assets/extendedcrafting/lang/zh_cn.lang similarity index 100% rename from assets/extendedcrafting/lang/zh_cn.lang rename to project/assets/extendedcrafting/lang/zh_cn.lang diff --git a/assets/extendedcrafting/lang/zh_cn_old.lang b/project/assets/extendedcrafting/lang/zh_cn_old.lang similarity index 100% rename from assets/extendedcrafting/lang/zh_cn_old.lang rename to project/assets/extendedcrafting/lang/zh_cn_old.lang diff --git a/assets/extraalchemy/lang/zh_cn.lang b/project/assets/extraalchemy/lang/zh_cn.lang similarity index 100% rename from assets/extraalchemy/lang/zh_cn.lang rename to project/assets/extraalchemy/lang/zh_cn.lang diff --git a/assets/extraalchemy/lang/zh_cn_old.lang b/project/assets/extraalchemy/lang/zh_cn_old.lang similarity index 100% rename from assets/extraalchemy/lang/zh_cn_old.lang rename to project/assets/extraalchemy/lang/zh_cn_old.lang diff --git a/assets/extrabitmanipulation/lang/zh_cn.lang b/project/assets/extrabitmanipulation/lang/zh_cn.lang similarity index 100% rename from assets/extrabitmanipulation/lang/zh_cn.lang rename to project/assets/extrabitmanipulation/lang/zh_cn.lang diff --git a/assets/extrabitmanipulation/lang/zh_cn_old.lang b/project/assets/extrabitmanipulation/lang/zh_cn_old.lang similarity index 100% rename from assets/extrabitmanipulation/lang/zh_cn_old.lang rename to project/assets/extrabitmanipulation/lang/zh_cn_old.lang diff --git a/assets/extracells/lang/en_us.lang b/project/assets/extracells/lang/en_us.lang similarity index 100% rename from assets/extracells/lang/en_us.lang rename to project/assets/extracells/lang/en_us.lang diff --git a/assets/extracells/lang/zh_cn.lang b/project/assets/extracells/lang/zh_cn.lang similarity index 100% rename from assets/extracells/lang/zh_cn.lang rename to project/assets/extracells/lang/zh_cn.lang diff --git a/assets/extracells/lang/zh_cn_old.lang b/project/assets/extracells/lang/zh_cn_old.lang similarity index 100% rename from assets/extracells/lang/zh_cn_old.lang rename to project/assets/extracells/lang/zh_cn_old.lang diff --git a/assets/extrarails/lang/zh_cn.lang b/project/assets/extrarails/lang/zh_cn.lang similarity index 100% rename from assets/extrarails/lang/zh_cn.lang rename to project/assets/extrarails/lang/zh_cn.lang diff --git a/assets/extrarails/lang/zh_cn_old.lang b/project/assets/extrarails/lang/zh_cn_old.lang similarity index 100% rename from assets/extrarails/lang/zh_cn_old.lang rename to project/assets/extrarails/lang/zh_cn_old.lang diff --git a/assets/extratrees/lang/zh_cn.lang b/project/assets/extratrees/lang/zh_cn.lang similarity index 100% rename from assets/extratrees/lang/zh_cn.lang rename to project/assets/extratrees/lang/zh_cn.lang diff --git a/assets/extratrees/lang/zh_cn_old.lang b/project/assets/extratrees/lang/zh_cn_old.lang similarity index 100% rename from assets/extratrees/lang/zh_cn_old.lang rename to project/assets/extratrees/lang/zh_cn_old.lang diff --git a/assets/extrautils2/lang/en_us.lang b/project/assets/extrautils2/lang/en_us.lang similarity index 100% rename from assets/extrautils2/lang/en_us.lang rename to project/assets/extrautils2/lang/en_us.lang diff --git a/assets/extrautils2/lang/zh_cn.lang b/project/assets/extrautils2/lang/zh_cn.lang similarity index 100% rename from assets/extrautils2/lang/zh_cn.lang rename to project/assets/extrautils2/lang/zh_cn.lang diff --git a/assets/extrautils2/lang/zh_cn_old.lang b/project/assets/extrautils2/lang/zh_cn_old.lang similarity index 100% rename from assets/extrautils2/lang/zh_cn_old.lang rename to project/assets/extrautils2/lang/zh_cn_old.lang diff --git a/assets/fairylights/lang/en_us.lang b/project/assets/fairylights/lang/en_us.lang similarity index 100% rename from assets/fairylights/lang/en_us.lang rename to project/assets/fairylights/lang/en_us.lang diff --git a/assets/fairylights/lang/zh_cn.lang b/project/assets/fairylights/lang/zh_cn.lang similarity index 100% rename from assets/fairylights/lang/zh_cn.lang rename to project/assets/fairylights/lang/zh_cn.lang diff --git a/assets/fairylights/lang/zh_cn_old.lang b/project/assets/fairylights/lang/zh_cn_old.lang similarity index 100% rename from assets/fairylights/lang/zh_cn_old.lang rename to project/assets/fairylights/lang/zh_cn_old.lang diff --git a/assets/farmingforblockheads/lang/en_us.lang b/project/assets/farmingforblockheads/lang/en_us.lang similarity index 100% rename from assets/farmingforblockheads/lang/en_us.lang rename to project/assets/farmingforblockheads/lang/en_us.lang diff --git a/assets/farmingforblockheads/lang/zh_cn.lang b/project/assets/farmingforblockheads/lang/zh_cn.lang similarity index 100% rename from assets/farmingforblockheads/lang/zh_cn.lang rename to project/assets/farmingforblockheads/lang/zh_cn.lang diff --git a/assets/farmingforblockheads/lang/zh_cn_old.lang b/project/assets/farmingforblockheads/lang/zh_cn_old.lang similarity index 100% rename from assets/farmingforblockheads/lang/zh_cn_old.lang rename to project/assets/farmingforblockheads/lang/zh_cn_old.lang diff --git a/assets/fastladder/lang/zh_cn.lang b/project/assets/fastladder/lang/zh_cn.lang similarity index 100% rename from assets/fastladder/lang/zh_cn.lang rename to project/assets/fastladder/lang/zh_cn.lang diff --git a/assets/fastladder/lang/zh_cn_old.lang b/project/assets/fastladder/lang/zh_cn_old.lang similarity index 100% rename from assets/fastladder/lang/zh_cn_old.lang rename to project/assets/fastladder/lang/zh_cn_old.lang diff --git a/assets/fenceoverhaul/lang/en_us.lang b/project/assets/fenceoverhaul/lang/en_us.lang similarity index 100% rename from assets/fenceoverhaul/lang/en_us.lang rename to project/assets/fenceoverhaul/lang/en_us.lang diff --git a/assets/fenceoverhaul/lang/zh_cn.lang b/project/assets/fenceoverhaul/lang/zh_cn.lang similarity index 100% rename from assets/fenceoverhaul/lang/zh_cn.lang rename to project/assets/fenceoverhaul/lang/zh_cn.lang diff --git a/assets/fenceoverhaul/lang/zh_cn_old.lang b/project/assets/fenceoverhaul/lang/zh_cn_old.lang similarity index 100% rename from assets/fenceoverhaul/lang/zh_cn_old.lang rename to project/assets/fenceoverhaul/lang/zh_cn_old.lang diff --git a/assets/ffs/lang/zh_cn.lang b/project/assets/ffs/lang/zh_cn.lang similarity index 100% rename from assets/ffs/lang/zh_cn.lang rename to project/assets/ffs/lang/zh_cn.lang diff --git a/assets/ffs/lang/zh_cn_old.lang b/project/assets/ffs/lang/zh_cn_old.lang similarity index 100% rename from assets/ffs/lang/zh_cn_old.lang rename to project/assets/ffs/lang/zh_cn_old.lang diff --git a/assets/flamingo/lang/zh_cn.lang b/project/assets/flamingo/lang/zh_cn.lang similarity index 100% rename from assets/flamingo/lang/zh_cn.lang rename to project/assets/flamingo/lang/zh_cn.lang diff --git a/assets/flamingo/lang/zh_cn_old.lang b/project/assets/flamingo/lang/zh_cn_old.lang similarity index 100% rename from assets/flamingo/lang/zh_cn_old.lang rename to project/assets/flamingo/lang/zh_cn_old.lang diff --git a/assets/flatcoloredblocks/lang/en_us.lang b/project/assets/flatcoloredblocks/lang/en_us.lang similarity index 100% rename from assets/flatcoloredblocks/lang/en_us.lang rename to project/assets/flatcoloredblocks/lang/en_us.lang diff --git a/assets/flatcoloredblocks/lang/zh_cn.lang b/project/assets/flatcoloredblocks/lang/zh_cn.lang similarity index 100% rename from assets/flatcoloredblocks/lang/zh_cn.lang rename to project/assets/flatcoloredblocks/lang/zh_cn.lang diff --git a/assets/flatcoloredblocks/lang/zh_cn_old.lang b/project/assets/flatcoloredblocks/lang/zh_cn_old.lang similarity index 100% rename from assets/flatcoloredblocks/lang/zh_cn_old.lang rename to project/assets/flatcoloredblocks/lang/zh_cn_old.lang diff --git a/assets/fluxnetworks/lang/en_us.lang b/project/assets/fluxnetworks/lang/en_us.lang similarity index 100% rename from assets/fluxnetworks/lang/en_us.lang rename to project/assets/fluxnetworks/lang/en_us.lang diff --git a/assets/fluxnetworks/lang/zh_cn.lang b/project/assets/fluxnetworks/lang/zh_cn.lang similarity index 100% rename from assets/fluxnetworks/lang/zh_cn.lang rename to project/assets/fluxnetworks/lang/zh_cn.lang diff --git a/assets/fluxnetworks/lang/zh_cn_old.lang b/project/assets/fluxnetworks/lang/zh_cn_old.lang similarity index 100% rename from assets/fluxnetworks/lang/zh_cn_old.lang rename to project/assets/fluxnetworks/lang/zh_cn_old.lang diff --git a/assets/flyringbaublemod/lang/en_us.lang b/project/assets/flyringbaublemod/lang/en_us.lang similarity index 100% rename from assets/flyringbaublemod/lang/en_us.lang rename to project/assets/flyringbaublemod/lang/en_us.lang diff --git a/assets/flyringbaublemod/lang/zh_cn.lang b/project/assets/flyringbaublemod/lang/zh_cn.lang similarity index 100% rename from assets/flyringbaublemod/lang/zh_cn.lang rename to project/assets/flyringbaublemod/lang/zh_cn.lang diff --git a/assets/flyringbaublemod/lang/zh_cn_old.lang b/project/assets/flyringbaublemod/lang/zh_cn_old.lang similarity index 100% rename from assets/flyringbaublemod/lang/zh_cn_old.lang rename to project/assets/flyringbaublemod/lang/zh_cn_old.lang diff --git a/assets/foodexpansion/lang/zh_cn.lang b/project/assets/foodexpansion/lang/zh_cn.lang similarity index 100% rename from assets/foodexpansion/lang/zh_cn.lang rename to project/assets/foodexpansion/lang/zh_cn.lang diff --git a/assets/foodexpansion/lang/zh_cn_old.lang b/project/assets/foodexpansion/lang/zh_cn_old.lang similarity index 100% rename from assets/foodexpansion/lang/zh_cn_old.lang rename to project/assets/foodexpansion/lang/zh_cn_old.lang diff --git a/assets/forecastersbackpacks/lang/zh_cn.lang b/project/assets/forecastersbackpacks/lang/zh_cn.lang similarity index 100% rename from assets/forecastersbackpacks/lang/zh_cn.lang rename to project/assets/forecastersbackpacks/lang/zh_cn.lang diff --git a/assets/forecastersbackpacks/lang/zh_cn_old.lang b/project/assets/forecastersbackpacks/lang/zh_cn_old.lang similarity index 100% rename from assets/forecastersbackpacks/lang/zh_cn_old.lang rename to project/assets/forecastersbackpacks/lang/zh_cn_old.lang diff --git a/assets/forestmobs/lang/en_us.lang b/project/assets/forestmobs/lang/en_us.lang similarity index 100% rename from assets/forestmobs/lang/en_us.lang rename to project/assets/forestmobs/lang/en_us.lang diff --git a/assets/forestmobs/lang/zh_cn.lang b/project/assets/forestmobs/lang/zh_cn.lang similarity index 100% rename from assets/forestmobs/lang/zh_cn.lang rename to project/assets/forestmobs/lang/zh_cn.lang diff --git a/assets/forestmobs/lang/zh_cn_old.lang b/project/assets/forestmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/forestmobs/lang/zh_cn_old.lang rename to project/assets/forestmobs/lang/zh_cn_old.lang diff --git a/assets/forestry/lang/en_us.lang b/project/assets/forestry/lang/en_us.lang similarity index 100% rename from assets/forestry/lang/en_us.lang rename to project/assets/forestry/lang/en_us.lang diff --git a/assets/forestry/lang/zh_cn.lang b/project/assets/forestry/lang/zh_cn.lang similarity index 100% rename from assets/forestry/lang/zh_cn.lang rename to project/assets/forestry/lang/zh_cn.lang diff --git a/assets/forestry/lang/zh_cn_old.lang b/project/assets/forestry/lang/zh_cn_old.lang similarity index 100% rename from assets/forestry/lang/zh_cn_old.lang rename to project/assets/forestry/lang/zh_cn_old.lang diff --git a/assets/fp/lang/en_us.lang b/project/assets/fp/lang/en_us.lang similarity index 100% rename from assets/fp/lang/en_us.lang rename to project/assets/fp/lang/en_us.lang diff --git a/assets/fp/lang/zh_cn.lang b/project/assets/fp/lang/zh_cn.lang similarity index 100% rename from assets/fp/lang/zh_cn.lang rename to project/assets/fp/lang/zh_cn.lang diff --git a/assets/fp/lang/zh_cn_old.lang b/project/assets/fp/lang/zh_cn_old.lang similarity index 100% rename from assets/fp/lang/zh_cn_old.lang rename to project/assets/fp/lang/zh_cn_old.lang diff --git a/assets/freshwatermobs/lang/en_us.lang b/project/assets/freshwatermobs/lang/en_us.lang similarity index 100% rename from assets/freshwatermobs/lang/en_us.lang rename to project/assets/freshwatermobs/lang/en_us.lang diff --git a/assets/freshwatermobs/lang/zh_cn.lang b/project/assets/freshwatermobs/lang/zh_cn.lang similarity index 100% rename from assets/freshwatermobs/lang/zh_cn.lang rename to project/assets/freshwatermobs/lang/zh_cn.lang diff --git a/assets/freshwatermobs/lang/zh_cn_old.lang b/project/assets/freshwatermobs/lang/zh_cn_old.lang similarity index 100% rename from assets/freshwatermobs/lang/zh_cn_old.lang rename to project/assets/freshwatermobs/lang/zh_cn_old.lang diff --git a/assets/frogcraftrebirth/lang/zh_cn.lang b/project/assets/frogcraftrebirth/lang/zh_cn.lang similarity index 100% rename from assets/frogcraftrebirth/lang/zh_cn.lang rename to project/assets/frogcraftrebirth/lang/zh_cn.lang diff --git a/assets/frogcraftrebirth/lang/zh_cn_old.lang b/project/assets/frogcraftrebirth/lang/zh_cn_old.lang similarity index 100% rename from assets/frogcraftrebirth/lang/zh_cn_old.lang rename to project/assets/frogcraftrebirth/lang/zh_cn_old.lang diff --git a/assets/fruitphone/lang/zh_cn.lang b/project/assets/fruitphone/lang/zh_cn.lang similarity index 100% rename from assets/fruitphone/lang/zh_cn.lang rename to project/assets/fruitphone/lang/zh_cn.lang diff --git a/assets/fruitphone/lang/zh_cn_old.lang b/project/assets/fruitphone/lang/zh_cn_old.lang similarity index 100% rename from assets/fruitphone/lang/zh_cn_old.lang rename to project/assets/fruitphone/lang/zh_cn_old.lang diff --git a/assets/ftbl/lang/en_us.lang b/project/assets/ftbl/lang/en_us.lang similarity index 100% rename from assets/ftbl/lang/en_us.lang rename to project/assets/ftbl/lang/en_us.lang diff --git a/assets/ftbl/lang/zh_cn.lang b/project/assets/ftbl/lang/zh_cn.lang similarity index 100% rename from assets/ftbl/lang/zh_cn.lang rename to project/assets/ftbl/lang/zh_cn.lang diff --git a/assets/ftbl/lang/zh_cn_old.lang b/project/assets/ftbl/lang/zh_cn_old.lang similarity index 100% rename from assets/ftbl/lang/zh_cn_old.lang rename to project/assets/ftbl/lang/zh_cn_old.lang diff --git a/assets/ftbu/lang/en_us.lang b/project/assets/ftbu/lang/en_us.lang similarity index 100% rename from assets/ftbu/lang/en_us.lang rename to project/assets/ftbu/lang/en_us.lang diff --git a/assets/ftbu/lang/zh_cn.lang b/project/assets/ftbu/lang/zh_cn.lang similarity index 100% rename from assets/ftbu/lang/zh_cn.lang rename to project/assets/ftbu/lang/zh_cn.lang diff --git a/assets/ftbu/lang/zh_cn_old.lang b/project/assets/ftbu/lang/zh_cn_old.lang similarity index 100% rename from assets/ftbu/lang/zh_cn_old.lang rename to project/assets/ftbu/lang/zh_cn_old.lang diff --git a/assets/ftfloocraft/lang/zh_cn.lang b/project/assets/ftfloocraft/lang/zh_cn.lang similarity index 100% rename from assets/ftfloocraft/lang/zh_cn.lang rename to project/assets/ftfloocraft/lang/zh_cn.lang diff --git a/assets/ftfloocraft/lang/zh_cn_old.lang b/project/assets/ftfloocraft/lang/zh_cn_old.lang similarity index 100% rename from assets/ftfloocraft/lang/zh_cn_old.lang rename to project/assets/ftfloocraft/lang/zh_cn_old.lang diff --git a/assets/funkylocomotion/lang/en_us.lang b/project/assets/funkylocomotion/lang/en_us.lang similarity index 100% rename from assets/funkylocomotion/lang/en_us.lang rename to project/assets/funkylocomotion/lang/en_us.lang diff --git a/assets/funkylocomotion/lang/zh_cn.lang b/project/assets/funkylocomotion/lang/zh_cn.lang similarity index 100% rename from assets/funkylocomotion/lang/zh_cn.lang rename to project/assets/funkylocomotion/lang/zh_cn.lang diff --git a/assets/funkylocomotion/lang/zh_cn_old.lang b/project/assets/funkylocomotion/lang/zh_cn_old.lang similarity index 100% rename from assets/funkylocomotion/lang/zh_cn_old.lang rename to project/assets/funkylocomotion/lang/zh_cn_old.lang diff --git a/assets/funores/lang/zh_cn.lang b/project/assets/funores/lang/zh_cn.lang similarity index 100% rename from assets/funores/lang/zh_cn.lang rename to project/assets/funores/lang/zh_cn.lang diff --git a/assets/funores/lang/zh_cn_old.lang b/project/assets/funores/lang/zh_cn_old.lang similarity index 100% rename from assets/funores/lang/zh_cn_old.lang rename to project/assets/funores/lang/zh_cn_old.lang diff --git a/assets/furnus/lang/en_us.lang b/project/assets/furnus/lang/en_us.lang similarity index 100% rename from assets/furnus/lang/en_us.lang rename to project/assets/furnus/lang/en_us.lang diff --git a/assets/furnus/lang/zh_cn.lang b/project/assets/furnus/lang/zh_cn.lang similarity index 100% rename from assets/furnus/lang/zh_cn.lang rename to project/assets/furnus/lang/zh_cn.lang diff --git a/assets/furnus/lang/zh_cn_old.lang b/project/assets/furnus/lang/zh_cn_old.lang similarity index 100% rename from assets/furnus/lang/zh_cn_old.lang rename to project/assets/furnus/lang/zh_cn_old.lang diff --git a/assets/gamestage/lang/zh_cn.lang b/project/assets/gamestage/lang/zh_cn.lang similarity index 100% rename from assets/gamestage/lang/zh_cn.lang rename to project/assets/gamestage/lang/zh_cn.lang diff --git a/assets/gamestage/lang/zh_cn_old.lang b/project/assets/gamestage/lang/zh_cn_old.lang similarity index 100% rename from assets/gamestage/lang/zh_cn_old.lang rename to project/assets/gamestage/lang/zh_cn_old.lang diff --git a/assets/gearswap/lang/en_us.lang b/project/assets/gearswap/lang/en_us.lang similarity index 100% rename from assets/gearswap/lang/en_us.lang rename to project/assets/gearswap/lang/en_us.lang diff --git a/assets/gearswap/lang/zh_cn.lang b/project/assets/gearswap/lang/zh_cn.lang similarity index 100% rename from assets/gearswap/lang/zh_cn.lang rename to project/assets/gearswap/lang/zh_cn.lang diff --git a/assets/gearswap/lang/zh_cn_old.lang b/project/assets/gearswap/lang/zh_cn_old.lang similarity index 100% rename from assets/gearswap/lang/zh_cn_old.lang rename to project/assets/gearswap/lang/zh_cn_old.lang diff --git a/assets/gendustry/lang/en_us.lang b/project/assets/gendustry/lang/en_us.lang similarity index 100% rename from assets/gendustry/lang/en_us.lang rename to project/assets/gendustry/lang/en_us.lang diff --git a/assets/gendustry/lang/zh_cn.lang b/project/assets/gendustry/lang/zh_cn.lang similarity index 100% rename from assets/gendustry/lang/zh_cn.lang rename to project/assets/gendustry/lang/zh_cn.lang diff --git a/assets/gendustry/lang/zh_cn_old.lang b/project/assets/gendustry/lang/zh_cn_old.lang similarity index 100% rename from assets/gendustry/lang/zh_cn_old.lang rename to project/assets/gendustry/lang/zh_cn_old.lang diff --git a/assets/genera/lang/zh_cn.lang b/project/assets/genera/lang/zh_cn.lang similarity index 100% rename from assets/genera/lang/zh_cn.lang rename to project/assets/genera/lang/zh_cn.lang diff --git a/assets/genera/lang/zh_cn_old.lang b/project/assets/genera/lang/zh_cn_old.lang similarity index 100% rename from assets/genera/lang/zh_cn_old.lang rename to project/assets/genera/lang/zh_cn_old.lang diff --git a/assets/genetics/lang/zh_cn.lang b/project/assets/genetics/lang/zh_cn.lang similarity index 100% rename from assets/genetics/lang/zh_cn.lang rename to project/assets/genetics/lang/zh_cn.lang diff --git a/assets/genetics/lang/zh_cn_old.lang b/project/assets/genetics/lang/zh_cn_old.lang similarity index 100% rename from assets/genetics/lang/zh_cn_old.lang rename to project/assets/genetics/lang/zh_cn_old.lang diff --git a/assets/geneticsreborn/lang/zh_cn.lang b/project/assets/geneticsreborn/lang/zh_cn.lang similarity index 100% rename from assets/geneticsreborn/lang/zh_cn.lang rename to project/assets/geneticsreborn/lang/zh_cn.lang diff --git a/assets/geneticsreborn/lang/zh_cn_old.lang b/project/assets/geneticsreborn/lang/zh_cn_old.lang similarity index 100% rename from assets/geneticsreborn/lang/zh_cn_old.lang rename to project/assets/geneticsreborn/lang/zh_cn_old.lang diff --git a/assets/giacomos_fishing_net/lang/en_us.lang b/project/assets/giacomos_fishing_net/lang/en_us.lang similarity index 100% rename from assets/giacomos_fishing_net/lang/en_us.lang rename to project/assets/giacomos_fishing_net/lang/en_us.lang diff --git a/assets/giacomos_fishing_net/lang/zh_cn.lang b/project/assets/giacomos_fishing_net/lang/zh_cn.lang similarity index 100% rename from assets/giacomos_fishing_net/lang/zh_cn.lang rename to project/assets/giacomos_fishing_net/lang/zh_cn.lang diff --git a/assets/giacomos_fishing_net/lang/zh_cn_old.lang b/project/assets/giacomos_fishing_net/lang/zh_cn_old.lang similarity index 100% rename from assets/giacomos_fishing_net/lang/zh_cn_old.lang rename to project/assets/giacomos_fishing_net/lang/zh_cn_old.lang diff --git a/assets/glasshearts/lang/zh_cn.lang b/project/assets/glasshearts/lang/zh_cn.lang similarity index 100% rename from assets/glasshearts/lang/zh_cn.lang rename to project/assets/glasshearts/lang/zh_cn.lang diff --git a/assets/glasshearts/lang/zh_cn_old.lang b/project/assets/glasshearts/lang/zh_cn_old.lang similarity index 100% rename from assets/glasshearts/lang/zh_cn_old.lang rename to project/assets/glasshearts/lang/zh_cn_old.lang diff --git a/assets/googlyeyes/lang/en_us.lang b/project/assets/googlyeyes/lang/en_us.lang similarity index 100% rename from assets/googlyeyes/lang/en_us.lang rename to project/assets/googlyeyes/lang/en_us.lang diff --git a/assets/googlyeyes/lang/zh_cn.lang b/project/assets/googlyeyes/lang/zh_cn.lang similarity index 100% rename from assets/googlyeyes/lang/zh_cn.lang rename to project/assets/googlyeyes/lang/zh_cn.lang diff --git a/assets/googlyeyes/lang/zh_cn_old.lang b/project/assets/googlyeyes/lang/zh_cn_old.lang similarity index 100% rename from assets/googlyeyes/lang/zh_cn_old.lang rename to project/assets/googlyeyes/lang/zh_cn_old.lang diff --git a/assets/gps/lang/zh_cn.lang b/project/assets/gps/lang/zh_cn.lang similarity index 100% rename from assets/gps/lang/zh_cn.lang rename to project/assets/gps/lang/zh_cn.lang diff --git a/assets/gps/lang/zh_cn_old.lang b/project/assets/gps/lang/zh_cn_old.lang similarity index 100% rename from assets/gps/lang/zh_cn_old.lang rename to project/assets/gps/lang/zh_cn_old.lang diff --git a/assets/gravestone/lang/en_us.lang b/project/assets/gravestone/lang/en_us.lang similarity index 100% rename from assets/gravestone/lang/en_us.lang rename to project/assets/gravestone/lang/en_us.lang diff --git a/assets/gravestone/lang/zh_cn.lang b/project/assets/gravestone/lang/zh_cn.lang similarity index 100% rename from assets/gravestone/lang/zh_cn.lang rename to project/assets/gravestone/lang/zh_cn.lang diff --git a/assets/gravestone/lang/zh_cn_old.lang b/project/assets/gravestone/lang/zh_cn_old.lang similarity index 100% rename from assets/gravestone/lang/zh_cn_old.lang rename to project/assets/gravestone/lang/zh_cn_old.lang diff --git a/assets/gravisuite/lang/zh_cn.lang b/project/assets/gravisuite/lang/zh_cn.lang similarity index 100% rename from assets/gravisuite/lang/zh_cn.lang rename to project/assets/gravisuite/lang/zh_cn.lang diff --git a/assets/gravisuite/lang/zh_cn_old.lang b/project/assets/gravisuite/lang/zh_cn_old.lang similarity index 100% rename from assets/gravisuite/lang/zh_cn_old.lang rename to project/assets/gravisuite/lang/zh_cn_old.lang diff --git a/assets/gravitygun/lang/en_us.lang b/project/assets/gravitygun/lang/en_us.lang similarity index 100% rename from assets/gravitygun/lang/en_us.lang rename to project/assets/gravitygun/lang/en_us.lang diff --git a/assets/gravitygun/lang/zh_cn.lang b/project/assets/gravitygun/lang/zh_cn.lang similarity index 100% rename from assets/gravitygun/lang/zh_cn.lang rename to project/assets/gravitygun/lang/zh_cn.lang diff --git a/assets/gravitygun/lang/zh_cn_old.lang b/project/assets/gravitygun/lang/zh_cn_old.lang similarity index 100% rename from assets/gravitygun/lang/zh_cn_old.lang rename to project/assets/gravitygun/lang/zh_cn_old.lang diff --git a/assets/grue/lang/en_us.lang b/project/assets/grue/lang/en_us.lang similarity index 100% rename from assets/grue/lang/en_us.lang rename to project/assets/grue/lang/en_us.lang diff --git a/assets/grue/lang/zh_cn.lang b/project/assets/grue/lang/zh_cn.lang similarity index 100% rename from assets/grue/lang/zh_cn.lang rename to project/assets/grue/lang/zh_cn.lang diff --git a/assets/grue/lang/zh_cn_old.lang b/project/assets/grue/lang/zh_cn_old.lang similarity index 100% rename from assets/grue/lang/zh_cn_old.lang rename to project/assets/grue/lang/zh_cn_old.lang diff --git a/assets/guideapi/lang/en_us.lang b/project/assets/guideapi/lang/en_us.lang similarity index 100% rename from assets/guideapi/lang/en_us.lang rename to project/assets/guideapi/lang/en_us.lang diff --git a/assets/guideapi/lang/zh_cn.lang b/project/assets/guideapi/lang/zh_cn.lang similarity index 100% rename from assets/guideapi/lang/zh_cn.lang rename to project/assets/guideapi/lang/zh_cn.lang diff --git a/assets/guideapi/lang/zh_cn_old.lang b/project/assets/guideapi/lang/zh_cn_old.lang similarity index 100% rename from assets/guideapi/lang/zh_cn_old.lang rename to project/assets/guideapi/lang/zh_cn_old.lang diff --git a/assets/hammercore/lang/en_us.lang b/project/assets/hammercore/lang/en_us.lang similarity index 100% rename from assets/hammercore/lang/en_us.lang rename to project/assets/hammercore/lang/en_us.lang diff --git a/assets/hammercore/lang/zh_cn.lang b/project/assets/hammercore/lang/zh_cn.lang similarity index 100% rename from assets/hammercore/lang/zh_cn.lang rename to project/assets/hammercore/lang/zh_cn.lang diff --git a/assets/hammercore/lang/zh_cn_old.lang b/project/assets/hammercore/lang/zh_cn_old.lang similarity index 100% rename from assets/hammercore/lang/zh_cn_old.lang rename to project/assets/hammercore/lang/zh_cn_old.lang diff --git a/assets/hammertime/lang/zh_cn.lang b/project/assets/hammertime/lang/zh_cn.lang similarity index 100% rename from assets/hammertime/lang/zh_cn.lang rename to project/assets/hammertime/lang/zh_cn.lang diff --git a/assets/hammertime/lang/zh_cn_old.lang b/project/assets/hammertime/lang/zh_cn_old.lang similarity index 100% rename from assets/hammertime/lang/zh_cn_old.lang rename to project/assets/hammertime/lang/zh_cn_old.lang diff --git a/assets/hardcoremapreset/lang/en_us.lang b/project/assets/hardcoremapreset/lang/en_us.lang similarity index 100% rename from assets/hardcoremapreset/lang/en_us.lang rename to project/assets/hardcoremapreset/lang/en_us.lang diff --git a/assets/hardcoremapreset/lang/zh_cn.lang b/project/assets/hardcoremapreset/lang/zh_cn.lang similarity index 100% rename from assets/hardcoremapreset/lang/zh_cn.lang rename to project/assets/hardcoremapreset/lang/zh_cn.lang diff --git a/assets/hardcoremapreset/lang/zh_cn_old.lang b/project/assets/hardcoremapreset/lang/zh_cn_old.lang similarity index 100% rename from assets/hardcoremapreset/lang/zh_cn_old.lang rename to project/assets/hardcoremapreset/lang/zh_cn_old.lang diff --git a/assets/harvestcraft/lang/en_us.lang b/project/assets/harvestcraft/lang/en_us.lang similarity index 100% rename from assets/harvestcraft/lang/en_us.lang rename to project/assets/harvestcraft/lang/en_us.lang diff --git a/assets/harvestcraft/lang/zh_cn.lang b/project/assets/harvestcraft/lang/zh_cn.lang similarity index 100% rename from assets/harvestcraft/lang/zh_cn.lang rename to project/assets/harvestcraft/lang/zh_cn.lang diff --git a/assets/harvestcraft/lang/zh_cn_old.lang b/project/assets/harvestcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/harvestcraft/lang/zh_cn_old.lang rename to project/assets/harvestcraft/lang/zh_cn_old.lang diff --git a/assets/hatchery/lang/en_us.lang b/project/assets/hatchery/lang/en_us.lang similarity index 100% rename from assets/hatchery/lang/en_us.lang rename to project/assets/hatchery/lang/en_us.lang diff --git a/assets/hatchery/lang/zh_cn.lang b/project/assets/hatchery/lang/zh_cn.lang similarity index 100% rename from assets/hatchery/lang/zh_cn.lang rename to project/assets/hatchery/lang/zh_cn.lang diff --git a/assets/hatchery/lang/zh_cn_old.lang b/project/assets/hatchery/lang/zh_cn_old.lang similarity index 100% rename from assets/hatchery/lang/zh_cn_old.lang rename to project/assets/hatchery/lang/zh_cn_old.lang diff --git a/assets/hats/lang/en_us.lang b/project/assets/hats/lang/en_us.lang similarity index 100% rename from assets/hats/lang/en_us.lang rename to project/assets/hats/lang/en_us.lang diff --git a/assets/hats/lang/zh_cn.lang b/project/assets/hats/lang/zh_cn.lang similarity index 100% rename from assets/hats/lang/zh_cn.lang rename to project/assets/hats/lang/zh_cn.lang diff --git a/assets/hats/lang/zh_cn_old.lang b/project/assets/hats/lang/zh_cn_old.lang similarity index 100% rename from assets/hats/lang/zh_cn_old.lang rename to project/assets/hats/lang/zh_cn_old.lang diff --git a/assets/healthhungertweaks/lang/zh_cn.lang b/project/assets/healthhungertweaks/lang/zh_cn.lang similarity index 100% rename from assets/healthhungertweaks/lang/zh_cn.lang rename to project/assets/healthhungertweaks/lang/zh_cn.lang diff --git a/assets/healthhungertweaks/lang/zh_cn_old.lang b/project/assets/healthhungertweaks/lang/zh_cn_old.lang similarity index 100% rename from assets/healthhungertweaks/lang/zh_cn_old.lang rename to project/assets/healthhungertweaks/lang/zh_cn_old.lang diff --git a/assets/hopperducts/lang/en_us.lang b/project/assets/hopperducts/lang/en_us.lang similarity index 100% rename from assets/hopperducts/lang/en_us.lang rename to project/assets/hopperducts/lang/en_us.lang diff --git a/assets/hopperducts/lang/zh_cn.lang b/project/assets/hopperducts/lang/zh_cn.lang similarity index 100% rename from assets/hopperducts/lang/zh_cn.lang rename to project/assets/hopperducts/lang/zh_cn.lang diff --git a/assets/hopperducts/lang/zh_cn_old.lang b/project/assets/hopperducts/lang/zh_cn_old.lang similarity index 100% rename from assets/hopperducts/lang/zh_cn_old.lang rename to project/assets/hopperducts/lang/zh_cn_old.lang diff --git a/assets/iceandfire/lang/zh_cn.lang b/project/assets/iceandfire/lang/zh_cn.lang similarity index 100% rename from assets/iceandfire/lang/zh_cn.lang rename to project/assets/iceandfire/lang/zh_cn.lang diff --git a/assets/iceandfire/lang/zh_cn_old.lang b/project/assets/iceandfire/lang/zh_cn_old.lang similarity index 100% rename from assets/iceandfire/lang/zh_cn_old.lang rename to project/assets/iceandfire/lang/zh_cn_old.lang diff --git a/assets/ichunutil/lang/en_us.lang b/project/assets/ichunutil/lang/en_us.lang similarity index 100% rename from assets/ichunutil/lang/en_us.lang rename to project/assets/ichunutil/lang/en_us.lang diff --git a/assets/ichunutil/lang/zh_cn.lang b/project/assets/ichunutil/lang/zh_cn.lang similarity index 100% rename from assets/ichunutil/lang/zh_cn.lang rename to project/assets/ichunutil/lang/zh_cn.lang diff --git a/assets/ichunutil/lang/zh_cn_old.lang b/project/assets/ichunutil/lang/zh_cn_old.lang similarity index 100% rename from assets/ichunutil/lang/zh_cn_old.lang rename to project/assets/ichunutil/lang/zh_cn_old.lang diff --git a/assets/igwmod/lang/en_us.lang b/project/assets/igwmod/lang/en_us.lang similarity index 100% rename from assets/igwmod/lang/en_us.lang rename to project/assets/igwmod/lang/en_us.lang diff --git a/assets/igwmod/lang/zh_cn.lang b/project/assets/igwmod/lang/zh_cn.lang similarity index 100% rename from assets/igwmod/lang/zh_cn.lang rename to project/assets/igwmod/lang/zh_cn.lang diff --git a/assets/igwmod/lang/zh_cn_old.lang b/project/assets/igwmod/lang/zh_cn_old.lang similarity index 100% rename from assets/igwmod/lang/zh_cn_old.lang rename to project/assets/igwmod/lang/zh_cn_old.lang diff --git a/assets/immcraft/lang/en_us.lang b/project/assets/immcraft/lang/en_us.lang similarity index 100% rename from assets/immcraft/lang/en_us.lang rename to project/assets/immcraft/lang/en_us.lang diff --git a/assets/immcraft/lang/zh_cn.lang b/project/assets/immcraft/lang/zh_cn.lang similarity index 100% rename from assets/immcraft/lang/zh_cn.lang rename to project/assets/immcraft/lang/zh_cn.lang diff --git a/assets/immcraft/lang/zh_cn_old.lang b/project/assets/immcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/immcraft/lang/zh_cn_old.lang rename to project/assets/immcraft/lang/zh_cn_old.lang diff --git a/assets/immersiveengineering/lang/en_us.lang b/project/assets/immersiveengineering/lang/en_us.lang similarity index 100% rename from assets/immersiveengineering/lang/en_us.lang rename to project/assets/immersiveengineering/lang/en_us.lang diff --git a/assets/immersiveengineering/lang/zh_cn.lang b/project/assets/immersiveengineering/lang/zh_cn.lang similarity index 100% rename from assets/immersiveengineering/lang/zh_cn.lang rename to project/assets/immersiveengineering/lang/zh_cn.lang diff --git a/assets/immersiveengineering/lang/zh_cn_old.lang b/project/assets/immersiveengineering/lang/zh_cn_old.lang similarity index 100% rename from assets/immersiveengineering/lang/zh_cn_old.lang rename to project/assets/immersiveengineering/lang/zh_cn_old.lang diff --git a/assets/immersivehempcraft/lang/zh_cn.lang b/project/assets/immersivehempcraft/lang/zh_cn.lang similarity index 100% rename from assets/immersivehempcraft/lang/zh_cn.lang rename to project/assets/immersivehempcraft/lang/zh_cn.lang diff --git a/assets/immersivehempcraft/lang/zh_cn_old.lang b/project/assets/immersivehempcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/immersivehempcraft/lang/zh_cn_old.lang rename to project/assets/immersivehempcraft/lang/zh_cn_old.lang diff --git a/assets/immersivepetroleum/lang/en_us.lang b/project/assets/immersivepetroleum/lang/en_us.lang similarity index 100% rename from assets/immersivepetroleum/lang/en_us.lang rename to project/assets/immersivepetroleum/lang/en_us.lang diff --git a/assets/immersivepetroleum/lang/zh_cn.lang b/project/assets/immersivepetroleum/lang/zh_cn.lang similarity index 100% rename from assets/immersivepetroleum/lang/zh_cn.lang rename to project/assets/immersivepetroleum/lang/zh_cn.lang diff --git a/assets/immersivepetroleum/lang/zh_cn_old.lang b/project/assets/immersivepetroleum/lang/zh_cn_old.lang similarity index 100% rename from assets/immersivepetroleum/lang/zh_cn_old.lang rename to project/assets/immersivepetroleum/lang/zh_cn_old.lang diff --git a/assets/immersiverailroading/lang/zh_cn.lang b/project/assets/immersiverailroading/lang/zh_cn.lang similarity index 100% rename from assets/immersiverailroading/lang/zh_cn.lang rename to project/assets/immersiverailroading/lang/zh_cn.lang diff --git a/assets/immersiverailroading/lang/zh_cn_old.lang b/project/assets/immersiverailroading/lang/zh_cn_old.lang similarity index 100% rename from assets/immersiverailroading/lang/zh_cn_old.lang rename to project/assets/immersiverailroading/lang/zh_cn_old.lang diff --git a/assets/immersivetech/lang/en_us.lang b/project/assets/immersivetech/lang/en_us.lang similarity index 100% rename from assets/immersivetech/lang/en_us.lang rename to project/assets/immersivetech/lang/en_us.lang diff --git a/assets/immersivetech/lang/zh_cn.lang b/project/assets/immersivetech/lang/zh_cn.lang similarity index 100% rename from assets/immersivetech/lang/zh_cn.lang rename to project/assets/immersivetech/lang/zh_cn.lang diff --git a/assets/immersivetech/lang/zh_cn_old.lang b/project/assets/immersivetech/lang/zh_cn_old.lang similarity index 100% rename from assets/immersivetech/lang/zh_cn_old.lang rename to project/assets/immersivetech/lang/zh_cn_old.lang diff --git a/assets/improvedextraction/lang/zh_cn.lang b/project/assets/improvedextraction/lang/zh_cn.lang similarity index 100% rename from assets/improvedextraction/lang/zh_cn.lang rename to project/assets/improvedextraction/lang/zh_cn.lang diff --git a/assets/improvedextraction/lang/zh_cn_old.lang b/project/assets/improvedextraction/lang/zh_cn_old.lang similarity index 100% rename from assets/improvedextraction/lang/zh_cn_old.lang rename to project/assets/improvedextraction/lang/zh_cn_old.lang diff --git a/assets/indlog/lang/zh_cn.lang b/project/assets/indlog/lang/zh_cn.lang similarity index 100% rename from assets/indlog/lang/zh_cn.lang rename to project/assets/indlog/lang/zh_cn.lang diff --git a/assets/indlog/lang/zh_cn_old.lang b/project/assets/indlog/lang/zh_cn_old.lang similarity index 100% rename from assets/indlog/lang/zh_cn_old.lang rename to project/assets/indlog/lang/zh_cn_old.lang diff --git a/assets/industrialforegoing/lang/en_us.lang b/project/assets/industrialforegoing/lang/en_us.lang similarity index 100% rename from assets/industrialforegoing/lang/en_us.lang rename to project/assets/industrialforegoing/lang/en_us.lang diff --git a/assets/industrialforegoing/lang/zh_cn.lang b/project/assets/industrialforegoing/lang/zh_cn.lang similarity index 100% rename from assets/industrialforegoing/lang/zh_cn.lang rename to project/assets/industrialforegoing/lang/zh_cn.lang diff --git a/assets/industrialforegoing/lang/zh_cn_old.lang b/project/assets/industrialforegoing/lang/zh_cn_old.lang similarity index 100% rename from assets/industrialforegoing/lang/zh_cn_old.lang rename to project/assets/industrialforegoing/lang/zh_cn_old.lang diff --git a/assets/industrialmeat/lang/zh_cn.lang b/project/assets/industrialmeat/lang/zh_cn.lang similarity index 100% rename from assets/industrialmeat/lang/zh_cn.lang rename to project/assets/industrialmeat/lang/zh_cn.lang diff --git a/assets/industrialmeat/lang/zh_cn_old.lang b/project/assets/industrialmeat/lang/zh_cn_old.lang similarity index 100% rename from assets/industrialmeat/lang/zh_cn_old.lang rename to project/assets/industrialmeat/lang/zh_cn_old.lang diff --git a/assets/industrialwires/lang/en_us.lang b/project/assets/industrialwires/lang/en_us.lang similarity index 100% rename from assets/industrialwires/lang/en_us.lang rename to project/assets/industrialwires/lang/en_us.lang diff --git a/assets/industrialwires/lang/zh_cn.lang b/project/assets/industrialwires/lang/zh_cn.lang similarity index 100% rename from assets/industrialwires/lang/zh_cn.lang rename to project/assets/industrialwires/lang/zh_cn.lang diff --git a/assets/industrialwires/lang/zh_cn_old.lang b/project/assets/industrialwires/lang/zh_cn_old.lang similarity index 100% rename from assets/industrialwires/lang/zh_cn_old.lang rename to project/assets/industrialwires/lang/zh_cn_old.lang diff --git a/assets/infernalmobs/lang/en_us.lang b/project/assets/infernalmobs/lang/en_us.lang similarity index 100% rename from assets/infernalmobs/lang/en_us.lang rename to project/assets/infernalmobs/lang/en_us.lang diff --git a/assets/infernalmobs/lang/zh_cn.lang b/project/assets/infernalmobs/lang/zh_cn.lang similarity index 100% rename from assets/infernalmobs/lang/zh_cn.lang rename to project/assets/infernalmobs/lang/zh_cn.lang diff --git a/assets/infernalmobs/lang/zh_cn_old.lang b/project/assets/infernalmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/infernalmobs/lang/zh_cn_old.lang rename to project/assets/infernalmobs/lang/zh_cn_old.lang diff --git a/assets/infernomobs/lang/en_us.lang b/project/assets/infernomobs/lang/en_us.lang similarity index 100% rename from assets/infernomobs/lang/en_us.lang rename to project/assets/infernomobs/lang/en_us.lang diff --git a/assets/infernomobs/lang/zh_cn.lang b/project/assets/infernomobs/lang/zh_cn.lang similarity index 100% rename from assets/infernomobs/lang/zh_cn.lang rename to project/assets/infernomobs/lang/zh_cn.lang diff --git a/assets/infernomobs/lang/zh_cn_old.lang b/project/assets/infernomobs/lang/zh_cn_old.lang similarity index 100% rename from assets/infernomobs/lang/zh_cn_old.lang rename to project/assets/infernomobs/lang/zh_cn_old.lang diff --git a/assets/ingameinfo/lang/en_us.lang b/project/assets/ingameinfo/lang/en_us.lang similarity index 100% rename from assets/ingameinfo/lang/en_us.lang rename to project/assets/ingameinfo/lang/en_us.lang diff --git a/assets/ingameinfo/lang/zh_cn.lang b/project/assets/ingameinfo/lang/zh_cn.lang similarity index 100% rename from assets/ingameinfo/lang/zh_cn.lang rename to project/assets/ingameinfo/lang/zh_cn.lang diff --git a/assets/ingameinfo/lang/zh_cn_old.lang b/project/assets/ingameinfo/lang/zh_cn_old.lang similarity index 100% rename from assets/ingameinfo/lang/zh_cn_old.lang rename to project/assets/ingameinfo/lang/zh_cn_old.lang diff --git a/assets/integrateddynamics/lang/en_us.lang b/project/assets/integrateddynamics/lang/en_us.lang similarity index 100% rename from assets/integrateddynamics/lang/en_us.lang rename to project/assets/integrateddynamics/lang/en_us.lang diff --git a/assets/integrateddynamics/lang/zh_cn.lang b/project/assets/integrateddynamics/lang/zh_cn.lang similarity index 100% rename from assets/integrateddynamics/lang/zh_cn.lang rename to project/assets/integrateddynamics/lang/zh_cn.lang diff --git a/assets/integrateddynamics/lang/zh_cn_old.lang b/project/assets/integrateddynamics/lang/zh_cn_old.lang similarity index 100% rename from assets/integrateddynamics/lang/zh_cn_old.lang rename to project/assets/integrateddynamics/lang/zh_cn_old.lang diff --git a/assets/integrateddynamicscompat/lang/en_us.lang b/project/assets/integrateddynamicscompat/lang/en_us.lang similarity index 100% rename from assets/integrateddynamicscompat/lang/en_us.lang rename to project/assets/integrateddynamicscompat/lang/en_us.lang diff --git a/assets/integrateddynamicscompat/lang/zh_cn.lang b/project/assets/integrateddynamicscompat/lang/zh_cn.lang similarity index 100% rename from assets/integrateddynamicscompat/lang/zh_cn.lang rename to project/assets/integrateddynamicscompat/lang/zh_cn.lang diff --git a/assets/integrateddynamicscompat/lang/zh_cn_old.lang b/project/assets/integrateddynamicscompat/lang/zh_cn_old.lang similarity index 100% rename from assets/integrateddynamicscompat/lang/zh_cn_old.lang rename to project/assets/integrateddynamicscompat/lang/zh_cn_old.lang diff --git a/assets/integratedtunnels/lang/en_us.lang b/project/assets/integratedtunnels/lang/en_us.lang similarity index 100% rename from assets/integratedtunnels/lang/en_us.lang rename to project/assets/integratedtunnels/lang/en_us.lang diff --git a/assets/integratedtunnels/lang/zh_cn.lang b/project/assets/integratedtunnels/lang/zh_cn.lang similarity index 100% rename from assets/integratedtunnels/lang/zh_cn.lang rename to project/assets/integratedtunnels/lang/zh_cn.lang diff --git a/assets/integratedtunnels/lang/zh_cn_old.lang b/project/assets/integratedtunnels/lang/zh_cn_old.lang similarity index 100% rename from assets/integratedtunnels/lang/zh_cn_old.lang rename to project/assets/integratedtunnels/lang/zh_cn_old.lang diff --git a/assets/integrationforegoing/lang/en_us.lang b/project/assets/integrationforegoing/lang/en_us.lang similarity index 100% rename from assets/integrationforegoing/lang/en_us.lang rename to project/assets/integrationforegoing/lang/en_us.lang diff --git a/assets/integrationforegoing/lang/zh_cn.lang b/project/assets/integrationforegoing/lang/zh_cn.lang similarity index 100% rename from assets/integrationforegoing/lang/zh_cn.lang rename to project/assets/integrationforegoing/lang/zh_cn.lang diff --git a/assets/integrationforegoing/lang/zh_cn_old.lang b/project/assets/integrationforegoing/lang/zh_cn_old.lang similarity index 100% rename from assets/integrationforegoing/lang/zh_cn_old.lang rename to project/assets/integrationforegoing/lang/zh_cn_old.lang diff --git a/assets/intwheel/lang/en_us.lang b/project/assets/intwheel/lang/en_us.lang similarity index 100% rename from assets/intwheel/lang/en_us.lang rename to project/assets/intwheel/lang/en_us.lang diff --git a/assets/intwheel/lang/zh_cn.lang b/project/assets/intwheel/lang/zh_cn.lang similarity index 100% rename from assets/intwheel/lang/zh_cn.lang rename to project/assets/intwheel/lang/zh_cn.lang diff --git a/assets/intwheel/lang/zh_cn_old.lang b/project/assets/intwheel/lang/zh_cn_old.lang similarity index 100% rename from assets/intwheel/lang/zh_cn_old.lang rename to project/assets/intwheel/lang/zh_cn_old.lang diff --git a/assets/inventoryneko/lang/zh_cn.lang b/project/assets/inventoryneko/lang/zh_cn.lang similarity index 100% rename from assets/inventoryneko/lang/zh_cn.lang rename to project/assets/inventoryneko/lang/zh_cn.lang diff --git a/assets/inventoryneko/lang/zh_cn_old.lang b/project/assets/inventoryneko/lang/zh_cn_old.lang similarity index 100% rename from assets/inventoryneko/lang/zh_cn_old.lang rename to project/assets/inventoryneko/lang/zh_cn_old.lang diff --git a/assets/inventorypets/lang/en_us.lang b/project/assets/inventorypets/lang/en_us.lang similarity index 100% rename from assets/inventorypets/lang/en_us.lang rename to project/assets/inventorypets/lang/en_us.lang diff --git a/assets/inventorypets/lang/zh_cn.lang b/project/assets/inventorypets/lang/zh_cn.lang similarity index 100% rename from assets/inventorypets/lang/zh_cn.lang rename to project/assets/inventorypets/lang/zh_cn.lang diff --git a/assets/inventorypets/lang/zh_cn_old.lang b/project/assets/inventorypets/lang/zh_cn_old.lang similarity index 100% rename from assets/inventorypets/lang/zh_cn_old.lang rename to project/assets/inventorypets/lang/zh_cn_old.lang diff --git a/assets/inventorysorter/lang/en_us.lang b/project/assets/inventorysorter/lang/en_us.lang similarity index 100% rename from assets/inventorysorter/lang/en_us.lang rename to project/assets/inventorysorter/lang/en_us.lang diff --git a/assets/inventorysorter/lang/zh_cn.lang b/project/assets/inventorysorter/lang/zh_cn.lang similarity index 100% rename from assets/inventorysorter/lang/zh_cn.lang rename to project/assets/inventorysorter/lang/zh_cn.lang diff --git a/assets/inventorysorter/lang/zh_cn_old.lang b/project/assets/inventorysorter/lang/zh_cn_old.lang similarity index 100% rename from assets/inventorysorter/lang/zh_cn_old.lang rename to project/assets/inventorysorter/lang/zh_cn_old.lang diff --git a/assets/inventorytweaks/lang/en_us.lang b/project/assets/inventorytweaks/lang/en_us.lang similarity index 100% rename from assets/inventorytweaks/lang/en_us.lang rename to project/assets/inventorytweaks/lang/en_us.lang diff --git a/assets/inventorytweaks/lang/zh_cn.lang b/project/assets/inventorytweaks/lang/zh_cn.lang similarity index 100% rename from assets/inventorytweaks/lang/zh_cn.lang rename to project/assets/inventorytweaks/lang/zh_cn.lang diff --git a/assets/inventorytweaks/lang/zh_cn_old.lang b/project/assets/inventorytweaks/lang/zh_cn_old.lang similarity index 100% rename from assets/inventorytweaks/lang/zh_cn_old.lang rename to project/assets/inventorytweaks/lang/zh_cn_old.lang diff --git a/assets/ironbackpacks/lang/zh_cn.lang b/project/assets/ironbackpacks/lang/zh_cn.lang similarity index 100% rename from assets/ironbackpacks/lang/zh_cn.lang rename to project/assets/ironbackpacks/lang/zh_cn.lang diff --git a/assets/ironbackpacks/lang/zh_cn_old.lang b/project/assets/ironbackpacks/lang/zh_cn_old.lang similarity index 100% rename from assets/ironbackpacks/lang/zh_cn_old.lang rename to project/assets/ironbackpacks/lang/zh_cn_old.lang diff --git a/assets/ironchest/lang/en_us.lang b/project/assets/ironchest/lang/en_us.lang similarity index 100% rename from assets/ironchest/lang/en_us.lang rename to project/assets/ironchest/lang/en_us.lang diff --git a/assets/ironchest/lang/zh_cn.lang b/project/assets/ironchest/lang/zh_cn.lang similarity index 100% rename from assets/ironchest/lang/zh_cn.lang rename to project/assets/ironchest/lang/zh_cn.lang diff --git a/assets/ironchest/lang/zh_cn_old.lang b/project/assets/ironchest/lang/zh_cn_old.lang similarity index 100% rename from assets/ironchest/lang/zh_cn_old.lang rename to project/assets/ironchest/lang/zh_cn_old.lang diff --git a/assets/itank/lang/zh_cn.lang b/project/assets/itank/lang/zh_cn.lang similarity index 100% rename from assets/itank/lang/zh_cn.lang rename to project/assets/itank/lang/zh_cn.lang diff --git a/assets/itank/lang/zh_cn_old.lang b/project/assets/itank/lang/zh_cn_old.lang similarity index 100% rename from assets/itank/lang/zh_cn_old.lang rename to project/assets/itank/lang/zh_cn_old.lang diff --git a/assets/itemscroller/lang/en_us.lang b/project/assets/itemscroller/lang/en_us.lang similarity index 100% rename from assets/itemscroller/lang/en_us.lang rename to project/assets/itemscroller/lang/en_us.lang diff --git a/assets/itemscroller/lang/zh_cn.lang b/project/assets/itemscroller/lang/zh_cn.lang similarity index 100% rename from assets/itemscroller/lang/zh_cn.lang rename to project/assets/itemscroller/lang/zh_cn.lang diff --git a/assets/itemscroller/lang/zh_cn_old.lang b/project/assets/itemscroller/lang/zh_cn_old.lang similarity index 100% rename from assets/itemscroller/lang/zh_cn_old.lang rename to project/assets/itemscroller/lang/zh_cn_old.lang diff --git a/assets/jaff/lang/zh_cn.lang b/project/assets/jaff/lang/zh_cn.lang similarity index 100% rename from assets/jaff/lang/zh_cn.lang rename to project/assets/jaff/lang/zh_cn.lang diff --git a/assets/jaff/lang/zh_cn_old.lang b/project/assets/jaff/lang/zh_cn_old.lang similarity index 100% rename from assets/jaff/lang/zh_cn_old.lang rename to project/assets/jaff/lang/zh_cn_old.lang diff --git a/assets/jaopca/lang/en_us.lang b/project/assets/jaopca/lang/en_us.lang similarity index 100% rename from assets/jaopca/lang/en_us.lang rename to project/assets/jaopca/lang/en_us.lang diff --git a/assets/jaopca/lang/zh_cn.lang b/project/assets/jaopca/lang/zh_cn.lang similarity index 100% rename from assets/jaopca/lang/zh_cn.lang rename to project/assets/jaopca/lang/zh_cn.lang diff --git a/assets/jaopca/lang/zh_cn_old.lang b/project/assets/jaopca/lang/zh_cn_old.lang similarity index 100% rename from assets/jaopca/lang/zh_cn_old.lang rename to project/assets/jaopca/lang/zh_cn_old.lang diff --git a/assets/jaopcasingularities/lang/zh_cn.lang b/project/assets/jaopcasingularities/lang/zh_cn.lang similarity index 100% rename from assets/jaopcasingularities/lang/zh_cn.lang rename to project/assets/jaopcasingularities/lang/zh_cn.lang diff --git a/assets/jaopcasingularities/lang/zh_cn_old.lang b/project/assets/jaopcasingularities/lang/zh_cn_old.lang similarity index 100% rename from assets/jaopcasingularities/lang/zh_cn_old.lang rename to project/assets/jaopcasingularities/lang/zh_cn_old.lang diff --git a/assets/jehc/lang/en_us.lang b/project/assets/jehc/lang/en_us.lang similarity index 100% rename from assets/jehc/lang/en_us.lang rename to project/assets/jehc/lang/en_us.lang diff --git a/assets/jehc/lang/zh_cn.lang b/project/assets/jehc/lang/zh_cn.lang similarity index 100% rename from assets/jehc/lang/zh_cn.lang rename to project/assets/jehc/lang/zh_cn.lang diff --git a/assets/jehc/lang/zh_cn_old.lang b/project/assets/jehc/lang/zh_cn_old.lang similarity index 100% rename from assets/jehc/lang/zh_cn_old.lang rename to project/assets/jehc/lang/zh_cn_old.lang diff --git a/assets/jei/lang/en_us.lang b/project/assets/jei/lang/en_us.lang similarity index 100% rename from assets/jei/lang/en_us.lang rename to project/assets/jei/lang/en_us.lang diff --git a/assets/jei/lang/zh_cn.lang b/project/assets/jei/lang/zh_cn.lang similarity index 100% rename from assets/jei/lang/zh_cn.lang rename to project/assets/jei/lang/zh_cn.lang diff --git a/assets/jei/lang/zh_cn_old.lang b/project/assets/jei/lang/zh_cn_old.lang similarity index 100% rename from assets/jei/lang/zh_cn_old.lang rename to project/assets/jei/lang/zh_cn_old.lang diff --git a/assets/jeibees/lang/en_us.lang b/project/assets/jeibees/lang/en_us.lang similarity index 100% rename from assets/jeibees/lang/en_us.lang rename to project/assets/jeibees/lang/en_us.lang diff --git a/assets/jeibees/lang/zh_cn.lang b/project/assets/jeibees/lang/zh_cn.lang similarity index 100% rename from assets/jeibees/lang/zh_cn.lang rename to project/assets/jeibees/lang/zh_cn.lang diff --git a/assets/jeibees/lang/zh_cn_old.lang b/project/assets/jeibees/lang/zh_cn_old.lang similarity index 100% rename from assets/jeibees/lang/zh_cn_old.lang rename to project/assets/jeibees/lang/zh_cn_old.lang diff --git a/assets/jeiintegration/lang/en_us.lang b/project/assets/jeiintegration/lang/en_us.lang similarity index 100% rename from assets/jeiintegration/lang/en_us.lang rename to project/assets/jeiintegration/lang/en_us.lang diff --git a/assets/jeiintegration/lang/zh_cn.lang b/project/assets/jeiintegration/lang/zh_cn.lang similarity index 100% rename from assets/jeiintegration/lang/zh_cn.lang rename to project/assets/jeiintegration/lang/zh_cn.lang diff --git a/assets/jeiintegration/lang/zh_cn_old.lang b/project/assets/jeiintegration/lang/zh_cn_old.lang similarity index 100% rename from assets/jeiintegration/lang/zh_cn_old.lang rename to project/assets/jeiintegration/lang/zh_cn_old.lang diff --git a/assets/jeresources/lang/en_us.lang b/project/assets/jeresources/lang/en_us.lang similarity index 100% rename from assets/jeresources/lang/en_us.lang rename to project/assets/jeresources/lang/en_us.lang diff --git a/assets/jeresources/lang/zh_cn.lang b/project/assets/jeresources/lang/zh_cn.lang similarity index 100% rename from assets/jeresources/lang/zh_cn.lang rename to project/assets/jeresources/lang/zh_cn.lang diff --git a/assets/jeresources/lang/zh_cn_old.lang b/project/assets/jeresources/lang/zh_cn_old.lang similarity index 100% rename from assets/jeresources/lang/zh_cn_old.lang rename to project/assets/jeresources/lang/zh_cn_old.lang diff --git a/assets/journeymap/lang/en_us.lang b/project/assets/journeymap/lang/en_us.lang similarity index 100% rename from assets/journeymap/lang/en_us.lang rename to project/assets/journeymap/lang/en_us.lang diff --git a/assets/journeymap/lang/zh_cn.lang b/project/assets/journeymap/lang/zh_cn.lang similarity index 100% rename from assets/journeymap/lang/zh_cn.lang rename to project/assets/journeymap/lang/zh_cn.lang diff --git a/assets/journeymap/lang/zh_cn_old.lang b/project/assets/journeymap/lang/zh_cn_old.lang similarity index 100% rename from assets/journeymap/lang/zh_cn_old.lang rename to project/assets/journeymap/lang/zh_cn_old.lang diff --git a/assets/junglemobs/lang/en_us.lang b/project/assets/junglemobs/lang/en_us.lang similarity index 100% rename from assets/junglemobs/lang/en_us.lang rename to project/assets/junglemobs/lang/en_us.lang diff --git a/assets/junglemobs/lang/zh_cn.lang b/project/assets/junglemobs/lang/zh_cn.lang similarity index 100% rename from assets/junglemobs/lang/zh_cn.lang rename to project/assets/junglemobs/lang/zh_cn.lang diff --git a/assets/junglemobs/lang/zh_cn_old.lang b/project/assets/junglemobs/lang/zh_cn_old.lang similarity index 100% rename from assets/junglemobs/lang/zh_cn_old.lang rename to project/assets/junglemobs/lang/zh_cn_old.lang diff --git a/assets/justanothersnad/lang/zh_cn.lang b/project/assets/justanothersnad/lang/zh_cn.lang similarity index 100% rename from assets/justanothersnad/lang/zh_cn.lang rename to project/assets/justanothersnad/lang/zh_cn.lang diff --git a/assets/justanothersnad/lang/zh_cn_old.lang b/project/assets/justanothersnad/lang/zh_cn_old.lang similarity index 100% rename from assets/justanothersnad/lang/zh_cn_old.lang rename to project/assets/justanothersnad/lang/zh_cn_old.lang diff --git a/assets/justenoughbuttons/lang/zh_cn.lang b/project/assets/justenoughbuttons/lang/zh_cn.lang similarity index 100% rename from assets/justenoughbuttons/lang/zh_cn.lang rename to project/assets/justenoughbuttons/lang/zh_cn.lang diff --git a/assets/justenoughbuttons/lang/zh_cn_old.lang b/project/assets/justenoughbuttons/lang/zh_cn_old.lang similarity index 100% rename from assets/justenoughbuttons/lang/zh_cn_old.lang rename to project/assets/justenoughbuttons/lang/zh_cn_old.lang diff --git a/assets/justenoughdimensions/lang/en_us.lang b/project/assets/justenoughdimensions/lang/en_us.lang similarity index 100% rename from assets/justenoughdimensions/lang/en_us.lang rename to project/assets/justenoughdimensions/lang/en_us.lang diff --git a/assets/justenoughdimensions/lang/zh_cn.lang b/project/assets/justenoughdimensions/lang/zh_cn.lang similarity index 100% rename from assets/justenoughdimensions/lang/zh_cn.lang rename to project/assets/justenoughdimensions/lang/zh_cn.lang diff --git a/assets/justenoughdimensions/lang/zh_cn_old.lang b/project/assets/justenoughdimensions/lang/zh_cn_old.lang similarity index 100% rename from assets/justenoughdimensions/lang/zh_cn_old.lang rename to project/assets/justenoughdimensions/lang/zh_cn_old.lang diff --git a/assets/justthetips/lang/en_us.lang b/project/assets/justthetips/lang/en_us.lang similarity index 100% rename from assets/justthetips/lang/en_us.lang rename to project/assets/justthetips/lang/en_us.lang diff --git a/assets/justthetips/lang/zh_cn.lang b/project/assets/justthetips/lang/zh_cn.lang similarity index 100% rename from assets/justthetips/lang/zh_cn.lang rename to project/assets/justthetips/lang/zh_cn.lang diff --git a/assets/justthetips/lang/zh_cn_old.lang b/project/assets/justthetips/lang/zh_cn_old.lang similarity index 100% rename from assets/justthetips/lang/zh_cn_old.lang rename to project/assets/justthetips/lang/zh_cn_old.lang diff --git a/assets/karatgarden/lang/en_us.lang b/project/assets/karatgarden/lang/en_us.lang similarity index 100% rename from assets/karatgarden/lang/en_us.lang rename to project/assets/karatgarden/lang/en_us.lang diff --git a/assets/karatgarden/lang/zh_cn.lang b/project/assets/karatgarden/lang/zh_cn.lang similarity index 100% rename from assets/karatgarden/lang/zh_cn.lang rename to project/assets/karatgarden/lang/zh_cn.lang diff --git a/assets/karatgarden/lang/zh_cn_old.lang b/project/assets/karatgarden/lang/zh_cn_old.lang similarity index 100% rename from assets/karatgarden/lang/zh_cn_old.lang rename to project/assets/karatgarden/lang/zh_cn_old.lang diff --git a/assets/levelup2/lang/en_us.lang b/project/assets/levelup2/lang/en_us.lang similarity index 100% rename from assets/levelup2/lang/en_us.lang rename to project/assets/levelup2/lang/en_us.lang diff --git a/assets/levelup2/lang/zh_cn.lang b/project/assets/levelup2/lang/zh_cn.lang similarity index 100% rename from assets/levelup2/lang/zh_cn.lang rename to project/assets/levelup2/lang/zh_cn.lang diff --git a/assets/levelup2/lang/zh_cn_old.lang b/project/assets/levelup2/lang/zh_cn_old.lang similarity index 100% rename from assets/levelup2/lang/zh_cn_old.lang rename to project/assets/levelup2/lang/zh_cn_old.lang diff --git a/assets/librarianlib/lang/en_us.lang b/project/assets/librarianlib/lang/en_us.lang similarity index 100% rename from assets/librarianlib/lang/en_us.lang rename to project/assets/librarianlib/lang/en_us.lang diff --git a/assets/librarianlib/lang/zh_cn.lang b/project/assets/librarianlib/lang/zh_cn.lang similarity index 100% rename from assets/librarianlib/lang/zh_cn.lang rename to project/assets/librarianlib/lang/zh_cn.lang diff --git a/assets/librarianlib/lang/zh_cn_old.lang b/project/assets/librarianlib/lang/zh_cn_old.lang similarity index 100% rename from assets/librarianlib/lang/zh_cn_old.lang rename to project/assets/librarianlib/lang/zh_cn_old.lang diff --git a/assets/lightningcraft/lang/zh_cn.lang b/project/assets/lightningcraft/lang/zh_cn.lang similarity index 100% rename from assets/lightningcraft/lang/zh_cn.lang rename to project/assets/lightningcraft/lang/zh_cn.lang diff --git a/assets/lightningcraft/lang/zh_cn_old.lang b/project/assets/lightningcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/lightningcraft/lang/zh_cn_old.lang rename to project/assets/lightningcraft/lang/zh_cn_old.lang diff --git a/assets/littletiles/lang/en_us.lang b/project/assets/littletiles/lang/en_us.lang similarity index 100% rename from assets/littletiles/lang/en_us.lang rename to project/assets/littletiles/lang/en_us.lang diff --git a/assets/littletiles/lang/zh_cn.lang b/project/assets/littletiles/lang/zh_cn.lang similarity index 100% rename from assets/littletiles/lang/zh_cn.lang rename to project/assets/littletiles/lang/zh_cn.lang diff --git a/assets/littletiles/lang/zh_cn_old.lang b/project/assets/littletiles/lang/zh_cn_old.lang similarity index 100% rename from assets/littletiles/lang/zh_cn_old.lang rename to project/assets/littletiles/lang/zh_cn_old.lang diff --git a/assets/llibrary/lang/en_us.lang b/project/assets/llibrary/lang/en_us.lang similarity index 100% rename from assets/llibrary/lang/en_us.lang rename to project/assets/llibrary/lang/en_us.lang diff --git a/assets/llibrary/lang/zh_cn.lang b/project/assets/llibrary/lang/zh_cn.lang similarity index 100% rename from assets/llibrary/lang/zh_cn.lang rename to project/assets/llibrary/lang/zh_cn.lang diff --git a/assets/llibrary/lang/zh_cn_old.lang b/project/assets/llibrary/lang/zh_cn_old.lang similarity index 100% rename from assets/llibrary/lang/zh_cn_old.lang rename to project/assets/llibrary/lang/zh_cn_old.lang diff --git a/assets/loginshield/lang/en_us.lang b/project/assets/loginshield/lang/en_us.lang similarity index 100% rename from assets/loginshield/lang/en_us.lang rename to project/assets/loginshield/lang/en_us.lang diff --git a/assets/loginshield/lang/zh_cn.lang b/project/assets/loginshield/lang/zh_cn.lang similarity index 100% rename from assets/loginshield/lang/zh_cn.lang rename to project/assets/loginshield/lang/zh_cn.lang diff --git a/assets/loginshield/lang/zh_cn_old.lang b/project/assets/loginshield/lang/zh_cn_old.lang similarity index 100% rename from assets/loginshield/lang/zh_cn_old.lang rename to project/assets/loginshield/lang/zh_cn_old.lang diff --git a/assets/longfallboots/lang/en_us.lang b/project/assets/longfallboots/lang/en_us.lang similarity index 100% rename from assets/longfallboots/lang/en_us.lang rename to project/assets/longfallboots/lang/en_us.lang diff --git a/assets/longfallboots/lang/zh_cn.lang b/project/assets/longfallboots/lang/zh_cn.lang similarity index 100% rename from assets/longfallboots/lang/zh_cn.lang rename to project/assets/longfallboots/lang/zh_cn.lang diff --git a/assets/longfallboots/lang/zh_cn_old.lang b/project/assets/longfallboots/lang/zh_cn_old.lang similarity index 100% rename from assets/longfallboots/lang/zh_cn_old.lang rename to project/assets/longfallboots/lang/zh_cn_old.lang diff --git a/assets/lootbags/lang/en_us.lang b/project/assets/lootbags/lang/en_us.lang similarity index 100% rename from assets/lootbags/lang/en_us.lang rename to project/assets/lootbags/lang/en_us.lang diff --git a/assets/lootbags/lang/zh.lang b/project/assets/lootbags/lang/zh.lang similarity index 100% rename from assets/lootbags/lang/zh.lang rename to project/assets/lootbags/lang/zh.lang diff --git a/assets/lootbags/lang/zh_cn.lang b/project/assets/lootbags/lang/zh_cn.lang similarity index 100% rename from assets/lootbags/lang/zh_cn.lang rename to project/assets/lootbags/lang/zh_cn.lang diff --git a/assets/lootbags/lang/zh_cn_old.lang b/project/assets/lootbags/lang/zh_cn_old.lang similarity index 100% rename from assets/lootbags/lang/zh_cn_old.lang rename to project/assets/lootbags/lang/zh_cn_old.lang diff --git a/assets/lostcities/lang/en_us.lang b/project/assets/lostcities/lang/en_us.lang similarity index 100% rename from assets/lostcities/lang/en_us.lang rename to project/assets/lostcities/lang/en_us.lang diff --git a/assets/lostcities/lang/zh_cn.lang b/project/assets/lostcities/lang/zh_cn.lang similarity index 100% rename from assets/lostcities/lang/zh_cn.lang rename to project/assets/lostcities/lang/zh_cn.lang diff --git a/assets/lostcities/lang/zh_cn_old.lang b/project/assets/lostcities/lang/zh_cn_old.lang similarity index 100% rename from assets/lostcities/lang/zh_cn_old.lang rename to project/assets/lostcities/lang/zh_cn_old.lang diff --git a/assets/lteleporters/lang/en_us.lang b/project/assets/lteleporters/lang/en_us.lang similarity index 100% rename from assets/lteleporters/lang/en_us.lang rename to project/assets/lteleporters/lang/en_us.lang diff --git a/assets/lteleporters/lang/zh_cn.lang b/project/assets/lteleporters/lang/zh_cn.lang similarity index 100% rename from assets/lteleporters/lang/zh_cn.lang rename to project/assets/lteleporters/lang/zh_cn.lang diff --git a/assets/lteleporters/lang/zh_cn_old.lang b/project/assets/lteleporters/lang/zh_cn_old.lang similarity index 100% rename from assets/lteleporters/lang/zh_cn_old.lang rename to project/assets/lteleporters/lang/zh_cn_old.lang diff --git a/assets/lttweaks/lang/zh_cn.lang b/project/assets/lttweaks/lang/zh_cn.lang similarity index 100% rename from assets/lttweaks/lang/zh_cn.lang rename to project/assets/lttweaks/lang/zh_cn.lang diff --git a/assets/lttweaks/lang/zh_cn_old.lang b/project/assets/lttweaks/lang/zh_cn_old.lang similarity index 100% rename from assets/lttweaks/lang/zh_cn_old.lang rename to project/assets/lttweaks/lang/zh_cn_old.lang diff --git a/assets/lucraftcore/lang/zh_cn.lang b/project/assets/lucraftcore/lang/zh_cn.lang similarity index 100% rename from assets/lucraftcore/lang/zh_cn.lang rename to project/assets/lucraftcore/lang/zh_cn.lang diff --git a/assets/lucraftcore/lang/zh_cn_old.lang b/project/assets/lucraftcore/lang/zh_cn_old.lang similarity index 100% rename from assets/lucraftcore/lang/zh_cn_old.lang rename to project/assets/lucraftcore/lang/zh_cn_old.lang diff --git a/assets/lycanitesmobs/lang/en_us.lang b/project/assets/lycanitesmobs/lang/en_us.lang similarity index 100% rename from assets/lycanitesmobs/lang/en_us.lang rename to project/assets/lycanitesmobs/lang/en_us.lang diff --git a/assets/lycanitesmobs/lang/zh_cn.lang b/project/assets/lycanitesmobs/lang/zh_cn.lang similarity index 100% rename from assets/lycanitesmobs/lang/zh_cn.lang rename to project/assets/lycanitesmobs/lang/zh_cn.lang diff --git a/assets/lycanitesmobs/lang/zh_cn_old.lang b/project/assets/lycanitesmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/lycanitesmobs/lang/zh_cn_old.lang rename to project/assets/lycanitesmobs/lang/zh_cn_old.lang diff --git a/assets/magicbees/lang/en_us.lang b/project/assets/magicbees/lang/en_us.lang similarity index 100% rename from assets/magicbees/lang/en_us.lang rename to project/assets/magicbees/lang/en_us.lang diff --git a/assets/magicbees/lang/zh_cn.lang b/project/assets/magicbees/lang/zh_cn.lang similarity index 100% rename from assets/magicbees/lang/zh_cn.lang rename to project/assets/magicbees/lang/zh_cn.lang diff --git a/assets/magicbees/lang/zh_cn_old.lang b/project/assets/magicbees/lang/zh_cn_old.lang similarity index 100% rename from assets/magicbees/lang/zh_cn_old.lang rename to project/assets/magicbees/lang/zh_cn_old.lang diff --git a/assets/magipsi/lang/zh_cn.lang b/project/assets/magipsi/lang/zh_cn.lang similarity index 100% rename from assets/magipsi/lang/zh_cn.lang rename to project/assets/magipsi/lang/zh_cn.lang diff --git a/assets/magipsi/lang/zh_cn_old.lang b/project/assets/magipsi/lang/zh_cn_old.lang similarity index 100% rename from assets/magipsi/lang/zh_cn_old.lang rename to project/assets/magipsi/lang/zh_cn_old.lang diff --git a/assets/magma_monsters/lang/zh_cn.lang b/project/assets/magma_monsters/lang/zh_cn.lang similarity index 100% rename from assets/magma_monsters/lang/zh_cn.lang rename to project/assets/magma_monsters/lang/zh_cn.lang diff --git a/assets/magma_monsters/lang/zh_cn_old.lang b/project/assets/magma_monsters/lang/zh_cn_old.lang similarity index 100% rename from assets/magma_monsters/lang/zh_cn_old.lang rename to project/assets/magma_monsters/lang/zh_cn_old.lang diff --git a/assets/magneticraft/lang/en_us.lang b/project/assets/magneticraft/lang/en_us.lang similarity index 100% rename from assets/magneticraft/lang/en_us.lang rename to project/assets/magneticraft/lang/en_us.lang diff --git a/assets/magneticraft/lang/zh_cn.lang b/project/assets/magneticraft/lang/zh_cn.lang similarity index 100% rename from assets/magneticraft/lang/zh_cn.lang rename to project/assets/magneticraft/lang/zh_cn.lang diff --git a/assets/magneticraft/lang/zh_cn_old.lang b/project/assets/magneticraft/lang/zh_cn_old.lang similarity index 100% rename from assets/magneticraft/lang/zh_cn_old.lang rename to project/assets/magneticraft/lang/zh_cn_old.lang diff --git a/assets/malisiscore/lang/en_us.lang b/project/assets/malisiscore/lang/en_us.lang similarity index 100% rename from assets/malisiscore/lang/en_us.lang rename to project/assets/malisiscore/lang/en_us.lang diff --git a/assets/malisiscore/lang/zh_cn.lang b/project/assets/malisiscore/lang/zh_cn.lang similarity index 100% rename from assets/malisiscore/lang/zh_cn.lang rename to project/assets/malisiscore/lang/zh_cn.lang diff --git a/assets/malisiscore/lang/zh_cn_old.lang b/project/assets/malisiscore/lang/zh_cn_old.lang similarity index 100% rename from assets/malisiscore/lang/zh_cn_old.lang rename to project/assets/malisiscore/lang/zh_cn_old.lang diff --git a/assets/malisisdoors/lang/en_us.lang b/project/assets/malisisdoors/lang/en_us.lang similarity index 100% rename from assets/malisisdoors/lang/en_us.lang rename to project/assets/malisisdoors/lang/en_us.lang diff --git a/assets/malisisdoors/lang/zh_cn.lang b/project/assets/malisisdoors/lang/zh_cn.lang similarity index 100% rename from assets/malisisdoors/lang/zh_cn.lang rename to project/assets/malisisdoors/lang/zh_cn.lang diff --git a/assets/malisisdoors/lang/zh_cn_old.lang b/project/assets/malisisdoors/lang/zh_cn_old.lang similarity index 100% rename from assets/malisisdoors/lang/zh_cn_old.lang rename to project/assets/malisisdoors/lang/zh_cn_old.lang diff --git a/assets/mapwriter/lang/en_us.lang b/project/assets/mapwriter/lang/en_us.lang similarity index 100% rename from assets/mapwriter/lang/en_us.lang rename to project/assets/mapwriter/lang/en_us.lang diff --git a/assets/mapwriter/lang/zh_cn.lang b/project/assets/mapwriter/lang/zh_cn.lang similarity index 100% rename from assets/mapwriter/lang/zh_cn.lang rename to project/assets/mapwriter/lang/zh_cn.lang diff --git a/assets/mapwriter/lang/zh_cn_old.lang b/project/assets/mapwriter/lang/zh_cn_old.lang similarity index 100% rename from assets/mapwriter/lang/zh_cn_old.lang rename to project/assets/mapwriter/lang/zh_cn_old.lang diff --git a/assets/mb/lang/zh_cn.lang b/project/assets/mb/lang/zh_cn.lang similarity index 100% rename from assets/mb/lang/zh_cn.lang rename to project/assets/mb/lang/zh_cn.lang diff --git a/assets/mb/lang/zh_cn_old.lang b/project/assets/mb/lang/zh_cn_old.lang similarity index 100% rename from assets/mb/lang/zh_cn_old.lang rename to project/assets/mb/lang/zh_cn_old.lang diff --git a/assets/mcopts/lang/en_us.lang b/project/assets/mcopts/lang/en_us.lang similarity index 100% rename from assets/mcopts/lang/en_us.lang rename to project/assets/mcopts/lang/en_us.lang diff --git a/assets/mcopts/lang/zh_cn.lang b/project/assets/mcopts/lang/zh_cn.lang similarity index 100% rename from assets/mcopts/lang/zh_cn.lang rename to project/assets/mcopts/lang/zh_cn.lang diff --git a/assets/mcopts/lang/zh_cn_old.lang b/project/assets/mcopts/lang/zh_cn_old.lang similarity index 100% rename from assets/mcopts/lang/zh_cn_old.lang rename to project/assets/mcopts/lang/zh_cn_old.lang diff --git a/assets/mdecore/lang/zh_cn.lang b/project/assets/mdecore/lang/zh_cn.lang similarity index 100% rename from assets/mdecore/lang/zh_cn.lang rename to project/assets/mdecore/lang/zh_cn.lang diff --git a/assets/mdecore/lang/zh_cn_old.lang b/project/assets/mdecore/lang/zh_cn_old.lang similarity index 100% rename from assets/mdecore/lang/zh_cn_old.lang rename to project/assets/mdecore/lang/zh_cn_old.lang diff --git a/assets/mechsoldiers/lang/zh_cn.lang b/project/assets/mechsoldiers/lang/zh_cn.lang similarity index 100% rename from assets/mechsoldiers/lang/zh_cn.lang rename to project/assets/mechsoldiers/lang/zh_cn.lang diff --git a/assets/mechsoldiers/lang/zh_cn_old.lang b/project/assets/mechsoldiers/lang/zh_cn_old.lang similarity index 100% rename from assets/mechsoldiers/lang/zh_cn_old.lang rename to project/assets/mechsoldiers/lang/zh_cn_old.lang diff --git a/assets/meecreeps/lang/zh_cn.lang b/project/assets/meecreeps/lang/zh_cn.lang similarity index 100% rename from assets/meecreeps/lang/zh_cn.lang rename to project/assets/meecreeps/lang/zh_cn.lang diff --git a/assets/meecreeps/lang/zh_cn_old.lang b/project/assets/meecreeps/lang/zh_cn_old.lang similarity index 100% rename from assets/meecreeps/lang/zh_cn_old.lang rename to project/assets/meecreeps/lang/zh_cn_old.lang diff --git a/assets/mekanism/lang/en_us.lang b/project/assets/mekanism/lang/en_us.lang similarity index 100% rename from assets/mekanism/lang/en_us.lang rename to project/assets/mekanism/lang/en_us.lang diff --git a/assets/mekanism/lang/zh_cn.lang b/project/assets/mekanism/lang/zh_cn.lang similarity index 100% rename from assets/mekanism/lang/zh_cn.lang rename to project/assets/mekanism/lang/zh_cn.lang diff --git a/assets/mekanism/lang/zh_cn_old.lang b/project/assets/mekanism/lang/zh_cn_old.lang similarity index 100% rename from assets/mekanism/lang/zh_cn_old.lang rename to project/assets/mekanism/lang/zh_cn_old.lang diff --git a/assets/menu/lang/en_us.lang b/project/assets/menu/lang/en_us.lang similarity index 100% rename from assets/menu/lang/en_us.lang rename to project/assets/menu/lang/en_us.lang diff --git a/assets/menu/lang/zh_cn.lang b/project/assets/menu/lang/zh_cn.lang similarity index 100% rename from assets/menu/lang/zh_cn.lang rename to project/assets/menu/lang/zh_cn.lang diff --git a/assets/menu/lang/zh_cn_old.lang b/project/assets/menu/lang/zh_cn_old.lang similarity index 100% rename from assets/menu/lang/zh_cn_old.lang rename to project/assets/menu/lang/zh_cn_old.lang diff --git a/assets/metamorph/lang/zh_cn.lang b/project/assets/metamorph/lang/zh_cn.lang similarity index 100% rename from assets/metamorph/lang/zh_cn.lang rename to project/assets/metamorph/lang/zh_cn.lang diff --git a/assets/metamorph/lang/zh_cn_old.lang b/project/assets/metamorph/lang/zh_cn_old.lang similarity index 100% rename from assets/metamorph/lang/zh_cn_old.lang rename to project/assets/metamorph/lang/zh_cn_old.lang diff --git a/assets/mikedongles/lang/en_us.lang b/project/assets/mikedongles/lang/en_us.lang similarity index 100% rename from assets/mikedongles/lang/en_us.lang rename to project/assets/mikedongles/lang/en_us.lang diff --git a/assets/mikedongles/lang/zh_cn.lang b/project/assets/mikedongles/lang/zh_cn.lang similarity index 100% rename from assets/mikedongles/lang/zh_cn.lang rename to project/assets/mikedongles/lang/zh_cn.lang diff --git a/assets/mikedongles/lang/zh_cn_old.lang b/project/assets/mikedongles/lang/zh_cn_old.lang similarity index 100% rename from assets/mikedongles/lang/zh_cn_old.lang rename to project/assets/mikedongles/lang/zh_cn_old.lang diff --git a/assets/minecolonies/lang/en_us.lang b/project/assets/minecolonies/lang/en_us.lang similarity index 100% rename from assets/minecolonies/lang/en_us.lang rename to project/assets/minecolonies/lang/en_us.lang diff --git a/assets/minecolonies/lang/zh_cn.lang b/project/assets/minecolonies/lang/zh_cn.lang similarity index 100% rename from assets/minecolonies/lang/zh_cn.lang rename to project/assets/minecolonies/lang/zh_cn.lang diff --git a/assets/minecolonies/lang/zh_cn_old.lang b/project/assets/minecolonies/lang/zh_cn_old.lang similarity index 100% rename from assets/minecolonies/lang/zh_cn_old.lang rename to project/assets/minecolonies/lang/zh_cn_old.lang diff --git a/assets/minecraft/font/glyph_sizes.bin b/project/assets/minecraft/font/glyph_sizes.bin similarity index 100% rename from assets/minecraft/font/glyph_sizes.bin rename to project/assets/minecraft/font/glyph_sizes.bin diff --git a/assets/minecraft/readme.md b/project/assets/minecraft/readme.md similarity index 100% rename from assets/minecraft/readme.md rename to project/assets/minecraft/readme.md diff --git a/assets/minetogetherserver/lang/en_us.lang b/project/assets/minetogetherserver/lang/en_us.lang similarity index 100% rename from assets/minetogetherserver/lang/en_us.lang rename to project/assets/minetogetherserver/lang/en_us.lang diff --git a/assets/minetogetherserver/lang/zh_cn.lang b/project/assets/minetogetherserver/lang/zh_cn.lang similarity index 100% rename from assets/minetogetherserver/lang/zh_cn.lang rename to project/assets/minetogetherserver/lang/zh_cn.lang diff --git a/assets/minetogetherserver/lang/zh_cn_old.lang b/project/assets/minetogetherserver/lang/zh_cn_old.lang similarity index 100% rename from assets/minetogetherserver/lang/zh_cn_old.lang rename to project/assets/minetogetherserver/lang/zh_cn_old.lang diff --git a/assets/minions/lang/zh_cn.lang b/project/assets/minions/lang/zh_cn.lang similarity index 100% rename from assets/minions/lang/zh_cn.lang rename to project/assets/minions/lang/zh_cn.lang diff --git a/assets/minions/lang/zh_cn_old.lang b/project/assets/minions/lang/zh_cn_old.lang similarity index 100% rename from assets/minions/lang/zh_cn_old.lang rename to project/assets/minions/lang/zh_cn_old.lang diff --git a/assets/missing_pieces/lang/en_us.lang b/project/assets/missing_pieces/lang/en_us.lang similarity index 100% rename from assets/missing_pieces/lang/en_us.lang rename to project/assets/missing_pieces/lang/en_us.lang diff --git a/assets/missing_pieces/lang/zh_cn.lang b/project/assets/missing_pieces/lang/zh_cn.lang similarity index 100% rename from assets/missing_pieces/lang/zh_cn.lang rename to project/assets/missing_pieces/lang/zh_cn.lang diff --git a/assets/missing_pieces/lang/zh_cn_old.lang b/project/assets/missing_pieces/lang/zh_cn_old.lang similarity index 100% rename from assets/missing_pieces/lang/zh_cn_old.lang rename to project/assets/missing_pieces/lang/zh_cn_old.lang diff --git a/assets/moartinkers/lang/en_us.lang b/project/assets/moartinkers/lang/en_us.lang similarity index 100% rename from assets/moartinkers/lang/en_us.lang rename to project/assets/moartinkers/lang/en_us.lang diff --git a/assets/moartinkers/lang/zh_cn.lang b/project/assets/moartinkers/lang/zh_cn.lang similarity index 100% rename from assets/moartinkers/lang/zh_cn.lang rename to project/assets/moartinkers/lang/zh_cn.lang diff --git a/assets/moartinkers/lang/zh_cn_old.lang b/project/assets/moartinkers/lang/zh_cn_old.lang similarity index 100% rename from assets/moartinkers/lang/zh_cn_old.lang rename to project/assets/moartinkers/lang/zh_cn_old.lang diff --git a/assets/mob_grinding_utils/lang/en_us.lang b/project/assets/mob_grinding_utils/lang/en_us.lang similarity index 100% rename from assets/mob_grinding_utils/lang/en_us.lang rename to project/assets/mob_grinding_utils/lang/en_us.lang diff --git a/assets/mob_grinding_utils/lang/zh_cn.lang b/project/assets/mob_grinding_utils/lang/zh_cn.lang similarity index 100% rename from assets/mob_grinding_utils/lang/zh_cn.lang rename to project/assets/mob_grinding_utils/lang/zh_cn.lang diff --git a/assets/mob_grinding_utils/lang/zh_cn_old.lang b/project/assets/mob_grinding_utils/lang/zh_cn_old.lang similarity index 100% rename from assets/mob_grinding_utils/lang/zh_cn_old.lang rename to project/assets/mob_grinding_utils/lang/zh_cn_old.lang diff --git a/assets/mobamputation/lang/zh_cn.lang b/project/assets/mobamputation/lang/zh_cn.lang similarity index 100% rename from assets/mobamputation/lang/zh_cn.lang rename to project/assets/mobamputation/lang/zh_cn.lang diff --git a/assets/mobamputation/lang/zh_cn_old.lang b/project/assets/mobamputation/lang/zh_cn_old.lang similarity index 100% rename from assets/mobamputation/lang/zh_cn_old.lang rename to project/assets/mobamputation/lang/zh_cn_old.lang diff --git a/assets/mobdismemberment/lang/en_us.lang b/project/assets/mobdismemberment/lang/en_us.lang similarity index 100% rename from assets/mobdismemberment/lang/en_us.lang rename to project/assets/mobdismemberment/lang/en_us.lang diff --git a/assets/mobdismemberment/lang/zh_cn.lang b/project/assets/mobdismemberment/lang/zh_cn.lang similarity index 100% rename from assets/mobdismemberment/lang/zh_cn.lang rename to project/assets/mobdismemberment/lang/zh_cn.lang diff --git a/assets/mobdismemberment/lang/zh_cn_old.lang b/project/assets/mobdismemberment/lang/zh_cn_old.lang similarity index 100% rename from assets/mobdismemberment/lang/zh_cn_old.lang rename to project/assets/mobdismemberment/lang/zh_cn_old.lang diff --git a/assets/mobends/lang/en_us.lang b/project/assets/mobends/lang/en_us.lang similarity index 100% rename from assets/mobends/lang/en_us.lang rename to project/assets/mobends/lang/en_us.lang diff --git a/assets/mobends/lang/zh_cn.lang b/project/assets/mobends/lang/zh_cn.lang similarity index 100% rename from assets/mobends/lang/zh_cn.lang rename to project/assets/mobends/lang/zh_cn.lang diff --git a/assets/mobends/lang/zh_cn_old.lang b/project/assets/mobends/lang/zh_cn_old.lang similarity index 100% rename from assets/mobends/lang/zh_cn_old.lang rename to project/assets/mobends/lang/zh_cn_old.lang diff --git a/assets/mobtotems/lang/zh_cn.lang b/project/assets/mobtotems/lang/zh_cn.lang similarity index 100% rename from assets/mobtotems/lang/zh_cn.lang rename to project/assets/mobtotems/lang/zh_cn.lang diff --git a/assets/mobtotems/lang/zh_cn_old.lang b/project/assets/mobtotems/lang/zh_cn_old.lang similarity index 100% rename from assets/mobtotems/lang/zh_cn_old.lang rename to project/assets/mobtotems/lang/zh_cn_old.lang diff --git a/assets/modcurrency/lang/zh_cn.lang b/project/assets/modcurrency/lang/zh_cn.lang similarity index 100% rename from assets/modcurrency/lang/zh_cn.lang rename to project/assets/modcurrency/lang/zh_cn.lang diff --git a/assets/modcurrency/lang/zh_cn_old.lang b/project/assets/modcurrency/lang/zh_cn_old.lang similarity index 100% rename from assets/modcurrency/lang/zh_cn_old.lang rename to project/assets/modcurrency/lang/zh_cn_old.lang diff --git a/assets/modnametooltip/lang/en_us.lang b/project/assets/modnametooltip/lang/en_us.lang similarity index 100% rename from assets/modnametooltip/lang/en_us.lang rename to project/assets/modnametooltip/lang/en_us.lang diff --git a/assets/modnametooltip/lang/zh_cn.lang b/project/assets/modnametooltip/lang/zh_cn.lang similarity index 100% rename from assets/modnametooltip/lang/zh_cn.lang rename to project/assets/modnametooltip/lang/zh_cn.lang diff --git a/assets/modnametooltip/lang/zh_cn_old.lang b/project/assets/modnametooltip/lang/zh_cn_old.lang similarity index 100% rename from assets/modnametooltip/lang/zh_cn_old.lang rename to project/assets/modnametooltip/lang/zh_cn_old.lang diff --git a/assets/modularmachinery/lang/zh_cn.lang b/project/assets/modularmachinery/lang/zh_cn.lang similarity index 100% rename from assets/modularmachinery/lang/zh_cn.lang rename to project/assets/modularmachinery/lang/zh_cn.lang diff --git a/assets/modularmachinery/lang/zh_cn_old.lang b/project/assets/modularmachinery/lang/zh_cn_old.lang similarity index 100% rename from assets/modularmachinery/lang/zh_cn_old.lang rename to project/assets/modularmachinery/lang/zh_cn_old.lang diff --git a/assets/modularrouters/lang/zh_cn.lang b/project/assets/modularrouters/lang/zh_cn.lang similarity index 100% rename from assets/modularrouters/lang/zh_cn.lang rename to project/assets/modularrouters/lang/zh_cn.lang diff --git a/assets/modularrouters/lang/zh_cn_old.lang b/project/assets/modularrouters/lang/zh_cn_old.lang similarity index 100% rename from assets/modularrouters/lang/zh_cn_old.lang rename to project/assets/modularrouters/lang/zh_cn_old.lang diff --git a/assets/moofluids/lang/en_us.lang b/project/assets/moofluids/lang/en_us.lang similarity index 100% rename from assets/moofluids/lang/en_us.lang rename to project/assets/moofluids/lang/en_us.lang diff --git a/assets/moofluids/lang/zh_cn.lang b/project/assets/moofluids/lang/zh_cn.lang similarity index 100% rename from assets/moofluids/lang/zh_cn.lang rename to project/assets/moofluids/lang/zh_cn.lang diff --git a/assets/moofluids/lang/zh_cn_old.lang b/project/assets/moofluids/lang/zh_cn_old.lang similarity index 100% rename from assets/moofluids/lang/zh_cn_old.lang rename to project/assets/moofluids/lang/zh_cn_old.lang diff --git a/assets/morebees/lang/en_us.lang b/project/assets/morebees/lang/en_us.lang similarity index 100% rename from assets/morebees/lang/en_us.lang rename to project/assets/morebees/lang/en_us.lang diff --git a/assets/morebees/lang/zh_cn.lang b/project/assets/morebees/lang/zh_cn.lang similarity index 100% rename from assets/morebees/lang/zh_cn.lang rename to project/assets/morebees/lang/zh_cn.lang diff --git a/assets/morebees/lang/zh_cn_old.lang b/project/assets/morebees/lang/zh_cn_old.lang similarity index 100% rename from assets/morebees/lang/zh_cn_old.lang rename to project/assets/morebees/lang/zh_cn_old.lang diff --git a/assets/morechickens/lang/en_us.lang b/project/assets/morechickens/lang/en_us.lang similarity index 100% rename from assets/morechickens/lang/en_us.lang rename to project/assets/morechickens/lang/en_us.lang diff --git a/assets/morechickens/lang/zh.lang b/project/assets/morechickens/lang/zh.lang similarity index 100% rename from assets/morechickens/lang/zh.lang rename to project/assets/morechickens/lang/zh.lang diff --git a/assets/morechickens/lang/zh_cn.lang b/project/assets/morechickens/lang/zh_cn.lang similarity index 100% rename from assets/morechickens/lang/zh_cn.lang rename to project/assets/morechickens/lang/zh_cn.lang diff --git a/assets/morechickens/lang/zh_cn_old.lang b/project/assets/morechickens/lang/zh_cn_old.lang similarity index 100% rename from assets/morechickens/lang/zh_cn_old.lang rename to project/assets/morechickens/lang/zh_cn_old.lang diff --git a/assets/morefurnaces/lang/en_us.lang b/project/assets/morefurnaces/lang/en_us.lang similarity index 100% rename from assets/morefurnaces/lang/en_us.lang rename to project/assets/morefurnaces/lang/en_us.lang diff --git a/assets/morefurnaces/lang/zh_cn.lang b/project/assets/morefurnaces/lang/zh_cn.lang similarity index 100% rename from assets/morefurnaces/lang/zh_cn.lang rename to project/assets/morefurnaces/lang/zh_cn.lang diff --git a/assets/morefurnaces/lang/zh_cn_old.lang b/project/assets/morefurnaces/lang/zh_cn_old.lang similarity index 100% rename from assets/morefurnaces/lang/zh_cn_old.lang rename to project/assets/morefurnaces/lang/zh_cn_old.lang diff --git a/assets/moreoverlays/lang/en_us.lang b/project/assets/moreoverlays/lang/en_us.lang similarity index 100% rename from assets/moreoverlays/lang/en_us.lang rename to project/assets/moreoverlays/lang/en_us.lang diff --git a/assets/moreoverlays/lang/zh_cn.lang b/project/assets/moreoverlays/lang/zh_cn.lang similarity index 100% rename from assets/moreoverlays/lang/zh_cn.lang rename to project/assets/moreoverlays/lang/zh_cn.lang diff --git a/assets/moreoverlays/lang/zh_cn_old.lang b/project/assets/moreoverlays/lang/zh_cn_old.lang similarity index 100% rename from assets/moreoverlays/lang/zh_cn_old.lang rename to project/assets/moreoverlays/lang/zh_cn_old.lang diff --git a/assets/moreplayermodels/lang/en_us.lang b/project/assets/moreplayermodels/lang/en_us.lang similarity index 100% rename from assets/moreplayermodels/lang/en_us.lang rename to project/assets/moreplayermodels/lang/en_us.lang diff --git a/assets/moreplayermodels/lang/zh_cn.lang b/project/assets/moreplayermodels/lang/zh_cn.lang similarity index 100% rename from assets/moreplayermodels/lang/zh_cn.lang rename to project/assets/moreplayermodels/lang/zh_cn.lang diff --git a/assets/moreplayermodels/lang/zh_cn_old.lang b/project/assets/moreplayermodels/lang/zh_cn_old.lang similarity index 100% rename from assets/moreplayermodels/lang/zh_cn_old.lang rename to project/assets/moreplayermodels/lang/zh_cn_old.lang diff --git a/assets/morph/lang/en_us.lang b/project/assets/morph/lang/en_us.lang similarity index 100% rename from assets/morph/lang/en_us.lang rename to project/assets/morph/lang/en_us.lang diff --git a/assets/morph/lang/zh_cn.lang b/project/assets/morph/lang/zh_cn.lang similarity index 100% rename from assets/morph/lang/zh_cn.lang rename to project/assets/morph/lang/zh_cn.lang diff --git a/assets/morph/lang/zh_cn_old.lang b/project/assets/morph/lang/zh_cn_old.lang similarity index 100% rename from assets/morph/lang/zh_cn_old.lang rename to project/assets/morph/lang/zh_cn_old.lang diff --git a/assets/morphtool/lang/en_us.lang b/project/assets/morphtool/lang/en_us.lang similarity index 100% rename from assets/morphtool/lang/en_us.lang rename to project/assets/morphtool/lang/en_us.lang diff --git a/assets/morphtool/lang/zh_cn.lang b/project/assets/morphtool/lang/zh_cn.lang similarity index 100% rename from assets/morphtool/lang/zh_cn.lang rename to project/assets/morphtool/lang/zh_cn.lang diff --git a/assets/morphtool/lang/zh_cn_old.lang b/project/assets/morphtool/lang/zh_cn_old.lang similarity index 100% rename from assets/morphtool/lang/zh_cn_old.lang rename to project/assets/morphtool/lang/zh_cn_old.lang diff --git a/assets/mountainmobs/lang/en_us.lang b/project/assets/mountainmobs/lang/en_us.lang similarity index 100% rename from assets/mountainmobs/lang/en_us.lang rename to project/assets/mountainmobs/lang/en_us.lang diff --git a/assets/mountainmobs/lang/zh_cn.lang b/project/assets/mountainmobs/lang/zh_cn.lang similarity index 100% rename from assets/mountainmobs/lang/zh_cn.lang rename to project/assets/mountainmobs/lang/zh_cn.lang diff --git a/assets/mountainmobs/lang/zh_cn_old.lang b/project/assets/mountainmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/mountainmobs/lang/zh_cn_old.lang rename to project/assets/mountainmobs/lang/zh_cn_old.lang diff --git a/assets/mputils/lang/en_us.lang b/project/assets/mputils/lang/en_us.lang similarity index 100% rename from assets/mputils/lang/en_us.lang rename to project/assets/mputils/lang/en_us.lang diff --git a/assets/mputils/lang/zh_cn.lang b/project/assets/mputils/lang/zh_cn.lang similarity index 100% rename from assets/mputils/lang/zh_cn.lang rename to project/assets/mputils/lang/zh_cn.lang diff --git a/assets/mputils/lang/zh_cn_old.lang b/project/assets/mputils/lang/zh_cn_old.lang similarity index 100% rename from assets/mputils/lang/zh_cn_old.lang rename to project/assets/mputils/lang/zh_cn_old.lang diff --git a/assets/multibeds/lang/zh_cn.lang b/project/assets/multibeds/lang/zh_cn.lang similarity index 100% rename from assets/multibeds/lang/zh_cn.lang rename to project/assets/multibeds/lang/zh_cn.lang diff --git a/assets/multibeds/lang/zh_cn_old.lang b/project/assets/multibeds/lang/zh_cn_old.lang similarity index 100% rename from assets/multibeds/lang/zh_cn_old.lang rename to project/assets/multibeds/lang/zh_cn_old.lang diff --git a/assets/multipagechest/lang/zh_cn.lang b/project/assets/multipagechest/lang/zh_cn.lang similarity index 100% rename from assets/multipagechest/lang/zh_cn.lang rename to project/assets/multipagechest/lang/zh_cn.lang diff --git a/assets/multipagechest/lang/zh_cn_old.lang b/project/assets/multipagechest/lang/zh_cn_old.lang similarity index 100% rename from assets/multipagechest/lang/zh_cn_old.lang rename to project/assets/multipagechest/lang/zh_cn_old.lang diff --git a/assets/multistorage/lang/en_us.lang b/project/assets/multistorage/lang/en_us.lang similarity index 100% rename from assets/multistorage/lang/en_us.lang rename to project/assets/multistorage/lang/en_us.lang diff --git a/assets/multistorage/lang/zh_cn.lang b/project/assets/multistorage/lang/zh_cn.lang similarity index 100% rename from assets/multistorage/lang/zh_cn.lang rename to project/assets/multistorage/lang/zh_cn.lang diff --git a/assets/multistorage/lang/zh_cn_old.lang b/project/assets/multistorage/lang/zh_cn_old.lang similarity index 100% rename from assets/multistorage/lang/zh_cn_old.lang rename to project/assets/multistorage/lang/zh_cn_old.lang diff --git a/assets/mw/lang/en_us.lang b/project/assets/mw/lang/en_us.lang similarity index 100% rename from assets/mw/lang/en_us.lang rename to project/assets/mw/lang/en_us.lang diff --git a/assets/mw/lang/zh_cn.lang b/project/assets/mw/lang/zh_cn.lang similarity index 100% rename from assets/mw/lang/zh_cn.lang rename to project/assets/mw/lang/zh_cn.lang diff --git a/assets/mw/lang/zh_cn_old.lang b/project/assets/mw/lang/zh_cn_old.lang similarity index 100% rename from assets/mw/lang/zh_cn_old.lang rename to project/assets/mw/lang/zh_cn_old.lang diff --git a/assets/mxtune/lang/zh_cn.lang b/project/assets/mxtune/lang/zh_cn.lang similarity index 100% rename from assets/mxtune/lang/zh_cn.lang rename to project/assets/mxtune/lang/zh_cn.lang diff --git a/assets/mxtune/lang/zh_cn_old.lang b/project/assets/mxtune/lang/zh_cn_old.lang similarity index 100% rename from assets/mxtune/lang/zh_cn_old.lang rename to project/assets/mxtune/lang/zh_cn_old.lang diff --git a/assets/mysticalagradditions/lang/en_us.lang b/project/assets/mysticalagradditions/lang/en_us.lang similarity index 100% rename from assets/mysticalagradditions/lang/en_us.lang rename to project/assets/mysticalagradditions/lang/en_us.lang diff --git a/assets/mysticalagradditions/lang/zh_cn.lang b/project/assets/mysticalagradditions/lang/zh_cn.lang similarity index 100% rename from assets/mysticalagradditions/lang/zh_cn.lang rename to project/assets/mysticalagradditions/lang/zh_cn.lang diff --git a/assets/mysticalagradditions/lang/zh_cn_old.lang b/project/assets/mysticalagradditions/lang/zh_cn_old.lang similarity index 100% rename from assets/mysticalagradditions/lang/zh_cn_old.lang rename to project/assets/mysticalagradditions/lang/zh_cn_old.lang diff --git a/assets/mysticalagriculture/lang/en_us.lang b/project/assets/mysticalagriculture/lang/en_us.lang similarity index 100% rename from assets/mysticalagriculture/lang/en_us.lang rename to project/assets/mysticalagriculture/lang/en_us.lang diff --git a/assets/mysticalagriculture/lang/zh_cn.lang b/project/assets/mysticalagriculture/lang/zh_cn.lang similarity index 100% rename from assets/mysticalagriculture/lang/zh_cn.lang rename to project/assets/mysticalagriculture/lang/zh_cn.lang diff --git a/assets/mysticalagriculture/lang/zh_cn_old.lang b/project/assets/mysticalagriculture/lang/zh_cn_old.lang similarity index 100% rename from assets/mysticalagriculture/lang/zh_cn_old.lang rename to project/assets/mysticalagriculture/lang/zh_cn_old.lang diff --git a/assets/mysttmtgravitymod/lang/zh_cn.lang b/project/assets/mysttmtgravitymod/lang/zh_cn.lang similarity index 100% rename from assets/mysttmtgravitymod/lang/zh_cn.lang rename to project/assets/mysttmtgravitymod/lang/zh_cn.lang diff --git a/assets/mysttmtgravitymod/lang/zh_cn_old.lang b/project/assets/mysttmtgravitymod/lang/zh_cn_old.lang similarity index 100% rename from assets/mysttmtgravitymod/lang/zh_cn_old.lang rename to project/assets/mysttmtgravitymod/lang/zh_cn_old.lang diff --git a/assets/natura/lang/en_us.lang b/project/assets/natura/lang/en_us.lang similarity index 100% rename from assets/natura/lang/en_us.lang rename to project/assets/natura/lang/en_us.lang diff --git a/assets/natura/lang/zh_cn.lang b/project/assets/natura/lang/zh_cn.lang similarity index 100% rename from assets/natura/lang/zh_cn.lang rename to project/assets/natura/lang/zh_cn.lang diff --git a/assets/natura/lang/zh_cn_old.lang b/project/assets/natura/lang/zh_cn_old.lang similarity index 100% rename from assets/natura/lang/zh_cn_old.lang rename to project/assets/natura/lang/zh_cn_old.lang diff --git a/assets/naturescompass/lang/en_us.lang b/project/assets/naturescompass/lang/en_us.lang similarity index 100% rename from assets/naturescompass/lang/en_us.lang rename to project/assets/naturescompass/lang/en_us.lang diff --git a/assets/naturescompass/lang/zh_cn.lang b/project/assets/naturescompass/lang/zh_cn.lang similarity index 100% rename from assets/naturescompass/lang/zh_cn.lang rename to project/assets/naturescompass/lang/zh_cn.lang diff --git a/assets/naturescompass/lang/zh_cn_old.lang b/project/assets/naturescompass/lang/zh_cn_old.lang similarity index 100% rename from assets/naturescompass/lang/zh_cn_old.lang rename to project/assets/naturescompass/lang/zh_cn_old.lang diff --git a/assets/nei/lang/en_us.lang b/project/assets/nei/lang/en_us.lang similarity index 100% rename from assets/nei/lang/en_us.lang rename to project/assets/nei/lang/en_us.lang diff --git a/assets/nei/lang/zh_cn.lang b/project/assets/nei/lang/zh_cn.lang similarity index 100% rename from assets/nei/lang/zh_cn.lang rename to project/assets/nei/lang/zh_cn.lang diff --git a/assets/nei/lang/zh_cn_old.lang b/project/assets/nei/lang/zh_cn_old.lang similarity index 100% rename from assets/nei/lang/zh_cn_old.lang rename to project/assets/nei/lang/zh_cn_old.lang diff --git a/assets/netherex/lang/zh_cn.lang b/project/assets/netherex/lang/zh_cn.lang similarity index 100% rename from assets/netherex/lang/zh_cn.lang rename to project/assets/netherex/lang/zh_cn.lang diff --git a/assets/netherex/lang/zh_cn_old.lang b/project/assets/netherex/lang/zh_cn_old.lang similarity index 100% rename from assets/netherex/lang/zh_cn_old.lang rename to project/assets/netherex/lang/zh_cn_old.lang diff --git a/assets/netherportalfix/lang/en_us.lang b/project/assets/netherportalfix/lang/en_us.lang similarity index 100% rename from assets/netherportalfix/lang/en_us.lang rename to project/assets/netherportalfix/lang/en_us.lang diff --git a/assets/netherportalfix/lang/zh_cn.lang b/project/assets/netherportalfix/lang/zh_cn.lang similarity index 100% rename from assets/netherportalfix/lang/zh_cn.lang rename to project/assets/netherportalfix/lang/zh_cn.lang diff --git a/assets/netherportalfix/lang/zh_cn_old.lang b/project/assets/netherportalfix/lang/zh_cn_old.lang similarity index 100% rename from assets/netherportalfix/lang/zh_cn_old.lang rename to project/assets/netherportalfix/lang/zh_cn_old.lang diff --git a/assets/nice/lang/en_us.lang b/project/assets/nice/lang/en_us.lang similarity index 100% rename from assets/nice/lang/en_us.lang rename to project/assets/nice/lang/en_us.lang diff --git a/assets/nice/lang/zh_cn.lang b/project/assets/nice/lang/zh_cn.lang similarity index 100% rename from assets/nice/lang/zh_cn.lang rename to project/assets/nice/lang/zh_cn.lang diff --git a/assets/nice/lang/zh_cn_old.lang b/project/assets/nice/lang/zh_cn_old.lang similarity index 100% rename from assets/nice/lang/zh_cn_old.lang rename to project/assets/nice/lang/zh_cn_old.lang diff --git a/assets/noel/lang/zh_cn.lang b/project/assets/noel/lang/zh_cn.lang similarity index 100% rename from assets/noel/lang/zh_cn.lang rename to project/assets/noel/lang/zh_cn.lang diff --git a/assets/noel/lang/zh_cn_old.lang b/project/assets/noel/lang/zh_cn_old.lang similarity index 100% rename from assets/noel/lang/zh_cn_old.lang rename to project/assets/noel/lang/zh_cn_old.lang diff --git a/assets/notenoughwands/lang/en_us.lang b/project/assets/notenoughwands/lang/en_us.lang similarity index 100% rename from assets/notenoughwands/lang/en_us.lang rename to project/assets/notenoughwands/lang/en_us.lang diff --git a/assets/notenoughwands/lang/zh_cn.lang b/project/assets/notenoughwands/lang/zh_cn.lang similarity index 100% rename from assets/notenoughwands/lang/zh_cn.lang rename to project/assets/notenoughwands/lang/zh_cn.lang diff --git a/assets/notenoughwands/lang/zh_cn_old.lang b/project/assets/notenoughwands/lang/zh_cn_old.lang similarity index 100% rename from assets/notenoughwands/lang/zh_cn_old.lang rename to project/assets/notenoughwands/lang/zh_cn_old.lang diff --git a/assets/nuclearcraft/lang/en_us.lang b/project/assets/nuclearcraft/lang/en_us.lang similarity index 100% rename from assets/nuclearcraft/lang/en_us.lang rename to project/assets/nuclearcraft/lang/en_us.lang diff --git a/assets/nuclearcraft/lang/zh_cn.lang b/project/assets/nuclearcraft/lang/zh_cn.lang similarity index 100% rename from assets/nuclearcraft/lang/zh_cn.lang rename to project/assets/nuclearcraft/lang/zh_cn.lang diff --git a/assets/nuclearcraft/lang/zh_cn_old.lang b/project/assets/nuclearcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/nuclearcraft/lang/zh_cn_old.lang rename to project/assets/nuclearcraft/lang/zh_cn_old.lang diff --git a/assets/nuclearphysics/lang/zh_cn.lang b/project/assets/nuclearphysics/lang/zh_cn.lang similarity index 100% rename from assets/nuclearphysics/lang/zh_cn.lang rename to project/assets/nuclearphysics/lang/zh_cn.lang diff --git a/assets/nuclearphysics/lang/zh_cn_old.lang b/project/assets/nuclearphysics/lang/zh_cn_old.lang similarity index 100% rename from assets/nuclearphysics/lang/zh_cn_old.lang rename to project/assets/nuclearphysics/lang/zh_cn_old.lang diff --git a/assets/ocsensors/lang/en_us.lang b/project/assets/ocsensors/lang/en_us.lang similarity index 100% rename from assets/ocsensors/lang/en_us.lang rename to project/assets/ocsensors/lang/en_us.lang diff --git a/assets/ocsensors/lang/zh_cn.lang b/project/assets/ocsensors/lang/zh_cn.lang similarity index 100% rename from assets/ocsensors/lang/zh_cn.lang rename to project/assets/ocsensors/lang/zh_cn.lang diff --git a/assets/ocsensors/lang/zh_cn_old.lang b/project/assets/ocsensors/lang/zh_cn_old.lang similarity index 100% rename from assets/ocsensors/lang/zh_cn_old.lang rename to project/assets/ocsensors/lang/zh_cn_old.lang diff --git a/assets/oeintegration/lang/en_us.lang b/project/assets/oeintegration/lang/en_us.lang similarity index 100% rename from assets/oeintegration/lang/en_us.lang rename to project/assets/oeintegration/lang/en_us.lang diff --git a/assets/oeintegration/lang/zh_cn.lang b/project/assets/oeintegration/lang/zh_cn.lang similarity index 100% rename from assets/oeintegration/lang/zh_cn.lang rename to project/assets/oeintegration/lang/zh_cn.lang diff --git a/assets/oeintegration/lang/zh_cn_old.lang b/project/assets/oeintegration/lang/zh_cn_old.lang similarity index 100% rename from assets/oeintegration/lang/zh_cn_old.lang rename to project/assets/oeintegration/lang/zh_cn_old.lang diff --git a/assets/omlib/lang/en_us.lang b/project/assets/omlib/lang/en_us.lang similarity index 100% rename from assets/omlib/lang/en_us.lang rename to project/assets/omlib/lang/en_us.lang diff --git a/assets/omlib/lang/zh_cn.lang b/project/assets/omlib/lang/zh_cn.lang similarity index 100% rename from assets/omlib/lang/zh_cn.lang rename to project/assets/omlib/lang/zh_cn.lang diff --git a/assets/omlib/lang/zh_cn_old.lang b/project/assets/omlib/lang/zh_cn_old.lang similarity index 100% rename from assets/omlib/lang/zh_cn_old.lang rename to project/assets/omlib/lang/zh_cn_old.lang diff --git a/assets/ompd/lang/zh_cn.lang b/project/assets/ompd/lang/zh_cn.lang similarity index 100% rename from assets/ompd/lang/zh_cn.lang rename to project/assets/ompd/lang/zh_cn.lang diff --git a/assets/ompd/lang/zh_cn_old.lang b/project/assets/ompd/lang/zh_cn_old.lang similarity index 100% rename from assets/ompd/lang/zh_cn_old.lang rename to project/assets/ompd/lang/zh_cn_old.lang diff --git a/assets/openblocks/lang/en_us.lang b/project/assets/openblocks/lang/en_us.lang similarity index 100% rename from assets/openblocks/lang/en_us.lang rename to project/assets/openblocks/lang/en_us.lang diff --git a/assets/openblocks/lang/zh_cn.lang b/project/assets/openblocks/lang/zh_cn.lang similarity index 100% rename from assets/openblocks/lang/zh_cn.lang rename to project/assets/openblocks/lang/zh_cn.lang diff --git a/assets/openblocks/lang/zh_cn_old.lang b/project/assets/openblocks/lang/zh_cn_old.lang similarity index 100% rename from assets/openblocks/lang/zh_cn_old.lang rename to project/assets/openblocks/lang/zh_cn_old.lang diff --git a/assets/opencomputers/lang/en_us.lang b/project/assets/opencomputers/lang/en_us.lang similarity index 100% rename from assets/opencomputers/lang/en_us.lang rename to project/assets/opencomputers/lang/en_us.lang diff --git a/assets/opencomputers/lang/zh_cn.lang b/project/assets/opencomputers/lang/zh_cn.lang similarity index 100% rename from assets/opencomputers/lang/zh_cn.lang rename to project/assets/opencomputers/lang/zh_cn.lang diff --git a/assets/opencomputers/lang/zh_cn_old.lang b/project/assets/opencomputers/lang/zh_cn_old.lang similarity index 100% rename from assets/opencomputers/lang/zh_cn_old.lang rename to project/assets/opencomputers/lang/zh_cn_old.lang diff --git a/assets/openglasses/lang/zh_cn.lang b/project/assets/openglasses/lang/zh_cn.lang similarity index 100% rename from assets/openglasses/lang/zh_cn.lang rename to project/assets/openglasses/lang/zh_cn.lang diff --git a/assets/openglasses/lang/zh_cn_old.lang b/project/assets/openglasses/lang/zh_cn_old.lang similarity index 100% rename from assets/openglasses/lang/zh_cn_old.lang rename to project/assets/openglasses/lang/zh_cn_old.lang diff --git a/assets/openglider/lang/zh_cn.lang b/project/assets/openglider/lang/zh_cn.lang similarity index 100% rename from assets/openglider/lang/zh_cn.lang rename to project/assets/openglider/lang/zh_cn.lang diff --git a/assets/openglider/lang/zh_cn_old.lang b/project/assets/openglider/lang/zh_cn_old.lang similarity index 100% rename from assets/openglider/lang/zh_cn_old.lang rename to project/assets/openglider/lang/zh_cn_old.lang diff --git a/assets/openmods/lang/en_us.lang b/project/assets/openmods/lang/en_us.lang similarity index 100% rename from assets/openmods/lang/en_us.lang rename to project/assets/openmods/lang/en_us.lang diff --git a/assets/openmods/lang/zh_cn.lang b/project/assets/openmods/lang/zh_cn.lang similarity index 100% rename from assets/openmods/lang/zh_cn.lang rename to project/assets/openmods/lang/zh_cn.lang diff --git a/assets/openmods/lang/zh_cn_old.lang b/project/assets/openmods/lang/zh_cn_old.lang similarity index 100% rename from assets/openmods/lang/zh_cn_old.lang rename to project/assets/openmods/lang/zh_cn_old.lang diff --git a/assets/openmodularturrets/lang/en_us.lang b/project/assets/openmodularturrets/lang/en_us.lang similarity index 100% rename from assets/openmodularturrets/lang/en_us.lang rename to project/assets/openmodularturrets/lang/en_us.lang diff --git a/assets/openmodularturrets/lang/zh_cn.lang b/project/assets/openmodularturrets/lang/zh_cn.lang similarity index 100% rename from assets/openmodularturrets/lang/zh_cn.lang rename to project/assets/openmodularturrets/lang/zh_cn.lang diff --git a/assets/openmodularturrets/lang/zh_cn_old.lang b/project/assets/openmodularturrets/lang/zh_cn_old.lang similarity index 100% rename from assets/openmodularturrets/lang/zh_cn_old.lang rename to project/assets/openmodularturrets/lang/zh_cn_old.lang diff --git a/assets/opframe/lang/zh_cn.lang b/project/assets/opframe/lang/zh_cn.lang similarity index 100% rename from assets/opframe/lang/zh_cn.lang rename to project/assets/opframe/lang/zh_cn.lang diff --git a/assets/opframe/lang/zh_cn_old.lang b/project/assets/opframe/lang/zh_cn_old.lang similarity index 100% rename from assets/opframe/lang/zh_cn_old.lang rename to project/assets/opframe/lang/zh_cn_old.lang diff --git a/assets/oreexcavation/lang/en_us.lang b/project/assets/oreexcavation/lang/en_us.lang similarity index 100% rename from assets/oreexcavation/lang/en_us.lang rename to project/assets/oreexcavation/lang/en_us.lang diff --git a/assets/oreexcavation/lang/zh_cn.lang b/project/assets/oreexcavation/lang/zh_cn.lang similarity index 100% rename from assets/oreexcavation/lang/zh_cn.lang rename to project/assets/oreexcavation/lang/zh_cn.lang diff --git a/assets/oreexcavation/lang/zh_cn_old.lang b/project/assets/oreexcavation/lang/zh_cn_old.lang similarity index 100% rename from assets/oreexcavation/lang/zh_cn_old.lang rename to project/assets/oreexcavation/lang/zh_cn_old.lang diff --git a/assets/oresheepmod/lang/zh_cn.lang b/project/assets/oresheepmod/lang/zh_cn.lang similarity index 100% rename from assets/oresheepmod/lang/zh_cn.lang rename to project/assets/oresheepmod/lang/zh_cn.lang diff --git a/assets/oresheepmod/lang/zh_cn_old.lang b/project/assets/oresheepmod/lang/zh_cn_old.lang similarity index 100% rename from assets/oresheepmod/lang/zh_cn_old.lang rename to project/assets/oresheepmod/lang/zh_cn_old.lang diff --git a/assets/overloaded/lang/en_us.lang b/project/assets/overloaded/lang/en_us.lang similarity index 100% rename from assets/overloaded/lang/en_us.lang rename to project/assets/overloaded/lang/en_us.lang diff --git a/assets/overloaded/lang/zh_cn.lang b/project/assets/overloaded/lang/zh_cn.lang similarity index 100% rename from assets/overloaded/lang/zh_cn.lang rename to project/assets/overloaded/lang/zh_cn.lang diff --git a/assets/overloaded/lang/zh_cn_old.lang b/project/assets/overloaded/lang/zh_cn_old.lang similarity index 100% rename from assets/overloaded/lang/zh_cn_old.lang rename to project/assets/overloaded/lang/zh_cn_old.lang diff --git a/assets/overlord/lang/en_us.lang b/project/assets/overlord/lang/en_us.lang similarity index 100% rename from assets/overlord/lang/en_us.lang rename to project/assets/overlord/lang/en_us.lang diff --git a/assets/overlord/lang/zh_cn.lang b/project/assets/overlord/lang/zh_cn.lang similarity index 100% rename from assets/overlord/lang/zh_cn.lang rename to project/assets/overlord/lang/zh_cn.lang diff --git a/assets/overlord/lang/zh_cn_old.lang b/project/assets/overlord/lang/zh_cn_old.lang similarity index 100% rename from assets/overlord/lang/zh_cn_old.lang rename to project/assets/overlord/lang/zh_cn_old.lang diff --git a/assets/packmode/lang/zh_cn.lang b/project/assets/packmode/lang/zh_cn.lang similarity index 100% rename from assets/packmode/lang/zh_cn.lang rename to project/assets/packmode/lang/zh_cn.lang diff --git a/assets/packmode/lang/zh_cn_old.lang b/project/assets/packmode/lang/zh_cn_old.lang similarity index 100% rename from assets/packmode/lang/zh_cn_old.lang rename to project/assets/packmode/lang/zh_cn_old.lang diff --git a/assets/parachutemod/lang/en_us.lang b/project/assets/parachutemod/lang/en_us.lang similarity index 100% rename from assets/parachutemod/lang/en_us.lang rename to project/assets/parachutemod/lang/en_us.lang diff --git a/assets/parachutemod/lang/zh_cn.lang b/project/assets/parachutemod/lang/zh_cn.lang similarity index 100% rename from assets/parachutemod/lang/zh_cn.lang rename to project/assets/parachutemod/lang/zh_cn.lang diff --git a/assets/parachutemod/lang/zh_cn_old.lang b/project/assets/parachutemod/lang/zh_cn_old.lang similarity index 100% rename from assets/parachutemod/lang/zh_cn_old.lang rename to project/assets/parachutemod/lang/zh_cn_old.lang diff --git a/assets/pearcelmod/lang/zh_cn.lang b/project/assets/pearcelmod/lang/zh_cn.lang similarity index 100% rename from assets/pearcelmod/lang/zh_cn.lang rename to project/assets/pearcelmod/lang/zh_cn.lang diff --git a/assets/pearcelmod/lang/zh_cn_old.lang b/project/assets/pearcelmod/lang/zh_cn_old.lang similarity index 100% rename from assets/pearcelmod/lang/zh_cn_old.lang rename to project/assets/pearcelmod/lang/zh_cn_old.lang diff --git a/assets/persistentbits/lang/en_us.lang b/project/assets/persistentbits/lang/en_us.lang similarity index 100% rename from assets/persistentbits/lang/en_us.lang rename to project/assets/persistentbits/lang/en_us.lang diff --git a/assets/persistentbits/lang/zh_cn.lang b/project/assets/persistentbits/lang/zh_cn.lang similarity index 100% rename from assets/persistentbits/lang/zh_cn.lang rename to project/assets/persistentbits/lang/zh_cn.lang diff --git a/assets/persistentbits/lang/zh_cn_old.lang b/project/assets/persistentbits/lang/zh_cn_old.lang similarity index 100% rename from assets/persistentbits/lang/zh_cn_old.lang rename to project/assets/persistentbits/lang/zh_cn_old.lang diff --git a/assets/personalcars/lang/en_us.lang b/project/assets/personalcars/lang/en_us.lang similarity index 100% rename from assets/personalcars/lang/en_us.lang rename to project/assets/personalcars/lang/en_us.lang diff --git a/assets/personalcars/lang/zh_cn.lang b/project/assets/personalcars/lang/zh_cn.lang similarity index 100% rename from assets/personalcars/lang/zh_cn.lang rename to project/assets/personalcars/lang/zh_cn.lang diff --git a/assets/personalcars/lang/zh_cn_old.lang b/project/assets/personalcars/lang/zh_cn_old.lang similarity index 100% rename from assets/personalcars/lang/zh_cn_old.lang rename to project/assets/personalcars/lang/zh_cn_old.lang diff --git a/assets/ping/lang/zh_cn.lang b/project/assets/ping/lang/zh_cn.lang similarity index 100% rename from assets/ping/lang/zh_cn.lang rename to project/assets/ping/lang/zh_cn.lang diff --git a/assets/ping/lang/zh_cn_old.lang b/project/assets/ping/lang/zh_cn_old.lang similarity index 100% rename from assets/ping/lang/zh_cn_old.lang rename to project/assets/ping/lang/zh_cn_old.lang diff --git a/assets/placeableitems/lang/zh_cn.lang b/project/assets/placeableitems/lang/zh_cn.lang similarity index 100% rename from assets/placeableitems/lang/zh_cn.lang rename to project/assets/placeableitems/lang/zh_cn.lang diff --git a/assets/placeableitems/lang/zh_cn_old.lang b/project/assets/placeableitems/lang/zh_cn_old.lang similarity index 100% rename from assets/placeableitems/lang/zh_cn_old.lang rename to project/assets/placeableitems/lang/zh_cn_old.lang diff --git a/assets/placementpreview/lang/en_us.lang b/project/assets/placementpreview/lang/en_us.lang similarity index 100% rename from assets/placementpreview/lang/en_us.lang rename to project/assets/placementpreview/lang/en_us.lang diff --git a/assets/placementpreview/lang/zh_cn.lang b/project/assets/placementpreview/lang/zh_cn.lang similarity index 100% rename from assets/placementpreview/lang/zh_cn.lang rename to project/assets/placementpreview/lang/zh_cn.lang diff --git a/assets/placementpreview/lang/zh_cn_old.lang b/project/assets/placementpreview/lang/zh_cn_old.lang similarity index 100% rename from assets/placementpreview/lang/zh_cn_old.lang rename to project/assets/placementpreview/lang/zh_cn_old.lang diff --git a/assets/plainsmobs/lang/en_us.lang b/project/assets/plainsmobs/lang/en_us.lang similarity index 100% rename from assets/plainsmobs/lang/en_us.lang rename to project/assets/plainsmobs/lang/en_us.lang diff --git a/assets/plainsmobs/lang/zh_cn.lang b/project/assets/plainsmobs/lang/zh_cn.lang similarity index 100% rename from assets/plainsmobs/lang/zh_cn.lang rename to project/assets/plainsmobs/lang/zh_cn.lang diff --git a/assets/plainsmobs/lang/zh_cn_old.lang b/project/assets/plainsmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/plainsmobs/lang/zh_cn_old.lang rename to project/assets/plainsmobs/lang/zh_cn_old.lang diff --git a/assets/plants2/lang/en_us.lang b/project/assets/plants2/lang/en_us.lang similarity index 100% rename from assets/plants2/lang/en_us.lang rename to project/assets/plants2/lang/en_us.lang diff --git a/assets/plants2/lang/zh_cn.lang b/project/assets/plants2/lang/zh_cn.lang similarity index 100% rename from assets/plants2/lang/zh_cn.lang rename to project/assets/plants2/lang/zh_cn.lang diff --git a/assets/plants2/lang/zh_cn_old.lang b/project/assets/plants2/lang/zh_cn_old.lang similarity index 100% rename from assets/plants2/lang/zh_cn_old.lang rename to project/assets/plants2/lang/zh_cn_old.lang diff --git a/assets/platforms/lang/en_us.lang b/project/assets/platforms/lang/en_us.lang similarity index 100% rename from assets/platforms/lang/en_us.lang rename to project/assets/platforms/lang/en_us.lang diff --git a/assets/platforms/lang/zh_cn.lang b/project/assets/platforms/lang/zh_cn.lang similarity index 100% rename from assets/platforms/lang/zh_cn.lang rename to project/assets/platforms/lang/zh_cn.lang diff --git a/assets/platforms/lang/zh_cn_old.lang b/project/assets/platforms/lang/zh_cn_old.lang similarity index 100% rename from assets/platforms/lang/zh_cn_old.lang rename to project/assets/platforms/lang/zh_cn_old.lang diff --git a/assets/playerskins/lang/zh_cn.lang b/project/assets/playerskins/lang/zh_cn.lang similarity index 100% rename from assets/playerskins/lang/zh_cn.lang rename to project/assets/playerskins/lang/zh_cn.lang diff --git a/assets/playerskins/lang/zh_cn_old.lang b/project/assets/playerskins/lang/zh_cn_old.lang similarity index 100% rename from assets/playerskins/lang/zh_cn_old.lang rename to project/assets/playerskins/lang/zh_cn_old.lang diff --git a/assets/plustic/lang/en_us.lang b/project/assets/plustic/lang/en_us.lang similarity index 100% rename from assets/plustic/lang/en_us.lang rename to project/assets/plustic/lang/en_us.lang diff --git a/assets/plustic/lang/zh_cn.lang b/project/assets/plustic/lang/zh_cn.lang similarity index 100% rename from assets/plustic/lang/zh_cn.lang rename to project/assets/plustic/lang/zh_cn.lang diff --git a/assets/plustic/lang/zh_cn_old.lang b/project/assets/plustic/lang/zh_cn_old.lang similarity index 100% rename from assets/plustic/lang/zh_cn_old.lang rename to project/assets/plustic/lang/zh_cn_old.lang diff --git a/assets/pokecube/lang/zh_cn.lang b/project/assets/pokecube/lang/zh_cn.lang similarity index 100% rename from assets/pokecube/lang/zh_cn.lang rename to project/assets/pokecube/lang/zh_cn.lang diff --git a/assets/pokecube/lang/zh_cn_old.lang b/project/assets/pokecube/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube/lang/zh_cn_old.lang rename to project/assets/pokecube/lang/zh_cn_old.lang diff --git a/assets/pokecube_adventures/lang/en_us.lang b/project/assets/pokecube_adventures/lang/en_us.lang similarity index 100% rename from assets/pokecube_adventures/lang/en_us.lang rename to project/assets/pokecube_adventures/lang/en_us.lang diff --git a/assets/pokecube_adventures/lang/zh_cn.lang b/project/assets/pokecube_adventures/lang/zh_cn.lang similarity index 100% rename from assets/pokecube_adventures/lang/zh_cn.lang rename to project/assets/pokecube_adventures/lang/zh_cn.lang diff --git a/assets/pokecube_adventures/lang/zh_cn_old.lang b/project/assets/pokecube_adventures/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube_adventures/lang/zh_cn_old.lang rename to project/assets/pokecube_adventures/lang/zh_cn_old.lang diff --git a/assets/pokecube_books/lang/zh_cn.lang b/project/assets/pokecube_books/lang/zh_cn.lang similarity index 100% rename from assets/pokecube_books/lang/zh_cn.lang rename to project/assets/pokecube_books/lang/zh_cn.lang diff --git a/assets/pokecube_books/lang/zh_cn_old.lang b/project/assets/pokecube_books/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube_books/lang/zh_cn_old.lang rename to project/assets/pokecube_books/lang/zh_cn_old.lang diff --git a/assets/pokecube_compat/lang/en_us.lang b/project/assets/pokecube_compat/lang/en_us.lang similarity index 100% rename from assets/pokecube_compat/lang/en_us.lang rename to project/assets/pokecube_compat/lang/en_us.lang diff --git a/assets/pokecube_compat/lang/zh_cn.lang b/project/assets/pokecube_compat/lang/zh_cn.lang similarity index 100% rename from assets/pokecube_compat/lang/zh_cn.lang rename to project/assets/pokecube_compat/lang/zh_cn.lang diff --git a/assets/pokecube_compat/lang/zh_cn_old.lang b/project/assets/pokecube_compat/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube_compat/lang/zh_cn_old.lang rename to project/assets/pokecube_compat/lang/zh_cn_old.lang diff --git a/assets/pokecube_config/lang/zh_cn.lang b/project/assets/pokecube_config/lang/zh_cn.lang similarity index 100% rename from assets/pokecube_config/lang/zh_cn.lang rename to project/assets/pokecube_config/lang/zh_cn.lang diff --git a/assets/pokecube_config/lang/zh_cn_old.lang b/project/assets/pokecube_config/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube_config/lang/zh_cn_old.lang rename to project/assets/pokecube_config/lang/zh_cn_old.lang diff --git a/assets/pokecube_mobs/lang/zh_cn.lang b/project/assets/pokecube_mobs/lang/zh_cn.lang similarity index 100% rename from assets/pokecube_mobs/lang/zh_cn.lang rename to project/assets/pokecube_mobs/lang/zh_cn.lang diff --git a/assets/pokecube_mobs/lang/zh_cn_old.lang b/project/assets/pokecube_mobs/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube_mobs/lang/zh_cn_old.lang rename to project/assets/pokecube_mobs/lang/zh_cn_old.lang diff --git a/assets/pokecube_moves/lang/zh_cn.lang b/project/assets/pokecube_moves/lang/zh_cn.lang similarity index 100% rename from assets/pokecube_moves/lang/zh_cn.lang rename to project/assets/pokecube_moves/lang/zh_cn.lang diff --git a/assets/pokecube_moves/lang/zh_cn_old.lang b/project/assets/pokecube_moves/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube_moves/lang/zh_cn_old.lang rename to project/assets/pokecube_moves/lang/zh_cn_old.lang diff --git a/assets/pokecube_origin/lang/zh_cn.lang b/project/assets/pokecube_origin/lang/zh_cn.lang similarity index 100% rename from assets/pokecube_origin/lang/zh_cn.lang rename to project/assets/pokecube_origin/lang/zh_cn.lang diff --git a/assets/pokecube_origin/lang/zh_cn_old.lang b/project/assets/pokecube_origin/lang/zh_cn_old.lang similarity index 100% rename from assets/pokecube_origin/lang/zh_cn_old.lang rename to project/assets/pokecube_origin/lang/zh_cn_old.lang diff --git a/assets/portalgun/lang/en_us.lang b/project/assets/portalgun/lang/en_us.lang similarity index 100% rename from assets/portalgun/lang/en_us.lang rename to project/assets/portalgun/lang/en_us.lang diff --git a/assets/portalgun/lang/zh_cn.lang b/project/assets/portalgun/lang/zh_cn.lang similarity index 100% rename from assets/portalgun/lang/zh_cn.lang rename to project/assets/portalgun/lang/zh_cn.lang diff --git a/assets/portalgun/lang/zh_cn_old.lang b/project/assets/portalgun/lang/zh_cn_old.lang similarity index 100% rename from assets/portalgun/lang/zh_cn_old.lang rename to project/assets/portalgun/lang/zh_cn_old.lang diff --git a/assets/powerinventory/lang/zh_cn.lang b/project/assets/powerinventory/lang/zh_cn.lang similarity index 100% rename from assets/powerinventory/lang/zh_cn.lang rename to project/assets/powerinventory/lang/zh_cn.lang diff --git a/assets/powerinventory/lang/zh_cn_old.lang b/project/assets/powerinventory/lang/zh_cn_old.lang similarity index 100% rename from assets/powerinventory/lang/zh_cn_old.lang rename to project/assets/powerinventory/lang/zh_cn_old.lang diff --git a/assets/prefab/lang/zh_cn.lang b/project/assets/prefab/lang/zh_cn.lang similarity index 100% rename from assets/prefab/lang/zh_cn.lang rename to project/assets/prefab/lang/zh_cn.lang diff --git a/assets/prefab/lang/zh_cn_old.lang b/project/assets/prefab/lang/zh_cn_old.lang similarity index 100% rename from assets/prefab/lang/zh_cn_old.lang rename to project/assets/prefab/lang/zh_cn_old.lang diff --git a/assets/presets/lang/en_us.lang b/project/assets/presets/lang/en_us.lang similarity index 100% rename from assets/presets/lang/en_us.lang rename to project/assets/presets/lang/en_us.lang diff --git a/assets/presets/lang/zh_cn.lang b/project/assets/presets/lang/zh_cn.lang similarity index 100% rename from assets/presets/lang/zh_cn.lang rename to project/assets/presets/lang/zh_cn.lang diff --git a/assets/presets/lang/zh_cn_old.lang b/project/assets/presets/lang/zh_cn_old.lang similarity index 100% rename from assets/presets/lang/zh_cn_old.lang rename to project/assets/presets/lang/zh_cn_old.lang diff --git a/assets/pressure/lang/en_us.lang b/project/assets/pressure/lang/en_us.lang similarity index 100% rename from assets/pressure/lang/en_us.lang rename to project/assets/pressure/lang/en_us.lang diff --git a/assets/pressure/lang/zh_cn.lang b/project/assets/pressure/lang/zh_cn.lang similarity index 100% rename from assets/pressure/lang/zh_cn.lang rename to project/assets/pressure/lang/zh_cn.lang diff --git a/assets/pressure/lang/zh_cn_old.lang b/project/assets/pressure/lang/zh_cn_old.lang similarity index 100% rename from assets/pressure/lang/zh_cn_old.lang rename to project/assets/pressure/lang/zh_cn_old.lang diff --git a/assets/projecte/lang/en_us.lang b/project/assets/projecte/lang/en_us.lang similarity index 100% rename from assets/projecte/lang/en_us.lang rename to project/assets/projecte/lang/en_us.lang diff --git a/assets/projecte/lang/zh_cn.lang b/project/assets/projecte/lang/zh_cn.lang similarity index 100% rename from assets/projecte/lang/zh_cn.lang rename to project/assets/projecte/lang/zh_cn.lang diff --git a/assets/projecte/lang/zh_cn_old.lang b/project/assets/projecte/lang/zh_cn_old.lang similarity index 100% rename from assets/projecte/lang/zh_cn_old.lang rename to project/assets/projecte/lang/zh_cn_old.lang diff --git a/assets/props/lang/en_us.lang b/project/assets/props/lang/en_us.lang similarity index 100% rename from assets/props/lang/en_us.lang rename to project/assets/props/lang/en_us.lang diff --git a/assets/props/lang/zh_cn.lang b/project/assets/props/lang/zh_cn.lang similarity index 100% rename from assets/props/lang/zh_cn.lang rename to project/assets/props/lang/zh_cn.lang diff --git a/assets/props/lang/zh_cn_old.lang b/project/assets/props/lang/zh_cn_old.lang similarity index 100% rename from assets/props/lang/zh_cn_old.lang rename to project/assets/props/lang/zh_cn_old.lang diff --git a/assets/psi/lang/en_us.lang b/project/assets/psi/lang/en_us.lang similarity index 100% rename from assets/psi/lang/en_us.lang rename to project/assets/psi/lang/en_us.lang diff --git a/assets/psi/lang/zh_cn.lang b/project/assets/psi/lang/zh_cn.lang similarity index 100% rename from assets/psi/lang/zh_cn.lang rename to project/assets/psi/lang/zh_cn.lang diff --git a/assets/psi/lang/zh_cn_old.lang b/project/assets/psi/lang/zh_cn_old.lang similarity index 100% rename from assets/psi/lang/zh_cn_old.lang rename to project/assets/psi/lang/zh_cn_old.lang diff --git a/assets/quacklib/lang/zh_cn.lang b/project/assets/quacklib/lang/zh_cn.lang similarity index 100% rename from assets/quacklib/lang/zh_cn.lang rename to project/assets/quacklib/lang/zh_cn.lang diff --git a/assets/quacklib/lang/zh_cn_old.lang b/project/assets/quacklib/lang/zh_cn_old.lang similarity index 100% rename from assets/quacklib/lang/zh_cn_old.lang rename to project/assets/quacklib/lang/zh_cn_old.lang diff --git a/assets/quantumstorage/lang/en_us.lang b/project/assets/quantumstorage/lang/en_us.lang similarity index 100% rename from assets/quantumstorage/lang/en_us.lang rename to project/assets/quantumstorage/lang/en_us.lang diff --git a/assets/quantumstorage/lang/zh_cn.lang b/project/assets/quantumstorage/lang/zh_cn.lang similarity index 100% rename from assets/quantumstorage/lang/zh_cn.lang rename to project/assets/quantumstorage/lang/zh_cn.lang diff --git a/assets/quantumstorage/lang/zh_cn_old.lang b/project/assets/quantumstorage/lang/zh_cn_old.lang similarity index 100% rename from assets/quantumstorage/lang/zh_cn_old.lang rename to project/assets/quantumstorage/lang/zh_cn_old.lang diff --git a/assets/quark/lang/en_us.lang b/project/assets/quark/lang/en_us.lang similarity index 100% rename from assets/quark/lang/en_us.lang rename to project/assets/quark/lang/en_us.lang diff --git a/assets/quark/lang/zh_cn.lang b/project/assets/quark/lang/zh_cn.lang similarity index 100% rename from assets/quark/lang/zh_cn.lang rename to project/assets/quark/lang/zh_cn.lang diff --git a/assets/quark/lang/zh_cn_old.lang b/project/assets/quark/lang/zh_cn_old.lang similarity index 100% rename from assets/quark/lang/zh_cn_old.lang rename to project/assets/quark/lang/zh_cn_old.lang diff --git a/assets/questbook/lang/zh_cn.lang b/project/assets/questbook/lang/zh_cn.lang similarity index 100% rename from assets/questbook/lang/zh_cn.lang rename to project/assets/questbook/lang/zh_cn.lang diff --git a/assets/questbook/lang/zh_cn_old.lang b/project/assets/questbook/lang/zh_cn_old.lang similarity index 100% rename from assets/questbook/lang/zh_cn_old.lang rename to project/assets/questbook/lang/zh_cn_old.lang diff --git a/assets/rafradek_tf2_weapons/lang/zh_cn.lang b/project/assets/rafradek_tf2_weapons/lang/zh_cn.lang similarity index 100% rename from assets/rafradek_tf2_weapons/lang/zh_cn.lang rename to project/assets/rafradek_tf2_weapons/lang/zh_cn.lang diff --git a/assets/rafradek_tf2_weapons/lang/zh_cn_old.lang b/project/assets/rafradek_tf2_weapons/lang/zh_cn_old.lang similarity index 100% rename from assets/rafradek_tf2_weapons/lang/zh_cn_old.lang rename to project/assets/rafradek_tf2_weapons/lang/zh_cn_old.lang diff --git a/assets/rainboaks/lang/en_us.lang b/project/assets/rainboaks/lang/en_us.lang similarity index 100% rename from assets/rainboaks/lang/en_us.lang rename to project/assets/rainboaks/lang/en_us.lang diff --git a/assets/rainboaks/lang/zh_cn.lang b/project/assets/rainboaks/lang/zh_cn.lang similarity index 100% rename from assets/rainboaks/lang/zh_cn.lang rename to project/assets/rainboaks/lang/zh_cn.lang diff --git a/assets/rainboaks/lang/zh_cn_old.lang b/project/assets/rainboaks/lang/zh_cn_old.lang similarity index 100% rename from assets/rainboaks/lang/zh_cn_old.lang rename to project/assets/rainboaks/lang/zh_cn_old.lang diff --git a/assets/randomthings/lang/en_us.lang b/project/assets/randomthings/lang/en_us.lang similarity index 100% rename from assets/randomthings/lang/en_us.lang rename to project/assets/randomthings/lang/en_us.lang diff --git a/assets/randomthings/lang/zh_cn.lang b/project/assets/randomthings/lang/zh_cn.lang similarity index 100% rename from assets/randomthings/lang/zh_cn.lang rename to project/assets/randomthings/lang/zh_cn.lang diff --git a/assets/randomthings/lang/zh_cn_old.lang b/project/assets/randomthings/lang/zh_cn_old.lang similarity index 100% rename from assets/randomthings/lang/zh_cn_old.lang rename to project/assets/randomthings/lang/zh_cn_old.lang diff --git a/assets/rangedpumps/lang/en_us.lang b/project/assets/rangedpumps/lang/en_us.lang similarity index 100% rename from assets/rangedpumps/lang/en_us.lang rename to project/assets/rangedpumps/lang/en_us.lang diff --git a/assets/rangedpumps/lang/zh_cn.lang b/project/assets/rangedpumps/lang/zh_cn.lang similarity index 100% rename from assets/rangedpumps/lang/zh_cn.lang rename to project/assets/rangedpumps/lang/zh_cn.lang diff --git a/assets/rangedpumps/lang/zh_cn_old.lang b/project/assets/rangedpumps/lang/zh_cn_old.lang similarity index 100% rename from assets/rangedpumps/lang/zh_cn_old.lang rename to project/assets/rangedpumps/lang/zh_cn_old.lang diff --git a/assets/reap/lang/zh_cn.lang b/project/assets/reap/lang/zh_cn.lang similarity index 100% rename from assets/reap/lang/zh_cn.lang rename to project/assets/reap/lang/zh_cn.lang diff --git a/assets/reap/lang/zh_cn_old.lang b/project/assets/reap/lang/zh_cn_old.lang similarity index 100% rename from assets/reap/lang/zh_cn_old.lang rename to project/assets/reap/lang/zh_cn_old.lang diff --git a/assets/reborncore/lang/en_us.lang b/project/assets/reborncore/lang/en_us.lang similarity index 100% rename from assets/reborncore/lang/en_us.lang rename to project/assets/reborncore/lang/en_us.lang diff --git a/assets/reborncore/lang/zh_cn.lang b/project/assets/reborncore/lang/zh_cn.lang similarity index 100% rename from assets/reborncore/lang/zh_cn.lang rename to project/assets/reborncore/lang/zh_cn.lang diff --git a/assets/reborncore/lang/zh_cn_old.lang b/project/assets/reborncore/lang/zh_cn_old.lang similarity index 100% rename from assets/reborncore/lang/zh_cn_old.lang rename to project/assets/reborncore/lang/zh_cn_old.lang diff --git a/assets/rebornstorage/lang/en_us.lang b/project/assets/rebornstorage/lang/en_us.lang similarity index 100% rename from assets/rebornstorage/lang/en_us.lang rename to project/assets/rebornstorage/lang/en_us.lang diff --git a/assets/rebornstorage/lang/zh_cn.lang b/project/assets/rebornstorage/lang/zh_cn.lang similarity index 100% rename from assets/rebornstorage/lang/zh_cn.lang rename to project/assets/rebornstorage/lang/zh_cn.lang diff --git a/assets/rebornstorage/lang/zh_cn_old.lang b/project/assets/rebornstorage/lang/zh_cn_old.lang similarity index 100% rename from assets/rebornstorage/lang/zh_cn_old.lang rename to project/assets/rebornstorage/lang/zh_cn_old.lang diff --git a/assets/reccomplex/lang/en_us.lang b/project/assets/reccomplex/lang/en_us.lang similarity index 100% rename from assets/reccomplex/lang/en_us.lang rename to project/assets/reccomplex/lang/en_us.lang diff --git a/assets/reccomplex/lang/zh_cn.lang b/project/assets/reccomplex/lang/zh_cn.lang similarity index 100% rename from assets/reccomplex/lang/zh_cn.lang rename to project/assets/reccomplex/lang/zh_cn.lang diff --git a/assets/reccomplex/lang/zh_cn_old.lang b/project/assets/reccomplex/lang/zh_cn_old.lang similarity index 100% rename from assets/reccomplex/lang/zh_cn_old.lang rename to project/assets/reccomplex/lang/zh_cn_old.lang diff --git a/assets/redstonearsenal/lang/en_us.lang b/project/assets/redstonearsenal/lang/en_us.lang similarity index 100% rename from assets/redstonearsenal/lang/en_us.lang rename to project/assets/redstonearsenal/lang/en_us.lang diff --git a/assets/redstonearsenal/lang/zh_cn.lang b/project/assets/redstonearsenal/lang/zh_cn.lang similarity index 100% rename from assets/redstonearsenal/lang/zh_cn.lang rename to project/assets/redstonearsenal/lang/zh_cn.lang diff --git a/assets/redstonearsenal/lang/zh_cn_old.lang b/project/assets/redstonearsenal/lang/zh_cn_old.lang similarity index 100% rename from assets/redstonearsenal/lang/zh_cn_old.lang rename to project/assets/redstonearsenal/lang/zh_cn_old.lang diff --git a/assets/redstonepaste/lang/en_us.lang b/project/assets/redstonepaste/lang/en_us.lang similarity index 100% rename from assets/redstonepaste/lang/en_us.lang rename to project/assets/redstonepaste/lang/en_us.lang diff --git a/assets/redstonepaste/lang/zh_cn.lang b/project/assets/redstonepaste/lang/zh_cn.lang similarity index 100% rename from assets/redstonepaste/lang/zh_cn.lang rename to project/assets/redstonepaste/lang/zh_cn.lang diff --git a/assets/redstonepaste/lang/zh_cn_old.lang b/project/assets/redstonepaste/lang/zh_cn_old.lang similarity index 100% rename from assets/redstonepaste/lang/zh_cn_old.lang rename to project/assets/redstonepaste/lang/zh_cn_old.lang diff --git a/assets/redstoneplusplus/lang/zh_cn.lang b/project/assets/redstoneplusplus/lang/zh_cn.lang similarity index 100% rename from assets/redstoneplusplus/lang/zh_cn.lang rename to project/assets/redstoneplusplus/lang/zh_cn.lang diff --git a/assets/redstoneplusplus/lang/zh_cn_old.lang b/project/assets/redstoneplusplus/lang/zh_cn_old.lang similarity index 100% rename from assets/redstoneplusplus/lang/zh_cn_old.lang rename to project/assets/redstoneplusplus/lang/zh_cn_old.lang diff --git a/assets/refinedrelocation/lang/en_us.lang b/project/assets/refinedrelocation/lang/en_us.lang similarity index 100% rename from assets/refinedrelocation/lang/en_us.lang rename to project/assets/refinedrelocation/lang/en_us.lang diff --git a/assets/refinedrelocation/lang/zh_cn.lang b/project/assets/refinedrelocation/lang/zh_cn.lang similarity index 100% rename from assets/refinedrelocation/lang/zh_cn.lang rename to project/assets/refinedrelocation/lang/zh_cn.lang diff --git a/assets/refinedrelocation/lang/zh_cn_old.lang b/project/assets/refinedrelocation/lang/zh_cn_old.lang similarity index 100% rename from assets/refinedrelocation/lang/zh_cn_old.lang rename to project/assets/refinedrelocation/lang/zh_cn_old.lang diff --git a/assets/refinedstorage/lang/en_us.lang b/project/assets/refinedstorage/lang/en_us.lang similarity index 100% rename from assets/refinedstorage/lang/en_us.lang rename to project/assets/refinedstorage/lang/en_us.lang diff --git a/assets/refinedstorage/lang/zh_cn.lang b/project/assets/refinedstorage/lang/zh_cn.lang similarity index 100% rename from assets/refinedstorage/lang/zh_cn.lang rename to project/assets/refinedstorage/lang/zh_cn.lang diff --git a/assets/refinedstorage/lang/zh_cn_old.lang b/project/assets/refinedstorage/lang/zh_cn_old.lang similarity index 100% rename from assets/refinedstorage/lang/zh_cn_old.lang rename to project/assets/refinedstorage/lang/zh_cn_old.lang diff --git a/assets/refinedstorageaddons/lang/en_us.lang b/project/assets/refinedstorageaddons/lang/en_us.lang similarity index 100% rename from assets/refinedstorageaddons/lang/en_us.lang rename to project/assets/refinedstorageaddons/lang/en_us.lang diff --git a/assets/refinedstorageaddons/lang/zh_cn.lang b/project/assets/refinedstorageaddons/lang/zh_cn.lang similarity index 100% rename from assets/refinedstorageaddons/lang/zh_cn.lang rename to project/assets/refinedstorageaddons/lang/zh_cn.lang diff --git a/assets/refinedstorageaddons/lang/zh_cn_old.lang b/project/assets/refinedstorageaddons/lang/zh_cn_old.lang similarity index 100% rename from assets/refinedstorageaddons/lang/zh_cn_old.lang rename to project/assets/refinedstorageaddons/lang/zh_cn_old.lang diff --git a/assets/reptilemod/lang/zh_cn.lang b/project/assets/reptilemod/lang/zh_cn.lang similarity index 100% rename from assets/reptilemod/lang/zh_cn.lang rename to project/assets/reptilemod/lang/zh_cn.lang diff --git a/assets/reptilemod/lang/zh_cn_old.lang b/project/assets/reptilemod/lang/zh_cn_old.lang similarity index 100% rename from assets/reptilemod/lang/zh_cn_old.lang rename to project/assets/reptilemod/lang/zh_cn_old.lang diff --git a/assets/restrictedportals/lang/en_us.lang b/project/assets/restrictedportals/lang/en_us.lang similarity index 100% rename from assets/restrictedportals/lang/en_us.lang rename to project/assets/restrictedportals/lang/en_us.lang diff --git a/assets/restrictedportals/lang/zh_cn.lang b/project/assets/restrictedportals/lang/zh_cn.lang similarity index 100% rename from assets/restrictedportals/lang/zh_cn.lang rename to project/assets/restrictedportals/lang/zh_cn.lang diff --git a/assets/restrictedportals/lang/zh_cn_old.lang b/project/assets/restrictedportals/lang/zh_cn_old.lang similarity index 100% rename from assets/restrictedportals/lang/zh_cn_old.lang rename to project/assets/restrictedportals/lang/zh_cn_old.lang diff --git a/assets/retrocomputers/lang/zh_cn.lang b/project/assets/retrocomputers/lang/zh_cn.lang similarity index 100% rename from assets/retrocomputers/lang/zh_cn.lang rename to project/assets/retrocomputers/lang/zh_cn.lang diff --git a/assets/retrocomputers/lang/zh_cn_old.lang b/project/assets/retrocomputers/lang/zh_cn_old.lang similarity index 100% rename from assets/retrocomputers/lang/zh_cn_old.lang rename to project/assets/retrocomputers/lang/zh_cn_old.lang diff --git a/assets/rf-capability-adapter/lang/zh_cn.lang b/project/assets/rf-capability-adapter/lang/zh_cn.lang similarity index 100% rename from assets/rf-capability-adapter/lang/zh_cn.lang rename to project/assets/rf-capability-adapter/lang/zh_cn.lang diff --git a/assets/rf-capability-adapter/lang/zh_cn_old.lang b/project/assets/rf-capability-adapter/lang/zh_cn_old.lang similarity index 100% rename from assets/rf-capability-adapter/lang/zh_cn_old.lang rename to project/assets/rf-capability-adapter/lang/zh_cn_old.lang diff --git a/assets/rflux/lang/en_us.lang b/project/assets/rflux/lang/en_us.lang similarity index 100% rename from assets/rflux/lang/en_us.lang rename to project/assets/rflux/lang/en_us.lang diff --git a/assets/rflux/lang/zh_cn.lang b/project/assets/rflux/lang/zh_cn.lang similarity index 100% rename from assets/rflux/lang/zh_cn.lang rename to project/assets/rflux/lang/zh_cn.lang diff --git a/assets/rflux/lang/zh_cn_old.lang b/project/assets/rflux/lang/zh_cn_old.lang similarity index 100% rename from assets/rflux/lang/zh_cn_old.lang rename to project/assets/rflux/lang/zh_cn_old.lang diff --git a/assets/rftools/lang/en_us.lang b/project/assets/rftools/lang/en_us.lang similarity index 100% rename from assets/rftools/lang/en_us.lang rename to project/assets/rftools/lang/en_us.lang diff --git a/assets/rftools/lang/zh_cn.lang b/project/assets/rftools/lang/zh_cn.lang similarity index 100% rename from assets/rftools/lang/zh_cn.lang rename to project/assets/rftools/lang/zh_cn.lang diff --git a/assets/rftools/lang/zh_cn_old.lang b/project/assets/rftools/lang/zh_cn_old.lang similarity index 100% rename from assets/rftools/lang/zh_cn_old.lang rename to project/assets/rftools/lang/zh_cn_old.lang diff --git a/assets/rftoolscontrol/lang/en_us.lang b/project/assets/rftoolscontrol/lang/en_us.lang similarity index 100% rename from assets/rftoolscontrol/lang/en_us.lang rename to project/assets/rftoolscontrol/lang/en_us.lang diff --git a/assets/rftoolscontrol/lang/zh_cn.lang b/project/assets/rftoolscontrol/lang/zh_cn.lang similarity index 100% rename from assets/rftoolscontrol/lang/zh_cn.lang rename to project/assets/rftoolscontrol/lang/zh_cn.lang diff --git a/assets/rftoolscontrol/lang/zh_cn_old.lang b/project/assets/rftoolscontrol/lang/zh_cn_old.lang similarity index 100% rename from assets/rftoolscontrol/lang/zh_cn_old.lang rename to project/assets/rftoolscontrol/lang/zh_cn_old.lang diff --git a/assets/rftoolsdim/lang/en_us.lang b/project/assets/rftoolsdim/lang/en_us.lang similarity index 100% rename from assets/rftoolsdim/lang/en_us.lang rename to project/assets/rftoolsdim/lang/en_us.lang diff --git a/assets/rftoolsdim/lang/zh_cn.lang b/project/assets/rftoolsdim/lang/zh_cn.lang similarity index 100% rename from assets/rftoolsdim/lang/zh_cn.lang rename to project/assets/rftoolsdim/lang/zh_cn.lang diff --git a/assets/rftoolsdim/lang/zh_cn_old.lang b/project/assets/rftoolsdim/lang/zh_cn_old.lang similarity index 100% rename from assets/rftoolsdim/lang/zh_cn_old.lang rename to project/assets/rftoolsdim/lang/zh_cn_old.lang diff --git a/assets/rftoolsdim/text/manual_dimension.txt b/project/assets/rftoolsdim/text/manual_dimension.txt similarity index 100% rename from assets/rftoolsdim/text/manual_dimension.txt rename to project/assets/rftoolsdim/text/manual_dimension.txt diff --git a/assets/rockhounding_core/lang/zh_cn.lang b/project/assets/rockhounding_core/lang/zh_cn.lang similarity index 100% rename from assets/rockhounding_core/lang/zh_cn.lang rename to project/assets/rockhounding_core/lang/zh_cn.lang diff --git a/assets/rockhounding_core/lang/zh_cn_old.lang b/project/assets/rockhounding_core/lang/zh_cn_old.lang similarity index 100% rename from assets/rockhounding_core/lang/zh_cn_old.lang rename to project/assets/rockhounding_core/lang/zh_cn_old.lang diff --git a/assets/roots/lang/en_us.lang b/project/assets/roots/lang/en_us.lang similarity index 100% rename from assets/roots/lang/en_us.lang rename to project/assets/roots/lang/en_us.lang diff --git a/assets/roots/lang/zh_cn.lang b/project/assets/roots/lang/zh_cn.lang similarity index 100% rename from assets/roots/lang/zh_cn.lang rename to project/assets/roots/lang/zh_cn.lang diff --git a/assets/roots/lang/zh_cn_old.lang b/project/assets/roots/lang/zh_cn_old.lang similarity index 100% rename from assets/roots/lang/zh_cn_old.lang rename to project/assets/roots/lang/zh_cn_old.lang diff --git a/assets/roughtweaks/lang/zh_cn.lang b/project/assets/roughtweaks/lang/zh_cn.lang similarity index 100% rename from assets/roughtweaks/lang/zh_cn.lang rename to project/assets/roughtweaks/lang/zh_cn.lang diff --git a/assets/roughtweaks/lang/zh_cn_old.lang b/project/assets/roughtweaks/lang/zh_cn_old.lang similarity index 100% rename from assets/roughtweaks/lang/zh_cn_old.lang rename to project/assets/roughtweaks/lang/zh_cn_old.lang diff --git a/assets/rpghud/lang/zh_cn.lang b/project/assets/rpghud/lang/zh_cn.lang similarity index 100% rename from assets/rpghud/lang/zh_cn.lang rename to project/assets/rpghud/lang/zh_cn.lang diff --git a/assets/rpghud/lang/zh_cn_old.lang b/project/assets/rpghud/lang/zh_cn_old.lang similarity index 100% rename from assets/rpghud/lang/zh_cn_old.lang rename to project/assets/rpghud/lang/zh_cn_old.lang diff --git a/assets/rtfm/lang/zh_cn.lang b/project/assets/rtfm/lang/zh_cn.lang similarity index 100% rename from assets/rtfm/lang/zh_cn.lang rename to project/assets/rtfm/lang/zh_cn.lang diff --git a/assets/rtfm/lang/zh_cn_old.lang b/project/assets/rtfm/lang/zh_cn_old.lang similarity index 100% rename from assets/rtfm/lang/zh_cn_old.lang rename to project/assets/rtfm/lang/zh_cn_old.lang diff --git a/assets/runesofwizardry/lang/zh_cn.lang b/project/assets/runesofwizardry/lang/zh_cn.lang similarity index 100% rename from assets/runesofwizardry/lang/zh_cn.lang rename to project/assets/runesofwizardry/lang/zh_cn.lang diff --git a/assets/runesofwizardry/lang/zh_cn_old.lang b/project/assets/runesofwizardry/lang/zh_cn_old.lang similarity index 100% rename from assets/runesofwizardry/lang/zh_cn_old.lang rename to project/assets/runesofwizardry/lang/zh_cn_old.lang diff --git a/assets/runesofwizardry_classics/lang/zh_cn.lang b/project/assets/runesofwizardry_classics/lang/zh_cn.lang similarity index 100% rename from assets/runesofwizardry_classics/lang/zh_cn.lang rename to project/assets/runesofwizardry_classics/lang/zh_cn.lang diff --git a/assets/runesofwizardry_classics/lang/zh_cn_old.lang b/project/assets/runesofwizardry_classics/lang/zh_cn_old.lang similarity index 100% rename from assets/runesofwizardry_classics/lang/zh_cn_old.lang rename to project/assets/runesofwizardry_classics/lang/zh_cn_old.lang diff --git a/assets/rustic/lang/en_us.lang b/project/assets/rustic/lang/en_us.lang similarity index 100% rename from assets/rustic/lang/en_us.lang rename to project/assets/rustic/lang/en_us.lang diff --git a/assets/rustic/lang/zh_cn.lang b/project/assets/rustic/lang/zh_cn.lang similarity index 100% rename from assets/rustic/lang/zh_cn.lang rename to project/assets/rustic/lang/zh_cn.lang diff --git a/assets/rustic/lang/zh_cn_old.lang b/project/assets/rustic/lang/zh_cn_old.lang similarity index 100% rename from assets/rustic/lang/zh_cn_old.lang rename to project/assets/rustic/lang/zh_cn_old.lang diff --git a/assets/saltwatermobs/lang/en_us.lang b/project/assets/saltwatermobs/lang/en_us.lang similarity index 100% rename from assets/saltwatermobs/lang/en_us.lang rename to project/assets/saltwatermobs/lang/en_us.lang diff --git a/assets/saltwatermobs/lang/zh_cn.lang b/project/assets/saltwatermobs/lang/zh_cn.lang similarity index 100% rename from assets/saltwatermobs/lang/zh_cn.lang rename to project/assets/saltwatermobs/lang/zh_cn.lang diff --git a/assets/saltwatermobs/lang/zh_cn_old.lang b/project/assets/saltwatermobs/lang/zh_cn_old.lang similarity index 100% rename from assets/saltwatermobs/lang/zh_cn_old.lang rename to project/assets/saltwatermobs/lang/zh_cn_old.lang diff --git a/assets/sanplayermodel/lang/zh_cn.lang b/project/assets/sanplayermodel/lang/zh_cn.lang similarity index 100% rename from assets/sanplayermodel/lang/zh_cn.lang rename to project/assets/sanplayermodel/lang/zh_cn.lang diff --git a/assets/sanplayermodel/lang/zh_cn_old.lang b/project/assets/sanplayermodel/lang/zh_cn_old.lang similarity index 100% rename from assets/sanplayermodel/lang/zh_cn_old.lang rename to project/assets/sanplayermodel/lang/zh_cn_old.lang diff --git a/assets/sapturretmod/lang/zh_cn.lang b/project/assets/sapturretmod/lang/zh_cn.lang similarity index 100% rename from assets/sapturretmod/lang/zh_cn.lang rename to project/assets/sapturretmod/lang/zh_cn.lang diff --git a/assets/sapturretmod/lang/zh_cn_old.lang b/project/assets/sapturretmod/lang/zh_cn_old.lang similarity index 100% rename from assets/sapturretmod/lang/zh_cn_old.lang rename to project/assets/sapturretmod/lang/zh_cn_old.lang diff --git a/assets/sc/lang/en_us.lang b/project/assets/sc/lang/en_us.lang similarity index 100% rename from assets/sc/lang/en_us.lang rename to project/assets/sc/lang/en_us.lang diff --git a/assets/sc/lang/zh_cn.lang b/project/assets/sc/lang/zh_cn.lang similarity index 100% rename from assets/sc/lang/zh_cn.lang rename to project/assets/sc/lang/zh_cn.lang diff --git a/assets/sc/lang/zh_cn_old.lang b/project/assets/sc/lang/zh_cn_old.lang similarity index 100% rename from assets/sc/lang/zh_cn_old.lang rename to project/assets/sc/lang/zh_cn_old.lang diff --git a/assets/scalinghealth/lang/en_us.lang b/project/assets/scalinghealth/lang/en_us.lang similarity index 100% rename from assets/scalinghealth/lang/en_us.lang rename to project/assets/scalinghealth/lang/en_us.lang diff --git a/assets/scalinghealth/lang/zh_cn.lang b/project/assets/scalinghealth/lang/zh_cn.lang similarity index 100% rename from assets/scalinghealth/lang/zh_cn.lang rename to project/assets/scalinghealth/lang/zh_cn.lang diff --git a/assets/scalinghealth/lang/zh_cn_old.lang b/project/assets/scalinghealth/lang/zh_cn_old.lang similarity index 100% rename from assets/scalinghealth/lang/zh_cn_old.lang rename to project/assets/scalinghealth/lang/zh_cn_old.lang diff --git a/assets/scannable/lang/en_us.lang b/project/assets/scannable/lang/en_us.lang similarity index 100% rename from assets/scannable/lang/en_us.lang rename to project/assets/scannable/lang/en_us.lang diff --git a/assets/scannable/lang/zh_cn.lang b/project/assets/scannable/lang/zh_cn.lang similarity index 100% rename from assets/scannable/lang/zh_cn.lang rename to project/assets/scannable/lang/zh_cn.lang diff --git a/assets/scannable/lang/zh_cn_old.lang b/project/assets/scannable/lang/zh_cn_old.lang similarity index 100% rename from assets/scannable/lang/zh_cn_old.lang rename to project/assets/scannable/lang/zh_cn_old.lang diff --git a/assets/sccraftingrunes/lang/zh_cn.lang b/project/assets/sccraftingrunes/lang/zh_cn.lang similarity index 100% rename from assets/sccraftingrunes/lang/zh_cn.lang rename to project/assets/sccraftingrunes/lang/zh_cn.lang diff --git a/assets/sccraftingrunes/lang/zh_cn_old.lang b/project/assets/sccraftingrunes/lang/zh_cn_old.lang similarity index 100% rename from assets/sccraftingrunes/lang/zh_cn_old.lang rename to project/assets/sccraftingrunes/lang/zh_cn_old.lang diff --git a/assets/schematica/lang/en_us.lang b/project/assets/schematica/lang/en_us.lang similarity index 100% rename from assets/schematica/lang/en_us.lang rename to project/assets/schematica/lang/en_us.lang diff --git a/assets/schematica/lang/zh_cn.lang b/project/assets/schematica/lang/zh_cn.lang similarity index 100% rename from assets/schematica/lang/zh_cn.lang rename to project/assets/schematica/lang/zh_cn.lang diff --git a/assets/schematica/lang/zh_cn_old.lang b/project/assets/schematica/lang/zh_cn_old.lang similarity index 100% rename from assets/schematica/lang/zh_cn_old.lang rename to project/assets/schematica/lang/zh_cn_old.lang diff --git a/assets/secretroomsmod/lang/zh_cn.lang b/project/assets/secretroomsmod/lang/zh_cn.lang similarity index 100% rename from assets/secretroomsmod/lang/zh_cn.lang rename to project/assets/secretroomsmod/lang/zh_cn.lang diff --git a/assets/secretroomsmod/lang/zh_cn_old.lang b/project/assets/secretroomsmod/lang/zh_cn_old.lang similarity index 100% rename from assets/secretroomsmod/lang/zh_cn_old.lang rename to project/assets/secretroomsmod/lang/zh_cn_old.lang diff --git a/assets/securitycraft/lang/en_us.lang b/project/assets/securitycraft/lang/en_us.lang similarity index 100% rename from assets/securitycraft/lang/en_us.lang rename to project/assets/securitycraft/lang/en_us.lang diff --git a/assets/securitycraft/lang/zh_cn.lang b/project/assets/securitycraft/lang/zh_cn.lang similarity index 100% rename from assets/securitycraft/lang/zh_cn.lang rename to project/assets/securitycraft/lang/zh_cn.lang diff --git a/assets/securitycraft/lang/zh_cn_old.lang b/project/assets/securitycraft/lang/zh_cn_old.lang similarity index 100% rename from assets/securitycraft/lang/zh_cn_old.lang rename to project/assets/securitycraft/lang/zh_cn_old.lang diff --git a/assets/sgextraparts/lang/en_us.lang b/project/assets/sgextraparts/lang/en_us.lang similarity index 100% rename from assets/sgextraparts/lang/en_us.lang rename to project/assets/sgextraparts/lang/en_us.lang diff --git a/assets/sgextraparts/lang/zh_cn.lang b/project/assets/sgextraparts/lang/zh_cn.lang similarity index 100% rename from assets/sgextraparts/lang/zh_cn.lang rename to project/assets/sgextraparts/lang/zh_cn.lang diff --git a/assets/sgextraparts/lang/zh_cn_old.lang b/project/assets/sgextraparts/lang/zh_cn_old.lang similarity index 100% rename from assets/sgextraparts/lang/zh_cn_old.lang rename to project/assets/sgextraparts/lang/zh_cn_old.lang diff --git a/assets/shadowmc/lang/en_us.lang b/project/assets/shadowmc/lang/en_us.lang similarity index 100% rename from assets/shadowmc/lang/en_us.lang rename to project/assets/shadowmc/lang/en_us.lang diff --git a/assets/shadowmc/lang/zh_cn.lang b/project/assets/shadowmc/lang/zh_cn.lang similarity index 100% rename from assets/shadowmc/lang/zh_cn.lang rename to project/assets/shadowmc/lang/zh_cn.lang diff --git a/assets/shadowmc/lang/zh_cn_old.lang b/project/assets/shadowmc/lang/zh_cn_old.lang similarity index 100% rename from assets/shadowmc/lang/zh_cn_old.lang rename to project/assets/shadowmc/lang/zh_cn_old.lang diff --git a/assets/shadowmobs/lang/en_us.lang b/project/assets/shadowmobs/lang/en_us.lang similarity index 100% rename from assets/shadowmobs/lang/en_us.lang rename to project/assets/shadowmobs/lang/en_us.lang diff --git a/assets/shadowmobs/lang/zh_cn.lang b/project/assets/shadowmobs/lang/zh_cn.lang similarity index 100% rename from assets/shadowmobs/lang/zh_cn.lang rename to project/assets/shadowmobs/lang/zh_cn.lang diff --git a/assets/shadowmobs/lang/zh_cn_old.lang b/project/assets/shadowmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/shadowmobs/lang/zh_cn_old.lang rename to project/assets/shadowmobs/lang/zh_cn_old.lang diff --git a/assets/shear/lang/en_us.lang b/project/assets/shear/lang/en_us.lang similarity index 100% rename from assets/shear/lang/en_us.lang rename to project/assets/shear/lang/en_us.lang diff --git a/assets/shear/lang/zh_cn.lang b/project/assets/shear/lang/zh_cn.lang similarity index 100% rename from assets/shear/lang/zh_cn.lang rename to project/assets/shear/lang/zh_cn.lang diff --git a/assets/shear/lang/zh_cn_old.lang b/project/assets/shear/lang/zh_cn_old.lang similarity index 100% rename from assets/shear/lang/zh_cn_old.lang rename to project/assets/shear/lang/zh_cn_old.lang diff --git a/assets/shearmadness/lang/en_us.lang b/project/assets/shearmadness/lang/en_us.lang similarity index 100% rename from assets/shearmadness/lang/en_us.lang rename to project/assets/shearmadness/lang/en_us.lang diff --git a/assets/shearmadness/lang/zh_cn.lang b/project/assets/shearmadness/lang/zh_cn.lang similarity index 100% rename from assets/shearmadness/lang/zh_cn.lang rename to project/assets/shearmadness/lang/zh_cn.lang diff --git a/assets/shearmadness/lang/zh_cn_old.lang b/project/assets/shearmadness/lang/zh_cn_old.lang similarity index 100% rename from assets/shearmadness/lang/zh_cn_old.lang rename to project/assets/shearmadness/lang/zh_cn_old.lang diff --git a/assets/shetiphiancore/lang/en_us.lang b/project/assets/shetiphiancore/lang/en_us.lang similarity index 100% rename from assets/shetiphiancore/lang/en_us.lang rename to project/assets/shetiphiancore/lang/en_us.lang diff --git a/assets/shetiphiancore/lang/zh_cn.lang b/project/assets/shetiphiancore/lang/zh_cn.lang similarity index 100% rename from assets/shetiphiancore/lang/zh_cn.lang rename to project/assets/shetiphiancore/lang/zh_cn.lang diff --git a/assets/shetiphiancore/lang/zh_cn_old.lang b/project/assets/shetiphiancore/lang/zh_cn_old.lang similarity index 100% rename from assets/shetiphiancore/lang/zh_cn_old.lang rename to project/assets/shetiphiancore/lang/zh_cn_old.lang diff --git a/assets/signals/lang/en_us.lang b/project/assets/signals/lang/en_us.lang similarity index 100% rename from assets/signals/lang/en_us.lang rename to project/assets/signals/lang/en_us.lang diff --git a/assets/signals/lang/zh_cn.lang b/project/assets/signals/lang/zh_cn.lang similarity index 100% rename from assets/signals/lang/zh_cn.lang rename to project/assets/signals/lang/zh_cn.lang diff --git a/assets/signals/lang/zh_cn_old.lang b/project/assets/signals/lang/zh_cn_old.lang similarity index 100% rename from assets/signals/lang/zh_cn_old.lang rename to project/assets/signals/lang/zh_cn_old.lang diff --git a/assets/silentgems/lang/en_us.lang b/project/assets/silentgems/lang/en_us.lang similarity index 100% rename from assets/silentgems/lang/en_us.lang rename to project/assets/silentgems/lang/en_us.lang diff --git a/assets/silentgems/lang/zh_cn.lang b/project/assets/silentgems/lang/zh_cn.lang similarity index 100% rename from assets/silentgems/lang/zh_cn.lang rename to project/assets/silentgems/lang/zh_cn.lang diff --git a/assets/silentgems/lang/zh_cn_old.lang b/project/assets/silentgems/lang/zh_cn_old.lang similarity index 100% rename from assets/silentgems/lang/zh_cn_old.lang rename to project/assets/silentgems/lang/zh_cn_old.lang diff --git a/assets/silentlib/lang/en_us.lang b/project/assets/silentlib/lang/en_us.lang similarity index 100% rename from assets/silentlib/lang/en_us.lang rename to project/assets/silentlib/lang/en_us.lang diff --git a/assets/silentlib/lang/zh_cn.lang b/project/assets/silentlib/lang/zh_cn.lang similarity index 100% rename from assets/silentlib/lang/zh_cn.lang rename to project/assets/silentlib/lang/zh_cn.lang diff --git a/assets/silentlib/lang/zh_cn_old.lang b/project/assets/silentlib/lang/zh_cn_old.lang similarity index 100% rename from assets/silentlib/lang/zh_cn_old.lang rename to project/assets/silentlib/lang/zh_cn_old.lang diff --git a/assets/similsaxtranstructors/lang/zh_cn.lang b/project/assets/similsaxtranstructors/lang/zh_cn.lang similarity index 100% rename from assets/similsaxtranstructors/lang/zh_cn.lang rename to project/assets/similsaxtranstructors/lang/zh_cn.lang diff --git a/assets/similsaxtranstructors/lang/zh_cn_old.lang b/project/assets/similsaxtranstructors/lang/zh_cn_old.lang similarity index 100% rename from assets/similsaxtranstructors/lang/zh_cn_old.lang rename to project/assets/similsaxtranstructors/lang/zh_cn_old.lang diff --git a/assets/simplecore/lang/zh_cn.lang b/project/assets/simplecore/lang/zh_cn.lang similarity index 100% rename from assets/simplecore/lang/zh_cn.lang rename to project/assets/simplecore/lang/zh_cn.lang diff --git a/assets/simplecore/lang/zh_cn_old.lang b/project/assets/simplecore/lang/zh_cn_old.lang similarity index 100% rename from assets/simplecore/lang/zh_cn_old.lang rename to project/assets/simplecore/lang/zh_cn_old.lang diff --git a/assets/simplecorn/lang/en_us.lang b/project/assets/simplecorn/lang/en_us.lang similarity index 100% rename from assets/simplecorn/lang/en_us.lang rename to project/assets/simplecorn/lang/en_us.lang diff --git a/assets/simplecorn/lang/zh_cn.lang b/project/assets/simplecorn/lang/zh_cn.lang similarity index 100% rename from assets/simplecorn/lang/zh_cn.lang rename to project/assets/simplecorn/lang/zh_cn.lang diff --git a/assets/simplecorn/lang/zh_cn_old.lang b/project/assets/simplecorn/lang/zh_cn_old.lang similarity index 100% rename from assets/simplecorn/lang/zh_cn_old.lang rename to project/assets/simplecorn/lang/zh_cn_old.lang diff --git a/assets/simpleores/lang/zh_cn.lang b/project/assets/simpleores/lang/zh_cn.lang similarity index 100% rename from assets/simpleores/lang/zh_cn.lang rename to project/assets/simpleores/lang/zh_cn.lang diff --git a/assets/simpleores/lang/zh_cn_old.lang b/project/assets/simpleores/lang/zh_cn_old.lang similarity index 100% rename from assets/simpleores/lang/zh_cn_old.lang rename to project/assets/simpleores/lang/zh_cn_old.lang diff --git a/assets/simplesponge/lang/en_us.lang b/project/assets/simplesponge/lang/en_us.lang similarity index 100% rename from assets/simplesponge/lang/en_us.lang rename to project/assets/simplesponge/lang/en_us.lang diff --git a/assets/simplesponge/lang/zh_cn.lang b/project/assets/simplesponge/lang/zh_cn.lang similarity index 100% rename from assets/simplesponge/lang/zh_cn.lang rename to project/assets/simplesponge/lang/zh_cn.lang diff --git a/assets/simplesponge/lang/zh_cn_old.lang b/project/assets/simplesponge/lang/zh_cn_old.lang similarity index 100% rename from assets/simplesponge/lang/zh_cn_old.lang rename to project/assets/simplesponge/lang/zh_cn_old.lang diff --git a/assets/simplevoidworld/lang/en_us.lang b/project/assets/simplevoidworld/lang/en_us.lang similarity index 100% rename from assets/simplevoidworld/lang/en_us.lang rename to project/assets/simplevoidworld/lang/en_us.lang diff --git a/assets/simplevoidworld/lang/zh_cn.lang b/project/assets/simplevoidworld/lang/zh_cn.lang similarity index 100% rename from assets/simplevoidworld/lang/zh_cn.lang rename to project/assets/simplevoidworld/lang/zh_cn.lang diff --git a/assets/simplevoidworld/lang/zh_cn_old.lang b/project/assets/simplevoidworld/lang/zh_cn_old.lang similarity index 100% rename from assets/simplevoidworld/lang/zh_cn_old.lang rename to project/assets/simplevoidworld/lang/zh_cn_old.lang diff --git a/assets/simplygems/lang/zh_cn.lang b/project/assets/simplygems/lang/zh_cn.lang similarity index 100% rename from assets/simplygems/lang/zh_cn.lang rename to project/assets/simplygems/lang/zh_cn.lang diff --git a/assets/simplygems/lang/zh_cn_old.lang b/project/assets/simplygems/lang/zh_cn_old.lang similarity index 100% rename from assets/simplygems/lang/zh_cn_old.lang rename to project/assets/simplygems/lang/zh_cn_old.lang diff --git a/assets/simplyjetpacks/lang/en_us.lang b/project/assets/simplyjetpacks/lang/en_us.lang similarity index 100% rename from assets/simplyjetpacks/lang/en_us.lang rename to project/assets/simplyjetpacks/lang/en_us.lang diff --git a/assets/simplyjetpacks/lang/zh_cn.lang b/project/assets/simplyjetpacks/lang/zh_cn.lang similarity index 100% rename from assets/simplyjetpacks/lang/zh_cn.lang rename to project/assets/simplyjetpacks/lang/zh_cn.lang diff --git a/assets/simplyjetpacks/lang/zh_cn_old.lang b/project/assets/simplyjetpacks/lang/zh_cn_old.lang similarity index 100% rename from assets/simplyjetpacks/lang/zh_cn_old.lang rename to project/assets/simplyjetpacks/lang/zh_cn_old.lang diff --git a/assets/simplytea/lang/zh_cn.lang b/project/assets/simplytea/lang/zh_cn.lang similarity index 100% rename from assets/simplytea/lang/zh_cn.lang rename to project/assets/simplytea/lang/zh_cn.lang diff --git a/assets/simplytea/lang/zh_cn_old.lang b/project/assets/simplytea/lang/zh_cn_old.lang similarity index 100% rename from assets/simplytea/lang/zh_cn_old.lang rename to project/assets/simplytea/lang/zh_cn_old.lang diff --git a/assets/skyblocks/lang/zh_cn.lang b/project/assets/skyblocks/lang/zh_cn.lang similarity index 100% rename from assets/skyblocks/lang/zh_cn.lang rename to project/assets/skyblocks/lang/zh_cn.lang diff --git a/assets/skyblocks/lang/zh_cn_old.lang b/project/assets/skyblocks/lang/zh_cn_old.lang similarity index 100% rename from assets/skyblocks/lang/zh_cn_old.lang rename to project/assets/skyblocks/lang/zh_cn_old.lang diff --git a/assets/skyresources/lang/en_us.lang b/project/assets/skyresources/lang/en_us.lang similarity index 100% rename from assets/skyresources/lang/en_us.lang rename to project/assets/skyresources/lang/en_us.lang diff --git a/assets/skyresources/lang/zh_cn.lang b/project/assets/skyresources/lang/zh_cn.lang similarity index 100% rename from assets/skyresources/lang/zh_cn.lang rename to project/assets/skyresources/lang/zh_cn.lang diff --git a/assets/skyresources/lang/zh_cn_old.lang b/project/assets/skyresources/lang/zh_cn_old.lang similarity index 100% rename from assets/skyresources/lang/zh_cn_old.lang rename to project/assets/skyresources/lang/zh_cn_old.lang diff --git a/assets/slashblade/lang/zh_cn.lang b/project/assets/slashblade/lang/zh_cn.lang similarity index 100% rename from assets/slashblade/lang/zh_cn.lang rename to project/assets/slashblade/lang/zh_cn.lang diff --git a/assets/slashblade/lang/zh_cn_old.lang b/project/assets/slashblade/lang/zh_cn_old.lang similarity index 100% rename from assets/slashblade/lang/zh_cn_old.lang rename to project/assets/slashblade/lang/zh_cn_old.lang diff --git a/assets/snad/lang/en_us.lang b/project/assets/snad/lang/en_us.lang similarity index 100% rename from assets/snad/lang/en_us.lang rename to project/assets/snad/lang/en_us.lang diff --git a/assets/snad/lang/zh_cn.lang b/project/assets/snad/lang/zh_cn.lang similarity index 100% rename from assets/snad/lang/zh_cn.lang rename to project/assets/snad/lang/zh_cn.lang diff --git a/assets/snad/lang/zh_cn_old.lang b/project/assets/snad/lang/zh_cn_old.lang similarity index 100% rename from assets/snad/lang/zh_cn_old.lang rename to project/assets/snad/lang/zh_cn_old.lang diff --git a/assets/sodiumcraft/lang/zh_cn.lang b/project/assets/sodiumcraft/lang/zh_cn.lang similarity index 100% rename from assets/sodiumcraft/lang/zh_cn.lang rename to project/assets/sodiumcraft/lang/zh_cn.lang diff --git a/assets/sodiumcraft/lang/zh_cn_old.lang b/project/assets/sodiumcraft/lang/zh_cn_old.lang similarity index 100% rename from assets/sodiumcraft/lang/zh_cn_old.lang rename to project/assets/sodiumcraft/lang/zh_cn_old.lang diff --git a/assets/solarfluxreborn/lang/en_us.lang b/project/assets/solarfluxreborn/lang/en_us.lang similarity index 100% rename from assets/solarfluxreborn/lang/en_us.lang rename to project/assets/solarfluxreborn/lang/en_us.lang diff --git a/assets/solarfluxreborn/lang/zh_cn.lang b/project/assets/solarfluxreborn/lang/zh_cn.lang similarity index 100% rename from assets/solarfluxreborn/lang/zh_cn.lang rename to project/assets/solarfluxreborn/lang/zh_cn.lang diff --git a/assets/solarfluxreborn/lang/zh_cn_old.lang b/project/assets/solarfluxreborn/lang/zh_cn_old.lang similarity index 100% rename from assets/solarfluxreborn/lang/zh_cn_old.lang rename to project/assets/solarfluxreborn/lang/zh_cn_old.lang diff --git a/assets/solcarrot/lang/zh_cn.lang b/project/assets/solcarrot/lang/zh_cn.lang similarity index 100% rename from assets/solcarrot/lang/zh_cn.lang rename to project/assets/solcarrot/lang/zh_cn.lang diff --git a/assets/solcarrot/lang/zh_cn_old.lang b/project/assets/solcarrot/lang/zh_cn_old.lang similarity index 100% rename from assets/solcarrot/lang/zh_cn_old.lang rename to project/assets/solcarrot/lang/zh_cn_old.lang diff --git a/assets/sonarcore/lang/en_us.lang b/project/assets/sonarcore/lang/en_us.lang similarity index 100% rename from assets/sonarcore/lang/en_us.lang rename to project/assets/sonarcore/lang/en_us.lang diff --git a/assets/sonarcore/lang/zh_cn.lang b/project/assets/sonarcore/lang/zh_cn.lang similarity index 100% rename from assets/sonarcore/lang/zh_cn.lang rename to project/assets/sonarcore/lang/zh_cn.lang diff --git a/assets/sonarcore/lang/zh_cn_old.lang b/project/assets/sonarcore/lang/zh_cn_old.lang similarity index 100% rename from assets/sonarcore/lang/zh_cn_old.lang rename to project/assets/sonarcore/lang/zh_cn_old.lang diff --git a/assets/soot/lang/zh_cn.lang b/project/assets/soot/lang/zh_cn.lang similarity index 100% rename from assets/soot/lang/zh_cn.lang rename to project/assets/soot/lang/zh_cn.lang diff --git a/assets/soot/lang/zh_cn_old.lang b/project/assets/soot/lang/zh_cn_old.lang similarity index 100% rename from assets/soot/lang/zh_cn_old.lang rename to project/assets/soot/lang/zh_cn_old.lang diff --git a/assets/sophisticatedwolves/lang/zh_cn.lang b/project/assets/sophisticatedwolves/lang/zh_cn.lang similarity index 100% rename from assets/sophisticatedwolves/lang/zh_cn.lang rename to project/assets/sophisticatedwolves/lang/zh_cn.lang diff --git a/assets/sophisticatedwolves/lang/zh_cn_old.lang b/project/assets/sophisticatedwolves/lang/zh_cn_old.lang similarity index 100% rename from assets/sophisticatedwolves/lang/zh_cn_old.lang rename to project/assets/sophisticatedwolves/lang/zh_cn_old.lang diff --git a/assets/soulshardstow/lang/en_us.lang b/project/assets/soulshardstow/lang/en_us.lang similarity index 100% rename from assets/soulshardstow/lang/en_us.lang rename to project/assets/soulshardstow/lang/en_us.lang diff --git a/assets/soulshardstow/lang/zh_cn.lang b/project/assets/soulshardstow/lang/zh_cn.lang similarity index 100% rename from assets/soulshardstow/lang/zh_cn.lang rename to project/assets/soulshardstow/lang/zh_cn.lang diff --git a/assets/soulshardstow/lang/zh_cn_old.lang b/project/assets/soulshardstow/lang/zh_cn_old.lang similarity index 100% rename from assets/soulshardstow/lang/zh_cn_old.lang rename to project/assets/soulshardstow/lang/zh_cn_old.lang diff --git a/assets/spartanshields/lang/en_us.lang b/project/assets/spartanshields/lang/en_us.lang similarity index 100% rename from assets/spartanshields/lang/en_us.lang rename to project/assets/spartanshields/lang/en_us.lang diff --git a/assets/spartanshields/lang/zh_cn.lang b/project/assets/spartanshields/lang/zh_cn.lang similarity index 100% rename from assets/spartanshields/lang/zh_cn.lang rename to project/assets/spartanshields/lang/zh_cn.lang diff --git a/assets/spartanshields/lang/zh_cn_old.lang b/project/assets/spartanshields/lang/zh_cn_old.lang similarity index 100% rename from assets/spartanshields/lang/zh_cn_old.lang rename to project/assets/spartanshields/lang/zh_cn_old.lang diff --git a/assets/spectrite/lang/zh_cn.lang b/project/assets/spectrite/lang/zh_cn.lang similarity index 100% rename from assets/spectrite/lang/zh_cn.lang rename to project/assets/spectrite/lang/zh_cn.lang diff --git a/assets/spectrite/lang/zh_cn_old.lang b/project/assets/spectrite/lang/zh_cn_old.lang similarity index 100% rename from assets/spectrite/lang/zh_cn_old.lang rename to project/assets/spectrite/lang/zh_cn_old.lang diff --git a/assets/speedsterheroes/lang/zh_cn.lang b/project/assets/speedsterheroes/lang/zh_cn.lang similarity index 100% rename from assets/speedsterheroes/lang/zh_cn.lang rename to project/assets/speedsterheroes/lang/zh_cn.lang diff --git a/assets/speedsterheroes/lang/zh_cn_old.lang b/project/assets/speedsterheroes/lang/zh_cn_old.lang similarity index 100% rename from assets/speedsterheroes/lang/zh_cn_old.lang rename to project/assets/speedsterheroes/lang/zh_cn_old.lang diff --git a/assets/spiceoflife/lang/en_us.lang b/project/assets/spiceoflife/lang/en_us.lang similarity index 100% rename from assets/spiceoflife/lang/en_us.lang rename to project/assets/spiceoflife/lang/en_us.lang diff --git a/assets/spiceoflife/lang/zh_cn.lang b/project/assets/spiceoflife/lang/zh_cn.lang similarity index 100% rename from assets/spiceoflife/lang/zh_cn.lang rename to project/assets/spiceoflife/lang/zh_cn.lang diff --git a/assets/spiceoflife/lang/zh_cn_old.lang b/project/assets/spiceoflife/lang/zh_cn_old.lang similarity index 100% rename from assets/spiceoflife/lang/zh_cn_old.lang rename to project/assets/spiceoflife/lang/zh_cn_old.lang diff --git a/assets/stackie/lang/zh_cn.lang b/project/assets/stackie/lang/zh_cn.lang similarity index 100% rename from assets/stackie/lang/zh_cn.lang rename to project/assets/stackie/lang/zh_cn.lang diff --git a/assets/stackie/lang/zh_cn_old.lang b/project/assets/stackie/lang/zh_cn_old.lang similarity index 100% rename from assets/stackie/lang/zh_cn_old.lang rename to project/assets/stackie/lang/zh_cn_old.lang diff --git a/assets/stairs/lang/zh_cn.lang b/project/assets/stairs/lang/zh_cn.lang similarity index 100% rename from assets/stairs/lang/zh_cn.lang rename to project/assets/stairs/lang/zh_cn.lang diff --git a/assets/stairs/lang/zh_cn_old.lang b/project/assets/stairs/lang/zh_cn_old.lang similarity index 100% rename from assets/stairs/lang/zh_cn_old.lang rename to project/assets/stairs/lang/zh_cn_old.lang diff --git a/assets/stats_keeper/lang/zh_cn.lang b/project/assets/stats_keeper/lang/zh_cn.lang similarity index 100% rename from assets/stats_keeper/lang/zh_cn.lang rename to project/assets/stats_keeper/lang/zh_cn.lang diff --git a/assets/stats_keeper/lang/zh_cn_old.lang b/project/assets/stats_keeper/lang/zh_cn_old.lang similarity index 100% rename from assets/stats_keeper/lang/zh_cn_old.lang rename to project/assets/stats_keeper/lang/zh_cn_old.lang diff --git a/assets/statues/lang/en_us.lang b/project/assets/statues/lang/en_us.lang similarity index 100% rename from assets/statues/lang/en_us.lang rename to project/assets/statues/lang/en_us.lang diff --git a/assets/statues/lang/zh_cn.lang b/project/assets/statues/lang/zh_cn.lang similarity index 100% rename from assets/statues/lang/zh_cn.lang rename to project/assets/statues/lang/zh_cn.lang diff --git a/assets/statues/lang/zh_cn_old.lang b/project/assets/statues/lang/zh_cn_old.lang similarity index 100% rename from assets/statues/lang/zh_cn_old.lang rename to project/assets/statues/lang/zh_cn_old.lang diff --git a/assets/stellarapi/lang/zh_cn.lang b/project/assets/stellarapi/lang/zh_cn.lang similarity index 100% rename from assets/stellarapi/lang/zh_cn.lang rename to project/assets/stellarapi/lang/zh_cn.lang diff --git a/assets/stellarapi/lang/zh_cn_old.lang b/project/assets/stellarapi/lang/zh_cn_old.lang similarity index 100% rename from assets/stellarapi/lang/zh_cn_old.lang rename to project/assets/stellarapi/lang/zh_cn_old.lang diff --git a/assets/stellarium/lang/zh_cn.lang b/project/assets/stellarium/lang/zh_cn.lang similarity index 100% rename from assets/stellarium/lang/zh_cn.lang rename to project/assets/stellarium/lang/zh_cn.lang diff --git a/assets/stellarium/lang/zh_cn_old.lang b/project/assets/stellarium/lang/zh_cn_old.lang similarity index 100% rename from assets/stellarium/lang/zh_cn_old.lang rename to project/assets/stellarium/lang/zh_cn_old.lang diff --git a/assets/stevescarts/lang/en_us.lang b/project/assets/stevescarts/lang/en_us.lang similarity index 100% rename from assets/stevescarts/lang/en_us.lang rename to project/assets/stevescarts/lang/en_us.lang diff --git a/assets/stevescarts/lang/zh_cn.lang b/project/assets/stevescarts/lang/zh_cn.lang similarity index 100% rename from assets/stevescarts/lang/zh_cn.lang rename to project/assets/stevescarts/lang/zh_cn.lang diff --git a/assets/stevescarts/lang/zh_cn_old.lang b/project/assets/stevescarts/lang/zh_cn_old.lang similarity index 100% rename from assets/stevescarts/lang/zh_cn_old.lang rename to project/assets/stevescarts/lang/zh_cn_old.lang diff --git a/assets/storageboats/lang/zh_cn.lang b/project/assets/storageboats/lang/zh_cn.lang similarity index 100% rename from assets/storageboats/lang/zh_cn.lang rename to project/assets/storageboats/lang/zh_cn.lang diff --git a/assets/storageboats/lang/zh_cn_old.lang b/project/assets/storageboats/lang/zh_cn_old.lang similarity index 100% rename from assets/storageboats/lang/zh_cn_old.lang rename to project/assets/storageboats/lang/zh_cn_old.lang diff --git a/assets/storagedrawers/lang/en_us.lang b/project/assets/storagedrawers/lang/en_us.lang similarity index 100% rename from assets/storagedrawers/lang/en_us.lang rename to project/assets/storagedrawers/lang/en_us.lang diff --git a/assets/storagedrawers/lang/zh_cn.lang b/project/assets/storagedrawers/lang/zh_cn.lang similarity index 100% rename from assets/storagedrawers/lang/zh_cn.lang rename to project/assets/storagedrawers/lang/zh_cn.lang diff --git a/assets/storagedrawers/lang/zh_cn_old.lang b/project/assets/storagedrawers/lang/zh_cn_old.lang similarity index 100% rename from assets/storagedrawers/lang/zh_cn_old.lang rename to project/assets/storagedrawers/lang/zh_cn_old.lang diff --git a/assets/storagedrawersextra/lang/en_us.lang b/project/assets/storagedrawersextra/lang/en_us.lang similarity index 100% rename from assets/storagedrawersextra/lang/en_us.lang rename to project/assets/storagedrawersextra/lang/en_us.lang diff --git a/assets/storagedrawersextra/lang/zh_cn.lang b/project/assets/storagedrawersextra/lang/zh_cn.lang similarity index 100% rename from assets/storagedrawersextra/lang/zh_cn.lang rename to project/assets/storagedrawersextra/lang/zh_cn.lang diff --git a/assets/storagedrawersextra/lang/zh_cn_old.lang b/project/assets/storagedrawersextra/lang/zh_cn_old.lang similarity index 100% rename from assets/storagedrawersextra/lang/zh_cn_old.lang rename to project/assets/storagedrawersextra/lang/zh_cn_old.lang diff --git a/assets/storagenetwork/lang/en_us.lang b/project/assets/storagenetwork/lang/en_us.lang similarity index 100% rename from assets/storagenetwork/lang/en_us.lang rename to project/assets/storagenetwork/lang/en_us.lang diff --git a/assets/storagenetwork/lang/zh_cn.lang b/project/assets/storagenetwork/lang/zh_cn.lang similarity index 100% rename from assets/storagenetwork/lang/zh_cn.lang rename to project/assets/storagenetwork/lang/zh_cn.lang diff --git a/assets/storagenetwork/lang/zh_cn_old.lang b/project/assets/storagenetwork/lang/zh_cn_old.lang similarity index 100% rename from assets/storagenetwork/lang/zh_cn_old.lang rename to project/assets/storagenetwork/lang/zh_cn_old.lang diff --git a/assets/structuredcrafting/lang/en_us.lang b/project/assets/structuredcrafting/lang/en_us.lang similarity index 100% rename from assets/structuredcrafting/lang/en_us.lang rename to project/assets/structuredcrafting/lang/en_us.lang diff --git a/assets/structuredcrafting/lang/zh_cn.lang b/project/assets/structuredcrafting/lang/zh_cn.lang similarity index 100% rename from assets/structuredcrafting/lang/zh_cn.lang rename to project/assets/structuredcrafting/lang/zh_cn.lang diff --git a/assets/structuredcrafting/lang/zh_cn_old.lang b/project/assets/structuredcrafting/lang/zh_cn_old.lang similarity index 100% rename from assets/structuredcrafting/lang/zh_cn_old.lang rename to project/assets/structuredcrafting/lang/zh_cn_old.lang diff --git a/assets/survivalist/lang/en_us.lang b/project/assets/survivalist/lang/en_us.lang similarity index 100% rename from assets/survivalist/lang/en_us.lang rename to project/assets/survivalist/lang/en_us.lang diff --git a/assets/survivalist/lang/zh_cn.lang b/project/assets/survivalist/lang/zh_cn.lang similarity index 100% rename from assets/survivalist/lang/zh_cn.lang rename to project/assets/survivalist/lang/zh_cn.lang diff --git a/assets/survivalist/lang/zh_cn_old.lang b/project/assets/survivalist/lang/zh_cn_old.lang similarity index 100% rename from assets/survivalist/lang/zh_cn_old.lang rename to project/assets/survivalist/lang/zh_cn_old.lang diff --git a/assets/swampmobs/lang/en_us.lang b/project/assets/swampmobs/lang/en_us.lang similarity index 100% rename from assets/swampmobs/lang/en_us.lang rename to project/assets/swampmobs/lang/en_us.lang diff --git a/assets/swampmobs/lang/zh_cn.lang b/project/assets/swampmobs/lang/zh_cn.lang similarity index 100% rename from assets/swampmobs/lang/zh_cn.lang rename to project/assets/swampmobs/lang/zh_cn.lang diff --git a/assets/swampmobs/lang/zh_cn_old.lang b/project/assets/swampmobs/lang/zh_cn_old.lang similarity index 100% rename from assets/swampmobs/lang/zh_cn_old.lang rename to project/assets/swampmobs/lang/zh_cn_old.lang diff --git a/assets/sync/lang/en_us.lang b/project/assets/sync/lang/en_us.lang similarity index 100% rename from assets/sync/lang/en_us.lang rename to project/assets/sync/lang/en_us.lang diff --git a/assets/sync/lang/zh_cn.lang b/project/assets/sync/lang/zh_cn.lang similarity index 100% rename from assets/sync/lang/zh_cn.lang rename to project/assets/sync/lang/zh_cn.lang diff --git a/assets/sync/lang/zh_cn_old.lang b/project/assets/sync/lang/zh_cn_old.lang similarity index 100% rename from assets/sync/lang/zh_cn_old.lang rename to project/assets/sync/lang/zh_cn_old.lang diff --git a/assets/tails/lang/en_us.lang b/project/assets/tails/lang/en_us.lang similarity index 100% rename from assets/tails/lang/en_us.lang rename to project/assets/tails/lang/en_us.lang diff --git a/assets/tails/lang/zh_cn.lang b/project/assets/tails/lang/zh_cn.lang similarity index 100% rename from assets/tails/lang/zh_cn.lang rename to project/assets/tails/lang/zh_cn.lang diff --git a/assets/tails/lang/zh_cn_old.lang b/project/assets/tails/lang/zh_cn_old.lang similarity index 100% rename from assets/tails/lang/zh_cn_old.lang rename to project/assets/tails/lang/zh_cn_old.lang diff --git a/assets/tammodized/lang/zh_cn.lang b/project/assets/tammodized/lang/zh_cn.lang similarity index 100% rename from assets/tammodized/lang/zh_cn.lang rename to project/assets/tammodized/lang/zh_cn.lang diff --git a/assets/tammodized/lang/zh_cn_old.lang b/project/assets/tammodized/lang/zh_cn_old.lang similarity index 100% rename from assets/tammodized/lang/zh_cn_old.lang rename to project/assets/tammodized/lang/zh_cn_old.lang diff --git a/assets/tanaddons/lang/en_us.lang b/project/assets/tanaddons/lang/en_us.lang similarity index 100% rename from assets/tanaddons/lang/en_us.lang rename to project/assets/tanaddons/lang/en_us.lang diff --git a/assets/tanaddons/lang/zh_cn.lang b/project/assets/tanaddons/lang/zh_cn.lang similarity index 100% rename from assets/tanaddons/lang/zh_cn.lang rename to project/assets/tanaddons/lang/zh_cn.lang diff --git a/assets/tanaddons/lang/zh_cn_old.lang b/project/assets/tanaddons/lang/zh_cn_old.lang similarity index 100% rename from assets/tanaddons/lang/zh_cn_old.lang rename to project/assets/tanaddons/lang/zh_cn_old.lang diff --git a/assets/tcomplement/lang/en_us.lang b/project/assets/tcomplement/lang/en_us.lang similarity index 100% rename from assets/tcomplement/lang/en_us.lang rename to project/assets/tcomplement/lang/en_us.lang diff --git a/assets/tcomplement/lang/zh_cn.lang b/project/assets/tcomplement/lang/zh_cn.lang similarity index 100% rename from assets/tcomplement/lang/zh_cn.lang rename to project/assets/tcomplement/lang/zh_cn.lang diff --git a/assets/tcomplement/lang/zh_cn_old.lang b/project/assets/tcomplement/lang/zh_cn_old.lang similarity index 100% rename from assets/tcomplement/lang/zh_cn_old.lang rename to project/assets/tcomplement/lang/zh_cn_old.lang diff --git a/assets/tconstruct/lang/en_us.lang b/project/assets/tconstruct/lang/en_us.lang similarity index 100% rename from assets/tconstruct/lang/en_us.lang rename to project/assets/tconstruct/lang/en_us.lang diff --git a/assets/tconstruct/lang/zh_cn.lang b/project/assets/tconstruct/lang/zh_cn.lang similarity index 100% rename from assets/tconstruct/lang/zh_cn.lang rename to project/assets/tconstruct/lang/zh_cn.lang diff --git a/assets/tconstruct/lang/zh_cn_old.lang b/project/assets/tconstruct/lang/zh_cn_old.lang similarity index 100% rename from assets/tconstruct/lang/zh_cn_old.lang rename to project/assets/tconstruct/lang/zh_cn_old.lang diff --git a/assets/techguns/lang/zh_cn.lang b/project/assets/techguns/lang/zh_cn.lang similarity index 100% rename from assets/techguns/lang/zh_cn.lang rename to project/assets/techguns/lang/zh_cn.lang diff --git a/assets/techguns/lang/zh_cn_old.lang b/project/assets/techguns/lang/zh_cn_old.lang similarity index 100% rename from assets/techguns/lang/zh_cn_old.lang rename to project/assets/techguns/lang/zh_cn_old.lang diff --git a/assets/techreborn/lang/en_us.lang b/project/assets/techreborn/lang/en_us.lang similarity index 100% rename from assets/techreborn/lang/en_us.lang rename to project/assets/techreborn/lang/en_us.lang diff --git a/assets/techreborn/lang/zh_cn.lang b/project/assets/techreborn/lang/zh_cn.lang similarity index 100% rename from assets/techreborn/lang/zh_cn.lang rename to project/assets/techreborn/lang/zh_cn.lang diff --git a/assets/techreborn/lang/zh_cn_old.lang b/project/assets/techreborn/lang/zh_cn_old.lang similarity index 100% rename from assets/techreborn/lang/zh_cn_old.lang rename to project/assets/techreborn/lang/zh_cn_old.lang diff --git a/assets/teckle/lang/zh_cn.lang b/project/assets/teckle/lang/zh_cn.lang similarity index 100% rename from assets/teckle/lang/zh_cn.lang rename to project/assets/teckle/lang/zh_cn.lang diff --git a/assets/teckle/lang/zh_cn_old.lang b/project/assets/teckle/lang/zh_cn_old.lang similarity index 100% rename from assets/teckle/lang/zh_cn_old.lang rename to project/assets/teckle/lang/zh_cn_old.lang diff --git a/assets/telepads/lang/zh_cn.lang b/project/assets/telepads/lang/zh_cn.lang similarity index 100% rename from assets/telepads/lang/zh_cn.lang rename to project/assets/telepads/lang/zh_cn.lang diff --git a/assets/telepads/lang/zh_cn_old.lang b/project/assets/telepads/lang/zh_cn_old.lang similarity index 100% rename from assets/telepads/lang/zh_cn_old.lang rename to project/assets/telepads/lang/zh_cn_old.lang diff --git a/assets/terraqueous/lang/en_us.lang b/project/assets/terraqueous/lang/en_us.lang similarity index 100% rename from assets/terraqueous/lang/en_us.lang rename to project/assets/terraqueous/lang/en_us.lang diff --git a/assets/terraqueous/lang/zh_cn.lang b/project/assets/terraqueous/lang/zh_cn.lang similarity index 100% rename from assets/terraqueous/lang/zh_cn.lang rename to project/assets/terraqueous/lang/zh_cn.lang diff --git a/assets/terraqueous/lang/zh_cn_old.lang b/project/assets/terraqueous/lang/zh_cn_old.lang similarity index 100% rename from assets/terraqueous/lang/zh_cn_old.lang rename to project/assets/terraqueous/lang/zh_cn_old.lang diff --git a/assets/tesla/lang/en_us.lang b/project/assets/tesla/lang/en_us.lang similarity index 100% rename from assets/tesla/lang/en_us.lang rename to project/assets/tesla/lang/en_us.lang diff --git a/assets/tesla/lang/zh_cn.lang b/project/assets/tesla/lang/zh_cn.lang similarity index 100% rename from assets/tesla/lang/zh_cn.lang rename to project/assets/tesla/lang/zh_cn.lang diff --git a/assets/tesla/lang/zh_cn_old.lang b/project/assets/tesla/lang/zh_cn_old.lang similarity index 100% rename from assets/tesla/lang/zh_cn_old.lang rename to project/assets/tesla/lang/zh_cn_old.lang diff --git a/assets/teslacorelib/lang/en_us.lang b/project/assets/teslacorelib/lang/en_us.lang similarity index 100% rename from assets/teslacorelib/lang/en_us.lang rename to project/assets/teslacorelib/lang/en_us.lang diff --git a/assets/teslacorelib/lang/zh_cn.lang b/project/assets/teslacorelib/lang/zh_cn.lang similarity index 100% rename from assets/teslacorelib/lang/zh_cn.lang rename to project/assets/teslacorelib/lang/zh_cn.lang diff --git a/assets/teslacorelib/lang/zh_cn_old.lang b/project/assets/teslacorelib/lang/zh_cn_old.lang similarity index 100% rename from assets/teslacorelib/lang/zh_cn_old.lang rename to project/assets/teslacorelib/lang/zh_cn_old.lang diff --git a/assets/testdummy/lang/en_us.lang b/project/assets/testdummy/lang/en_us.lang similarity index 100% rename from assets/testdummy/lang/en_us.lang rename to project/assets/testdummy/lang/en_us.lang diff --git a/assets/testdummy/lang/zh_cn.lang b/project/assets/testdummy/lang/zh_cn.lang similarity index 100% rename from assets/testdummy/lang/zh_cn.lang rename to project/assets/testdummy/lang/zh_cn.lang diff --git a/assets/testdummy/lang/zh_cn_old.lang b/project/assets/testdummy/lang/zh_cn_old.lang similarity index 100% rename from assets/testdummy/lang/zh_cn_old.lang rename to project/assets/testdummy/lang/zh_cn_old.lang diff --git a/assets/thebetweenlands/lang/en_us.lang b/project/assets/thebetweenlands/lang/en_us.lang similarity index 100% rename from assets/thebetweenlands/lang/en_us.lang rename to project/assets/thebetweenlands/lang/en_us.lang diff --git a/assets/thebetweenlands/lang/zh_cn.lang b/project/assets/thebetweenlands/lang/zh_cn.lang similarity index 100% rename from assets/thebetweenlands/lang/zh_cn.lang rename to project/assets/thebetweenlands/lang/zh_cn.lang diff --git a/assets/thebetweenlands/lang/zh_cn_old.lang b/project/assets/thebetweenlands/lang/zh_cn_old.lang similarity index 100% rename from assets/thebetweenlands/lang/zh_cn_old.lang rename to project/assets/thebetweenlands/lang/zh_cn_old.lang diff --git a/assets/thedalekmod/lang/zh_cn.lang b/project/assets/thedalekmod/lang/zh_cn.lang similarity index 100% rename from assets/thedalekmod/lang/zh_cn.lang rename to project/assets/thedalekmod/lang/zh_cn.lang diff --git a/assets/thedalekmod/lang/zh_cn_old.lang b/project/assets/thedalekmod/lang/zh_cn_old.lang similarity index 100% rename from assets/thedalekmod/lang/zh_cn_old.lang rename to project/assets/thedalekmod/lang/zh_cn_old.lang diff --git a/assets/thedragonlib/lang/en_us.lang b/project/assets/thedragonlib/lang/en_us.lang similarity index 100% rename from assets/thedragonlib/lang/en_us.lang rename to project/assets/thedragonlib/lang/en_us.lang diff --git a/assets/thedragonlib/lang/zh_cn.lang b/project/assets/thedragonlib/lang/zh_cn.lang similarity index 100% rename from assets/thedragonlib/lang/zh_cn.lang rename to project/assets/thedragonlib/lang/zh_cn.lang diff --git a/assets/thedragonlib/lang/zh_cn_old.lang b/project/assets/thedragonlib/lang/zh_cn_old.lang similarity index 100% rename from assets/thedragonlib/lang/zh_cn_old.lang rename to project/assets/thedragonlib/lang/zh_cn_old.lang diff --git a/assets/theoneprobe/lang/en_us.lang b/project/assets/theoneprobe/lang/en_us.lang similarity index 100% rename from assets/theoneprobe/lang/en_us.lang rename to project/assets/theoneprobe/lang/en_us.lang diff --git a/assets/theoneprobe/lang/zh_cn.lang b/project/assets/theoneprobe/lang/zh_cn.lang similarity index 100% rename from assets/theoneprobe/lang/zh_cn.lang rename to project/assets/theoneprobe/lang/zh_cn.lang diff --git a/assets/theoneprobe/lang/zh_cn_old.lang b/project/assets/theoneprobe/lang/zh_cn_old.lang similarity index 100% rename from assets/theoneprobe/lang/zh_cn_old.lang rename to project/assets/theoneprobe/lang/zh_cn_old.lang diff --git a/assets/thermalcultivation/lang/en_us.lang b/project/assets/thermalcultivation/lang/en_us.lang similarity index 100% rename from assets/thermalcultivation/lang/en_us.lang rename to project/assets/thermalcultivation/lang/en_us.lang diff --git a/assets/thermalcultivation/lang/zh_cn.lang b/project/assets/thermalcultivation/lang/zh_cn.lang similarity index 100% rename from assets/thermalcultivation/lang/zh_cn.lang rename to project/assets/thermalcultivation/lang/zh_cn.lang diff --git a/assets/thermalcultivation/lang/zh_cn_old.lang b/project/assets/thermalcultivation/lang/zh_cn_old.lang similarity index 100% rename from assets/thermalcultivation/lang/zh_cn_old.lang rename to project/assets/thermalcultivation/lang/zh_cn_old.lang diff --git a/assets/thermaldynamics/lang/en_us.lang b/project/assets/thermaldynamics/lang/en_us.lang similarity index 100% rename from assets/thermaldynamics/lang/en_us.lang rename to project/assets/thermaldynamics/lang/en_us.lang diff --git a/assets/thermaldynamics/lang/zh_cn.lang b/project/assets/thermaldynamics/lang/zh_cn.lang similarity index 100% rename from assets/thermaldynamics/lang/zh_cn.lang rename to project/assets/thermaldynamics/lang/zh_cn.lang diff --git a/assets/thermaldynamics/lang/zh_cn_old.lang b/project/assets/thermaldynamics/lang/zh_cn_old.lang similarity index 100% rename from assets/thermaldynamics/lang/zh_cn_old.lang rename to project/assets/thermaldynamics/lang/zh_cn_old.lang diff --git a/assets/thermalexpansion/lang/en_us.lang b/project/assets/thermalexpansion/lang/en_us.lang similarity index 100% rename from assets/thermalexpansion/lang/en_us.lang rename to project/assets/thermalexpansion/lang/en_us.lang diff --git a/assets/thermalexpansion/lang/zh_cn.lang b/project/assets/thermalexpansion/lang/zh_cn.lang similarity index 100% rename from assets/thermalexpansion/lang/zh_cn.lang rename to project/assets/thermalexpansion/lang/zh_cn.lang diff --git a/assets/thermalexpansion/lang/zh_cn_old.lang b/project/assets/thermalexpansion/lang/zh_cn_old.lang similarity index 100% rename from assets/thermalexpansion/lang/zh_cn_old.lang rename to project/assets/thermalexpansion/lang/zh_cn_old.lang diff --git a/assets/thermalfoundation/lang/en_us.lang b/project/assets/thermalfoundation/lang/en_us.lang similarity index 100% rename from assets/thermalfoundation/lang/en_us.lang rename to project/assets/thermalfoundation/lang/en_us.lang diff --git a/assets/thermalfoundation/lang/zh_cn.lang b/project/assets/thermalfoundation/lang/zh_cn.lang similarity index 100% rename from assets/thermalfoundation/lang/zh_cn.lang rename to project/assets/thermalfoundation/lang/zh_cn.lang diff --git a/assets/thermalfoundation/lang/zh_cn_old.lang b/project/assets/thermalfoundation/lang/zh_cn_old.lang similarity index 100% rename from assets/thermalfoundation/lang/zh_cn_old.lang rename to project/assets/thermalfoundation/lang/zh_cn_old.lang diff --git a/assets/thermalsolars/lang/zh_cn.lang b/project/assets/thermalsolars/lang/zh_cn.lang similarity index 100% rename from assets/thermalsolars/lang/zh_cn.lang rename to project/assets/thermalsolars/lang/zh_cn.lang diff --git a/assets/thermalsolars/lang/zh_cn_old.lang b/project/assets/thermalsolars/lang/zh_cn_old.lang similarity index 100% rename from assets/thermalsolars/lang/zh_cn_old.lang rename to project/assets/thermalsolars/lang/zh_cn_old.lang diff --git a/assets/thermionics/lang/zh_cn.lang b/project/assets/thermionics/lang/zh_cn.lang similarity index 100% rename from assets/thermionics/lang/zh_cn.lang rename to project/assets/thermionics/lang/zh_cn.lang diff --git a/assets/thermionics/lang/zh_cn_old.lang b/project/assets/thermionics/lang/zh_cn_old.lang similarity index 100% rename from assets/thermionics/lang/zh_cn_old.lang rename to project/assets/thermionics/lang/zh_cn_old.lang diff --git a/assets/thutcore/lang/en_us.lang b/project/assets/thutcore/lang/en_us.lang similarity index 100% rename from assets/thutcore/lang/en_us.lang rename to project/assets/thutcore/lang/en_us.lang diff --git a/assets/thutcore/lang/zh_cn.lang b/project/assets/thutcore/lang/zh_cn.lang similarity index 100% rename from assets/thutcore/lang/zh_cn.lang rename to project/assets/thutcore/lang/zh_cn.lang diff --git a/assets/thutcore/lang/zh_cn_old.lang b/project/assets/thutcore/lang/zh_cn_old.lang similarity index 100% rename from assets/thutcore/lang/zh_cn_old.lang rename to project/assets/thutcore/lang/zh_cn_old.lang diff --git a/assets/thuttech/lang/zh_cn.lang b/project/assets/thuttech/lang/zh_cn.lang similarity index 100% rename from assets/thuttech/lang/zh_cn.lang rename to project/assets/thuttech/lang/zh_cn.lang diff --git a/assets/thuttech/lang/zh_cn_old.lang b/project/assets/thuttech/lang/zh_cn_old.lang similarity index 100% rename from assets/thuttech/lang/zh_cn_old.lang rename to project/assets/thuttech/lang/zh_cn_old.lang diff --git a/assets/tinker_io/lang/en_us.lang b/project/assets/tinker_io/lang/en_us.lang similarity index 100% rename from assets/tinker_io/lang/en_us.lang rename to project/assets/tinker_io/lang/en_us.lang diff --git a/assets/tinker_io/lang/zh_cn.lang b/project/assets/tinker_io/lang/zh_cn.lang similarity index 100% rename from assets/tinker_io/lang/zh_cn.lang rename to project/assets/tinker_io/lang/zh_cn.lang diff --git a/assets/tinker_io/lang/zh_cn_old.lang b/project/assets/tinker_io/lang/zh_cn_old.lang similarity index 100% rename from assets/tinker_io/lang/zh_cn_old.lang rename to project/assets/tinker_io/lang/zh_cn_old.lang diff --git a/assets/tinkersaddons/lang/en_us.lang b/project/assets/tinkersaddons/lang/en_us.lang similarity index 100% rename from assets/tinkersaddons/lang/en_us.lang rename to project/assets/tinkersaddons/lang/en_us.lang diff --git a/assets/tinkersaddons/lang/zh_cn.lang b/project/assets/tinkersaddons/lang/zh_cn.lang similarity index 100% rename from assets/tinkersaddons/lang/zh_cn.lang rename to project/assets/tinkersaddons/lang/zh_cn.lang diff --git a/assets/tinkersaddons/lang/zh_cn_old.lang b/project/assets/tinkersaddons/lang/zh_cn_old.lang similarity index 100% rename from assets/tinkersaddons/lang/zh_cn_old.lang rename to project/assets/tinkersaddons/lang/zh_cn_old.lang diff --git a/assets/tinkersdefense/lang/en_us.lang b/project/assets/tinkersdefense/lang/en_us.lang similarity index 100% rename from assets/tinkersdefense/lang/en_us.lang rename to project/assets/tinkersdefense/lang/en_us.lang diff --git a/assets/tinkersdefense/lang/zh_cn.lang b/project/assets/tinkersdefense/lang/zh_cn.lang similarity index 100% rename from assets/tinkersdefense/lang/zh_cn.lang rename to project/assets/tinkersdefense/lang/zh_cn.lang diff --git a/assets/tinkersdefense/lang/zh_cn_old.lang b/project/assets/tinkersdefense/lang/zh_cn_old.lang similarity index 100% rename from assets/tinkersdefense/lang/zh_cn_old.lang rename to project/assets/tinkersdefense/lang/zh_cn_old.lang diff --git a/assets/tinkerskyblock/lang/zh_cn.lang b/project/assets/tinkerskyblock/lang/zh_cn.lang similarity index 100% rename from assets/tinkerskyblock/lang/zh_cn.lang rename to project/assets/tinkerskyblock/lang/zh_cn.lang diff --git a/assets/tinkerskyblock/lang/zh_cn_old.lang b/project/assets/tinkerskyblock/lang/zh_cn_old.lang similarity index 100% rename from assets/tinkerskyblock/lang/zh_cn_old.lang rename to project/assets/tinkerskyblock/lang/zh_cn_old.lang diff --git a/assets/tinkertoolleveling/lang/en_us.lang b/project/assets/tinkertoolleveling/lang/en_us.lang similarity index 100% rename from assets/tinkertoolleveling/lang/en_us.lang rename to project/assets/tinkertoolleveling/lang/en_us.lang diff --git a/assets/tinkertoolleveling/lang/zh_cn.lang b/project/assets/tinkertoolleveling/lang/zh_cn.lang similarity index 100% rename from assets/tinkertoolleveling/lang/zh_cn.lang rename to project/assets/tinkertoolleveling/lang/zh_cn.lang diff --git a/assets/tinkertoolleveling/lang/zh_cn_old.lang b/project/assets/tinkertoolleveling/lang/zh_cn_old.lang similarity index 100% rename from assets/tinkertoolleveling/lang/zh_cn_old.lang rename to project/assets/tinkertoolleveling/lang/zh_cn_old.lang diff --git a/assets/tis3d/lang/en_us.lang b/project/assets/tis3d/lang/en_us.lang similarity index 100% rename from assets/tis3d/lang/en_us.lang rename to project/assets/tis3d/lang/en_us.lang diff --git a/assets/tis3d/lang/zh_cn.lang b/project/assets/tis3d/lang/zh_cn.lang similarity index 100% rename from assets/tis3d/lang/zh_cn.lang rename to project/assets/tis3d/lang/zh_cn.lang diff --git a/assets/tis3d/lang/zh_cn_old.lang b/project/assets/tis3d/lang/zh_cn_old.lang similarity index 100% rename from assets/tis3d/lang/zh_cn_old.lang rename to project/assets/tis3d/lang/zh_cn_old.lang diff --git a/assets/tombstone/lang/en_us.lang b/project/assets/tombstone/lang/en_us.lang similarity index 100% rename from assets/tombstone/lang/en_us.lang rename to project/assets/tombstone/lang/en_us.lang diff --git a/assets/tombstone/lang/zh_cn.lang b/project/assets/tombstone/lang/zh_cn.lang similarity index 100% rename from assets/tombstone/lang/zh_cn.lang rename to project/assets/tombstone/lang/zh_cn.lang diff --git a/assets/tombstone/lang/zh_cn_old.lang b/project/assets/tombstone/lang/zh_cn_old.lang similarity index 100% rename from assets/tombstone/lang/zh_cn_old.lang rename to project/assets/tombstone/lang/zh_cn_old.lang diff --git a/assets/toolbelt/lang/zh_cn.lang b/project/assets/toolbelt/lang/zh_cn.lang similarity index 100% rename from assets/toolbelt/lang/zh_cn.lang rename to project/assets/toolbelt/lang/zh_cn.lang diff --git a/assets/toolbelt/lang/zh_cn_old.lang b/project/assets/toolbelt/lang/zh_cn_old.lang similarity index 100% rename from assets/toolbelt/lang/zh_cn_old.lang rename to project/assets/toolbelt/lang/zh_cn_old.lang diff --git a/assets/topaddons/lang/en_us.lang b/project/assets/topaddons/lang/en_us.lang similarity index 100% rename from assets/topaddons/lang/en_us.lang rename to project/assets/topaddons/lang/en_us.lang diff --git a/assets/topaddons/lang/zh_cn.lang b/project/assets/topaddons/lang/zh_cn.lang similarity index 100% rename from assets/topaddons/lang/zh_cn.lang rename to project/assets/topaddons/lang/zh_cn.lang diff --git a/assets/topaddons/lang/zh_cn_old.lang b/project/assets/topaddons/lang/zh_cn_old.lang similarity index 100% rename from assets/topaddons/lang/zh_cn_old.lang rename to project/assets/topaddons/lang/zh_cn_old.lang diff --git a/assets/torchmaster/lang/en_us.lang b/project/assets/torchmaster/lang/en_us.lang similarity index 100% rename from assets/torchmaster/lang/en_us.lang rename to project/assets/torchmaster/lang/en_us.lang diff --git a/assets/torchmaster/lang/zh_cn.lang b/project/assets/torchmaster/lang/zh_cn.lang similarity index 100% rename from assets/torchmaster/lang/zh_cn.lang rename to project/assets/torchmaster/lang/zh_cn.lang diff --git a/assets/torchmaster/lang/zh_cn_old.lang b/project/assets/torchmaster/lang/zh_cn_old.lang similarity index 100% rename from assets/torchmaster/lang/zh_cn_old.lang rename to project/assets/torchmaster/lang/zh_cn_old.lang diff --git a/assets/torohealthmod/lang/en_us.lang b/project/assets/torohealthmod/lang/en_us.lang similarity index 100% rename from assets/torohealthmod/lang/en_us.lang rename to project/assets/torohealthmod/lang/en_us.lang diff --git a/assets/torohealthmod/lang/zh_cn.lang b/project/assets/torohealthmod/lang/zh_cn.lang similarity index 100% rename from assets/torohealthmod/lang/zh_cn.lang rename to project/assets/torohealthmod/lang/zh_cn.lang diff --git a/assets/torohealthmod/lang/zh_cn_old.lang b/project/assets/torohealthmod/lang/zh_cn_old.lang similarity index 100% rename from assets/torohealthmod/lang/zh_cn_old.lang rename to project/assets/torohealthmod/lang/zh_cn_old.lang diff --git a/assets/totemic/lang/en_us.lang b/project/assets/totemic/lang/en_us.lang similarity index 100% rename from assets/totemic/lang/en_us.lang rename to project/assets/totemic/lang/en_us.lang diff --git a/assets/totemic/lang/zh_cn.lang b/project/assets/totemic/lang/zh_cn.lang similarity index 100% rename from assets/totemic/lang/zh_cn.lang rename to project/assets/totemic/lang/zh_cn.lang diff --git a/assets/totemic/lang/zh_cn_old.lang b/project/assets/totemic/lang/zh_cn_old.lang similarity index 100% rename from assets/totemic/lang/zh_cn_old.lang rename to project/assets/totemic/lang/zh_cn_old.lang diff --git a/assets/toughasnails/lang/en_us.lang b/project/assets/toughasnails/lang/en_us.lang similarity index 100% rename from assets/toughasnails/lang/en_us.lang rename to project/assets/toughasnails/lang/en_us.lang diff --git a/assets/toughasnails/lang/zh_cn.lang b/project/assets/toughasnails/lang/zh_cn.lang similarity index 100% rename from assets/toughasnails/lang/zh_cn.lang rename to project/assets/toughasnails/lang/zh_cn.lang diff --git a/assets/toughasnails/lang/zh_cn_old.lang b/project/assets/toughasnails/lang/zh_cn_old.lang similarity index 100% rename from assets/toughasnails/lang/zh_cn_old.lang rename to project/assets/toughasnails/lang/zh_cn_old.lang diff --git a/assets/towel/lang/zh_cn.lang b/project/assets/towel/lang/zh_cn.lang similarity index 100% rename from assets/towel/lang/zh_cn.lang rename to project/assets/towel/lang/zh_cn.lang diff --git a/assets/towel/lang/zh_cn_old.lang b/project/assets/towel/lang/zh_cn_old.lang similarity index 100% rename from assets/towel/lang/zh_cn_old.lang rename to project/assets/towel/lang/zh_cn_old.lang diff --git a/assets/tp/lang/en_us.lang b/project/assets/tp/lang/en_us.lang similarity index 100% rename from assets/tp/lang/en_us.lang rename to project/assets/tp/lang/en_us.lang diff --git a/assets/tp/lang/zh_cn.lang b/project/assets/tp/lang/zh_cn.lang similarity index 100% rename from assets/tp/lang/zh_cn.lang rename to project/assets/tp/lang/zh_cn.lang diff --git a/assets/tp/lang/zh_cn_old.lang b/project/assets/tp/lang/zh_cn_old.lang similarity index 100% rename from assets/tp/lang/zh_cn_old.lang rename to project/assets/tp/lang/zh_cn_old.lang diff --git a/assets/trashslot/lang/en_us.lang b/project/assets/trashslot/lang/en_us.lang similarity index 100% rename from assets/trashslot/lang/en_us.lang rename to project/assets/trashslot/lang/en_us.lang diff --git a/assets/trashslot/lang/zh_cn.lang b/project/assets/trashslot/lang/zh_cn.lang similarity index 100% rename from assets/trashslot/lang/zh_cn.lang rename to project/assets/trashslot/lang/zh_cn.lang diff --git a/assets/trashslot/lang/zh_cn_old.lang b/project/assets/trashslot/lang/zh_cn_old.lang similarity index 100% rename from assets/trashslot/lang/zh_cn_old.lang rename to project/assets/trashslot/lang/zh_cn_old.lang diff --git a/assets/traverse/lang/en_us.lang b/project/assets/traverse/lang/en_us.lang similarity index 100% rename from assets/traverse/lang/en_us.lang rename to project/assets/traverse/lang/en_us.lang diff --git a/assets/traverse/lang/zh_cn.lang b/project/assets/traverse/lang/zh_cn.lang similarity index 100% rename from assets/traverse/lang/zh_cn.lang rename to project/assets/traverse/lang/zh_cn.lang diff --git a/assets/traverse/lang/zh_cn_old.lang b/project/assets/traverse/lang/zh_cn_old.lang similarity index 100% rename from assets/traverse/lang/zh_cn_old.lang rename to project/assets/traverse/lang/zh_cn_old.lang diff --git a/assets/treechopper/lang/en_us.lang b/project/assets/treechopper/lang/en_us.lang similarity index 100% rename from assets/treechopper/lang/en_us.lang rename to project/assets/treechopper/lang/en_us.lang diff --git a/assets/treechopper/lang/zh_cn.lang b/project/assets/treechopper/lang/zh_cn.lang similarity index 100% rename from assets/treechopper/lang/zh_cn.lang rename to project/assets/treechopper/lang/zh_cn.lang diff --git a/assets/treechopper/lang/zh_cn_old.lang b/project/assets/treechopper/lang/zh_cn_old.lang similarity index 100% rename from assets/treechopper/lang/zh_cn_old.lang rename to project/assets/treechopper/lang/zh_cn_old.lang diff --git a/assets/treegrowingsimulator/lang/zh_cn.lang b/project/assets/treegrowingsimulator/lang/zh_cn.lang similarity index 100% rename from assets/treegrowingsimulator/lang/zh_cn.lang rename to project/assets/treegrowingsimulator/lang/zh_cn.lang diff --git a/assets/treegrowingsimulator/lang/zh_cn_old.lang b/project/assets/treegrowingsimulator/lang/zh_cn_old.lang similarity index 100% rename from assets/treegrowingsimulator/lang/zh_cn_old.lang rename to project/assets/treegrowingsimulator/lang/zh_cn_old.lang diff --git a/assets/tri_addon/lang/zh_cn.lang b/project/assets/tri_addon/lang/zh_cn.lang similarity index 100% rename from assets/tri_addon/lang/zh_cn.lang rename to project/assets/tri_addon/lang/zh_cn.lang diff --git a/assets/tri_addon/lang/zh_cn_old.lang b/project/assets/tri_addon/lang/zh_cn_old.lang similarity index 100% rename from assets/tri_addon/lang/zh_cn_old.lang rename to project/assets/tri_addon/lang/zh_cn_old.lang diff --git a/assets/trophyslots/lang/zh_cn.lang b/project/assets/trophyslots/lang/zh_cn.lang similarity index 100% rename from assets/trophyslots/lang/zh_cn.lang rename to project/assets/trophyslots/lang/zh_cn.lang diff --git a/assets/trophyslots/lang/zh_cn_old.lang b/project/assets/trophyslots/lang/zh_cn_old.lang similarity index 100% rename from assets/trophyslots/lang/zh_cn_old.lang rename to project/assets/trophyslots/lang/zh_cn_old.lang diff --git a/assets/tropicraft/lang/zh_cn.lang b/project/assets/tropicraft/lang/zh_cn.lang similarity index 100% rename from assets/tropicraft/lang/zh_cn.lang rename to project/assets/tropicraft/lang/zh_cn.lang diff --git a/assets/tropicraft/lang/zh_cn_old.lang b/project/assets/tropicraft/lang/zh_cn_old.lang similarity index 100% rename from assets/tropicraft/lang/zh_cn_old.lang rename to project/assets/tropicraft/lang/zh_cn_old.lang diff --git a/assets/tumbleweed/lang/zh_cn.lang b/project/assets/tumbleweed/lang/zh_cn.lang similarity index 100% rename from assets/tumbleweed/lang/zh_cn.lang rename to project/assets/tumbleweed/lang/zh_cn.lang diff --git a/assets/tumbleweed/lang/zh_cn_old.lang b/project/assets/tumbleweed/lang/zh_cn_old.lang similarity index 100% rename from assets/tumbleweed/lang/zh_cn_old.lang rename to project/assets/tumbleweed/lang/zh_cn_old.lang diff --git a/assets/twilightforest/lang/en_us.lang b/project/assets/twilightforest/lang/en_us.lang similarity index 100% rename from assets/twilightforest/lang/en_us.lang rename to project/assets/twilightforest/lang/en_us.lang diff --git a/assets/twilightforest/lang/zh_cn.lang b/project/assets/twilightforest/lang/zh_cn.lang similarity index 100% rename from assets/twilightforest/lang/zh_cn.lang rename to project/assets/twilightforest/lang/zh_cn.lang diff --git a/assets/twilightforest/lang/zh_cn_old.lang b/project/assets/twilightforest/lang/zh_cn_old.lang similarity index 100% rename from assets/twilightforest/lang/zh_cn_old.lang rename to project/assets/twilightforest/lang/zh_cn_old.lang diff --git a/assets/ultimate_unicorn_mod/lang/en_us.lang b/project/assets/ultimate_unicorn_mod/lang/en_us.lang similarity index 100% rename from assets/ultimate_unicorn_mod/lang/en_us.lang rename to project/assets/ultimate_unicorn_mod/lang/en_us.lang diff --git a/assets/ultimate_unicorn_mod/lang/zh_cn.lang b/project/assets/ultimate_unicorn_mod/lang/zh_cn.lang similarity index 100% rename from assets/ultimate_unicorn_mod/lang/zh_cn.lang rename to project/assets/ultimate_unicorn_mod/lang/zh_cn.lang diff --git a/assets/ultimate_unicorn_mod/lang/zh_cn_old.lang b/project/assets/ultimate_unicorn_mod/lang/zh_cn_old.lang similarity index 100% rename from assets/ultimate_unicorn_mod/lang/zh_cn_old.lang rename to project/assets/ultimate_unicorn_mod/lang/zh_cn_old.lang diff --git a/assets/uncraftingtable/lang/zh_cn.lang b/project/assets/uncraftingtable/lang/zh_cn.lang similarity index 100% rename from assets/uncraftingtable/lang/zh_cn.lang rename to project/assets/uncraftingtable/lang/zh_cn.lang diff --git a/assets/uncraftingtable/lang/zh_cn_old.lang b/project/assets/uncraftingtable/lang/zh_cn_old.lang similarity index 100% rename from assets/uncraftingtable/lang/zh_cn_old.lang rename to project/assets/uncraftingtable/lang/zh_cn_old.lang diff --git a/assets/unicodefontextension/lang/zh_cn.lang b/project/assets/unicodefontextension/lang/zh_cn.lang similarity index 100% rename from assets/unicodefontextension/lang/zh_cn.lang rename to project/assets/unicodefontextension/lang/zh_cn.lang diff --git a/assets/unicodefontextension/lang/zh_cn_old.lang b/project/assets/unicodefontextension/lang/zh_cn_old.lang similarity index 100% rename from assets/unicodefontextension/lang/zh_cn_old.lang rename to project/assets/unicodefontextension/lang/zh_cn_old.lang diff --git a/assets/uniquecrops/lang/zh_cn.lang b/project/assets/uniquecrops/lang/zh_cn.lang similarity index 100% rename from assets/uniquecrops/lang/zh_cn.lang rename to project/assets/uniquecrops/lang/zh_cn.lang diff --git a/assets/uniquecrops/lang/zh_cn_old.lang b/project/assets/uniquecrops/lang/zh_cn_old.lang similarity index 100% rename from assets/uniquecrops/lang/zh_cn_old.lang rename to project/assets/uniquecrops/lang/zh_cn_old.lang diff --git a/assets/usefulnullifiers/lang/en_us.lang b/project/assets/usefulnullifiers/lang/en_us.lang similarity index 100% rename from assets/usefulnullifiers/lang/en_us.lang rename to project/assets/usefulnullifiers/lang/en_us.lang diff --git a/assets/usefulnullifiers/lang/zh_cn.lang b/project/assets/usefulnullifiers/lang/zh_cn.lang similarity index 100% rename from assets/usefulnullifiers/lang/zh_cn.lang rename to project/assets/usefulnullifiers/lang/zh_cn.lang diff --git a/assets/usefulnullifiers/lang/zh_cn_old.lang b/project/assets/usefulnullifiers/lang/zh_cn_old.lang similarity index 100% rename from assets/usefulnullifiers/lang/zh_cn_old.lang rename to project/assets/usefulnullifiers/lang/zh_cn_old.lang diff --git a/assets/valkyrielib/lang/en_us.lang b/project/assets/valkyrielib/lang/en_us.lang similarity index 100% rename from assets/valkyrielib/lang/en_us.lang rename to project/assets/valkyrielib/lang/en_us.lang diff --git a/assets/valkyrielib/lang/zh_cn.lang b/project/assets/valkyrielib/lang/zh_cn.lang similarity index 100% rename from assets/valkyrielib/lang/zh_cn.lang rename to project/assets/valkyrielib/lang/zh_cn.lang diff --git a/assets/valkyrielib/lang/zh_cn_old.lang b/project/assets/valkyrielib/lang/zh_cn_old.lang similarity index 100% rename from assets/valkyrielib/lang/zh_cn_old.lang rename to project/assets/valkyrielib/lang/zh_cn_old.lang diff --git a/assets/vampirism/lang/en_us.lang b/project/assets/vampirism/lang/en_us.lang similarity index 100% rename from assets/vampirism/lang/en_us.lang rename to project/assets/vampirism/lang/en_us.lang diff --git a/assets/vampirism/lang/zh_cn.lang b/project/assets/vampirism/lang/zh_cn.lang similarity index 100% rename from assets/vampirism/lang/zh_cn.lang rename to project/assets/vampirism/lang/zh_cn.lang diff --git a/assets/vampirism/lang/zh_cn_old.lang b/project/assets/vampirism/lang/zh_cn_old.lang similarity index 100% rename from assets/vampirism/lang/zh_cn_old.lang rename to project/assets/vampirism/lang/zh_cn_old.lang diff --git a/assets/vampirismguide/lang/en_us.lang b/project/assets/vampirismguide/lang/en_us.lang similarity index 100% rename from assets/vampirismguide/lang/en_us.lang rename to project/assets/vampirismguide/lang/en_us.lang diff --git a/assets/vampirismguide/lang/zh_cn.lang b/project/assets/vampirismguide/lang/zh_cn.lang similarity index 100% rename from assets/vampirismguide/lang/zh_cn.lang rename to project/assets/vampirismguide/lang/zh_cn.lang diff --git a/assets/vampirismguide/lang/zh_cn_old.lang b/project/assets/vampirismguide/lang/zh_cn_old.lang similarity index 100% rename from assets/vampirismguide/lang/zh_cn_old.lang rename to project/assets/vampirismguide/lang/zh_cn_old.lang diff --git a/assets/vc/lang/en_us.lang b/project/assets/vc/lang/en_us.lang similarity index 100% rename from assets/vc/lang/en_us.lang rename to project/assets/vc/lang/en_us.lang diff --git a/assets/vc/lang/zh_cn.lang b/project/assets/vc/lang/zh_cn.lang similarity index 100% rename from assets/vc/lang/zh_cn.lang rename to project/assets/vc/lang/zh_cn.lang diff --git a/assets/vc/lang/zh_cn_old.lang b/project/assets/vc/lang/zh_cn_old.lang similarity index 100% rename from assets/vc/lang/zh_cn_old.lang rename to project/assets/vc/lang/zh_cn_old.lang diff --git a/assets/vefluids/lang/zh_cn.lang b/project/assets/vefluids/lang/zh_cn.lang similarity index 100% rename from assets/vefluids/lang/zh_cn.lang rename to project/assets/vefluids/lang/zh_cn.lang diff --git a/assets/vefluids/lang/zh_cn_old.lang b/project/assets/vefluids/lang/zh_cn_old.lang similarity index 100% rename from assets/vefluids/lang/zh_cn_old.lang rename to project/assets/vefluids/lang/zh_cn_old.lang diff --git a/assets/veinminer/lang/en_us.lang b/project/assets/veinminer/lang/en_us.lang similarity index 100% rename from assets/veinminer/lang/en_us.lang rename to project/assets/veinminer/lang/en_us.lang diff --git a/assets/veinminer/lang/zh_cn.lang b/project/assets/veinminer/lang/zh_cn.lang similarity index 100% rename from assets/veinminer/lang/zh_cn.lang rename to project/assets/veinminer/lang/zh_cn.lang diff --git a/assets/veinminer/lang/zh_cn_old.lang b/project/assets/veinminer/lang/zh_cn_old.lang similarity index 100% rename from assets/veinminer/lang/zh_cn_old.lang rename to project/assets/veinminer/lang/zh_cn_old.lang diff --git a/assets/vending/lang/en_us.lang b/project/assets/vending/lang/en_us.lang similarity index 100% rename from assets/vending/lang/en_us.lang rename to project/assets/vending/lang/en_us.lang diff --git a/assets/vending/lang/zh_cn.lang b/project/assets/vending/lang/zh_cn.lang similarity index 100% rename from assets/vending/lang/zh_cn.lang rename to project/assets/vending/lang/zh_cn.lang diff --git a/assets/vending/lang/zh_cn_old.lang b/project/assets/vending/lang/zh_cn_old.lang similarity index 100% rename from assets/vending/lang/zh_cn_old.lang rename to project/assets/vending/lang/zh_cn_old.lang diff --git a/assets/vials/lang/zh_cn.lang b/project/assets/vials/lang/zh_cn.lang similarity index 100% rename from assets/vials/lang/zh_cn.lang rename to project/assets/vials/lang/zh_cn.lang diff --git a/assets/vials/lang/zh_cn_old.lang b/project/assets/vials/lang/zh_cn_old.lang similarity index 100% rename from assets/vials/lang/zh_cn_old.lang rename to project/assets/vials/lang/zh_cn_old.lang diff --git a/assets/viescraft/lang/zh_cn.lang b/project/assets/viescraft/lang/zh_cn.lang similarity index 100% rename from assets/viescraft/lang/zh_cn.lang rename to project/assets/viescraft/lang/zh_cn.lang diff --git a/assets/viescraft/lang/zh_cn_old.lang b/project/assets/viescraft/lang/zh_cn_old.lang similarity index 100% rename from assets/viescraft/lang/zh_cn_old.lang rename to project/assets/viescraft/lang/zh_cn_old.lang diff --git a/assets/voidislandcontrol/lang/en_us.lang b/project/assets/voidislandcontrol/lang/en_us.lang similarity index 100% rename from assets/voidislandcontrol/lang/en_us.lang rename to project/assets/voidislandcontrol/lang/en_us.lang diff --git a/assets/voidislandcontrol/lang/zh_cn.lang b/project/assets/voidislandcontrol/lang/zh_cn.lang similarity index 100% rename from assets/voidislandcontrol/lang/zh_cn.lang rename to project/assets/voidislandcontrol/lang/zh_cn.lang diff --git a/assets/voidislandcontrol/lang/zh_cn_old.lang b/project/assets/voidislandcontrol/lang/zh_cn_old.lang similarity index 100% rename from assets/voidislandcontrol/lang/zh_cn_old.lang rename to project/assets/voidislandcontrol/lang/zh_cn_old.lang diff --git a/assets/voxelmap/lang/en_us.lang b/project/assets/voxelmap/lang/en_us.lang similarity index 100% rename from assets/voxelmap/lang/en_us.lang rename to project/assets/voxelmap/lang/en_us.lang diff --git a/assets/voxelmap/lang/zh_cn.lang b/project/assets/voxelmap/lang/zh_cn.lang similarity index 100% rename from assets/voxelmap/lang/zh_cn.lang rename to project/assets/voxelmap/lang/zh_cn.lang diff --git a/assets/voxelmap/lang/zh_cn_old.lang b/project/assets/voxelmap/lang/zh_cn_old.lang similarity index 100% rename from assets/voxelmap/lang/zh_cn_old.lang rename to project/assets/voxelmap/lang/zh_cn_old.lang diff --git a/assets/waddles/lang/en_us.lang b/project/assets/waddles/lang/en_us.lang similarity index 100% rename from assets/waddles/lang/en_us.lang rename to project/assets/waddles/lang/en_us.lang diff --git a/assets/waddles/lang/zh_cn.lang b/project/assets/waddles/lang/zh_cn.lang similarity index 100% rename from assets/waddles/lang/zh_cn.lang rename to project/assets/waddles/lang/zh_cn.lang diff --git a/assets/waddles/lang/zh_cn_old.lang b/project/assets/waddles/lang/zh_cn_old.lang similarity index 100% rename from assets/waddles/lang/zh_cn_old.lang rename to project/assets/waddles/lang/zh_cn_old.lang diff --git a/assets/waila/lang/en_us.lang b/project/assets/waila/lang/en_us.lang similarity index 100% rename from assets/waila/lang/en_us.lang rename to project/assets/waila/lang/en_us.lang diff --git a/assets/waila/lang/zh_cn.lang b/project/assets/waila/lang/zh_cn.lang similarity index 100% rename from assets/waila/lang/zh_cn.lang rename to project/assets/waila/lang/zh_cn.lang diff --git a/assets/waila/lang/zh_cn_old.lang b/project/assets/waila/lang/zh_cn_old.lang similarity index 100% rename from assets/waila/lang/zh_cn_old.lang rename to project/assets/waila/lang/zh_cn_old.lang diff --git a/assets/wailaharvestability/lang/en_us.lang b/project/assets/wailaharvestability/lang/en_us.lang similarity index 100% rename from assets/wailaharvestability/lang/en_us.lang rename to project/assets/wailaharvestability/lang/en_us.lang diff --git a/assets/wailaharvestability/lang/zh_cn.lang b/project/assets/wailaharvestability/lang/zh_cn.lang similarity index 100% rename from assets/wailaharvestability/lang/zh_cn.lang rename to project/assets/wailaharvestability/lang/zh_cn.lang diff --git a/assets/wailaharvestability/lang/zh_cn_old.lang b/project/assets/wailaharvestability/lang/zh_cn_old.lang similarity index 100% rename from assets/wailaharvestability/lang/zh_cn_old.lang rename to project/assets/wailaharvestability/lang/zh_cn_old.lang diff --git a/assets/waterstrainer/lang/en_us.lang b/project/assets/waterstrainer/lang/en_us.lang similarity index 100% rename from assets/waterstrainer/lang/en_us.lang rename to project/assets/waterstrainer/lang/en_us.lang diff --git a/assets/waterstrainer/lang/zh_cn.lang b/project/assets/waterstrainer/lang/zh_cn.lang similarity index 100% rename from assets/waterstrainer/lang/zh_cn.lang rename to project/assets/waterstrainer/lang/zh_cn.lang diff --git a/assets/waterstrainer/lang/zh_cn_old.lang b/project/assets/waterstrainer/lang/zh_cn_old.lang similarity index 100% rename from assets/waterstrainer/lang/zh_cn_old.lang rename to project/assets/waterstrainer/lang/zh_cn_old.lang diff --git a/assets/wawla/lang/en_us.lang b/project/assets/wawla/lang/en_us.lang similarity index 100% rename from assets/wawla/lang/en_us.lang rename to project/assets/wawla/lang/en_us.lang diff --git a/assets/wawla/lang/zh_cn.lang b/project/assets/wawla/lang/zh_cn.lang similarity index 100% rename from assets/wawla/lang/zh_cn.lang rename to project/assets/wawla/lang/zh_cn.lang diff --git a/assets/wawla/lang/zh_cn_old.lang b/project/assets/wawla/lang/zh_cn_old.lang similarity index 100% rename from assets/wawla/lang/zh_cn_old.lang rename to project/assets/wawla/lang/zh_cn_old.lang diff --git a/assets/waystones/lang/en_us.lang b/project/assets/waystones/lang/en_us.lang similarity index 100% rename from assets/waystones/lang/en_us.lang rename to project/assets/waystones/lang/en_us.lang diff --git a/assets/waystones/lang/zh_cn.lang b/project/assets/waystones/lang/zh_cn.lang similarity index 100% rename from assets/waystones/lang/zh_cn.lang rename to project/assets/waystones/lang/zh_cn.lang diff --git a/assets/waystones/lang/zh_cn_old.lang b/project/assets/waystones/lang/zh_cn_old.lang similarity index 100% rename from assets/waystones/lang/zh_cn_old.lang rename to project/assets/waystones/lang/zh_cn_old.lang diff --git a/assets/wct/lang/en_us.lang b/project/assets/wct/lang/en_us.lang similarity index 100% rename from assets/wct/lang/en_us.lang rename to project/assets/wct/lang/en_us.lang diff --git a/assets/wct/lang/zh_cn.lang b/project/assets/wct/lang/zh_cn.lang similarity index 100% rename from assets/wct/lang/zh_cn.lang rename to project/assets/wct/lang/zh_cn.lang diff --git a/assets/wct/lang/zh_cn_old.lang b/project/assets/wct/lang/zh_cn_old.lang similarity index 100% rename from assets/wct/lang/zh_cn_old.lang rename to project/assets/wct/lang/zh_cn_old.lang diff --git a/assets/wearablebackpacks/lang/en_us.lang b/project/assets/wearablebackpacks/lang/en_us.lang similarity index 100% rename from assets/wearablebackpacks/lang/en_us.lang rename to project/assets/wearablebackpacks/lang/en_us.lang diff --git a/assets/wearablebackpacks/lang/zh_cn.lang b/project/assets/wearablebackpacks/lang/zh_cn.lang similarity index 100% rename from assets/wearablebackpacks/lang/zh_cn.lang rename to project/assets/wearablebackpacks/lang/zh_cn.lang diff --git a/assets/wearablebackpacks/lang/zh_cn_old.lang b/project/assets/wearablebackpacks/lang/zh_cn_old.lang similarity index 100% rename from assets/wearablebackpacks/lang/zh_cn_old.lang rename to project/assets/wearablebackpacks/lang/zh_cn_old.lang diff --git a/assets/wearables/lang/zh_cn.lang b/project/assets/wearables/lang/zh_cn.lang similarity index 100% rename from assets/wearables/lang/zh_cn.lang rename to project/assets/wearables/lang/zh_cn.lang diff --git a/assets/wearables/lang/zh_cn_old.lang b/project/assets/wearables/lang/zh_cn_old.lang similarity index 100% rename from assets/wearables/lang/zh_cn_old.lang rename to project/assets/wearables/lang/zh_cn_old.lang diff --git a/assets/weather2/lang/en_us.lang b/project/assets/weather2/lang/en_us.lang similarity index 100% rename from assets/weather2/lang/en_us.lang rename to project/assets/weather2/lang/en_us.lang diff --git a/assets/weather2/lang/zh_cn.lang b/project/assets/weather2/lang/zh_cn.lang similarity index 100% rename from assets/weather2/lang/zh_cn.lang rename to project/assets/weather2/lang/zh_cn.lang diff --git a/assets/weather2/lang/zh_cn_old.lang b/project/assets/weather2/lang/zh_cn_old.lang similarity index 100% rename from assets/weather2/lang/zh_cn_old.lang rename to project/assets/weather2/lang/zh_cn_old.lang diff --git a/assets/wificharge/lang/zh_cn.lang b/project/assets/wificharge/lang/zh_cn.lang similarity index 100% rename from assets/wificharge/lang/zh_cn.lang rename to project/assets/wificharge/lang/zh_cn.lang diff --git a/assets/wificharge/lang/zh_cn_old.lang b/project/assets/wificharge/lang/zh_cn_old.lang similarity index 100% rename from assets/wificharge/lang/zh_cn_old.lang rename to project/assets/wificharge/lang/zh_cn_old.lang diff --git a/assets/wings/lang/zh_cn.lang b/project/assets/wings/lang/zh_cn.lang similarity index 100% rename from assets/wings/lang/zh_cn.lang rename to project/assets/wings/lang/zh_cn.lang diff --git a/assets/wings/lang/zh_cn_old.lang b/project/assets/wings/lang/zh_cn_old.lang similarity index 100% rename from assets/wings/lang/zh_cn_old.lang rename to project/assets/wings/lang/zh_cn_old.lang diff --git a/assets/wit/lang/zh_cn.lang b/project/assets/wit/lang/zh_cn.lang similarity index 100% rename from assets/wit/lang/zh_cn.lang rename to project/assets/wit/lang/zh_cn.lang diff --git a/assets/wit/lang/zh_cn_old.lang b/project/assets/wit/lang/zh_cn_old.lang similarity index 100% rename from assets/wit/lang/zh_cn_old.lang rename to project/assets/wit/lang/zh_cn_old.lang diff --git a/assets/wizardry/lang/zh_cn.lang b/project/assets/wizardry/lang/zh_cn.lang similarity index 100% rename from assets/wizardry/lang/zh_cn.lang rename to project/assets/wizardry/lang/zh_cn.lang diff --git a/assets/wizardry/lang/zh_cn_old.lang b/project/assets/wizardry/lang/zh_cn_old.lang similarity index 100% rename from assets/wizardry/lang/zh_cn_old.lang rename to project/assets/wizardry/lang/zh_cn_old.lang diff --git a/assets/wolfarmor/lang/en_us.lang b/project/assets/wolfarmor/lang/en_us.lang similarity index 100% rename from assets/wolfarmor/lang/en_us.lang rename to project/assets/wolfarmor/lang/en_us.lang diff --git a/assets/wolfarmor/lang/zh_cn.lang b/project/assets/wolfarmor/lang/zh_cn.lang similarity index 100% rename from assets/wolfarmor/lang/zh_cn.lang rename to project/assets/wolfarmor/lang/zh_cn.lang diff --git a/assets/wolfarmor/lang/zh_cn_old.lang b/project/assets/wolfarmor/lang/zh_cn_old.lang similarity index 100% rename from assets/wolfarmor/lang/zh_cn_old.lang rename to project/assets/wolfarmor/lang/zh_cn_old.lang diff --git a/assets/woodenbucket/lang/zh_cn.lang b/project/assets/woodenbucket/lang/zh_cn.lang similarity index 100% rename from assets/woodenbucket/lang/zh_cn.lang rename to project/assets/woodenbucket/lang/zh_cn.lang diff --git a/assets/woodenbucket/lang/zh_cn_old.lang b/project/assets/woodenbucket/lang/zh_cn_old.lang similarity index 100% rename from assets/woodenbucket/lang/zh_cn_old.lang rename to project/assets/woodenbucket/lang/zh_cn_old.lang diff --git a/assets/woodenshears/lang/zh_cn.lang b/project/assets/woodenshears/lang/zh_cn.lang similarity index 100% rename from assets/woodenshears/lang/zh_cn.lang rename to project/assets/woodenshears/lang/zh_cn.lang diff --git a/assets/woodenshears/lang/zh_cn_old.lang b/project/assets/woodenshears/lang/zh_cn_old.lang similarity index 100% rename from assets/woodenshears/lang/zh_cn_old.lang rename to project/assets/woodenshears/lang/zh_cn_old.lang diff --git a/assets/woot/lang/en_us.lang b/project/assets/woot/lang/en_us.lang similarity index 100% rename from assets/woot/lang/en_us.lang rename to project/assets/woot/lang/en_us.lang diff --git a/assets/woot/lang/zh_cn.lang b/project/assets/woot/lang/zh_cn.lang similarity index 100% rename from assets/woot/lang/zh_cn.lang rename to project/assets/woot/lang/zh_cn.lang diff --git a/assets/woot/lang/zh_cn_old.lang b/project/assets/woot/lang/zh_cn_old.lang similarity index 100% rename from assets/woot/lang/zh_cn_old.lang rename to project/assets/woot/lang/zh_cn_old.lang diff --git a/assets/worldlimiter/lang/zh_cn.lang b/project/assets/worldlimiter/lang/zh_cn.lang similarity index 100% rename from assets/worldlimiter/lang/zh_cn.lang rename to project/assets/worldlimiter/lang/zh_cn.lang diff --git a/assets/worldlimiter/lang/zh_cn_old.lang b/project/assets/worldlimiter/lang/zh_cn_old.lang similarity index 100% rename from assets/worldlimiter/lang/zh_cn_old.lang rename to project/assets/worldlimiter/lang/zh_cn_old.lang diff --git a/assets/xaerobetterpvp/lang/zh_cn.lang b/project/assets/xaerobetterpvp/lang/zh_cn.lang similarity index 100% rename from assets/xaerobetterpvp/lang/zh_cn.lang rename to project/assets/xaerobetterpvp/lang/zh_cn.lang diff --git a/assets/xaerobetterpvp/lang/zh_cn_old.lang b/project/assets/xaerobetterpvp/lang/zh_cn_old.lang similarity index 100% rename from assets/xaerobetterpvp/lang/zh_cn_old.lang rename to project/assets/xaerobetterpvp/lang/zh_cn_old.lang diff --git a/assets/xnet/lang/en_us.lang b/project/assets/xnet/lang/en_us.lang similarity index 100% rename from assets/xnet/lang/en_us.lang rename to project/assets/xnet/lang/en_us.lang diff --git a/assets/xnet/lang/zh_cn.lang b/project/assets/xnet/lang/zh_cn.lang similarity index 100% rename from assets/xnet/lang/zh_cn.lang rename to project/assets/xnet/lang/zh_cn.lang diff --git a/assets/xnet/lang/zh_cn_old.lang b/project/assets/xnet/lang/zh_cn_old.lang similarity index 100% rename from assets/xnet/lang/zh_cn_old.lang rename to project/assets/xnet/lang/zh_cn_old.lang diff --git a/assets/xnet/text/manual_xnet.txt b/project/assets/xnet/text/manual_xnet.txt similarity index 100% rename from assets/xnet/text/manual_xnet.txt rename to project/assets/xnet/text/manual_xnet.txt diff --git a/assets/xray/lang/zh_cn.lang b/project/assets/xray/lang/zh_cn.lang similarity index 100% rename from assets/xray/lang/zh_cn.lang rename to project/assets/xray/lang/zh_cn.lang diff --git a/assets/xray/lang/zh_cn_old.lang b/project/assets/xray/lang/zh_cn_old.lang similarity index 100% rename from assets/xray/lang/zh_cn_old.lang rename to project/assets/xray/lang/zh_cn_old.lang diff --git a/assets/xreliquary/lang/en_us.lang b/project/assets/xreliquary/lang/en_us.lang similarity index 100% rename from assets/xreliquary/lang/en_us.lang rename to project/assets/xreliquary/lang/en_us.lang diff --git a/assets/xreliquary/lang/zh_cn.lang b/project/assets/xreliquary/lang/zh_cn.lang similarity index 100% rename from assets/xreliquary/lang/zh_cn.lang rename to project/assets/xreliquary/lang/zh_cn.lang diff --git a/assets/xreliquary/lang/zh_cn_old.lang b/project/assets/xreliquary/lang/zh_cn_old.lang similarity index 100% rename from assets/xreliquary/lang/zh_cn_old.lang rename to project/assets/xreliquary/lang/zh_cn_old.lang diff --git a/assets/xtones/lang/en_us.lang b/project/assets/xtones/lang/en_us.lang similarity index 100% rename from assets/xtones/lang/en_us.lang rename to project/assets/xtones/lang/en_us.lang diff --git a/assets/xtones/lang/zh_cn.lang b/project/assets/xtones/lang/zh_cn.lang similarity index 100% rename from assets/xtones/lang/zh_cn.lang rename to project/assets/xtones/lang/zh_cn.lang diff --git a/assets/xtones/lang/zh_cn_old.lang b/project/assets/xtones/lang/zh_cn_old.lang similarity index 100% rename from assets/xtones/lang/zh_cn_old.lang rename to project/assets/xtones/lang/zh_cn_old.lang diff --git a/assets/yabba/lang/en_us.lang b/project/assets/yabba/lang/en_us.lang similarity index 100% rename from assets/yabba/lang/en_us.lang rename to project/assets/yabba/lang/en_us.lang diff --git a/assets/yabba/lang/zh_cn.lang b/project/assets/yabba/lang/zh_cn.lang similarity index 100% rename from assets/yabba/lang/zh_cn.lang rename to project/assets/yabba/lang/zh_cn.lang diff --git a/assets/yabba/lang/zh_cn_old.lang b/project/assets/yabba/lang/zh_cn_old.lang similarity index 100% rename from assets/yabba/lang/zh_cn_old.lang rename to project/assets/yabba/lang/zh_cn_old.lang diff --git a/assets/zerocore/lang/en_us.lang b/project/assets/zerocore/lang/en_us.lang similarity index 100% rename from assets/zerocore/lang/en_us.lang rename to project/assets/zerocore/lang/en_us.lang diff --git a/assets/zerocore/lang/zh_cn.lang b/project/assets/zerocore/lang/zh_cn.lang similarity index 100% rename from assets/zerocore/lang/zh_cn.lang rename to project/assets/zerocore/lang/zh_cn.lang diff --git a/assets/zerocore/lang/zh_cn_old.lang b/project/assets/zerocore/lang/zh_cn_old.lang similarity index 100% rename from assets/zerocore/lang/zh_cn_old.lang rename to project/assets/zerocore/lang/zh_cn_old.lang diff --git a/assets/zettaindustries/lang/en_us.lang b/project/assets/zettaindustries/lang/en_us.lang similarity index 100% rename from assets/zettaindustries/lang/en_us.lang rename to project/assets/zettaindustries/lang/en_us.lang diff --git a/assets/zettaindustries/lang/zh_cn.lang b/project/assets/zettaindustries/lang/zh_cn.lang similarity index 100% rename from assets/zettaindustries/lang/zh_cn.lang rename to project/assets/zettaindustries/lang/zh_cn.lang diff --git a/assets/zettaindustries/lang/zh_cn_old.lang b/project/assets/zettaindustries/lang/zh_cn_old.lang similarity index 100% rename from assets/zettaindustries/lang/zh_cn_old.lang rename to project/assets/zettaindustries/lang/zh_cn_old.lang diff --git a/assets/zombieawareness/lang/en_us.lang b/project/assets/zombieawareness/lang/en_us.lang similarity index 100% rename from assets/zombieawareness/lang/en_us.lang rename to project/assets/zombieawareness/lang/en_us.lang diff --git a/assets/zombieawareness/lang/zh_cn.lang b/project/assets/zombieawareness/lang/zh_cn.lang similarity index 100% rename from assets/zombieawareness/lang/zh_cn.lang rename to project/assets/zombieawareness/lang/zh_cn.lang diff --git a/assets/zombieawareness/lang/zh_cn_old.lang b/project/assets/zombieawareness/lang/zh_cn_old.lang similarity index 100% rename from assets/zombieawareness/lang/zh_cn_old.lang rename to project/assets/zombieawareness/lang/zh_cn_old.lang diff --git a/pack.mcmeta b/project/pack.mcmeta similarity index 100% rename from pack.mcmeta rename to project/pack.mcmeta diff --git a/pack.png b/project/pack.png similarity index 100% rename from pack.png rename to project/pack.png diff --git a/requests.txt b/requests.txt index 4f1709bd3d1e..ffb0ca94335a 100644 --- a/requests.txt +++ b/requests.txt @@ -6,6 +6,7 @@ isort==4.2.15 lazy-object-proxy==1.3.1 mccabe==0.6.1 pylint==1.8.1 +pyyaml==3.12 requests==2.18.4 six==1.11.0 urllib3==1.22 diff --git a/run.sh b/run.sh deleted file mode 100755 index bfb47790db7c..000000000000 --- a/run.sh +++ /dev/null @@ -1,160 +0,0 @@ -#! /bin/bash -#! /usr/bin/python3 -# @Author TartaricAcid -# @Title 自动更新脚本主程序 -###################################### - -# 记录操作的主目录,方便后面操作 -PATH_MAIN="/root/943_Python/autocurse/" -cd "${PATH_MAIN}" - -# 进行github pull -git pull - -# 新建assets-tmp文件夹,放置临时从mod包中解压的语言文件 -mkdir assets-tmp - -# 新建mods文件夹,放置爬虫爬下来的mod -mkdir mods - -# 爬虫下载mod -python3 download.py - -# 再pull一次,我总担心爬虫的时候又发生变动,毕竟爬虫速度目前还是比较慢的 -git pull - -# 这一块有一个奇怪的bug,如果在主目录下操作解压,整个解压会全部出错 -# 考虑到1.12的特殊性,有的作者用小写,有的用大写 -cd mods -for filename in `ls` -do - unzip -o $filename assets/*/lang/en_US.lang -d ${PATH_MAIN}/assets-tmp/ - unzip -o $filename assets/*/lang/en_us.lang -d ${PATH_MAIN}/assets-tmp/ - unzip -o $filename assets/*/lang/zh_CN.lang -d ${PATH_MAIN}/assets-tmp/ - unzip -o $filename assets/*/lang/zh_cn.lang -d ${PATH_MAIN}/assets-tmp/ -done -echo "完成语言文件解压" - -# 记录操作的主目录下的资源包文件和提取出的语言文件地址,方便后面操作 -PATH_MODS=${PATH_MAIN}/assets-tmp/assets -PATH_ASSETS=${PATH_MAIN}/assets - -# 我管你大写还是小写,统统给我小写 -# 中文?统统改成zh_cn_old.lang,用作冗余剔除的参考 -# 鉴于mv命令的特殊性,改名和移动还是分两步走 -# 下面先是改名 -cd $PATH_MODS -for filename_mods in `ls` -do - if [ -f "${PATH_MODS}/${filename_mods}/lang/en_US.lang" ]; - then - echo "${filename_mods}模组的英文文件改写成小写" - mv "${PATH_MODS}/${filename_mods}/lang/en_US.lang" "${PATH_MODS}/${filename_mods}/lang/en_us.lang" - cd $PATH_MODS - fi - if [ -f "${PATH_MODS}/${filename_mods}/lang/zh_CN.lang" ]; - then - echo "${filename_mods}模组的中文文件改写成小写并转换" - mv "${PATH_MODS}/${filename_mods}/lang/zh_CN.lang" "${PATH_MODS}/${filename_mods}/lang/zh_cn_old.lang" - cd $PATH_MODS - continue - fi - if [ -f "${PATH_MODS}/${filename_mods}/lang/zh_cn.lang" ]; - then - echo "${filename_mods}模组的中文文件转换" - mv "${PATH_MODS}/${filename_mods}/lang/zh_cn.lang" "${PATH_MODS}/${filename_mods}/lang/zh_cn_old.lang" - cd $PATH_MODS - continue - fi - # 如果中文文件没有,就创建一个空文件 - # 这一块方便之后操作,毕竟比先用if判断文件是否存在要好用 - touch "${PATH_MODS}/${filename_mods}/lang/zh_cn_old.lang" -done - -# 接下来是移动 -# 遍历assets-tmp文件夹中所有子文件夹,对比assets文件夹中文件 -# 如果有相同的,就强制cp覆盖过去 -# 如果没有相同的,得新建文件夹,然后移动过去 -cd $PATH_MODS - for filename_mods in `ls` - do - cd $PATH_ASSETS - for filename_assets in `ls` - do - if [ "$filename_mods" == "$filename_assets" ]; - then - cp -f "${PATH_MODS}/${filename_mods}/lang/en_us.lang" "${PATH_ASSETS}/${filename_assets}/lang/en_us.lang" - cp -f "${PATH_MODS}/${filename_mods}/lang/zh_cn_old.lang" "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" - break - fi - done - if [ "$filename_mods" != "$filename_assets" ]; - then - echo "${filename_mods}" - mkdir -p "${PATH_ASSETS}/${filename_mods}/lang" - cp -f "${PATH_MODS}/${filename_assets}/lang/en_us.lang" "${PATH_ASSETS}/${filename_mods}/lang/en_us.lang" - cp -f "${PATH_MODS}/${filename_mods}/lang/zh_cn_old.lang" "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" - cd $PATH_MODS - fi -done - -# 我们现在有了给weblate用的en_us, zh_cn,还有剔除冗余用的zh_cn_old -# 接下来,需要将en_us, zh_cn_old混编(混编后命名为en_zh) -# 然后en_zh和zh_cn对比更新 -cd $PATH_ASSETS -for filename_assets in `ls` -do - if [ ! -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" ]; - then - touch "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" - fi - if [ ! -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" ]; - then - touch "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" - fi - if [ -f "${PATH_ASSETS}/${filename_assets}/lang/en_us.lang" ]; - then - cp -f "${PATH_ASSETS}/${filename_assets}/lang/en_us.lang" "${PATH_MAIN}/en_us.lang" - cp -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" "${PATH_MAIN}/zh_cn.lang" - cp -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" "${PATH_MAIN}/zh_cn_old.lang" - cd $PATH_MAIN - python3 all_update_1.py # 第一步:en_us和zh_cn_old混编得到en_zh - python3 all_update_2.py # 第二步:en_zh和zh_cn对比更新得到zh_cn_out - python3 all_update_3.py # 第三步:zh_cn_out和en_us对比更新得到zh_cn_del - cp -f "${PATH_MAIN}/zh_cn_del.lang" "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" - fi - # 删错不必要的残留文件 - cd $PATH_MAIN - rm *.lang -done - -# 接下来,按照雪尼的提醒,剔除不需要放入weblate的mod -# 读取black.list文件 -# 然后删除文件夹 -for del_file in `cat black.list` -do - cd $PATH_ASSETS - for filename_assets in `ls` - do - if [ ${del_file} = ${filename_assets} ] - then - rm -rf "${del_file}" - fi - done -done - -# 最后,删掉assets-tmp文件夹 -cd ${PATH_MAIN} -rm -rf ./assets-tmp - -# 删掉mods文件,方便操作 -rm -rf ./mods - -# 生成统计数据 -python3 info.py - -# 最后,进行 github 推送 -git add . -commit_date=`date +%F` -git commit -m "Auto Update By Shell Script, Update Time: ${commit_date}" -git push diff --git a/src/README.md b/src/README.md new file mode 100644 index 000000000000..b4e9ac94853e --- /dev/null +++ b/src/README.md @@ -0,0 +1,30 @@ +# Weblate-Translation-Project-Crawler-Tool +# Weblate 翻译项目爬虫工具 +鉴于之前写的那个代码实在是太差劲了,我觉得有必要重新按照相关标准重写一份,引入更为先进的包,使用更为安全的异常处理机制,同时遵循更加规范的书写格式。 + +按照需求,整个工具分为三部分 +1. 爬虫部分:能够爬取特定模组和整合包。 +2. 分析部分:需要拆模组得到语言文件,需要拆整合包得到里面的`json`文件,然后检索未下载模组进行下载。 +3. 处理部分:拆包得到 `en_us.lang`、`zh_cn.lang` 要与 weblate 已翻译文件进行对比更新,同时 `zh_cn.lang` 文件需要得到保留,作为发布时候剔除冗余的参考。 +4. 剔除冗余部分:最后发布时候的脚本,用来对比 weblate 翻译文件和原 mod 文件中中文文件,剔除重复部分,只保留翻译部分。打包成 Minecraft 官方的标准资源包格式。 + +## 1. 爬虫部分计划需求 +- 脚本应当提供一个配置文件(YAML格式),能够设定爬虫爬取的页数、黑名单、白名单。 +- 爬虫应当是多线程的,提升爬取速度。但是速度不易过快,防止被 curse 官方封锁。 +- 爬虫应当是增量更新,即二次爬取的时候,能够读取上次的记录,只对更新的部分进行爬取。 +- 爬虫要按照 mod 区的页数、爬取特定版本、按照下载量排名的模组,还要能爬取特定版本、按照下载量排名的整合包区的整合包。 +- 爬虫应当要爬取 [https://minecraft.curseforge.com](https://minecraft.curseforge.com) 的文件,而不是 [https://www.curseforge.com](https://www.curseforge.com) 的文件,因为第二个网址不提供 alpha 版本模组下载。 +- 爬虫需要提供全面的异常处理机制,比如`5xx`错误重试,`4xx`错误跳过功能。 +- 爬虫能够爬取白名单上面的模组,而不爬取黑名单模组。 + +## 2. 分析部分计划需求 +- 需要拆包得到 `en_us.lang` 和 `zh_cn.lang`,但是鉴于 1.12 目前大小写语言文件名情况层出不穷,统一将其处理为小写。 +- 需要拆整合文件,得到里面的 `manifest.json` 文件,进行检索下载。 + +## 3. 处理部分计划需求 +- 首先将拆包得到的 `en_us.lang` 和 `zh_cn.lang` 进行混编。而后将 Weblate 上的翻译文件与混编文件进行对比更新,只保留中文部分。 +- 上一步拆包得到 `en_us.lang` 需要直接覆盖仓库中旧的 `en_us.lang`。而上一步拆包得到 `zh_cn.lang` 则需要变为 `zh_cn_old.lang` 保留,留作发布时候剔除冗余的参考文件。 + +## 4. 剔除部分计划需求 +- 能够识别翻译过的文件和 `zh_cn_old.lang` 中相同的部分,剔除重复部分。 +- 最后按照 Minecraft 资源文件标准格式进行打包。 diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/crawler/__init__.py b/src/crawler/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/crawler/mod_downloader.py b/src/crawler/mod_downloader.py new file mode 100644 index 000000000000..3ac36ce28e94 --- /dev/null +++ b/src/crawler/mod_downloader.py @@ -0,0 +1,116 @@ +import csv +import urllib.request +import urllib.error +import threading +import re +import yaml +import time +import os + +# 读取配置文件 +with open('config.yml', 'r') as f: + config = yaml.load(f) + THREAD_NUM = config['threads_num'] + +# 记录下载列表 +DOWNLOAD_LIST = [] + + +# list 数据的布尔操作 +# 能够对比新旧两个 list 数据,返回新的 list 数据 +def list_boolean_operation(list_old, list_new): + list_processed = [] + for n in list_new: + if n not in list_old and n[2] != None: + list_processed.append(n) + return list_processed + + +# 遍历 logs 文件夹下文件,按照文件名进行排序 +def get_file_name(): + file_list = os.listdir('logs/mods/') + + def custom_sort(string): + string = string.replace('-', '') + string = string.rstrip('.csv') + return int(string) + + file_list.sort(key=custom_sort, reverse=True) + return file_list + + +# 将 logs 文件夹下特定文件转换为 list 数据 +def csv_to_list(i): + with open('logs/mods/' + get_file_name()[i], 'r') as c: + csv_list = list(csv.reader(c)) + return csv_list + + +# 一个拥有全面功能的下载函数 +def download(url, filename, num_retries=2): + print('下载链接:' + url) + try: + urllib.request.urlretrieve(url, filename) + except urllib.error.URLError as e: + print('错误:' + e.reason) + return False + if num_retries > 0: + if hasattr(e, 'code') and 500 <= e.code < 600: + return download(url, user_agent, num_retries - 1) + return True + + +# 多线程 +class MultiThread(threading.Thread): + def __init__(self, func, args, name=''): + threading.Thread.__init__(self) + self.name = name + self.func = func + self.args = args + + def run(self): + self.func(self.args) + +# 下载函数具体实现,通过传入整型数值,来下载对应的 mod +def func_mod_download(i): + url = 'https://minecraft.curseforge.com/projects/{}/files/{}/download'.format( + DOWNLOAD_LIST[i][0], DOWNLOAD_LIST[i][2]) + filename = '/tmp/mods/{}'.format(DOWNLOAD_LIST[i][0]) + download(url, filename) + + +# 多线程下载实例 +def main_mod_download(n): + threads = [] + for m in range(THREAD_NUM): + t = MultiThread(func_mod_download, n + m, func_mod_download.__name__) + threads.append(t) + + for m in range(THREAD_NUM): + threads[m].start() + + for m in range(THREAD_NUM): + threads[m].join() + + +# 下载列表调节,强制设置为线程的整数倍 +def download_list_tweaker(download_list): + left = THREAD_NUM - (len(DOWNLOAD_LIST) % THREAD_NUM) + for i in range(left): + baka_list = ['baka943','999','999'] # 充满智慧与力量的数值 + download_list.append(baka_list) + return download_list + + +# 存放 mods 的临时文件夹创建 +def make_temp_dir(): + if not os.path.exists('/tmp/mods'): + os.mkdir('/tmp/mods') + + +# 最后就是下载了 +make_temp_dir() +DOWNLOAD_LIST = list_boolean_operation(csv_to_list(1), csv_to_list(0)) +download_list_tweaker(DOWNLOAD_LIST) +for n in range(len(DOWNLOAD_LIST) // THREAD_NUM): + main_mod_download(n * THREAD_NUM) diff --git a/src/crawler/mod_info_get.py b/src/crawler/mod_info_get.py new file mode 100644 index 000000000000..cc3b8f3fb7ed --- /dev/null +++ b/src/crawler/mod_info_get.py @@ -0,0 +1,163 @@ +import csv +import urllib.request +import urllib.error +import threading +import re +import yaml +import time + +# 读取配置文件 +with open('config.yml', 'r') as f: + config = yaml.load(f) + MOD_PAGE = config['mod_page'] + VERSION = config['version'] + BLACK_LIST = config['mod_blacklist'] + WHITE_LIST = config['mod_whitelist'] + +# 版本映射表 +VERSION_DICT = { + '1.7.10': '2020709689:4449', + '1.8.9': '2020709689:5806', + '1.9.4': '2020709689:6084', + '1.10.2': '2020709689:6170', + '1.11.2': '2020709689:6452', + '1.12.2': '2020709689:6756' +} + +ALL_URL_LIST = [] + + +# 一个拥有全面功能的下载函数 +def download(url, user_agent='baka943', num_retries=2): + print('下载链接:' + url) + headers = {'User-agent': user_agent} + request = urllib.request.Request(url, headers=headers) + try: + html = urllib.request.urlopen(request).read() + except urllib.error.URLError as e: + print('错误:' + e.reason) + html = None + if num_retries > 0: + if hasattr(e, 'code') and 500 <= e.code < 600: + return download(url, user_agent, num_retries - 1) + return html + + +# 一个包含异常处理的信息抓取函数 +def get_info(url, regex): + page = download(url) + info = re.findall(regex, str(page)) + if len(info) == 0: + return None + else: + return info[0] + + +# 一个判定是否位于黑名单的函数 +def is_black_list(url_name): + if url_name in BLACK_LIST: + return True + else: + return False + + +# 多线程 +class MultiThread(threading.Thread): + def __init__(self, func, args, name=''): + threading.Thread.__init__(self) + self.name = name + self.func = func + self.args = args + + def run(self): + self.func(self.args) + + +# 页面下载 +def func_page_download(i): + # 获取 url name + url = 'https://minecraft.curseforge.com/mc-mods?filter-game-version=' + \ + VERSION_DICT.get(VERSION) + '&filter-sort=downloads&page=' + str(i + 1) + main_page = download(url) + url_name_list = re.findall( + r'', str(main_page)) + + # 获取 Project ID 和最新的 File ID + for url_name in url_name_list: + # 先判定是否位于黑名单中 + if is_black_list(url_name): + continue + + # Project ID 获取 + mod_url = 'https://minecraft.curseforge.com/projects/' + url_name + project_id = get_info(mod_url, r'
(.*?)
') + + # file id 获取 + file_url = 'https://minecraft.curseforge.com/projects/' + url_name + \ + '/files?filter-game-version=' + VERSION_DICT.get(VERSION) + file_id = get_info( + file_url, r'class="button tip fa-icon-download icon-only" href="/projects/.*?/files/(.*?)/download"') + + # 将 url_name, project_id, file_id 装入 list 中 + list = [url_name, project_id, file_id] + ALL_URL_LIST.append(list) + + +# 白名单下载 +def func_whitelist_dowload(url_name): + # 先判定是否位于黑名单中 + if not is_black_list(url_name): + # Project ID 获取 + mod_url = 'https://minecraft.curseforge.com/projects/' + url_name + project_id = get_info(mod_url, r'
(.*?)
') + + # file id 获取 + file_url = 'https://minecraft.curseforge.com/projects/' + url_name + \ + '/files?filter-game-version=' + VERSION_DICT.get(VERSION) + file_id = get_info( + file_url, r'class="button tip fa-icon-download icon-only" href="/projects/.*?/files/(.*?)/download"') + + # 将 url_name, project_id, file_id 装入 list 中 + info_list = [url_name, project_id, file_id] + ALL_URL_LIST.append(info_list) + + +# 多线程下载实例 +def main_page_download(): + threads = [] + for i in range(MOD_PAGE): + t = MultiThread(func_page_download, i, func_page_download.__name__) + threads.append(t) + + for i in range(MOD_PAGE): + threads[i].start() + + for i in range(MOD_PAGE): + threads[i].join() + + +# 多线程下载白名单文件 +def wiltelist_page_download(): + threads = [] + for i in range(len(WHITE_LIST)): + t = MultiThread(func_whitelist_dowload, + WHITE_LIST[i], func_page_download.__name__) + threads.append(t) + + for i in range(len(WHITE_LIST)): + threads[i].start() + + for i in range(len(WHITE_LIST)): + threads[i].join() + + +main_page_download() +wiltelist_page_download() + +# 结果记入 csv 文件中 +csv_time = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) +with open('logs/mods/' + csv_time + '.csv', 'w') as c: + csv_writer = csv.writer(c) + csv_writer.writerow(["Url Name", "Project ID", "File ID"]) + for i in ALL_URL_LIST: + csv_writer.writerow(i) diff --git a/src/crawler/modpack_downloader.py b/src/crawler/modpack_downloader.py new file mode 100644 index 000000000000..9f407ba5e4db --- /dev/null +++ b/src/crawler/modpack_downloader.py @@ -0,0 +1,117 @@ +import csv +import urllib.request +import urllib.error +import threading +import re +import yaml +import time +import os + +# 读取配置文件 +with open('config.yml', 'r') as f: + config = yaml.load(f) + THREAD_NUM = config['threads_num'] + +# 记录下载列表 +DOWNLOAD_LIST = [] + + +# list 数据的布尔操作 +# 能够对比新旧两个 list 数据,返回新的 list 数据 +def list_boolean_operation(list_old, list_new): + list_processed = [] + for n in list_new: + if n not in list_old and n[2] != None: + list_processed.append(n) + return list_processed + + +# 遍历 logs 文件夹下文件,按照文件名进行排序 +def get_file_name(): + file_list = os.listdir('logs/modpacks/') + file_list.remove('mods') # 移除 mods 文件夹的检索 + + def custom_sort(string): + string = string.replace('-', '') + string = string.rstrip('.csv') + return int(string) + + file_list.sort(key=custom_sort, reverse=True) + return file_list + + +# 将 logs 文件夹下特定文件转换为 list 数据 +def csv_to_list(i): + with open('logs/modpacks/' + get_file_name()[i], 'r') as c: + csv_list = list(csv.reader(c)) + return csv_list + + +# 一个拥有全面功能的下载函数 +def download(url, filename, num_retries=2): + print('下载链接:' + url) + try: + urllib.request.urlretrieve(url, filename) + except urllib.error.URLError as e: + print('错误:' + e.reason) + return False + if num_retries > 0: + if hasattr(e, 'code') and 500 <= e.code < 600: + return download(url, user_agent, num_retries - 1) + return True + + +# 多线程 +class MultiThread(threading.Thread): + def __init__(self, func, args, name=''): + threading.Thread.__init__(self) + self.name = name + self.func = func + self.args = args + + def run(self): + self.func(self.args) + +# 下载函数具体实现,通过传入整型数值,来下载对应的 mod +def func_modpack_download(i): + url = 'https://minecraft.curseforge.com/projects/{}/files/{}/download'.format( + DOWNLOAD_LIST[i][0], DOWNLOAD_LIST[i][2]) + filename = '/tmp/modpacks/{}'.format(DOWNLOAD_LIST[i][0]) + download(url, filename) + + +# 多线程下载实例 +def main_modpack_download(n): + threads = [] + for m in range(THREAD_NUM): + t = MultiThread(func_modpack_download, n + m, func_modpack_download.__name__) + threads.append(t) + + for m in range(THREAD_NUM): + threads[m].start() + + for m in range(THREAD_NUM): + threads[m].join() + + +# 下载列表调节,强制设置为线程的整数倍 +def download_list_tweaker(download_list): + left = THREAD_NUM - (len(DOWNLOAD_LIST) % THREAD_NUM) + for i in range(left): + baka_list = ['baka943','999','999'] # 充满智慧与力量的数值 + download_list.append(baka_list) + return download_list + + +# 存放 mods 的临时文件夹创建 +def make_temp_dir(): + if not os.path.exists('/tmp/modpacks'): + os.mkdir('/tmp/modpacks') + + +# 最后就是下载了 +make_temp_dir() +DOWNLOAD_LIST = list_boolean_operation(csv_to_list(1), csv_to_list(0)) +download_list_tweaker(DOWNLOAD_LIST) +for n in range(len(DOWNLOAD_LIST) // THREAD_NUM): + main_modpack_download(n * THREAD_NUM) diff --git a/src/crawler/modpack_info_get.py b/src/crawler/modpack_info_get.py new file mode 100644 index 000000000000..3fcdc3b29183 --- /dev/null +++ b/src/crawler/modpack_info_get.py @@ -0,0 +1,165 @@ +import csv +import urllib.request +import urllib.error +import threading +import re +import yaml +import time + +# 读取配置文件 +with open('config.yml', 'r') as f: + config = yaml.load(f) + MODPACK_PAGE = config['modpack_page'] + VERSION = config['version'] + BLACK_LIST = config['modpack_blacklist'] + WHITE_LIST = config['modpack_whitelist'] + +# 版本映射表 +VERSION_DICT = { + '1.7.10': '2020709689:4449', + '1.8.9': '2020709689:5806', + '1.9.4': '2020709689:6084', + '1.10.2': '2020709689:6170', + '1.11.2': '2020709689:6452', + '1.12.2': '2020709689:6756' +} + +ALL_URL_LIST = [] + + +# 一个拥有全面功能的下载函数 +def download(url, user_agent='baka943', num_retries=2): + print('下载链接:' + url) + headers = {'User-agent': user_agent} + request = urllib.request.Request(url, headers=headers) + try: + html = urllib.request.urlopen(request).read() + except urllib.error.URLError as e: + print('错误:' + e.reason) + html = None + if num_retries > 0: + if hasattr(e, 'code') and 500 <= e.code < 600: + return download(url, user_agent, num_retries - 1) + return html + + +# 一个包含异常处理的信息抓取函数 +def get_info(url, regex): + page = download(url) + info = re.findall(regex, str(page)) + if len(info) == 0: + return None + else: + return info[0] + + +# 一个判定是否位于黑名单的函数 +def is_black_list(url_name): + if url_name in BLACK_LIST: + return True + else: + return False + + +# 多线程 +class MultiThread(threading.Thread): + def __init__(self, func, args, name=''): + threading.Thread.__init__(self) + self.name = name + self.func = func + self.args = args + + def run(self): + self.func(self.args) + + +# 页面下载 +def func_page_download(i): + # 获取 url name + url = 'https://minecraft.curseforge.com/modpacks?filter-game-version=' + \ + VERSION_DICT.get(VERSION) + '&filter-sort=downloads&page=' + str(i + 1) + main_page = download(url) + url_name_list = re.findall( + r'
', str(main_page)) + + # 获取 Project ID 和最新的 File ID + for url_name in url_name_list: + # 先判定是否位于黑名单中 + if is_black_list(url_name): + continue + + # Project ID 获取 + modpack_url = 'https://minecraft.curseforge.com/projects/' + url_name + project_id = get_info( + modpack_url, r'
(.*?)
') + + # file id 获取 + file_url = 'https://minecraft.curseforge.com/projects/' + url_name + \ + '/files?filter-game-version=' + VERSION_DICT.get(VERSION) + file_id = get_info( + file_url, r'class="overflow-tip twitch-link" href="/projects/.*?/files/(.*?)"') + + # 将 url_name, project_id, file_id 装入 list 中 + list = [url_name, project_id, file_id] + ALL_URL_LIST.append(list) + + +# 白名单下载 +def func_whitelist_dowload(url_name): + # 先判定是否位于黑名单中 + if not is_black_list(url_name): + # Project ID 获取 + modpack_url = 'https://minecraft.curseforge.com/projects/' + url_name + project_id = get_info( + modpack_url, r'
(.*?)
') + + # file id 获取 + file_url = 'https://minecraft.curseforge.com/projects/' + url_name + \ + '/files?filter-game-version=' + VERSION_DICT.get(VERSION) + file_id = get_info( + file_url, r'class="overflow-tip twitch-link" href="/projects/.*?/files/(.*?)"') + + # 将 url_name, project_id, file_id 装入 list 中 + info_list = [url_name, project_id, file_id] + ALL_URL_LIST.append(info_list) + + +# 多线程下载实例 +def main_page_download(): + threads = [] + for i in range(MODPACK_PAGE): + t = MultiThread(func_page_download, i, func_page_download.__name__) + threads.append(t) + + for i in range(MODPACK_PAGE): + threads[i].start() + + for i in range(MODPACK_PAGE): + threads[i].join() + + +# 多线程下载白名单文件 +def wiltelist_page_download(): + threads = [] + for i in range(len(WHITE_LIST)): + t = MultiThread(func_whitelist_dowload, + WHITE_LIST[i], func_page_download.__name__) + threads.append(t) + + for i in range(len(WHITE_LIST)): + threads[i].start() + + for i in range(len(WHITE_LIST)): + threads[i].join() + + +main_page_download() +wiltelist_page_download() + +# 结果记入 csv 文件中 +csv_time = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) +with open('logs/modpacks/' + csv_time + '.csv', 'w') as c: + csv_writer = csv.writer(c) + csv_writer.writerow(["Url Name", "Project ID", "File ID"]) + for i in ALL_URL_LIST: + csv_writer.writerow(i) diff --git a/src/crawler/modpack_mod_downloader.py b/src/crawler/modpack_mod_downloader.py new file mode 100644 index 000000000000..4abaab3860bf --- /dev/null +++ b/src/crawler/modpack_mod_downloader.py @@ -0,0 +1,116 @@ +import csv +import urllib.request +import urllib.error +import threading +import re +import yaml +import time +import os + +# 读取配置文件 +with open('config.yml', 'r') as f: + config = yaml.load(f) + THREAD_NUM = config['threads_num'] + +# 记录下载列表 +DOWNLOAD_LIST = [] + + +# list 数据的布尔操作 +# 能够对比新旧两个 list 数据,返回新的 list 数据 +def list_boolean_operation(list_old, list_new): + list_processed = [] + for n in list_new: + if n not in list_old and n[2] != None: + list_processed.append(n) + return list_processed + + +# 遍历 logs 文件夹下文件,按照文件名进行排序 +def get_file_name(): + file_list = os.listdir('logs/modpacks/mods/') + + def custom_sort(string): + string = string.replace('-', '') + string = string.rstrip('.csv') + return int(string) + + file_list.sort(key=custom_sort, reverse=True) + return file_list + + +# 将 logs 文件夹下特定文件转换为 list 数据 +def csv_to_list(i): + with open('logs/modpacks/mods/' + get_file_name()[i], 'r') as c: + csv_list = list(csv.reader(c)) + return csv_list + + +# 一个拥有全面功能的下载函数 +def download(url, filename, num_retries=2): + print('下载链接:' + url) + try: + urllib.request.urlretrieve(url, filename) + except urllib.error.URLError as e: + print('错误:' + e.reason) + return False + if num_retries > 0: + if hasattr(e, 'code') and 500 <= e.code < 600: + return download(url, user_agent, num_retries - 1) + return True + + +# 多线程 +class MultiThread(threading.Thread): + def __init__(self, func, args, name=''): + threading.Thread.__init__(self) + self.name = name + self.func = func + self.args = args + + def run(self): + self.func(self.args) + +# 下载函数具体实现,通过传入整型数值,来下载对应的 mod +def func_mod_download(i): + url = 'https://minecraft.curseforge.com/projects/{}/files/{}/download'.format( + DOWNLOAD_LIST[i][0], DOWNLOAD_LIST[i][2]) + filename = '/tmp/mods/{}'.format(DOWNLOAD_LIST[i][0]) + download(url, filename) + + +# 多线程下载实例 +def main_mod_download(n): + threads = [] + for m in range(THREAD_NUM): + t = MultiThread(func_mod_download, n + m, func_mod_download.__name__) + threads.append(t) + + for m in range(THREAD_NUM): + threads[m].start() + + for m in range(THREAD_NUM): + threads[m].join() + + +# 下载列表调节,强制设置为线程的整数倍 +def download_list_tweaker(download_list): + left = THREAD_NUM - (len(DOWNLOAD_LIST) % THREAD_NUM) + for i in range(left): + baka_list = ['baka943','999','999'] # 充满智慧与力量的数值 + download_list.append(baka_list) + return download_list + + +# 存放 mods 的临时文件夹创建 +def make_temp_dir(): + if not os.path.exists('/tmp/mods'): + os.mkdir('/tmp/mods') + + +# 最后就是下载了 +make_temp_dir() +DOWNLOAD_LIST = list_boolean_operation(csv_to_list(1), csv_to_list(0)) +download_list_tweaker(DOWNLOAD_LIST) +for n in range(len(DOWNLOAD_LIST) // THREAD_NUM): + main_mod_download(n * THREAD_NUM) diff --git a/src/crawler/modpack_mod_info_get.py b/src/crawler/modpack_mod_info_get.py new file mode 100644 index 000000000000..4582d91d936c --- /dev/null +++ b/src/crawler/modpack_mod_info_get.py @@ -0,0 +1,203 @@ +import csv +import urllib.request +import urllib.error +import threading +import re +import yaml +import time +import os +import json + +DOWNLOAD_LIST = [] +ALL_URL_LIST = [] + +# 读取配置文件 +with open('config.yml', 'r') as f: + config = yaml.load(f) + THREAD_NUM = config['threads_num'] + BLACK_LIST = config['mod_blacklist'] + VERSION = config['version'] + +# 版本映射表 +VERSION_DICT = { + '1.7.10': '2020709689:4449', + '1.8.9': '2020709689:5806', + '1.9.4': '2020709689:6084', + '1.10.2': '2020709689:6170', + '1.11.2': '2020709689:6452', + '1.12.2': '2020709689:6756' +} + + +# 遍历 logs 文件夹下文件,按照文件名进行排序 +def get_file_name(log_path): + file_list = os.listdir(log_path) + + def custom_sort(string): + string = string.replace('-', '') + string = string.rstrip('.csv') + return int(string) + + file_list.sort(key=custom_sort, reverse=True) + return file_list + + +# 将 logs 文件夹下特定文件转换为 list 数据 +def csv_to_list(log_path): + with open(log_path + get_file_name(log_path)[0], 'r') as c: + csv_list = list(csv.reader(c)) + return csv_list + + +# 下载列表调节,强制设置为线程的整数倍 +def download_list_tweaker(download_list): + left = THREAD_NUM - (len(DOWNLOAD_LIST) % THREAD_NUM) + for i in range(left): + download_list.append('baka943') # 充满智慧与力量的数值 + return download_list + + +# 与 mod 日志对比函数,得出应该检索的 mod 信息 +def list_should_download(): + # 获取 modpacks 中的 mod 列表 + # 读取 manifest.json 文件,将其转换为 list + mod_list_1 = [] + for modpack in os.listdir('/tmp/modpacks/manifest/'): + path = '/tmp/modpacks/manifest/{}/manifest.json'.format(modpack) + with open(path, 'r') as f: + manifest = json.load(f) + for project in manifest['files']: + mod_list_1.append(project['projectID']) + mod_list_1 = list(set(mod_list_1)) # 剔除重复元素 + + # 将其与 mod 爬取的做对比,防止重复下载 + # 现将 mod 中的日志读取为 mod_list_2 + mod_list_2 = csv_to_list('logs/mods/') + + # 是的,接下来是蛋疼至极的部分!!! + # Python 的二维 list 不支持某一列索引!!! + # 所以,我们需要遍历,导出一个索引 + list_index = [] + for n in range(len(mod_list_2)): + list_index.append(mod_list_2[n][1]) + + # 在将 mod_list_1 与 list_index 对比,剔除重复的,得到 mod_list_3 + mod_list_3 = [] + for i in mod_list_1: + if str(i) not in list_index: + mod_list_3.append(str(i)) + + # 接下来,将 mod_list_5 拓展为线程的整数倍 + mod_list_3 = download_list_tweaker(mod_list_3) + return mod_list_3 + + +# 一个拥有全面功能的下载函数 +def download(url, user_agent='baka943', num_retries=2): + print('下载链接:' + url) + headers = {'User-agent': user_agent} + request = urllib.request.Request(url, headers=headers) + try: + html = urllib.request.urlopen(request).read() + except urllib.error.URLError as e: + print('错误:' + e.reason) + html = None + if num_retries > 0: + if hasattr(e, 'code') and 500 <= e.code < 600: + return download(url, user_agent, num_retries - 1) + return html + + +# 我们还需要一个能够获取 url name 的下载函数 +def url_name_get(url, user_agent='baka943', num_retries=2): + print('下载链接:' + url) + headers = {'User-agent': user_agent} + request = urllib.request.Request(url, headers=headers) + try: + url_name_full = urllib.request.urlopen(request).geturl() + url_name_list = re.findall( + r'https://minecraft.curseforge.com/projects/(.*)', url_name_full) + if len(url_name_list) == 0: + url_name = None + elif url_name_list[0] not in BLACK_LIST: + url_name = url_name_list[0] + else: + url_name = None + except urllib.error.URLError as e: + print('错误:' + e.reason) + url_name = None + if num_retries > 0: + if hasattr(e, 'code') and 500 <= e.code < 600: + return url_name_get(url, user_agent, num_retries - 1) + return url_name + + +# 一个包含异常处理的信息抓取函数 +def get_info(url, regex): + page = download(url) + info = re.findall(regex, str(page)) + if len(info) == 0: + return None + else: + return info[0] + + +# 多线程 +class MultiThread(threading.Thread): + def __init__(self, func, args, name=''): + threading.Thread.__init__(self) + self.name = name + self.func = func + self.args = args + + def run(self): + self.func(self.args) + + +# 页面下载 +def func_page_download(i): + project_id = DOWNLOAD_LIST[i] + + # url name 获取 + url = 'https://minecraft.curseforge.com/projects/' + DOWNLOAD_LIST[i] + url_name = url_name_get(url) + + # file id 获取 + file_url = 'https://minecraft.curseforge.com/projects/' + project_id + \ + '/files?filter-game-version=' + VERSION_DICT.get(VERSION) + file_id = get_info( + file_url, r'class="button tip fa-icon-download icon-only" href="/projects/.*?/files/(.*?)/download"') + + # 将 url name, project_id, file_id 装入 list 中 + if url_name != None and file_id != None: + list = [url_name, project_id, file_id] + ALL_URL_LIST.append(list) + + +# 多线程下载实例 +def main_mod_download(n): + threads = [] + for m in range(THREAD_NUM): + t = MultiThread(func_page_download, n + m, + func_page_download.__name__) + threads.append(t) + + for m in range(THREAD_NUM): + threads[m].start() + + for m in range(THREAD_NUM): + threads[m].join() + + +# 最后就是获取完整列表了 +DOWNLOAD_LIST = list_should_download() +for n in range(len(DOWNLOAD_LIST) // THREAD_NUM): + main_mod_download(n * THREAD_NUM) + +# 结果记入 csv 文件中 +csv_time = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) +with open('logs/modpacks/mods/' + csv_time + '.csv', 'w') as c: + csv_writer = csv.writer(c) + csv_writer.writerow(["Url Name", "Project ID", "File ID"]) + for i in ALL_URL_LIST: + csv_writer.writerow(i) diff --git a/src/downloadscript/newdownload.py b/src/downloadscript/newdownload.py deleted file mode 100644 index 130c2eb6b825..000000000000 --- a/src/downloadscript/newdownload.py +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid FledgeXu -# @Credit asdflj -# @Title 批量模组下载工具 -###################################### - -import time -import re -import queue -import threading -import datetime -import requests -from requests.utils import requote_uri - -print("Download Script Loading") -starttime = datetime.datetime.now() -LOG_DICT = {} # 记录更新的哈希表 -COURSEFOGE_PAGES = 20 # 要下载curseforge的页数 -GAME_VERSION = '1.12.2' # 要下载的游戏版本 -DOWNLOAD_COURSEFORGE_PAGE_THREADS = 5 # 允许几个线程同时下载 -MAX_MOD_DOWNLOAD_THREADS = 20 # 最多允许同时几个线程获取mod的下载链接 -MODID_QUEUE = queue.Queue() # 记录modid用队列 -MOD_INFO_QUEUE = queue.Queue() -# 对应不同版本的URL参数,留作备用 -VERSION_LIST = { - '1.7.10': '2020709689:4449', - '1.8.9': '2020709689:5806', - '1.9.4': '2020709689:6084', - '1.10.2': '2020709689:6170', - '1.11.2': '2020709689:6452', - '1.12.2': '2020709689:6756' -} - - -class get_coursefogr_page(threading.Thread): - def __init__(self, download_url, modidqueue): - threading.Thread.__init__(self) - self.url = download_url - self.modidqueue = modidqueue - - def run(self): - data = requests.request( - method='get', url=self.url).text # 得到courseforge页面原始数据 - modid = re.findall(r"href=\"/minecraft/mc-mods/(.*)/download\"", data) - for i in modid: - self.modidqueue.put(i) # 将modid存入队列中 - - -class get_mod_download_link(threading.Thread): - def __init__(self, modidqueue, version_number, mod_info_queue): - threading.Thread.__init__(self) - self.modid = modidqueue.get() - self.modidqueue = modidqueue - self.version_number = version_number - self.mod_info_queue = mod_info_queue - - def run(self): - mod_download_page = "https://www.curseforge.com/minecraft/mc-mods/{}/files/?{}".format( - self.modid, self.version_number) - try: - mod_dowload_page_raw = requests.get( - requote_uri(mod_download_page)).text - except OSError: - self.modidqueue.put(self.modid) - print("获取下载列表页面失败,将重新尝试") - exit() - project_file_id = re.findall(r"\"ProjectFileID\": (.*),", - mod_dowload_page_raw) - if len(project_file_id) != 0: - raw_download_url = "https://www.curseforge.com/minecraft/mc-mods/{}/download/{}/file".format( - self.modid, project_file_id[0]) - try: - real_url = requests.request( - method='get', url=raw_download_url, allow_redirects=False) - except OSError: - self.modidqueue.put(self.modid) - print("获取下载链接失败将会重新尝试") - exit() - real_url = real_url.headers.get('Location') - print(''' - ############################### - # 下载模组:{} - # 下载地址:{} - # 文件ID: {} - # ###############################'''.format( - self.modid, real_url, project_file_id[0])) - self.mod_info_queue.put([self.modid, real_url, project_file_id[0]]) - else: - print("{}可能是Alpha版本没有下载地址.".format(self.modid)) - - -# 读取已经历史记录 - -with open('download.log', 'U', encoding='UTF-8') as download_log: - for entry in download_log.readlines(): - if (entry is not None) and (entry[0] != '#') and ('=' in entry): - entry_list = entry.split('=', 1) # 依据等号切分日志文件条目 - LOG_DICT[entry_list[0]] = entry_list[1] - -# 生成获取modid获取页面,并生成处理线程放入列表 -DOWNLOAD_COURSEFORGE_PAGE_THREAD_LIST = [] # 列表:存放处理页面线程 -for num in range(1, COURSEFOGE_PAGES + 1): - url = ("https://www.curseforge.com/minecraft/mc-mods?{}" - "&filter-sort=downloads&page={}").format(GAME_VERSION, str(num)) - DOWNLOAD_COURSEFORGE_PAGE_THREAD_LIST.append( - get_coursefogr_page(url, MODID_QUEUE)) - -# 控制线程数,并多线程获取Modid -COUNTER = 0 -while True: - if (len(threading.enumerate()) <= DOWNLOAD_COURSEFORGE_PAGE_THREADS + 1 - ) and (COUNTER <= len(DOWNLOAD_COURSEFORGE_PAGE_THREAD_LIST) - 1): - DOWNLOAD_COURSEFORGE_PAGE_THREAD_LIST[COUNTER].start() - COUNTER = COUNTER + 1 - elif (len(threading.enumerate()) == 1) and ( - COUNTER > len(DOWNLOAD_COURSEFORGE_PAGE_THREAD_LIST) - 1): - break - -while True: - if (not MODID_QUEUE.empty()) and (len(threading.enumerate()) <= MAX_MOD_DOWNLOAD_THREADS + 1): - temp = get_mod_download_link(MODID_QUEUE, - VERSION_LIST.get(GAME_VERSION), - MOD_INFO_QUEUE) - temp.start() - elif (MODID_QUEUE.empty) and (len(threading.enumerate()) == 1): - break - -with open('download.log', 'w+', encoding='UTF-8') as download_log: - download_log.writelines("# {}{}".format(time.strftime( - "%Y-%m-%d %H:%M:%S", time.localtime()), "\n\n")) - while not MOD_INFO_QUEUE.empty(): - modinfoinstance = MOD_INFO_QUEUE.get() - try: - if int(LOG_DICT[modinfoinstance[0]]) == int(modinfoinstance[2]): - print("{} 不需要更新".format(modinfoinstance[0])) - else: - print("{} 已经更新".format(modinfoinstance[0])) - except KeyError: - print("{} 是新添加的Mod".format(modinfoinstance[0])) - download_log.writelines("{}={}\n".format( - modinfoinstance[0], modinfoinstance[2])) - -endtime = datetime.datetime.now() - -print("本次一共执行了 {} 秒".format((endtime - starttime).seconds)) diff --git a/src/handle/__init__.py b/src/handle/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/handle/handle.py b/src/handle/handle.py new file mode 100644 index 000000000000..fd44f5dde1ad --- /dev/null +++ b/src/handle/handle.py @@ -0,0 +1,42 @@ +import os + + +# 获取语言文件,处理得到一个 dict +def lang_to_dict(file_path): + lang_dict = {} + with open(file_path, 'r', errors='ignore') as f: + for line in f.readlines(): + if line != None and line[0] != '#' and line[0] != '/' and '=' in line: + line_list = line.split('=', 1) + lang_dict[line_list[0]] = line_list[1] + return lang_dict + + +# 传入 dict1(英文)、dict2(模组中的中文)、dict3(weblate上面的中文) +def lang_handle(dict1, dict2, dict3): + dict_out = {} + for k in dict1.keys(): + if k in dict3: + dict_out[k] = dict3[k] + continue + elif k in dict2: + dict_out[k] = dict2[k] + return dict_out + + +# 开始遍历文件了 +file_list = os.listdir('project/assets/') +for modid in file_list: + dict_out = {} + if not os.path.exists('project/assets/{}/lang/en_us.lang'.format(modid)): + continue + en_us_dict = lang_to_dict( + 'project/assets/{}/lang/en_us.lang'.format(modid)) + zh_cn_old_dict = lang_to_dict( + 'project/assets/{}/lang/zh_cn_old.lang'.format(modid)) + zh_cn_dict = lang_to_dict( + 'project/assets/{}/lang/zh_cn.lang'.format(modid)) + dict_out = lang_handle(en_us_dict, zh_cn_old_dict, zh_cn_dict) + with open('project/assets/{}/lang/zh_cn.lang'.format(modid), 'w') as f: + for key in dict_out.keys(): + f.writelines(key + '=' + dict_out[key]) diff --git a/src/redundancy/__init__.py b/src/redundancy/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/redundancy/redundancy.py b/src/redundancy/redundancy.py new file mode 100644 index 000000000000..d26c99db0a82 --- /dev/null +++ b/src/redundancy/redundancy.py @@ -0,0 +1,59 @@ +import os + + +# 剔除冗余的函数,传入 dict1(模组中中文)和 dict2(weblate上面的翻译) +def redundancy_del(dict1, dict2): + dict3 = {} + for i in dict2.keys(): + try: + if not dict2[i] == dict1[i]: + dict3[i] = dict2[i] + except: + dict3[i] = dict2[i] + return dict3 + + +# 获取语言文件,处理得到一个 dict +def lang_to_dict(file_path): + lang_dict = {} + with open(file_path, 'r', errors='ignore') as f: + for line in f.readlines(): + if line != None and line[0] != '#' and line[0] != '/' and '=' in line: + line_list = line.split('=', 1) + lang_dict[line_list[0]] = line_list[1] + return lang_dict + + +# 临时文件创建 +os.system('cp -rf ./project ./project-tmp') + +# 处理主程序 +for modid in os.listdir('project-tmp/assets'): + # 先判定我们将要处理的东西是否存在 + if not os.path.exists('project-tmp/assets/{}/lang/zh_cn.lang'.format(modid)): + continue + if not os.path.exists('project-tmp/assets/{}/lang/zh_cn_old.lang'.format(modid)): + continue + + # 然后先剔除英文 + os.system('rm -f project-tmp/assets/{}/lang/en_us.lang'.format(modid)) + + # weblate 中文文件改名 + os.system( + 'mv project-tmp/assets/{}/lang/zh_cn.lang project-tmp/assets/{}/lang/zh_cn_tmp.lang'.format(modid, modid)) + + # 处理得到 dict + zh_cn_old = lang_to_dict( + 'project-tmp/assets/{}/lang/zh_cn_old.lang'.format(modid)) + zh_cn_tmp = lang_to_dict( + 'project-tmp/assets/{}/lang/zh_cn_tmp.lang'.format(modid)) + zh_cn = redundancy_del(zh_cn_old, zh_cn_tmp) + + # 写成语言文件 + with open('project-tmp/assets/{}/lang/zh_cn.lang'.format(modid), 'w') as f: + for key in zh_cn.keys(): + f.writelines(key + '=' + zh_cn[key]) + + # 删除不需要的文件 + os.system('rm -f project-tmp/assets/{}/lang/zh_cn_old.lang'.format(modid)) + os.system('rm -f project-tmp/assets/{}/lang/zh_cn_tmp.lang'.format(modid)) diff --git a/src/unzip/__init__.py b/src/unzip/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/unzip/mod_unzip.py b/src/unzip/mod_unzip.py new file mode 100644 index 000000000000..8b3ce2f3bdb3 --- /dev/null +++ b/src/unzip/mod_unzip.py @@ -0,0 +1,47 @@ +import csv +import threading +import re +import time +import os +import shutil + +# 我不是很喜欢 python 的解压模块 +# 我喜欢 shell 的 unzip 工具 +for mod in os.listdir('/tmp/mods/'): + # 会把先前的 assets 文件夹也记录上,忽略它 + if mod == "assets": + continue + + # 然后记录需要解压的语言文件 + name_unzip_list = ['en_US.lang', 'en_us.lang', 'zh_CN.lang', 'zh_cn.lang'] + + # 遍历解压,鉴于 shell 的特性,所以不存在的会直接跳过,无须担心 + for name_unzip in name_unzip_list: + os.system( + 'unzip -o /tmp/mods/{} assets/*/lang/{} -d /tmp/mods/'.format(mod, name_unzip)) + +for mod in os.listdir('/tmp/mods/assets/'): + # 记录需要更改的字典 + name_change_dict = {"en_US.lang": "en_us.lang", + "zh_CN.lang": "zh_cn_old.lang", + "zh_cn.lang": "zh_cn_old.lang"} + + # 遍历进行改名 + for key, value in name_change_dict.items(): + if os.path.exists('/tmp/mods/assets/{}/lang/{}'.format(mod, key)): + shutil.move('/tmp/mods/assets/{}/lang/{}'.format(mod, key), + '/tmp/mods/assets/{}/lang/{}'.format(mod, value)) + +# 拆包得到的中英文文件强制挪回来 +os.system('cp -rf /tmp/mods/assets/* ./project/assets') + +# 遍历 project/assets 文件夹 +# 强制补全所有的 zh_cn.lang 和 zh_cn_old.lang +# 与其处理特殊问题,不如直接统一规格 +for mod in os.listdir('./project/assets/'): + zh_cn_path = './project/assets/{}/lang/zh_cn.lang'.format(mod) + zh_cn_old_path = './project/assets/{}/lang/zh_cn_old.lang'.format(mod) + if not os.path.exists(zh_cn_path): + os.system('touch ' + zh_cn_path) + if not os.path.exists(zh_cn_old_path): + os.system('touch ' + zh_cn_old_path) diff --git a/src/unzip/modpack_unzip.py b/src/unzip/modpack_unzip.py new file mode 100644 index 000000000000..58f749014392 --- /dev/null +++ b/src/unzip/modpack_unzip.py @@ -0,0 +1,19 @@ +import csv +import threading +import re +import time +import os +import shutil + +# 我不是很喜欢 python 的解压模块 +# 我喜欢 shell 的 unzip 工具 +for modpack in os.listdir('/tmp/modpacks/'): + # 会把先前的 assets 文件夹也记录上,忽略它 + if modpack == "manifest": + continue + + path = '/tmp/modpacks/manifest/{}'.format(modpack) + os.system('mkdir -p ' + path) + # 遍历解压,鉴于 shell 的特性,所以不存在的会直接跳过,无须担心 + os.system( + 'unzip -o /tmp/modpacks/{} manifest.json -d {}/'.format(modpack, path)) diff --git a/sync.py b/sync.py deleted file mode 100644 index 9f50f7a562d7..000000000000 --- a/sync.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 自动同步脚本 -###################################### - -# 是的,我要同步weblate上翻译的汉化项目 -# 不同的作者,放置文件的位置不同 -# 甚至版本的分支页不相同 -# 鉴于整体位置比较固定,一般不会变动 -# weblate上面目前翻译项目并不多 -# 故采用硬编码方式获取文件 - -import urllib.request -import urllib.parse -import os - -# 读取 log 文件,做到增量更新 -weblate = open("weblate.md", 'r', encoding='UTF-8') - -# 接下来,下载weblate汉化文件 -for lines in weblate.readlines(): - path, url = lines.split('|', 1) - if path == "file_path" or path == ":--:": - continue - os.makedirs(path) - try: - urllib.request.urlretrieve(url, path + "/zh_cn.lang") - except: - print("地址有误,可能是发生了变动\n无效地址为:" + url) - -weblate.close() diff --git a/sync.sh b/sync.sh deleted file mode 100755 index f4903f59900f..000000000000 --- a/sync.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -#!/usr/bin/python3 -# @Author TartaricAcid -# @Title 自动同步脚本 -# 是的,我要同步weblate上翻译的汉化项目 -# 是的,我就要用shell套python -###################################### - -# 记录操作的主目录,方便后面操作 -PATH_MAIN=`pwd` -PATH_ASSETS=${PATH_MAIN}/assets -PATH_WEBLATE=${PATH_MAIN}/weblate/assets - -# python脚本下载 -python3 sync.py - -# 强制覆盖 -cp -r -f ./weblate/* ./ - -# 我们现在有了给weblate用的en_us, zh_cn,还有剔除冗余用的zh_cn_old -# 接下来,需要将en_us, zh_cn_old混编(混编后命名为en_zh) -# 然后en_zh和zh_cn对比更新 -cd $PATH_WEBLATE -for filename_assets in `ls` -do - if [ ! -d "${PATH_ASSETS}/${filename_assets}/lang" ]; - then - mkdir -p "${PATH_ASSETS}/${filename_assets}/lang" - fi - if [ ! -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" ]; - then - touch "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" - fi - if [ ! -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" ]; - then - touch "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" - fi - if [ -f "${PATH_ASSETS}/${filename_assets}/lang/en_us.lang" ]; - then - cp -f "${PATH_ASSETS}/${filename_assets}/lang/en_us.lang" "${PATH_MAIN}/en_us.lang" - cp -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" "${PATH_MAIN}/zh_cn.lang" - cp -f "${PATH_ASSETS}/${filename_assets}/lang/zh_cn_old.lang" "${PATH_MAIN}/zh_cn_old.lang" - cd $PATH_MAIN - python3 all_update_1.py # 第一步:en_us和zh_cn_old混编得到en_zh - python3 all_update_2.py # 第二步:en_zh和zh_cn对比更新得到zh_cn_out - python3 all_update_3.py # 第三步:zh_cn_out和en_us对比更新得到zh_cn_del - cp -f "${PATH_MAIN}/zh_cn_del.lang" "${PATH_ASSETS}/${filename_assets}/lang/zh_cn.lang" - fi - # 删错不必要的残留文件 - cd $PATH_MAIN - rm *.lang -done - -rm -rf ./weblate diff --git a/weblate.md b/weblate.md deleted file mode 100644 index 1c5842e9fd97..000000000000 --- a/weblate.md +++ /dev/null @@ -1,15 +0,0 @@ -file_path|url -:--:|:--: -weblate/assets/statues/lang|https://raw.githubusercontent.com/CFPAOrg/StatuesMod/master/src/main/resources/assets/statues/lang/zh_cn.lang -weblate/assets/journeymap/lang|https://raw.githubusercontent.com/CFPAOrg/JourneyMap/master/zh_cn.lang -weblate/assets/ironbackpacks/lang|https://raw.githubusercontent.com/CFPAOrg/IronBackpacks/dev-1.12/src/main/resources/assets/ironbackpacks/lang/zh_CN.lang -weblate/assets/stairs/lang|https://raw.githubusercontent.com/CFPAOrg/ForgeStairs/master/src/main/resources/assets/stairs/lang/zh_cn.lang -weblate/assets/overloaded/lang|https://raw.githubusercontent.com/CFPAOrg/Overloaded-Assets/master/lang/zh_cn.lang -weblate/assets/wizardry/lang|https://raw.githubusercontent.com/CFPAOrg/Wizardry/master/src/main/resources/assets/wizardry/lang/zh_cn.lang -weblate/assets/nuclearcraft/lang|https://raw.githubusercontent.com/CFPAOrg/NuclearCraft/master/src/main/resources/assets/nuclearcraft/lang/zh_CN.lang -weblate/assets/minecolonies/lang|https://raw.githubusercontent.com/CFPAOrg/minecolonies/version/1.12/src/main/resources/assets/minecolonies/lang/zh_cn.lang -weblate/assets/chisel/lang|https://raw.githubusercontent.com/CFPAOrg/Chisel/1.10/dev/src/main/resources/assets/chisel/lang/zh_CN.lang -weblate/assets/topaddons/lang|https://raw.githubusercontent.com/CFPAOrg/TOPAddons/1.12/src/main/resources/assets/topaddons/lang/zh_cn.lang -weblate/assets/immersivepetroleum/lang|https://raw.githubusercontent.com/CFPAOrg/ImmersivePetroleum/master/src/main/resources/assets/immersivepetroleum/lang/zh_CN.lang -weblate/assets/acintegration/lang|https://raw.githubusercontent.com/CFPAOrg/AbyssalCraft-Integration/master/src/main/resources/assets/acintegration/lang/zh_CN.lang -weblate/assets/ftbl/lang|https://raw.githubusercontent.com/CFPAOrg/FTBLib/master/src/main/resources/assets/ftbl/lang/zh_CN.lang diff --git a/zip.py b/zip.py new file mode 100644 index 000000000000..66bba1d56f85 --- /dev/null +++ b/zip.py @@ -0,0 +1,16 @@ +#!/usr/bin/python3 +# 这一块属于独立的模块,并不记入主程序 +# 给 Travis CI 用的,用来剔除重复文件 + +import os +import src.redundancy.redundancy + +os.system('mv ./project-tmp/assets ./') +os.system('mv ./project-tmp/pack.mcmeta ./') +os.system('mv ./project-tmp/pack.png ./') +os.system('zip -r -9 "Minecraft-Mod-Language-Modpack.zip" "assets" "pack.mcmeta" "pack.png" "README.md" "LICENSE"') +os.system('rm -rf ./assets') +os.system('rm -rf ./pack.mcmeta') +os.system('rm -rf ./pack.png') + +os.system('rm -rf ./project-tmp') diff --git a/zip.sh b/zip.sh deleted file mode 100644 index 1867003f48ac..000000000000 --- a/zip.sh +++ /dev/null @@ -1,44 +0,0 @@ -#! /bin/bash -#! /usr/bin/python3 -# @Author TartaricAcid -# @Title 自动打包工具 -###################################### - -# 创建空文件夹,放置材质包 -mkdir release - -# 记录地址,方便操作 -PATH_MAIN=`pwd` -PATH_RELE=${PATH_MAIN}/release - -# 复制材质包必须的几样东西 -# 材质包本体、识别文件、图标、说明、许可证 -cp -fr "${PATH_MAIN}/assets" "${PATH_MAIN}/release" -cp -f "${PATH_MAIN}/pack.mcmeta" "${PATH_MAIN}/release/pack.mcmeta" -cp -f "${PATH_MAIN}/pack.png" "${PATH_MAIN}/release/pack.png" -cp -f "${PATH_MAIN}/README.md" "${PATH_MAIN}/release/README.md" -cp -f "${PATH_MAIN}/LICENSE" "${PATH_MAIN}/release/LICENSE" - -# 首先对比zh_cn_old,剔除重复字符串 -cd ${PATH_MAIN}/release/assets -for modid in `ls` -do - if [ -f ${PATH_MAIN}/release/assets/${modid}/lang/en_us.lang ]; - then - rm "${PATH_MAIN}/release/assets/${modid}/lang/en_us.lang" - mv "${PATH_MAIN}/release/assets/${modid}/lang/zh_cn.lang" "${PATH_MAIN}/zh_cn.lang" - mv "${PATH_MAIN}/release/assets/${modid}/lang/zh_cn_old.lang" "${PATH_MAIN}/zh_cn_old.lang" - cd ${PATH_MAIN} - python3 delete_update.py - mv "${PATH_MAIN}/zh_cn_out.lang" "${PATH_MAIN}/release/assets/${modid}/lang/zh_cn.lang" - cd ${PATH_MAIN} - rm *.lang - fi -done - -# 然后打包 -cd "${PATH_MAIN}/release" -zip -r "${PATH_MAIN}/Minecraft-Mod-Language-Modpack.zip" "assets" "pack.mcmeta" "pack.png" "README.md" "LICENSE" - -# 删除临时文件夹 -rm -rf "${PATH_MAIN}/release"