diff --git a/common/src/main/java/muramasa/gregtech/GregTech.java b/common/src/main/java/muramasa/gregtech/GregTech.java index 211f71be92..4d6346dccf 100644 --- a/common/src/main/java/muramasa/gregtech/GregTech.java +++ b/common/src/main/java/muramasa/gregtech/GregTech.java @@ -29,7 +29,6 @@ import muramasa.gregtech.loader.multi.*; import muramasa.gregtech.proxy.CommonHandler; import muramasa.gregtech.proxy.ServerHandler; -import net.minecraft.world.level.block.Blocks; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -138,7 +137,7 @@ public static void registerRecipeLoaders(IAntimatterRegistrar registrar, IRecipe loader.accept("cutting", CuttingLoader::init); loader.accept("fermenting", Fermenter::init); loader.accept("pressing", FormingPress::init); - loader.accept("chemical_bathing", ChemicalBath::init); + loader.accept("bathing", Bath::init); loader.accept("heat_exchanging", HeatExchangerLoader::init); loader.accept("extruding", ExtruderLoader::init); loader.accept("distilling", DistilleryLoader::init); diff --git a/common/src/main/java/muramasa/gregtech/data/Guis.java b/common/src/main/java/muramasa/gregtech/data/Guis.java index bbb4973b6d..789ff16128 100644 --- a/common/src/main/java/muramasa/gregtech/data/Guis.java +++ b/common/src/main/java/muramasa/gregtech/data/Guis.java @@ -137,7 +137,7 @@ public static void init(Side side) { FLUID_HEATER.add(ENERGY, 80, 63).add(FL_IN, 53, 63).add(FL_OUT, 107, 63); FLUID_SOLIDIFIER.add(COMPRESSOR).add(FL_IN, 53, 63); DISTILLERY.add(FLUID_CANNER).getGui().getMachineData().setProgressLocation("chemical_reactor"); - CHEMICAL_BATH.add(THERMAL_CENTRIFUGE).add(FL_IN, 53, 63).getGui().getMachineData().setProgressLocation("ore_washer"); + BATH.add(THERMAL_CENTRIFUGE).add(FL_IN, 53, 63).getGui().getMachineData().setProgressLocation("ore_washer"); AUTOCLAVE.add(ALLOY_SMELTER).add(FL_IN, 53, 63); PACKAGER.add(COMPRESSOR); POLARIZER.add(COMPRESSOR).getGui().getMachineData().setProgressLocation("electromagnetic_separator"); diff --git a/common/src/main/java/muramasa/gregtech/data/Machines.java b/common/src/main/java/muramasa/gregtech/data/Machines.java index f35eff3bd9..9b4f9de31e 100644 --- a/common/src/main/java/muramasa/gregtech/data/Machines.java +++ b/common/src/main/java/muramasa/gregtech/data/Machines.java @@ -4,9 +4,8 @@ import io.github.gregtechintergalactical.gtutility.GTUtilityData; import io.github.gregtechintergalactical.gtutility.machine.DrumMachine; -import muramasa.antimatter.AntimatterAPI; -import muramasa.antimatter.cover.ICover; import muramasa.antimatter.data.AntimatterMaterials; +import muramasa.antimatter.machine.MachineFlag; import muramasa.antimatter.machine.Tier; import muramasa.antimatter.machine.types.*; import muramasa.antimatter.material.Material; @@ -68,7 +67,7 @@ public class Machines { public static BasicMachine BENDER = new BasicMachine(GTIRef.ID, "bender").setMap(BENDING).addFlags(GUI, ITEM); public static BasicMachine CANNER = new BasicMachine(GTIRef.ID, "canner").setMap(CANNING).addFlags(GUI, ITEM); public static BasicMachine CENTRIFUGE = new BasicMachine(GTIRef.ID, "centrifuge").setMap(CENTRIFUGING).addFlags(GUI, ITEM, FLUID); - public static BasicMachine CHEMICAL_BATH = new BasicMachine(GTIRef.ID, "chemical_bath").setMap(CHEMICAL_BATHING).addFlags(GUI, ITEM, FLUID).setSound(GregTechSounds.EXTRACTOR, 0.6f); + public static BasicMachine BATH = new BasicMachine(GTIRef.ID, "bath").setMap(BATHING).addFlags(GUI, ITEM, FLUID).setTiers(LV); public static BasicMachine CHEMICAL_DEHYDRATOR = new BasicMachine(GTIRef.ID, "chemical_dehydrator").setMap(DEHYDRATING).addFlags(GUI, ITEM, FLUID); public static BasicMachine CHEMICAL_REACTOR = new BasicMachine(GTIRef.ID, "chemical_reactor").setMap(CHEMICAL_REACTING).addFlags(GUI, ITEM, FLUID).renderContainedLiquids().custom(); public static BasicMachine CIRCUIT_ASSEMBLER = new BasicMachine(GTIRef.ID, "circuit_assembler").setMap(CIRCUIT_ASSEMBLING).addFlags(GUI, ITEM, FLUID); @@ -224,5 +223,6 @@ private static MultiblockTankMachine[] createTankMachine(Material material, int } public static void init() { + ENERGY.remove(BATH); } } diff --git a/common/src/main/java/muramasa/gregtech/data/RecipeMaps.java b/common/src/main/java/muramasa/gregtech/data/RecipeMaps.java index 0db8ae263f..b580dafb84 100644 --- a/common/src/main/java/muramasa/gregtech/data/RecipeMaps.java +++ b/common/src/main/java/muramasa/gregtech/data/RecipeMaps.java @@ -58,8 +58,8 @@ public class RecipeMaps { new RecipeMap<>(GTIRef.ID, "canning", new RecipeBuilder())); public static RecipeMap CENTRIFUGING = AntimatterAPI.register(RecipeMap.class, new RecipeMap<>(GTIRef.ID, "centrifuging", new RecipeBuilder())); - public static RecipeMap CHEMICAL_BATHING = AntimatterAPI.register(RecipeMap.class, - new RecipeMap<>(GTIRef.ID, "chemical_bathing", new RecipeBuilder())); + public static RecipeMap BATHING = AntimatterAPI.register(RecipeMap.class, + new RecipeMap<>(GTIRef.ID, "bathing", new RecipeBuilder())); public static RecipeMap CHEMICAL_REACTING = AntimatterAPI.register(RecipeMap.class, new RecipeMap<>(GTIRef.ID, "chemical_reacting", new RecipeBuilder())); public static RecipeMap CIRCUIT_ASSEMBLING = AntimatterAPI.register(RecipeMap.class, @@ -209,6 +209,7 @@ public static void clientMaps() { BLASTING.setInfoRenderer(InfoRenderers.BLASTING_RENDERER); BASIC_BLASTING.setInfoRenderer(InfoRenderers.BASIC_RENDERER); COKING.setInfoRenderer(InfoRenderers.BASIC_RENDERER); + BATHING.setInfoRenderer(InfoRenderers.BASIC_RENDERER); COMBUSTION_FUELS.setInfoRenderer(InfoRenderers.FUEL_RENDERER); GAS_FUELS.setInfoRenderer(InfoRenderers.FUEL_RENDERER); NAQUADAH_FUELS.setInfoRenderer(InfoRenderers.FUEL_RENDERER); diff --git a/common/src/main/java/muramasa/gregtech/integration/rei/OreProcessingCategory.java b/common/src/main/java/muramasa/gregtech/integration/rei/OreProcessingCategory.java index 1e50556fce..00f22c0baa 100644 --- a/common/src/main/java/muramasa/gregtech/integration/rei/OreProcessingCategory.java +++ b/common/src/main/java/muramasa/gregtech/integration/rei/OreProcessingCategory.java @@ -179,7 +179,7 @@ private List setupBaseMachineSlots(OreProcessingDisplay display, Rectang private List setupChemMachineSlots(OreProcessingDisplay display, Rectangle bounds){ List widgets = new ArrayList<>(); - widgets.add(Widgets.createSlot(xy(29, 48, bounds)).entries(ofMachine(Machines.CHEMICAL_BATH)).markInput().disableBackground()); + widgets.add(Widgets.createSlot(xy(29, 48, bounds)).entries(ofMachine(Machines.BATH)).markInput().disableBackground()); if(display.bathingMode == OreProcessingDisplay.BathingMode.MERCURY){ widgets.add(Widgets.createSlot(xy(50, 48, bounds)).entries(ofFluid(Materials.Mercury,1000)).markInput().disableBackground()); widgets.add(Widgets.createSlot(xy(90, 48, bounds)).entries(List.of(EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(DUST.get(GregTechMaterialTags.CHEMBATH_MERCURY.getMapping(display.ore)),1)))).markOutput().disableBackground()); diff --git a/common/src/main/java/muramasa/gregtech/integration/rei/REIRegistrar.java b/common/src/main/java/muramasa/gregtech/integration/rei/REIRegistrar.java index 2affd44405..cf3632439d 100644 --- a/common/src/main/java/muramasa/gregtech/integration/rei/REIRegistrar.java +++ b/common/src/main/java/muramasa/gregtech/integration/rei/REIRegistrar.java @@ -19,7 +19,7 @@ public static void init(){ r.addWorkstations(cat.getCategoryIdentifier(), EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(Machines.ORE_WASHER.getItem(Tier.LV)))); r.addWorkstations(cat.getCategoryIdentifier(), EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(Machines.CENTRIFUGE.getItem(Tier.LV)))); r.addWorkstations(cat.getCategoryIdentifier(), EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(Machines.THERMAL_CENTRIFUGE.getItem(Tier.LV)))); - r.addWorkstations(cat.getCategoryIdentifier(), EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(Machines.CHEMICAL_BATH.getItem(Tier.LV)))); + r.addWorkstations(cat.getCategoryIdentifier(), EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(Machines.BATH.getItem(Tier.LV)))); r.addWorkstations(cat.getCategoryIdentifier(), EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(Machines.ELECTROMAGNETIC_SEPARATOR.getItem(Tier.LV)))); r.addWorkstations(cat.getCategoryIdentifier(), EntryStack.of(VanillaEntryTypes.ITEM, new ItemStack(Machines.SIFTER.getItem(Tier.LV)))); MaterialTreeCategory cat2 = new MaterialTreeCategory(); diff --git a/common/src/main/java/muramasa/gregtech/loader/crafting/Machines.java b/common/src/main/java/muramasa/gregtech/loader/crafting/Machines.java index ee1acc0331..3061bc1654 100644 --- a/common/src/main/java/muramasa/gregtech/loader/crafting/Machines.java +++ b/common/src/main/java/muramasa/gregtech/loader/crafting/Machines.java @@ -18,12 +18,10 @@ import muramasa.gregtech.GTIRef; import muramasa.gregtech.GregTech; import muramasa.gregtech.block.BlockCasing; -import muramasa.gregtech.data.GregTechData; import muramasa.gregtech.data.GregTechTags; import muramasa.gregtech.data.Materials; import muramasa.gregtech.data.TierMaps; import muramasa.gregtech.machine.MultiblockTankMachine; -import net.minecraft.data.DataProvider; import net.minecraft.data.recipes.FinishedRecipe; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; @@ -131,15 +129,13 @@ public static void loadRecipes(Consumer output, AntimatterRecipe 'P', pump ), "LWL", "CMC", "PHP")); - add(CHEMICAL_BATH, tier, (m,item) -> provider.addItemRecipe(output, "machines", "has_motor", provider.hasSafeItem(motor), item, + add(BATH, tier, (m, item) -> provider.addItemRecipe(output, "machines", "has_motor", provider.hasSafeItem(motor), item, ImmutableMap.builder() - .put('C', circuit) - .put('W', conveyor) - .put('P', pump) - .put('L', cable) + .put('W', WRENCH.getTag()) .put('H', hull) - .put('G', glass) - .build(), "WGL", "PGW", "CHC")); + .put('C', ITEM_CASING.getMaterialTag(material)) + .put('S', PLATE.getMaterialTag(material)) + .build(), "CWC", "SHS", "SSS")); add(SIFTER, tier, (m,item) -> provider.addItemRecipe(output, "machines", "has_motor", provider.hasSafeItem(motor), item, ImmutableMap.builder() diff --git a/common/src/main/java/muramasa/gregtech/loader/machines/ChemicalBath.java b/common/src/main/java/muramasa/gregtech/loader/machines/Bath.java similarity index 72% rename from common/src/main/java/muramasa/gregtech/loader/machines/ChemicalBath.java rename to common/src/main/java/muramasa/gregtech/loader/machines/Bath.java index 22d99a875e..c3d73efafb 100644 --- a/common/src/main/java/muramasa/gregtech/loader/machines/ChemicalBath.java +++ b/common/src/main/java/muramasa/gregtech/loader/machines/Bath.java @@ -12,49 +12,49 @@ import static muramasa.gregtech.data.GregTechMaterialTags.CHEMBATH_MERCURY; import static muramasa.gregtech.data.GregTechMaterialTags.CHEMBATH_PERSULFATE; import static muramasa.gregtech.data.Materials.*; -import static muramasa.gregtech.data.RecipeMaps.CHEMICAL_BATHING; +import static muramasa.gregtech.data.RecipeMaps.BATHING; -public class ChemicalBath { +public class Bath { public static void init() { - CHEMICAL_BATHING.RB() + BATHING.RB() .ii(RecipeIngredient.of(AntimatterMaterialTypes.DUST.get(AntimatterMaterials.Wood),1)) .fi(AntimatterMaterials.Water.getLiquid(100)) .io(new ItemStack(Items.PAPER)) - .add("paper",200,4); - CHEMICAL_BATHING.RB() + .add("paper",200); + BATHING.RB() .ii(RecipeIngredient.of(Items.SUGAR_CANE,1)) .fi(AntimatterMaterials.Water.getLiquid(100)) .io(new ItemStack(Items.PAPER)) - .add("paper_1",100,4); - CHEMICAL_BATHING.RB() + .add("paper_1",100); + BATHING.RB() .ii(RecipeIngredient.of(Items.NETHER_STAR,1)) .fi(Radon.getGas(1250)) .io(new ItemStack(GregTechData.QuantumStar)) - .add("quantum_star",96*20,384); - CHEMICAL_BATHING.RB() + .add("quantum_star",96*20); + BATHING.RB() .ii(RecipeIngredient.of(Items.DIAMOND,1)) .fi(Netherite.getLiquid(L/4)) .io(GEM.get(NetherizedDiamond)) - .add("netherized_diamond_recipe",144,384); - CHEMICAL_BATHING.RB().ii(DUST.getMaterialIngredient(SodiumAluminate, 4)).fi(Water.getLiquid(6000)).io(DUST.get(AluminiumHydroxide, 7), DUST.get(SodiumHydroxide, 3)).add("aluminium_hydroxide", 102 * 20, 2); - CHEMICAL_BATHING.RB().ii(DUST.getMaterialIngredient(SodiumAluminate, 4)).fi(DistilledWater.getLiquid(6000)).io(DUST.get(AluminiumHydroxide, 7), DUST.get(SodiumHydroxide, 3)).add("aluminium_hydroxide_distilled_water", 102 * 20, 2); + .add("netherized_diamond_recipe",144); + BATHING.RB().ii(DUST.getMaterialIngredient(SodiumAluminate, 4)).fi(Water.getLiquid(6000)).io(DUST.get(AluminiumHydroxide, 7), DUST.get(SodiumHydroxide, 3)).add("aluminium_hydroxide", 102 * 20); + BATHING.RB().ii(DUST.getMaterialIngredient(SodiumAluminate, 4)).fi(DistilledWater.getLiquid(6000)).io(DUST.get(AluminiumHydroxide, 7), DUST.get(SodiumHydroxide, 3)).add("aluminium_hydroxide_distilled_water", 102 * 20); mercurybathing(); persulfatebathing(); } public static void mercurybathing(){ CHEMBATH_MERCURY.getAll().forEach((main,side) -> - CHEMICAL_BATHING.RB() + BATHING.RB() .ii(RecipeIngredient.of(AntimatterMaterialTypes.CRUSHED.get(main),1)) .fi(Mercury.getLiquid(1000)) .io(new ItemStack(AntimatterMaterialTypes.CRUSHED_PURIFIED.get(main)),new ItemStack(AntimatterMaterialTypes.DUST.get(side)),new ItemStack(AntimatterMaterialTypes.DUST.get(AntimatterMaterials.Stone))) - .add("mercury_" + main.getId(),40*20,8)); + .add("mercury_" + main.getId(),40*20)); } public static void persulfatebathing(){ CHEMBATH_PERSULFATE.getAll().forEach((main,side) -> - CHEMICAL_BATHING.RB() + BATHING.RB() .ii(RecipeIngredient.of(AntimatterMaterialTypes.CRUSHED.get(main),1)) .fi(SodiumPersulfate.getLiquid(1000)) .io(new ItemStack(AntimatterMaterialTypes.CRUSHED_PURIFIED.get(main)),new ItemStack(AntimatterMaterialTypes.DUST.get(side)),new ItemStack(AntimatterMaterialTypes.DUST.get(AntimatterMaterials.Stone))) - .add("persulfate_"+main.getId(),40*20,8)); + .add("persulfate_"+main.getId(),40*20)); } } diff --git a/common/src/main/java/muramasa/gregtech/loader/machines/ElectrolyzerLoader.java b/common/src/main/java/muramasa/gregtech/loader/machines/ElectrolyzerLoader.java index cad5abd18e..cb906a32da 100644 --- a/common/src/main/java/muramasa/gregtech/loader/machines/ElectrolyzerLoader.java +++ b/common/src/main/java/muramasa/gregtech/loader/machines/ElectrolyzerLoader.java @@ -46,13 +46,19 @@ public static void init() { ELECTROLYZING.RB().ii(RecipeIngredient.of(Items.BONE_MEAL, 3)).io(DUST.get(Materials.Calcium)).add("bone_meal", 98, 26); ELECTROLYZING.RB().ii(DUST.getMaterialIngredient(Carbon, 3), DUST.getMaterialIngredient(Alumina, 10)) .fi(AluminiumFluoride.getLiquid(L / 36), Cryolite.getLiquid(L / 72)).io(DUST.get(Aluminium, 4)) - .fo(CarbonDioxide.getGas(2000), Fluorine.getGas(1000)).add("alumina_carbon", 2040, 16); + .fo(CarbonDioxide.getGas(9000), Fluorine.getGas(29)).add("alumina_carbon", 2040, 16); ELECTROLYZING.RB().ii(DUST.getMaterialIngredient(Charcoal, 3), DUST.getMaterialIngredient(Alumina, 10)) .fi(AluminiumFluoride.getLiquid(L / 36), Cryolite.getLiquid(L / 72)).io(DUST.get(Aluminium, 4)) - .fo(CarbonDioxide.getGas(2000), Fluorine.getGas(1000)).add("alumina_charcoal", 2040, 16); + .fo(CarbonDioxide.getGas(9000), Fluorine.getGas(29)).add("alumina_charcoal", 2040, 16); ELECTROLYZING.RB().ii(DUST.getMaterialIngredient(Coal, 3), DUST.getMaterialIngredient(Alumina, 10)) .fi(AluminiumFluoride.getLiquid(L / 36), Cryolite.getLiquid(L / 72)).io(DUST.get(Aluminium, 4)) - .fo(CarbonDioxide.getGas(2000), Fluorine.getGas(1000)).add("alumina_coal", 2040, 16); + .fo(CarbonDioxide.getGas(9000), Fluorine.getGas(29)).add("alumina_coal", 2040, 16); + ELECTROLYZING.RB().ii(DUST.getMaterialIngredient(CoalCoke, 3), DUST.getMaterialIngredient(Alumina, 10)) + .fi(AluminiumFluoride.getLiquid(L / 36), Cryolite.getLiquid(L / 72)).io(DUST.get(Aluminium, 4)) + .fo(CarbonDioxide.getGas(9000), Fluorine.getGas(29)).add("alumina_coke", 2040, 16); + ELECTROLYZING.RB().ii(DUST.getMaterialIngredient(Graphite, 3), DUST.getMaterialIngredient(Alumina, 10)) + .fi(AluminiumFluoride.getLiquid(L / 36), Cryolite.getLiquid(L / 72)).io(DUST.get(Aluminium, 4)) + .fo(CarbonDioxide.getGas(9000), Fluorine.getGas(29)).add("alumina_graphite", 2040, 16); } } diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/back.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/back.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/back.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/back.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/bottom.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/bottom.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/bottom.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/bottom.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/front.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/front.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/front.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/front.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/side.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/side.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/side.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/side.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/top.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/top.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/active/top.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/active/top.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/back.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/back.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/back.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/back.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/bottom.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/bottom.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/bottom.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/bottom.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/front.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/front.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/front.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/front.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/side.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/side.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/side.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/side.png diff --git a/common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/top.png b/common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/top.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/block/machine/overlay/chemical_bath/top.png rename to common/src/main/resources/assets/gti/textures/block/machine/overlay/bath/top.png