Skip to content

Instantly share code, notes, and snippets.

@temp1011
Last active March 17, 2019 00:47
Show Gist options
  • Save temp1011/c7604bda3678c27c08ab9b4aa5368fa7 to your computer and use it in GitHub Desktop.
Save temp1011/c7604bda3678c27c08ab9b4aa5368fa7 to your computer and use it in GitHub Desktop.
identical textures
import os
import hashlib
hashes = {}
for root, dirs, files in os.walk("."):
for f in files:
if not f.endswith(".png"):
continue
fname = os.path.join(root, f)
with open(fname, "rb") as openf:
h = hashlib.md5(openf.read()).hexdigest()
if hashes.get(h) is not None:
print(fname, hashes.get(h))
continue
else:
hashes[h] = fname
./textures/blocks/enrichment_chamber/enrichmentchamberbackon.png ./textures/blocks/enrichment_chamber/enrichmentchamberback.png
./textures/blocks/enrichment_chamber/enrichmentchambertopon.png ./textures/blocks/enrichment_chamber/enrichmentchambertop.png
./textures/blocks/enrichment_chamber/enrichmentchamberright.png ./textures/blocks/enrichment_chamber/enrichmentchamberrighton.png
./textures/blocks/enrichment_chamber/enrichmentchamberleft.png ./textures/blocks/enrichment_chamber/enrichmentchamberlefton.png
./textures/blocks/models/multipart/opaque/pressurizedtubeultimate.png ./textures/blocks/models/multipart/pressurizedtubeultimate.png
./textures/blocks/models/multipart/opaque/pressurizedtubeelite.png ./textures/blocks/models/multipart/pressurizedtubeelite.png
./textures/blocks/models/multipart/opaque/universalcableultimate.png ./textures/blocks/models/multipart/universalcableultimate.png
./textures/blocks/models/multipart/opaque/pressurizedtubebasic.png ./textures/blocks/models/multipart/pressurizedtubebasic.png
./textures/blocks/models/multipart/opaque/thermodynamicconductorultimate.png ./textures/blocks/models/multipart/thermodynamicconductorultimate.png
./textures/blocks/models/multipart/opaque/thermodynamicconductorelite.png ./textures/blocks/models/multipart/thermodynamicconductorelite.png
./textures/blocks/models/multipart/opaque/pressurizedtubeadvanced.png ./textures/blocks/models/multipart/pressurizedtubeadvanced.png
./textures/blocks/models/multipart/opaque/universalcablebasic.png ./textures/blocks/models/multipart/universalcablebasic.png
./textures/blocks/models/multipart/opaque/logisticaltransporterglass.png ./textures/blocks/models/multipart/logisticaltransporterglass.png
./textures/blocks/models/multipart/opaque/universalcableelite.png ./textures/blocks/models/multipart/universalcableelite.png
./textures/blocks/models/multipart/opaque/universalcableadvanced.png ./textures/blocks/models/multipart/universalcableadvanced.png
./textures/blocks/models/multipart/opaque/logisticaltransporterverticalglass.png ./textures/blocks/models/multipart/logisticaltransporterverticalglass.png
./textures/blocks/models/multipart/opaque/thermodynamicconductoradvanced.png ./textures/blocks/models/multipart/thermodynamicconductoradvanced.png
./textures/blocks/models/multipart/opaque/thermodynamicconductorbasic.png ./textures/blocks/models/multipart/thermodynamicconductorbasic.png
./textures/blocks/bin/binadvancedrighton.png ./textures/blocks/bin/binadvancedlefton.png
./textures/blocks/bin/binadvancedleft.png ./textures/blocks/bin/binadvancedright.png
./textures/blocks/bin/binadvancedbottom.png ./textures/blocks/bin/binbasicbottom.png
./textures/blocks/overlay/overlayaqua.png ./textures/blocks/overlay/overlay_aqua.png
./textures/blocks/overlay/overlayblack.png ./textures/blocks/overlay/overlay_black.png
./textures/blocks/overlay/overlay_darkblue.png ./textures/blocks/overlay/overlaydarkblue.png
./textures/blocks/overlay/overlay_brown.png ./textures/blocks/overlay/overlaybrown.png
./textures/blocks/overlay/overlayyellow.png ./textures/blocks/overlay/overlay_yellow.png
./textures/blocks/overlay/overlaydarkaqua.png ./textures/blocks/overlay/overlay_darkaqua.png
./textures/blocks/overlay/overlay_brightgreen.png ./textures/blocks/overlay/overlaybrightgreen.png
./textures/blocks/overlay/overlay_orange.png ./textures/blocks/overlay/overlayorange.png
./textures/blocks/overlay/overlay_white.png ./textures/blocks/overlay/overlaywhite.png
./textures/blocks/overlay/overlay_darkred.png ./textures/blocks/overlay/overlaydarkred.png
./textures/blocks/overlay/overlaydarkgreen.png ./textures/blocks/overlay/overlay_darkgreen.png
./textures/blocks/overlay/overlaypink.png ./textures/blocks/overlay/overlay_pink.png
./textures/blocks/overlay/overlayindigo.png ./textures/blocks/overlay/overlay_indigo.png
./textures/blocks/overlay/overlay_brightpink.png ./textures/blocks/overlay/overlaybrightpink.png
./textures/blocks/overlay/overlaydarkgrey.png ./textures/blocks/overlay/overlay_darkgrey.png
./textures/blocks/overlay/overlaygrey.png ./textures/blocks/overlay/overlay_grey.png
./textures/blocks/overlay/overlay_purple.png ./textures/blocks/overlay/overlaypurple.png
./textures/blocks/overlay/overlayred.png ./textures/blocks/overlay/overlay_red.png
./textures/blocks/factory/advanced/advancedfactorybottom.png ./textures/blocks/factory/basic/basicfactorybottom.png
./textures/blocks/factory/elite/elitefactorybottom.png ./textures/blocks/factory/basic/basicfactorybottom.png
./textures/blocks/fuelwood_heater/fuelwoodheaterfront.png ./textures/blocks/fuelwood_heater/fuelwoodheaterback.png
./textures/blocks/fuelwood_heater/fuelwoodheaterbackon.png ./textures/blocks/fuelwood_heater/fuelwoodheaterfronton.png
./textures/blocks/combiner/combinerright.png ./textures/blocks/combiner/combinerrighton.png
./textures/blocks/combiner/combinerbackon.png ./textures/blocks/combiner/combinerback.png
./textures/blocks/combiner/combinertopon.png ./textures/blocks/combiner/combinertop.png
./textures/blocks/combiner/combinerleft.png ./textures/blocks/combiner/combinerlefton.png
./textures/blocks/combiner/combinerbottom.png ./textures/blocks/crusher/crusherbottom.png
./particles/laser.png ./textures/blocks/laser.png
./gui/guinull.png ./gui/guimatrixstats.png
./gui/guitoredictfilter.png ./gui/guitmodidfilter.png
./gui/guipasswordmodify.png ./gui/guipasswordenter.png
./render/fluidicplenisher.png ./textures/blocks/models/fluidic_plenisher.png
./render/fluidtank.png ./textures/blocks/models/fluid_tank.png
./render/fluidtankon.png ./textures/blocks/models/fluid_tank_on.png
./render/obsidiantnt.png ./textures/blocks/models/obsidian_tnt.png
./render/energycube.png ./textures/blocks/models/energy_cube.png
./render/chargepad.png ./textures/blocks/models/chargepad.png
./render/robit.png ./textures/entities/robit.png
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment