From be8435655f4c83979a1e0e3f3819600655bb4ad4 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Fri, 7 Oct 2022 00:46:28 +0700 Subject: [PATCH] Split android gui atlas to separate files --- .../dbotthepony/mc/otm/GlobalEventHandler.kt | 4 +- .../mc/otm/client/ClientTickHandler.kt | 3 +- .../dbotthepony/mc/otm/client/MatteryGUI.kt | 22 ++++++--- .../mc/otm/client/render/AtlasSkinElement.kt | 3 +- .../mc/otm/client/render/ResearchIcons.kt | 46 +++++++++--------- .../mc/otm/client/render/WidgetAtlasHolder.kt | 22 ++++++--- .../gui/android_charge/android_charge.png | Bin 0 -> 165 bytes .../gui/android_charge/android_charge_bg.png | Bin 0 -> 147 bytes .../android_charge/android_charge_hunger.png | Bin 0 -> 172 bytes .../android_charge_hunger_bg.png | Bin 0 -> 147 bytes .../android_stuff-0.png | Bin .../android_stuff-1.png | Bin .../android_stuff-10.png | Bin .../android_stuff-11.png | Bin .../android_stuff-12.png | Bin .../android_stuff-13.png | Bin .../android_stuff-14.png | Bin .../android_stuff-15.png | Bin .../android_stuff-16.png | Bin .../android_stuff-17.png | Bin .../android_stuff-18.png | Bin .../android_stuff-19.png | Bin .../android_stuff-2.png | Bin .../android_stuff-20.png | Bin .../android_stuff-21.png | Bin .../android_stuff-22.png | Bin .../android_stuff-3.png | Bin .../android_stuff-4.png | Bin .../android_stuff-5.png | Bin .../android_stuff-6.png | Bin .../android_stuff-7.png | Bin .../android_stuff-8.png | Bin .../android_stuff-9.png | Bin .../textures/gui/android_stuff-23.png | Bin 407 -> 0 bytes .../textures/gui/android_stuff-24.png | Bin 372 -> 0 bytes .../textures/gui/player_gui.png | Bin 932 -> 0 bytes .../textures/gui/player_gui.xcf | Bin 5195 -> 0 bytes 37 files changed, 59 insertions(+), 41 deletions(-) create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge_bg.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge_hunger.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge_hunger_bg.png rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-0.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-1.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-10.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-11.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-12.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-13.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-14.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-15.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-16.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-17.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-18.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-19.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-2.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-20.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-21.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-22.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-3.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-4.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-5.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-6.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-7.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-8.png (100%) rename src/main/resources/assets/overdrive_that_matters/textures/gui/{ => android_research}/android_stuff-9.png (100%) delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/android_stuff-23.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/android_stuff-24.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/player_gui.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/gui/player_gui.xcf diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/GlobalEventHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/GlobalEventHandler.kt index f8224a4ac..d9809360d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/GlobalEventHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/GlobalEventHandler.kt @@ -6,12 +6,14 @@ package ru.dbotthepony.mc.otm import net.minecraft.client.server.IntegratedServer import net.minecraft.server.MinecraftServer import net.minecraft.world.level.Level +import net.minecraftforge.api.distmarker.Dist import net.minecraftforge.event.TickEvent import net.minecraftforge.event.TickEvent.ServerTickEvent import net.minecraftforge.event.TickEvent.LevelTickEvent import net.minecraftforge.event.server.ServerAboutToStartEvent import net.minecraftforge.event.server.ServerStoppedEvent import net.minecraftforge.event.server.ServerStoppingEvent +import net.minecraftforge.fml.loading.FMLLoader import org.apache.logging.log4j.LogManager import ru.dbotthepony.mc.otm.client.minecraft import ru.dbotthepony.mc.otm.core.IConditionalTickable @@ -50,7 +52,7 @@ private var _server: MinecraftServer? = null private var _serverThread: Thread? = null private var _clientThread: Thread? = null -val isClient: Boolean get() = _clientThread !== null +val isClient: Boolean by lazy { FMLLoader.getDist() == Dist.CLIENT } private val isPausedImpl: Boolean get() { val server = _server diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientTickHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientTickHandler.kt index d3eb21b76..52b8581d2 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientTickHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientTickHandler.kt @@ -13,7 +13,8 @@ private val preTickList = TickList() private val postTickList = TickList() private val preTimerList = TimerQueue() private val postTimerList = TimerQueue() -private var LOGGED_IN = false +var LOGGED_IN = false + private set fun onceClient(ticker: ITickable) { check(isClient) { "Illegal side" } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt index 5ada57490..cdf7e198a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt @@ -27,9 +27,14 @@ import ru.dbotthepony.mc.otm.core.RGBAColor import ru.dbotthepony.mc.otm.core.formatPower import ru.dbotthepony.mc.otm.core.ifPresentK import java.util.* +import kotlin.math.ceil object MatteryGUI { - val PLAYER_GUI_LOCATION = ResourceLocation(OverdriveThatMatters.MOD_ID, "textures/gui/player_gui.png") + val CHARGE = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_charge/android_charge")) + val CHARGE_BG = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_charge/android_charge_bg")) + + val CHARGE_HUNGER = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_charge/android_charge_hunger")) + val CHARGE_HUNGER_BG = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_charge/android_charge_hunger_bg")) private var originalBedButtonX = -1 private var originalBedButtonY = -1 @@ -202,7 +207,6 @@ object MatteryGUI { return } - val yOffset = if (ply.hasEffect(MobEffects.HUNGER)) 18 else 0 var level: Float if (mattery.androidEnergy.maxBatteryLevel.isZero) { @@ -216,7 +220,6 @@ object MatteryGUI { gui.setupOverlayRenderState(true, false) RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f) - RenderSystem.setShaderTexture(0, PLAYER_GUI_LOCATION) val width = event.window.guiScaledWidth val height = event.window.guiScaledHeight @@ -224,12 +227,15 @@ object MatteryGUI { val top: Int = height - gui.rightHeight gui.rightHeight += 10 - // Stack, x, y, blitOffset?, (float) image_x, (float) image_y, rect_x, rect_y, total_image_width, total_image_height - // Stack, x, y, image_x, image_y, rect_x, rect_y - gui.blit(event.poseStack, left, top, 0, yOffset, 80, 9) - val leftPadding = Math.ceil((level * 79f - 0.5f).toDouble()).toInt() + val leftPadding = ceil(level * 79f - 0.5f) - gui.blit(event.poseStack, left + 79 - leftPadding, top, 79 - leftPadding, yOffset + 9, leftPadding, 9) + if (ply.hasEffect(MobEffects.HUNGER)) { + CHARGE_HUNGER_BG.render(event.poseStack, left.toFloat(), top.toFloat()) + CHARGE_HUNGER.renderPartial(event.poseStack, left.toFloat() - leftPadding + 79f, top.toFloat(), width = 79f - leftPadding) + } else { + CHARGE_BG.render(event.poseStack, left.toFloat(), top.toFloat()) + CHARGE.renderPartial(event.poseStack, left.toFloat() - leftPadding + 79f, top.toFloat(), width = leftPadding) + } val formattedPower = mattery.androidEnergy.batteryLevel.formatPower() diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/AtlasSkinElement.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/AtlasSkinElement.kt index 671c8aa31..d1b0b08ef 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/AtlasSkinElement.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/AtlasSkinElement.kt @@ -13,7 +13,6 @@ import com.google.gson.stream.JsonWriter import net.minecraft.client.renderer.texture.TextureAtlasSprite import net.minecraft.network.FriendlyByteBuf import net.minecraft.resources.ResourceLocation -import ru.dbotthepony.mc.otm.client.onceClient import ru.dbotthepony.mc.otm.isClient import java.lang.reflect.Type import java.util.stream.Stream @@ -83,7 +82,7 @@ class AtlasSkinElement private constructor( companion object : TypeAdapter(), JsonSerializer, JsonDeserializer { private val skinElementCache = HashMap() - val keys: Stream get() = skinElementCache.keys.stream() + val keysStream: Stream get() = skinElementCache.keys.stream() private fun queueRebuild() { WidgetAtlasHolder.INSTANCE.queueRebuild() diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/ResearchIcons.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/ResearchIcons.kt index e31000426..0db207f22 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/ResearchIcons.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/ResearchIcons.kt @@ -36,28 +36,28 @@ object ResearchIcons { init { var i = 0 - ICON_TRANSFER = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_ATTACK_BOOST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_PLASMA_SHIELD_BOOST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_CLOAK = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_GRAVITATIONAL_STABILIZER = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_AIR_BAGS = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_JUMP_BOOST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_FEATHER_FALLING = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_ITEM_MAGNET = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_ARROW = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_ARMOR = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_NANOBOTS = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_NIGHT_VISION = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_OXYGEN_SUPPLY = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_PLASMA_SHIELD = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_SHOCKWAVE = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_LIMB_OVERCLOCKING = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_STEP_ASSIST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_ENDER_TELEPORT = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_WIRELESS_CHARGING = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_UNKNOWN = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_EXTENDED_REACH = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) - ICON_PHANTOM_ATTRACTOR = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_stuff-${i++}")) + ICON_TRANSFER = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_ATTACK_BOOST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_PLASMA_SHIELD_BOOST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_CLOAK = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_GRAVITATIONAL_STABILIZER = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_AIR_BAGS = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_JUMP_BOOST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_FEATHER_FALLING = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_ITEM_MAGNET = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_ARROW = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_ARMOR = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_NANOBOTS = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_NIGHT_VISION = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_OXYGEN_SUPPLY = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_PLASMA_SHIELD = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_SHOCKWAVE = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_LIMB_OVERCLOCKING = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_STEP_ASSIST = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_ENDER_TELEPORT = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_WIRELESS_CHARGING = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_UNKNOWN = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_EXTENDED_REACH = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) + ICON_PHANTOM_ATTRACTOR = AtlasSkinElement(ResourceLocation(OverdriveThatMatters.MOD_ID, "android_research/android_stuff-${i++}")) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/WidgetAtlasHolder.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/WidgetAtlasHolder.kt index 0b858629a..108d161d2 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/WidgetAtlasHolder.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/WidgetAtlasHolder.kt @@ -5,11 +5,11 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite import net.minecraft.client.renderer.texture.TextureManager import net.minecraft.client.resources.TextureAtlasHolder import net.minecraft.resources.ResourceLocation -import net.minecraft.server.packs.resources.ReloadableResourceManager import net.minecraft.server.packs.resources.ResourceManager import net.minecraft.util.profiling.ProfilerFiller import net.minecraftforge.client.event.RegisterClientReloadListenersEvent import ru.dbotthepony.mc.otm.OverdriveThatMatters +import ru.dbotthepony.mc.otm.client.LOGGED_IN import ru.dbotthepony.mc.otm.client.minecraft import ru.dbotthepony.mc.otm.client.onceClient import ru.dbotthepony.mc.otm.registry.WriteOnce @@ -25,14 +25,18 @@ class WidgetAtlasHolder private constructor(manager: TextureManager) : TextureAt private var queued = false private var once = false + private var demandsRebuild = false private var resourceManager by Delegates.notNull() private var profileManager by Delegates.notNull() override fun prepare(p_118891_: ResourceManager, p_118892_: ProfilerFiller): TextureAtlas.Preparations { once = true + demandsRebuild = false + queued = false resourceManager = p_118891_ profileManager = p_118892_ + changeset++ return super.prepare(p_118891_, p_118892_) } @@ -41,6 +45,10 @@ class WidgetAtlasHolder private constructor(manager: TextureManager) : TextureAt throw IllegalStateException("Trying to get sprite too early") } + if (demandsRebuild) { + apply(prepare(resourceManager, profileManager), resourceManager, profileManager) + } + return super.getSprite(p_118902_) } @@ -48,16 +56,18 @@ class WidgetAtlasHolder private constructor(manager: TextureManager) : TextureAt if (!queued && once) { queued = true - onceClient(20) { - queued = false - apply(prepare(resourceManager, profileManager), resourceManager, profileManager) + if (LOGGED_IN) { + onceClient(20) { + apply(prepare(resourceManager, profileManager), resourceManager, profileManager) + } + } else { + demandsRebuild = true } } } override fun getResourcesToLoad(): Stream { - changeset++ - return AtlasSkinElement.keys + return AtlasSkinElement.keysStream } companion object { diff --git a/src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge.png b/src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3e476ce1eef00ac93bbd30aca24c1e2243da1e GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0YJ>j!3HFkPFOt&NHG=%xjQkeJ16rJ$YDu$^mSxl z*x1kgCy^DTvcMy;R79SZ|q-~GI>Ed zGlx*``ojE&jOX+CXU^MtZ)>fj!VDzC_ibAUq!^2X+?^QKos)S9vjzBsxB_Vn4UOLyR~!ejI14-?iy0XB4ude`@%$AjKtVB27sn8d^T`TQ l23$g{EN&~D9x*U8GjRPCQd-k=P7kPp!PC{xWt~$(697xxBT)bV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge_hunger.png b/src/main/resources/assets/overdrive_that_matters/textures/gui/android_charge/android_charge_hunger.png new file mode 100644 index 0000000000000000000000000000000000000000..2299eb6891b29ce09c202d6aa1ad18836b437cb1 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0YJ>j!3-oP`9&`PQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`IRkt`TsJ*?Ycq7j^&u*fJOAt_;rnvCg$A`2CsC0YqdOblfknDTC1H*Nj!VDzC_ibAUq!^2X+?^QKos)S9vjzBsxC%LPYiMY&$NpUp6yYrJh%9Dc;5!V$jK}j=qyPoQJY5_^G|ne0 mNEvVmv9h?WaC*eR%*?>`S4e41(>Xn$3IFdh=jEjw5QgG(K+f#u;VV*9IAsXlJPB7#SH%+=i0O+|=Td j#M}ae9Fdh=jEjw5QgG(K+f#u;#-1*YAsXl3p54gHV8FqA zu>RZqo0qI)aU0TV|_-^BZ8!j8q*M7O_uJ-wp%mYTt{hSddxx$O|6Vftqh@-uu4@q1NAU?y85}Sb4q9e0K+S4 Awg3PC diff --git a/src/main/resources/assets/overdrive_that_matters/textures/gui/player_gui.png b/src/main/resources/assets/overdrive_that_matters/textures/gui/player_gui.png deleted file mode 100644 index a25e2aa823c45efafd3fb012efb67f387e2c5cdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 932 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$5xX)7d$|)7e>}peR2rGbfdS zL1SX=L|c!;4l+mMqrJPgSln=2lF;@l#WCba;Hn4~?xkxltZF{FH2%U8MbE-Qkr-~i zI-M}tm^r1T1)?km`320))m_CkKh}FLbnRh3{p3W4sojy~&Pk{TW+_b70p(U*qvn7hu3Evd6T+&s@+e49;QAldVA~xZ|sL&vulnncakL0)g%`EbK zvZ`rfGGnQRK(74{`9JTjY54kDc`jsmP``0af1tt!?k%&YeXY%jd@Fq5J5S8Y*!sP! zXX+;1dy}IEGZ*dV5RJkJ(Y8?P30jRY@MM!Y-!O+(9R0 zJ*tk)TkujhY|@&HrVN9GcI^vyyJUaaJo{d+wtmLUNlV%+yF@Rn()0YaZ+jF;^6&M;A7?>D17!()|*oQunKcHL2!N9vpK7T9U%4emQPac#7%D|N{95^)P>${89 z-*~1!-afyT#dHt_(Zt(yQv3I-C*7UInq8xI~# zyctiLsOW*1;?;}EHhRDV%0J-IqpshZA9W$Spf&_Coz1uJn|W_`XJ6mEx7(66J!>xJ zi{_0~I?WghNkB0605}4KXw(3PfHTw?q|;a!Cxh4(Vm-uqh#dtY7i)|W&<21`;J5^F zGCl^p1L7sDB56&JmkP6JN3pLXU%LZqr2{` z!Gv`KiaDSQ-HF+tMP!Vf(inQN4L~NB z)u9bQMz_ORH)cd}b$`T-SPq&1#B(tn+5p6Lo7Ko)2|zwOg$9A2bY~TzK;iI;hG@%C zQ(^H8T!cmP@)z)f3JY433X5~#JS-3iKfwLMg2q)?P^$2>&KJKrO;eNq`WKTBPq#$Xx()w-%GhEc~Z)xlozDDBqU?D7GfiY z8vt9&3X2>pe9^SfVd0CW1@_yBFN6hSQ6m)qTf2^Rz#<0=Uo