diff --git a/gradle.properties b/gradle.properties index dd668a49cbe..b89012ae610 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,7 +28,7 @@ emi_version=1.1.10+1.21 # please learn how to use semver... top_version_range=[1.20.0,) jade_version_range=[15.0.0,) -rei_version=16.0.744 +rei_version=16.0.729 wthit_version=12.1.2 jade_file_id=5427817 curios_version=7.1.0+1.20.4 diff --git a/src/main/java/appeng/client/gui/AEBaseScreen.java b/src/main/java/appeng/client/gui/AEBaseScreen.java index f8f8dc3a8a7..57c263409c4 100644 --- a/src/main/java/appeng/client/gui/AEBaseScreen.java +++ b/src/main/java/appeng/client/gui/AEBaseScreen.java @@ -65,7 +65,6 @@ import appeng.client.Point; import appeng.client.gui.layout.SlotGridLayout; import appeng.client.gui.style.BackgroundGenerator; -import appeng.client.gui.style.Blitter; import appeng.client.gui.style.ScreenStyle; import appeng.client.gui.style.SlotPosition; import appeng.client.gui.style.Text; @@ -519,7 +518,7 @@ private void drawOptionalSlotBackground(GuiGraphics guiGraphics, IOptionalSlot s Point pos = slot.getBackgroundPos(); - Blitter.guiSprite(Icon.SLOT_BACKGROUND) + Icon.SLOT_BACKGROUND.getBlitter() .dest(leftPos + pos.getX(), topPos + pos.getY()) .color(1, 1, 1, alpha) .blit(guiGraphics); @@ -828,7 +827,7 @@ private void renderAppEngSlot(GuiGraphics guiGraphics, AppEngSlot s) { // If the slot has a background icon, render it, but only if the slot is empty // or it requests the icon to be always drawn if ((s.renderIconWithItem() || is.isEmpty()) && s.isSlotEnabled() && s.getIcon() != null) { - Blitter.guiSprite(s.getIcon()) + s.getIcon().getBlitter() .dest(s.x, s.y) .opacity(s.getOpacityOfIcon()) .blit(guiGraphics); diff --git a/src/main/java/appeng/client/gui/Icon.java b/src/main/java/appeng/client/gui/Icon.java index 4de75b6fec7..9b321463bc1 100644 --- a/src/main/java/appeng/client/gui/Icon.java +++ b/src/main/java/appeng/client/gui/Icon.java @@ -20,176 +20,225 @@ import net.minecraft.resources.ResourceLocation; +import appeng.client.gui.style.Blitter; import appeng.core.AppEng; -public final class Icon { - private Icon() { +/** + * Edit in {@code assets/ae2/textures/guis/states.png}. + */ +public enum Icon { + // ROW 0 + REDSTONE_LOW(0, 0), + REDSTONE_HIGH(16, 0), + REDSTONE_PULSE(32, 0), + REDSTONE_IGNORE(48, 0), + REDSTONE_OFF(64, 0), + REDSTONE_ON(80, 0), + REDSTONE_ABOVE_EQUAL(192, 0), + REDSTONE_BELOW(208, 0), + // CLEAR, STASH + CLEAR(96, 0), + ENTER(112, 0), + // ENCODE + WHITE_ARROW_DOWN(128, 0), + // LOCKED + LOCKED(144, 0), + // UNLOCKED + UNLOCKED(160, 0), + HELP(176, 0), + BACKGROUND_PRIMARY_OUTPUT(224, 0), + BACKGROUND_STORAGE_CELL(240, 0), + + // ROW 1 + VIEW_MODE_STORED(0, 16), + VIEW_MODE_ALL(32, 16), + VIEW_MODE_CRAFTING(48, 16), + BLOCKING_MODE_NO(64, 16), + BLOCKING_MODE_YES(80, 16), + BACK(96, 16), + TRANSPARENT_FACADES_OFF(96, 16), + TRANSPARENT_FACADES_ON(112, 16), + TYPE_FILTER_ITEMS(128, 16), + TYPE_FILTER_FLUIDS(144, 16), + TYPE_FILTER_ALL(160, 16), + BACKGROUND_ORE(240, 16), + + // ROW 2 + SEARCH_AUTO_FOCUS(48, 32), + SEARCH_DEFAULT(64, 32), + SEARCH_JEI(80, 32), + SEARCH_REI(96, 32), + SEARCH_AUTO_FOCUS_REMEMBER(112, 32), + SEARCH_REMEMBER(128, 32), + SEARCH_JEI_AUTO_CLEAR(144, 32), + SEARCH_REI_AUTO_CLEAR(160, 32), + BACKGROUND_PLATE(224, 32), + BACKGROUND_DUST(240, 32), + TAB_CRAFTING(0, 32), + TAB_PROCESSING(16, 32), + TAB_SMITHING(32, 32), + TAB_STONECUTTING(48, 32), + + // ROW 3 + ARROW_UP(0, 48), + ARROW_DOWN(16, 48), + ARROW_RIGHT(32, 48), + ARROW_LEFT(48, 48), + SUBSTITUTION_ENABLED(64, 48), + STORAGE_FILTER_EXTRACTABLE_ONLY(80, 48), + STORAGE_FILTER_EXTRACTABLE_NONE(96, 48), + SUBSTITUTION_DISABLED(112, 48), + FLUID_SUBSTITUTION_ENABLED(128, 48), + FLUID_SUBSTITUTION_DISABLED(144, 48), + FILTER_ON_EXTRACT_ENABLED(160, 48), + FILTER_ON_EXTRACT_DISABLED(176, 48), + BACKGROUND_INGOT(224, 48), + BACKGROUND_STORAGE_COMPONENT(240, 48), + + // ROW 4 + SORT_BY_NAME(0, 64), + SORT_BY_AMOUNT(16, 64), + // WRENCH | PARTITION STORAGE + COG(32, 64), + COG_DISABLED(48, 64), + LEVEL_ITEM(64, 64), + SORT_BY_INVENTORY_TWEAKS(80, 64), + SORT_BY_MOD(96, 64), + PRIORITY(144, 64), + BACKGROUND_VIEW_CELL(224, 64), + BACKGROUND_WIRELESS_TERM(240, 64), + + // ROW 5 + FULLNESS_EMPTY(0, 80), + FULLNESS_HALF(16, 80), + FULLNESS_FULL(32, 80), + LEVEL_ENERGY(48, 80), + PATTERN_ACCESS_SHOW(64, 80), + PATTERN_ACCESS_HIDE(80, 80), + PATTERN_TERMINAL_VISIBLE(96, 80), + PATTERN_TERMINAL_ALL(112, 80), + PATTERN_TERMINAL_NOT_FULL(128, 80), + BACKGROUND_TRASH(240, 80), + + // ROW 6 + FUZZY_PERCENT_25(0, 96), + FUZZY_PERCENT_50(16, 96), + FUZZY_PERCENT_75(32, 96), + FUZZY_PERCENT_99(48, 96), + FUZZY_IGNORE(64, 96), + INSCRIBER_SEPARATE_SIDES(80, 96), + INSCRIBER_COMBINED_SIDES(96, 96), + AUTO_EXPORT_OFF(112, 96), + AUTO_EXPORT_ON(128, 96), + INSCRIBER_BUFFER_4(144, 96), + INSCRIBER_BUFFER_64(160, 96), + INSCRIBER_BUFFER_1(176, 96), + BACKGROUND_WIRELESS_BOOSTER(240, 96), + + // ROW 7 + CONDENSER_OUTPUT_TRASH(0, 112), + CONDENSER_OUTPUT_MATTER_BALL(16, 112), + CONDENSER_OUTPUT_SINGULARITY(32, 112), + BACKGROUND_ENCODED_PATTERN(240, 112), + + // ROW 8 + INVALID(0, 128), + VALID(16, 128), + WHITELIST(32, 128), + BLACKLIST(48, 128), + HORIZONTAL_TAB(128, 128, 22, 22), + HORIZONTAL_TAB_SELECTED(128, 150, 22, 22), + HORIZONTAL_TAB_FOCUS(150, 128, 22, 22), + BACKGROUND_BLANK_PATTERN(240, 128), + TOOLBAR_BUTTON_BACKGROUND(176, 128, 18, 20), + TOOLBAR_BUTTON_BACKGROUND_FOCUS(194, 128, 18, 20), + TOOLBAR_BUTTON_BACKGROUND_HOVER(212, 128, 18, 20), + + // ROW 9 + ACCESS_WRITE(0, 144), + ACCESS_READ(16, 144), + ACCESS_READ_WRITE(32, 144), + CRAFT_HAMMER(48, 144), + BACKGROUND_CHARGABLE(240, 144), + + // ROW 10 + POWER_UNIT_AE(0, 160), + POWER_UNIT_EU(16, 160), + POWER_UNIT_J(32, 160), + POWER_UNIT_W(48, 160), + POWER_UNIT_RF(64, 160), + POWER_UNIT_TR(80, 160), + BACKGROUND_SINGULARITY(240, 160), + + // ROW 11 + COPY_MODE_ON(80, 176), + BACKGROUND_SPATIAL_CELL_NO_SHADOW(224, 176), + BACKGROUND_SPATIAL_CELL(240, 176), + + // ROW 12 + COPY_MODE_OFF(80, 192), + TAB_BUTTON_BACKGROUND_BORDERLESS(128, 192, 25, 22), + TAB_BUTTON_BACKGROUND(160, 192, 20, 20), + SLOT_BACKGROUND(192, 192, 18, 18), + BACKGROUND_FUEL(240, 192), + + // ROW 13 + TERMINAL_STYLE_SMALL(0, 208), + TERMINAL_STYLE_MEDIUM(16, 208), + TERMINAL_STYLE_TALL(32, 208), + TERMINAL_STYLE_FULL(48, 208), + BACKGROUND_UPGRADE(240, 208), + + // ROW 14 + PLACEMENT_BLOCK(0, 224), + PLACEMENT_ITEM(16, 224), + TAB_BUTTON_BACKGROUND_BORDERLESS_FOCUS(128, 224, 25, 22), + TAB_BUTTON_BACKGROUND_FOCUS(160, 224, 22, 22), + + SCHEDULING_DEFAULT(0, 240), + SCHEDULING_ROUND_ROBIN(16, 240), + SCHEDULING_RANDOM(32, 240), + OVERLAY_OFF(48, 240), + OVERLAY_ON(64, 240), + + // Small Icons + S_ARROW_UP(224, 192, 8, 8), + S_ARROW_DOWN(232, 192, 8, 8), + S_CLEAR(224, 200, 8, 8), + S_CYCLE(232, 200, 8, 8), + S_SUBSTITUTION_ENABLED(224, 208, 8, 8), + S_SUBSTITUTION_DISABLED(232, 208, 8, 8), + S_FLUID_SUBSTITUTION_ENABLED(224, 216, 8, 8), + S_FLUID_SUBSTITUTION_DISABLED(232, 216, 8, 8), + S_STORAGE(208, 224, 10, 10), + S_PROCESSOR(208, 234, 10, 10), + S_CRAFT(208, 244, 10, 10), + S_TERMINAL(192, 224, 10, 10), + S_MACHINE(192, 234, 10, 10); + + public final int x; + public final int y; + public final int width; + public final int height; + + public static final ResourceLocation TEXTURE = AppEng.makeId("textures/guis/states.png"); + public static final int TEXTURE_WIDTH = 256; + public static final int TEXTURE_HEIGHT = 256; + + Icon(int x, int y) { + this(x, y, 16, 16); + } + + Icon(int x, int y, int width, int height) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } + + public Blitter getBlitter() { + return Blitter.texture(TEXTURE, TEXTURE_WIDTH, TEXTURE_HEIGHT) + .src(x, y, width, height); } - public static final ResourceLocation REDSTONE_LOW = AppEng.makeId("icons/redstone_low"); - public static final ResourceLocation REDSTONE_HIGH = AppEng.makeId("icons/redstone_high"); - public static final ResourceLocation REDSTONE_PULSE = AppEng.makeId("icons/redstone_pulse"); - public static final ResourceLocation REDSTONE_IGNORE = AppEng.makeId("icons/redstone_ignore"); - public static final ResourceLocation REDSTONE_OFF = AppEng.makeId("icons/redstone_off"); - public static final ResourceLocation REDSTONE_ON = AppEng.makeId("icons/redstone_on"); - public static final ResourceLocation REDSTONE_ABOVE_EQUAL = AppEng.makeId("icons/redstone_above_equal"); - public static final ResourceLocation REDSTONE_BELOW = AppEng.makeId("icons/redstone_below"); - public static final ResourceLocation CLEAR = AppEng.makeId("icons/clear"); - public static final ResourceLocation ENTER = AppEng.makeId("icons/enter"); - public static final ResourceLocation WHITE_ARROW_DOWN = AppEng.makeId("icons/white_arrow_down"); - public static final ResourceLocation LOCKED = AppEng.makeId("icons/locked"); - public static final ResourceLocation UNLOCKED = AppEng.makeId("icons/unlocked"); - public static final ResourceLocation HELP = AppEng.makeId("icons/help"); - public static final ResourceLocation BACKGROUND_PRIMARY_OUTPUT = AppEng.makeId("icons/background_primary_output"); - public static final ResourceLocation BACKGROUND_STORAGE_CELL = AppEng.makeId("icons/background_storage_cell"); - public static final ResourceLocation VIEW_MODE_STORED = AppEng.makeId("icons/view_mode_stored"); - public static final ResourceLocation VIEW_MODE_ALL = AppEng.makeId("icons/view_mode_all"); - public static final ResourceLocation VIEW_MODE_CRAFTING = AppEng.makeId("icons/view_mode_crafting"); - public static final ResourceLocation BLOCKING_MODE_NO = AppEng.makeId("icons/blocking_mode_no"); - public static final ResourceLocation BLOCKING_MODE_YES = AppEng.makeId("icons/blocking_mode_yes"); - public static final ResourceLocation BACK = AppEng.makeId("icons/back"); - public static final ResourceLocation TRANSPARENT_FACADES_OFF = AppEng.makeId("icons/transparent_facades_off"); - public static final ResourceLocation TRANSPARENT_FACADES_ON = AppEng.makeId("icons/transparent_facades_on"); - public static final ResourceLocation TYPE_FILTER_ITEMS = AppEng.makeId("icons/type_filter_items"); - public static final ResourceLocation TYPE_FILTER_FLUIDS = AppEng.makeId("icons/type_filter_fluids"); - public static final ResourceLocation TYPE_FILTER_ALL = AppEng.makeId("icons/type_filter_all"); - public static final ResourceLocation BACKGROUND_ORE = AppEng.makeId("icons/background_ore"); - public static final ResourceLocation SEARCH_AUTO_FOCUS = AppEng.makeId("icons/search_auto_focus"); - public static final ResourceLocation SEARCH_DEFAULT = AppEng.makeId("icons/search_default"); - public static final ResourceLocation SEARCH_JEI = AppEng.makeId("icons/search_jei"); - public static final ResourceLocation SEARCH_REI = AppEng.makeId("icons/search_rei"); - public static final ResourceLocation SEARCH_AUTO_FOCUS_REMEMBER = AppEng.makeId("icons/search_auto_focus_remember"); - public static final ResourceLocation SEARCH_REMEMBER = AppEng.makeId("icons/search_remember"); - public static final ResourceLocation SEARCH_JEI_AUTO_CLEAR = AppEng.makeId("icons/search_jei_auto_clear"); - public static final ResourceLocation SEARCH_REI_AUTO_CLEAR = AppEng.makeId("icons/search_rei_auto_clear"); - public static final ResourceLocation BACKGROUND_PLATE = AppEng.makeId("icons/background_plate"); - public static final ResourceLocation BACKGROUND_DUST = AppEng.makeId("icons/background_dust"); - public static final ResourceLocation TAB_CRAFTING = AppEng.makeId("icons/tab_crafting"); - public static final ResourceLocation TAB_PROCESSING = AppEng.makeId("icons/tab_processing"); - public static final ResourceLocation TAB_SMITHING = AppEng.makeId("icons/tab_smithing"); - public static final ResourceLocation TAB_STONECUTTING = AppEng.makeId("icons/tab_stonecutting"); - public static final ResourceLocation ARROW_UP = AppEng.makeId("icons/arrow_up"); - public static final ResourceLocation ARROW_DOWN = AppEng.makeId("icons/arrow_down"); - public static final ResourceLocation ARROW_RIGHT = AppEng.makeId("icons/arrow_right"); - public static final ResourceLocation ARROW_LEFT = AppEng.makeId("icons/arrow_left"); - public static final ResourceLocation SUBSTITUTION_ENABLED = AppEng.makeId("icons/substitution_enabled"); - public static final ResourceLocation STORAGE_FILTER_EXTRACTABLE_ONLY = AppEng - .makeId("icons/storage_filter_extractable_only"); - public static final ResourceLocation STORAGE_FILTER_EXTRACTABLE_NONE = AppEng - .makeId("icons/storage_filter_extractable_none"); - public static final ResourceLocation SUBSTITUTION_DISABLED = AppEng.makeId("icons/substitution_disabled"); - public static final ResourceLocation FLUID_SUBSTITUTION_ENABLED = AppEng.makeId("icons/fluid_substitution_enabled"); - public static final ResourceLocation FLUID_SUBSTITUTION_DISABLED = AppEng - .makeId("icons/fluid_substitution_disabled"); - public static final ResourceLocation FILTER_ON_EXTRACT_ENABLED = AppEng.makeId("icons/filter_on_extract_enabled"); - public static final ResourceLocation FILTER_ON_EXTRACT_DISABLED = AppEng.makeId("icons/filter_on_extract_disabled"); - public static final ResourceLocation BACKGROUND_INGOT = AppEng.makeId("icons/background_ingot"); - public static final ResourceLocation BACKGROUND_STORAGE_COMPONENT = AppEng - .makeId("icons/background_storage_component"); - public static final ResourceLocation SORT_BY_NAME = AppEng.makeId("icons/sort_by_name"); - public static final ResourceLocation SORT_BY_AMOUNT = AppEng.makeId("icons/sort_by_amount"); - public static final ResourceLocation COG = AppEng.makeId("icons/cog"); - public static final ResourceLocation COG_DISABLED = AppEng.makeId("icons/cog_disabled"); - public static final ResourceLocation LEVEL_ITEM = AppEng.makeId("icons/level_item"); - public static final ResourceLocation SORT_BY_INVENTORY_TWEAKS = AppEng.makeId("icons/sort_by_inventory_tweaks"); - public static final ResourceLocation SORT_BY_MOD = AppEng.makeId("icons/sort_by_mod"); - public static final ResourceLocation PRIORITY = AppEng.makeId("icons/priority"); - public static final ResourceLocation BACKGROUND_VIEW_CELL = AppEng.makeId("icons/background_view_cell"); - public static final ResourceLocation BACKGROUND_WIRELESS_TERM = AppEng.makeId("icons/background_wireless_term"); - public static final ResourceLocation FULLNESS_EMPTY = AppEng.makeId("icons/fullness_empty"); - public static final ResourceLocation FULLNESS_HALF = AppEng.makeId("icons/fullness_half"); - public static final ResourceLocation FULLNESS_FULL = AppEng.makeId("icons/fullness_full"); - public static final ResourceLocation LEVEL_ENERGY = AppEng.makeId("icons/level_energy"); - public static final ResourceLocation PATTERN_ACCESS_SHOW = AppEng.makeId("icons/pattern_access_show"); - public static final ResourceLocation PATTERN_ACCESS_HIDE = AppEng.makeId("icons/pattern_access_hide"); - public static final ResourceLocation PATTERN_TERMINAL_VISIBLE = AppEng.makeId("icons/pattern_terminal_visible"); - public static final ResourceLocation PATTERN_TERMINAL_ALL = AppEng.makeId("icons/pattern_terminal_all"); - public static final ResourceLocation PATTERN_TERMINAL_NOT_FULL = AppEng.makeId("icons/pattern_terminal_not_full"); - public static final ResourceLocation BACKGROUND_TRASH = AppEng.makeId("icons/background_trash"); - public static final ResourceLocation FUZZY_PERCENT_25 = AppEng.makeId("icons/fuzzy_percent_25"); - public static final ResourceLocation FUZZY_PERCENT_50 = AppEng.makeId("icons/fuzzy_percent_50"); - public static final ResourceLocation FUZZY_PERCENT_75 = AppEng.makeId("icons/fuzzy_percent_75"); - public static final ResourceLocation FUZZY_PERCENT_99 = AppEng.makeId("icons/fuzzy_percent_99"); - public static final ResourceLocation FUZZY_IGNORE = AppEng.makeId("icons/fuzzy_ignore"); - public static final ResourceLocation INSCRIBER_SEPARATE_SIDES = AppEng.makeId("icons/inscriber_separate_sides"); - public static final ResourceLocation INSCRIBER_COMBINED_SIDES = AppEng.makeId("icons/inscriber_combined_sides"); - public static final ResourceLocation AUTO_EXPORT_OFF = AppEng.makeId("icons/auto_export_off"); - public static final ResourceLocation AUTO_EXPORT_ON = AppEng.makeId("icons/auto_export_on"); - public static final ResourceLocation INSCRIBER_BUFFER_4 = AppEng.makeId("icons/inscriber_buffer_4"); - public static final ResourceLocation INSCRIBER_BUFFER_64 = AppEng.makeId("icons/inscriber_buffer_64"); - public static final ResourceLocation INSCRIBER_BUFFER_1 = AppEng.makeId("icons/inscriber_buffer_1"); - public static final ResourceLocation BACKGROUND_WIRELESS_BOOSTER = AppEng - .makeId("icons/background_wireless_booster"); - public static final ResourceLocation CONDENSER_OUTPUT_TRASH = AppEng.makeId("icons/condenser_output_trash"); - public static final ResourceLocation CONDENSER_OUTPUT_MATTER_BALL = AppEng - .makeId("icons/condenser_output_matter_ball"); - public static final ResourceLocation CONDENSER_OUTPUT_SINGULARITY = AppEng - .makeId("icons/condenser_output_singularity"); - public static final ResourceLocation BACKGROUND_ENCODED_PATTERN = AppEng.makeId("icons/background_encoded_pattern"); - public static final ResourceLocation INVALID = AppEng.makeId("icons/invalid"); - public static final ResourceLocation VALID = AppEng.makeId("icons/valid"); - public static final ResourceLocation WHITELIST = AppEng.makeId("icons/whitelist"); - public static final ResourceLocation BLACKLIST = AppEng.makeId("icons/blacklist"); - public static final ResourceLocation HORIZONTAL_TAB = AppEng.makeId("icons/horizontal_tab"); - public static final ResourceLocation HORIZONTAL_TAB_SELECTED = AppEng.makeId("icons/horizontal_tab_selected"); - public static final ResourceLocation HORIZONTAL_TAB_FOCUS = AppEng.makeId("icons/horizontal_tab_focus"); - public static final ResourceLocation BACKGROUND_BLANK_PATTERN = AppEng.makeId("icons/background_blank_pattern"); - public static final ResourceLocation TOOLBAR_BUTTON_BACKGROUND = AppEng.makeId("icons/toolbar_button_background"); - public static final ResourceLocation TOOLBAR_BUTTON_BACKGROUND_FOCUS = AppEng - .makeId("icons/toolbar_button_background_focus"); - public static final ResourceLocation TOOLBAR_BUTTON_BACKGROUND_HOVER = AppEng - .makeId("icons/toolbar_button_background_hover"); - public static final ResourceLocation ACCESS_WRITE = AppEng.makeId("icons/access_write"); - public static final ResourceLocation ACCESS_READ = AppEng.makeId("icons/access_read"); - public static final ResourceLocation ACCESS_READ_WRITE = AppEng.makeId("icons/access_read_write"); - public static final ResourceLocation CRAFT_HAMMER = AppEng.makeId("icons/craft_hammer"); - public static final ResourceLocation BACKGROUND_CHARGABLE = AppEng.makeId("icons/background_chargable"); - public static final ResourceLocation POWER_UNIT_AE = AppEng.makeId("icons/power_unit_ae"); - public static final ResourceLocation POWER_UNIT_EU = AppEng.makeId("icons/power_unit_eu"); - public static final ResourceLocation POWER_UNIT_J = AppEng.makeId("icons/power_unit_j"); - public static final ResourceLocation POWER_UNIT_W = AppEng.makeId("icons/power_unit_w"); - public static final ResourceLocation POWER_UNIT_RF = AppEng.makeId("icons/power_unit_rf"); - public static final ResourceLocation POWER_UNIT_TR = AppEng.makeId("icons/power_unit_tr"); - public static final ResourceLocation BACKGROUND_SINGULARITY = AppEng.makeId("icons/background_singularity"); - public static final ResourceLocation COPY_MODE_ON = AppEng.makeId("icons/copy_mode_on"); - public static final ResourceLocation BACKGROUND_SPATIAL_CELL_NO_SHADOW = AppEng - .makeId("icons/background_spatial_cell_no_shadow"); - public static final ResourceLocation BACKGROUND_SPATIAL_CELL = AppEng.makeId("icons/background_spatial_cell"); - public static final ResourceLocation COPY_MODE_OFF = AppEng.makeId("icons/copy_mode_off"); - public static final ResourceLocation TAB_BUTTON_BACKGROUND_BORDERLESS = AppEng - .makeId("icons/tab_button_background_borderless"); - public static final ResourceLocation TAB_BUTTON_BACKGROUND = AppEng.makeId("icons/tab_button_background"); - public static final ResourceLocation SLOT_BACKGROUND = AppEng.makeId("icons/slot_background"); - public static final ResourceLocation BACKGROUND_FUEL = AppEng.makeId("icons/background_fuel"); - public static final ResourceLocation TERMINAL_STYLE_SMALL = AppEng.makeId("icons/terminal_style_small"); - public static final ResourceLocation TERMINAL_STYLE_MEDIUM = AppEng.makeId("icons/terminal_style_medium"); - public static final ResourceLocation TERMINAL_STYLE_TALL = AppEng.makeId("icons/terminal_style_tall"); - public static final ResourceLocation TERMINAL_STYLE_FULL = AppEng.makeId("icons/terminal_style_full"); - public static final ResourceLocation BACKGROUND_UPGRADE = AppEng.makeId("icons/background_upgrade"); - public static final ResourceLocation PLACEMENT_BLOCK = AppEng.makeId("icons/placement_block"); - public static final ResourceLocation PLACEMENT_ITEM = AppEng.makeId("icons/placement_item"); - public static final ResourceLocation TAB_BUTTON_BACKGROUND_BORDERLESS_FOCUS = AppEng - .makeId("icons/tab_button_background_borderless_focus"); - public static final ResourceLocation TAB_BUTTON_BACKGROUND_FOCUS = AppEng - .makeId("icons/tab_button_background_focus"); - public static final ResourceLocation SCHEDULING_DEFAULT = AppEng.makeId("icons/scheduling_default"); - public static final ResourceLocation SCHEDULING_ROUND_ROBIN = AppEng.makeId("icons/scheduling_round_robin"); - public static final ResourceLocation SCHEDULING_RANDOM = AppEng.makeId("icons/scheduling_random"); - public static final ResourceLocation OVERLAY_OFF = AppEng.makeId("icons/overlay_off"); - public static final ResourceLocation OVERLAY_ON = AppEng.makeId("icons/overlay_on"); - public static final ResourceLocation S_ARROW_UP = AppEng.makeId("icons/s_arrow_up"); - public static final ResourceLocation S_ARROW_DOWN = AppEng.makeId("icons/s_arrow_down"); - public static final ResourceLocation S_CLEAR = AppEng.makeId("icons/s_clear"); - public static final ResourceLocation S_CYCLE = AppEng.makeId("icons/s_cycle"); - public static final ResourceLocation S_SUBSTITUTION_ENABLED = AppEng.makeId("icons/s_substitution_enabled"); - public static final ResourceLocation S_SUBSTITUTION_DISABLED = AppEng.makeId("icons/s_substitution_disabled"); - public static final ResourceLocation S_FLUID_SUBSTITUTION_ENABLED = AppEng - .makeId("icons/s_fluid_substitution_enabled"); - public static final ResourceLocation S_FLUID_SUBSTITUTION_DISABLED = AppEng - .makeId("icons/s_fluid_substitution_disabled"); - public static final ResourceLocation S_STORAGE = AppEng.makeId("icons/s_storage"); - public static final ResourceLocation S_PROCESSOR = AppEng.makeId("icons/s_processor"); - public static final ResourceLocation S_CRAFT = AppEng.makeId("icons/s_craft"); - public static final ResourceLocation S_TERMINAL = AppEng.makeId("icons/s_terminal"); - public static final ResourceLocation S_MACHINE = AppEng.makeId("icons/s_machine"); } diff --git a/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java b/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java index a3fc35280d3..7997a49c6f5 100644 --- a/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java +++ b/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java @@ -23,7 +23,6 @@ import net.minecraft.client.gui.components.Button; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; import appeng.api.config.FuzzyMode; @@ -87,7 +86,7 @@ public SetAmountButton(OnPress onPress) { } @Override - protected ResourceLocation getSprite() { + protected Icon getIcon() { return isHoveredOrFocused() ? Icon.COG : Icon.COG_DISABLED; } } diff --git a/src/main/java/appeng/client/gui/implementations/PatternProviderLockReason.java b/src/main/java/appeng/client/gui/implementations/PatternProviderLockReason.java index 09c6a4cbdde..f042aed7398 100644 --- a/src/main/java/appeng/client/gui/implementations/PatternProviderLockReason.java +++ b/src/main/java/appeng/client/gui/implementations/PatternProviderLockReason.java @@ -7,7 +7,6 @@ import net.minecraft.client.renderer.Rect2i; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import appeng.api.client.AEKeyRendering; @@ -17,7 +16,6 @@ import appeng.client.gui.ICompositeWidget; import appeng.client.gui.Icon; import appeng.client.gui.Tooltip; -import appeng.client.gui.style.Blitter; import appeng.core.localization.GuiText; import appeng.core.localization.InGameTooltip; @@ -60,7 +58,7 @@ public void setVisible(boolean visible) { public void drawForegroundLayer(GuiGraphics guiGraphics, Rect2i bounds, Point mouse) { var menu = screen.getMenu(); - ResourceLocation icon; + Icon icon; Component lockStatusText; if (menu.getCraftingLockedReason() == LockCraftingMode.NONE) { icon = Icon.UNLOCKED; @@ -72,7 +70,7 @@ public void drawForegroundLayer(GuiGraphics guiGraphics, Rect2i bounds, Point mo .setStyle(Style.EMPTY.withColor(Mth.color(193 / 255f, 66 / 255f, 75 / 255f))); } - Blitter.guiSprite(icon).dest(x, y).blit(guiGraphics); + icon.getBlitter().dest(x, y).blit(guiGraphics); guiGraphics.drawString(Minecraft.getInstance().font, lockStatusText, x + 15, y + 5, -1, false); } diff --git a/src/main/java/appeng/client/gui/me/items/CraftingEncodingPanel.java b/src/main/java/appeng/client/gui/me/items/CraftingEncodingPanel.java index 524f420ec36..98d674e7273 100644 --- a/src/main/java/appeng/client/gui/me/items/CraftingEncodingPanel.java +++ b/src/main/java/appeng/client/gui/me/items/CraftingEncodingPanel.java @@ -5,7 +5,6 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.inventory.Slot; import appeng.api.config.ActionItems; @@ -40,7 +39,7 @@ public CraftingEncodingPanel(PatternEncodingTermScreen screen, WidgetContaine } @Override - ResourceLocation getIcon() { + Icon getIcon() { return Icon.TAB_CRAFTING; } diff --git a/src/main/java/appeng/client/gui/me/items/EncodingModePanel.java b/src/main/java/appeng/client/gui/me/items/EncodingModePanel.java index e81559ffec3..c7610e85354 100644 --- a/src/main/java/appeng/client/gui/me/items/EncodingModePanel.java +++ b/src/main/java/appeng/client/gui/me/items/EncodingModePanel.java @@ -2,10 +2,10 @@ import net.minecraft.client.renderer.Rect2i; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import appeng.client.Point; import appeng.client.gui.ICompositeWidget; +import appeng.client.gui.Icon; import appeng.client.gui.WidgetContainer; import appeng.menu.me.items.PatternEncodingTermMenu; @@ -23,7 +23,10 @@ public EncodingModePanel(PatternEncodingTermScreen screen, WidgetContainer wi this.widgets = widgets; } - abstract ResourceLocation getIcon(); + // TODO (Rid): Replaced the ItemStack and an Icon +// abstract ItemStack getTabIconItem(); + + abstract Icon getIcon(); abstract Component getTabTooltip(); diff --git a/src/main/java/appeng/client/gui/me/items/ProcessingEncodingPanel.java b/src/main/java/appeng/client/gui/me/items/ProcessingEncodingPanel.java index eae46e11585..fb7b882bf7d 100644 --- a/src/main/java/appeng/client/gui/me/items/ProcessingEncodingPanel.java +++ b/src/main/java/appeng/client/gui/me/items/ProcessingEncodingPanel.java @@ -3,7 +3,6 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import appeng.api.config.ActionItems; import appeng.client.Point; @@ -87,7 +86,7 @@ private void updateTooltipVisibility() { } @Override - ResourceLocation getIcon() { + Icon getIcon() { return Icon.TAB_PROCESSING; } diff --git a/src/main/java/appeng/client/gui/me/items/SmithingTableEncodingPanel.java b/src/main/java/appeng/client/gui/me/items/SmithingTableEncodingPanel.java index 97bd6d4bf1e..9f129bd79e6 100644 --- a/src/main/java/appeng/client/gui/me/items/SmithingTableEncodingPanel.java +++ b/src/main/java/appeng/client/gui/me/items/SmithingTableEncodingPanel.java @@ -5,7 +5,6 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.SimpleContainer; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; @@ -45,7 +44,7 @@ public SmithingTableEncodingPanel(PatternEncodingTermScreen screen, WidgetCon } @Override - ResourceLocation getIcon() { + Icon getIcon() { return Icon.TAB_SMITHING; } diff --git a/src/main/java/appeng/client/gui/me/items/StonecuttingEncodingPanel.java b/src/main/java/appeng/client/gui/me/items/StonecuttingEncodingPanel.java index 1710275bb4f..16aa8b05ae7 100644 --- a/src/main/java/appeng/client/gui/me/items/StonecuttingEncodingPanel.java +++ b/src/main/java/appeng/client/gui/me/items/StonecuttingEncodingPanel.java @@ -10,7 +10,6 @@ import net.minecraft.client.resources.sounds.SimpleSoundInstance; import net.minecraft.core.RegistryAccess; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeHolder; @@ -160,7 +159,7 @@ public boolean onMouseWheel(Point mousePos, double delta) { } @Override - ResourceLocation getIcon() { + Icon getIcon() { return Icon.TAB_STONECUTTING; } diff --git a/src/main/java/appeng/client/gui/widgets/ActionButton.java b/src/main/java/appeng/client/gui/widgets/ActionButton.java index c3923d6546d..29e249f04f8 100644 --- a/src/main/java/appeng/client/gui/widgets/ActionButton.java +++ b/src/main/java/appeng/client/gui/widgets/ActionButton.java @@ -24,7 +24,6 @@ import org.jetbrains.annotations.Nullable; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import appeng.api.config.ActionItems; import appeng.client.gui.Icon; @@ -32,7 +31,7 @@ public class ActionButton extends IconButton { private static final Pattern PATTERN_NEW_LINE = Pattern.compile("\\n", Pattern.LITERAL); - private final ResourceLocation icon; + private final Icon icon; public ActionButton(ActionItems action, Runnable onPress) { this(action, a -> onPress.run()); @@ -106,7 +105,7 @@ public ActionButton(ActionItems action, Consumer onPress) { } @Override - protected ResourceLocation getSprite() { + protected Icon getIcon() { return icon; } diff --git a/src/main/java/appeng/client/gui/widgets/IconButton.java b/src/main/java/appeng/client/gui/widgets/IconButton.java index 57371aebd9e..6f97437ba46 100644 --- a/src/main/java/appeng/client/gui/widgets/IconButton.java +++ b/src/main/java/appeng/client/gui/widgets/IconButton.java @@ -28,7 +28,6 @@ import net.minecraft.client.renderer.Rect2i; import net.minecraft.client.sounds.SoundManager; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -63,7 +62,7 @@ public void playDownSound(SoundManager soundHandler) { public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partial) { if (this.visible) { - var icon = this.getSprite(); + var icon = this.getIcon(); var item = this.getItemOverlay(); if (this.halfSize) { @@ -75,13 +74,12 @@ public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float if (this.halfSize) { if (!disableBackground) { - Blitter.guiSprite(Icon.TOOLBAR_BUTTON_BACKGROUND).dest(getX(), getY()).zOffset(10) - .blit(guiGraphics); + Icon.TOOLBAR_BUTTON_BACKGROUND.getBlitter().dest(getX(), getY()).zOffset(10).blit(guiGraphics); } if (item != null) { guiGraphics.renderItem(new ItemStack(item), getX(), getY(), 0, 20); } else if (icon != null) { - Blitter blitter = Blitter.guiSprite(icon); + Blitter blitter = icon.getBlitter(); if (!this.active) { blitter.opacity(0.5f); } @@ -89,10 +87,10 @@ public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float } } else { if (!disableBackground) { - var bgIcon = isHovered() ? Icon.TOOLBAR_BUTTON_BACKGROUND_HOVER + Icon bgIcon = isHovered() ? Icon.TOOLBAR_BUTTON_BACKGROUND_HOVER : isFocused() ? Icon.TOOLBAR_BUTTON_BACKGROUND_FOCUS : Icon.TOOLBAR_BUTTON_BACKGROUND; - Blitter.guiSprite(bgIcon) + bgIcon.getBlitter() .dest(getX() - 1, getY() + yOffset, 18, 20) .zOffset(2) .blit(guiGraphics); @@ -100,16 +98,16 @@ public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float if (item != null) { guiGraphics.renderItem(new ItemStack(item), getX(), getY() + 1 + yOffset, 0, 3); } else if (icon != null) { - Blitter.guiSprite(icon).dest(getX(), getY() + 1 + yOffset).zOffset(3).blit(guiGraphics); + icon.getBlitter().dest(getX(), getY() + 1 + yOffset).zOffset(3).blit(guiGraphics); } } } } - protected abstract ResourceLocation getSprite(); + protected abstract Icon getIcon(); /** - * Prioritized over {@link #getSprite()} if not null. + * Prioritized over {@link #getIcon()} if not null. */ @Nullable protected Item getItemOverlay() { diff --git a/src/main/java/appeng/client/gui/widgets/InfoBar.java b/src/main/java/appeng/client/gui/widgets/InfoBar.java index 1efd7d22630..5a4adf0c3e3 100644 --- a/src/main/java/appeng/client/gui/widgets/InfoBar.java +++ b/src/main/java/appeng/client/gui/widgets/InfoBar.java @@ -6,13 +6,12 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.ItemLike; import appeng.api.client.AEKeyRendering; import appeng.api.stacks.AEItemKey; import appeng.api.stacks.AEKey; -import appeng.client.gui.style.Blitter; +import appeng.client.gui.Icon; public class InfoBar { private final List widgets = new ArrayList<>(); @@ -39,7 +38,7 @@ interface Widget { } // TODO (RID): Added xPos and yPos to give me better control over render, but the code below might need refactoring - void add(ResourceLocation icon, float scale, int xPos, int yPos) { + void add(Icon icon, float scale, int xPos, int yPos) { widgets.add(new IconWidget(icon, scale, xPos, yPos)); } @@ -85,7 +84,7 @@ public void render(GuiGraphics guiGraphics, int x, int y) { } } - private record IconWidget(ResourceLocation icon, float scale, int xPos, int yPos) implements Widget { + private record IconWidget(Icon icon, float scale, int xPos, int yPos) implements Widget { @Override public int getWidth() { return Math.round(16 * scale); @@ -102,7 +101,7 @@ public void render(GuiGraphics guiGraphics, int x, int y) { poseStack.pushPose(); poseStack.translate(xPos, yPos, 0); poseStack.scale(scale, scale, 1); - Blitter.guiSprite(icon) + icon.getBlitter() .dest(0, 0) .blit(guiGraphics); poseStack.popPose(); diff --git a/src/main/java/appeng/client/gui/widgets/KeyTypeSelectionButton.java b/src/main/java/appeng/client/gui/widgets/KeyTypeSelectionButton.java index eb1bac019b0..b28ed0b4ff3 100644 --- a/src/main/java/appeng/client/gui/widgets/KeyTypeSelectionButton.java +++ b/src/main/java/appeng/client/gui/widgets/KeyTypeSelectionButton.java @@ -7,7 +7,6 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import appeng.api.stacks.AEKeyType; import appeng.api.storage.ISubMenuHost; @@ -102,7 +101,7 @@ public List getTooltipMessage() { } @Override - protected ResourceLocation getSprite() { + protected Icon getIcon() { return Icon.TYPE_FILTER_ALL; } } diff --git a/src/main/java/appeng/client/gui/widgets/OpenGuideButton.java b/src/main/java/appeng/client/gui/widgets/OpenGuideButton.java index 8b652a1df6c..ca362ae7ee0 100644 --- a/src/main/java/appeng/client/gui/widgets/OpenGuideButton.java +++ b/src/main/java/appeng/client/gui/widgets/OpenGuideButton.java @@ -3,7 +3,6 @@ import java.util.List; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import appeng.client.gui.Icon; import appeng.core.localization.ButtonToolTips; @@ -21,7 +20,7 @@ public List getTooltipMessage() { } @Override - protected ResourceLocation getSprite() { + protected Icon getIcon() { return Icon.HELP; } } diff --git a/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java b/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java index d20af539b67..776bc131ca8 100644 --- a/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java @@ -32,7 +32,6 @@ import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.level.ItemLike; @@ -327,7 +326,7 @@ private void triggerPress() { onPress.handle(this, backwards); } - private static > void registerApp(ResourceLocation sprite, Setting setting, T val, + private static > void registerApp(Icon icon, Setting setting, T val, ButtonToolTips title, Component... tooltipLines) { var lines = new ArrayList(); lines.add(title.text()); @@ -335,7 +334,7 @@ private static > void registerApp(ResourceLocation sprite, Set appearances.put( new EnumPair<>(setting, val), - new ButtonAppearance(sprite, null, lines)); + new ButtonAppearance(icon, null, lines)); } private static > void registerApp(ItemLike item, Setting setting, T val, @@ -349,9 +348,9 @@ private static > void registerApp(ItemLike item, Setting se new ButtonAppearance(null, item.asItem(), lines)); } - private static > void registerApp(ResourceLocation sprite, Setting setting, T val, + private static > void registerApp(Icon icon, Setting setting, T val, ButtonToolTips title, ButtonToolTips hint) { - registerApp(sprite, setting, val, title, hint.text()); + registerApp(icon, setting, val, title, hint.text()); } @Nullable @@ -363,10 +362,10 @@ private ButtonAppearance getApperance() { } @Override - protected ResourceLocation getSprite() { + protected Icon getIcon() { var app = getApperance(); - if (app != null && app.sprite() != null) { - return app.sprite(); + if (app != null && app.icon != null) { + return app.icon; } return Icon.TOOLBAR_BUTTON_BACKGROUND; } @@ -441,7 +440,6 @@ public boolean equals(Object obj) { } } - private record ButtonAppearance(@Nullable ResourceLocation sprite, @Nullable Item item, - List tooltipLines) { + private record ButtonAppearance(@Nullable Icon icon, @Nullable Item item, List tooltipLines) { } } diff --git a/src/main/java/appeng/client/gui/widgets/TabButton.java b/src/main/java/appeng/client/gui/widgets/TabButton.java index 9e0a2e6c6a8..1a0e22d9711 100644 --- a/src/main/java/appeng/client/gui/widgets/TabButton.java +++ b/src/main/java/appeng/client/gui/widgets/TabButton.java @@ -27,15 +27,13 @@ import net.minecraft.client.gui.components.Button.OnPress; import net.minecraft.client.renderer.Rect2i; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import appeng.client.gui.Icon; -import appeng.client.gui.style.Blitter; public class TabButton extends Button implements ITooltip { private Style style = Style.BOX; - private ResourceLocation icon = null; + private Icon icon = null; private ItemStack item; private boolean selected; @@ -48,7 +46,7 @@ public enum Style { HORIZONTAL } - public TabButton(ResourceLocation ico, Component message, OnPress onPress) { + public TabButton(Icon ico, Component message, OnPress onPress) { super(0, 0, 22, 22, message, onPress, Button.DEFAULT_NARRATION); this.icon = ico; @@ -84,7 +82,7 @@ public void renderWidget(GuiGraphics guiGraphics, int x, int y, float partial) { } }; if (!disableBackground) { - Blitter.guiSprite(backdrop).dest(getX(), getY()).blit(guiGraphics); + backdrop.getBlitter().dest(getX(), getY()).blit(guiGraphics); } var iconX = switch (this.style) { @@ -99,7 +97,7 @@ public void renderWidget(GuiGraphics guiGraphics, int x, int y, float partial) { }; if (this.icon != null) { - Blitter.guiSprite(this.icon).dest(getX() + iconX, getY() + iconY - 1).blit(guiGraphics); + this.icon.getBlitter().dest(getX() + iconX, getY() + iconY - 1).blit(guiGraphics); } if (this.item != null) { diff --git a/src/main/java/appeng/client/gui/widgets/ToggleButton.java b/src/main/java/appeng/client/gui/widgets/ToggleButton.java index df4d9971e37..db012f822cd 100644 --- a/src/main/java/appeng/client/gui/widgets/ToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/ToggleButton.java @@ -22,28 +22,29 @@ import java.util.List; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; + +import appeng.client.gui.Icon; public class ToggleButton extends IconButton implements ITooltip { private final Listener listener; - private final ResourceLocation iconOn; - private final ResourceLocation iconOff; + private final Icon iconOn; + private final Icon iconOff; private List tooltipOn = Collections.emptyList(); private List tooltipOff = Collections.emptyList(); private boolean state; - public ToggleButton(ResourceLocation on, ResourceLocation off, Component displayName, + public ToggleButton(Icon on, Icon off, Component displayName, Component displayHint, Listener listener) { this(on, off, listener); setTooltipOn(List.of(displayName, displayHint)); setTooltipOff(List.of(displayName, displayHint)); } - public ToggleButton(ResourceLocation on, ResourceLocation off, Listener listener) { + public ToggleButton(Icon on, Icon off, Listener listener) { super(null); this.iconOn = on; this.iconOff = off; @@ -67,7 +68,7 @@ public void setState(boolean isOn) { this.state = isOn; } - protected ResourceLocation getSprite() { + protected Icon getIcon() { return this.state ? this.iconOn : this.iconOff; } diff --git a/src/main/java/appeng/client/gui/widgets/ValidationIcon.java b/src/main/java/appeng/client/gui/widgets/ValidationIcon.java index 01ea990e4d0..42bccb64936 100644 --- a/src/main/java/appeng/client/gui/widgets/ValidationIcon.java +++ b/src/main/java/appeng/client/gui/widgets/ValidationIcon.java @@ -26,7 +26,6 @@ import net.minecraft.client.gui.ComponentPath; import net.minecraft.client.gui.navigation.FocusNavigationEvent; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import appeng.client.gui.Icon; @@ -63,7 +62,7 @@ public void setTooltip(List lines) { } @Override - protected ResourceLocation getSprite() { + protected Icon getIcon() { return Icon.INVALID; } diff --git a/src/main/java/appeng/client/guidebook/render/RenderContext.java b/src/main/java/appeng/client/guidebook/render/RenderContext.java index 2a3ee9e5d45..14b5419a094 100644 --- a/src/main/java/appeng/client/guidebook/render/RenderContext.java +++ b/src/main/java/appeng/client/guidebook/render/RenderContext.java @@ -23,6 +23,7 @@ import net.neoforged.neoforge.fluids.FluidStack; import appeng.api.stacks.AEFluidKey; +import appeng.client.gui.Icon; import appeng.client.gui.style.BackgroundGenerator; import appeng.client.gui.style.FluidBlitter; import appeng.client.guidebook.color.ColorValue; @@ -83,20 +84,14 @@ default void fillTexturedRect(LytRect rect, TextureAtlasSprite sprite, ColorValu sprite.getU0(), sprite.getV0(), sprite.getU1(), sprite.getV1()); } - default void drawIcon(int x, int y, ResourceLocation guiSprite, ColorValue color) { - var sprite = Minecraft.getInstance().getGuiSprites().getSprite(guiSprite); - drawIcon(x, y, sprite, color); - } - - default void drawIcon(int x, int y, TextureAtlasSprite sprite, ColorValue color) { - var u0 = sprite.getU0(); - var v0 = sprite.getV0(); - var u1 = sprite.getU1(); - var v1 = sprite.getV1(); + default void drawIcon(int x, int y, Icon icon, ColorValue color) { + var u0 = icon.x / (float) Icon.TEXTURE_WIDTH; + var v0 = icon.y / (float) Icon.TEXTURE_HEIGHT; + var u1 = (icon.x + icon.width) / (float) Icon.TEXTURE_WIDTH; + var v1 = (icon.y + icon.height) / (float) Icon.TEXTURE_HEIGHT; - var contents = sprite.contents(); - var texture = Minecraft.getInstance().getTextureManager().getTexture(sprite.atlasLocation()); - fillTexturedRect(new LytRect(x, y, contents.width(), contents.height()), texture, color, color, color, color, + var texture = Minecraft.getInstance().getTextureManager().getTexture(Icon.TEXTURE); + fillTexturedRect(new LytRect(x, y, icon.width, icon.height), texture, color, color, color, color, u0, v0, u1, v1); } diff --git a/src/main/java/appeng/integration/modules/emi/EmiCondenserRecipe.java b/src/main/java/appeng/integration/modules/emi/EmiCondenserRecipe.java index 01b01bc5aaf..5ac7a4ef72e 100644 --- a/src/main/java/appeng/integration/modules/emi/EmiCondenserRecipe.java +++ b/src/main/java/appeng/integration/modules/emi/EmiCondenserRecipe.java @@ -21,7 +21,6 @@ import appeng.api.config.CondenserOutput; import appeng.api.implementations.items.IStorageComponent; import appeng.blockentity.misc.CondenserBlockEntity; -import appeng.client.gui.Icon; import appeng.core.AppEng; import appeng.core.definitions.AEBlocks; import appeng.core.definitions.AEItems; @@ -52,19 +51,17 @@ public void addWidgets(WidgetHolder widgets) { var background = AppEng.makeId("textures/guis/condenser.png"); widgets.addTexture(background, 0, 0, 96, 48, 48, 25); - widgets.add(new SpriteWidget(Icon.BACKGROUND_TRASH, 3, 27, 16, 16)); - widgets.add(new SpriteWidget(Icon.TOOLBAR_BUTTON_BACKGROUND, 79, 28, 16, 16)); - widgets.addDrawable(79, 28, 16, 16, (draw, mouseX, mouseY, delta) -> { - draw.blitSprite(Icon.TOOLBAR_BUTTON_BACKGROUND, 0, 0, 16, 16); - }); + var statesLocation = AppEng.makeId("textures/guis/states.png"); + widgets.addTexture(statesLocation, 4, 28, 14, 14, 241, 81); + widgets.addTexture(statesLocation, 80, 28, 16, 16, 240, 240); widgets.addAnimatedTexture(background, 72, 0, 6, 18, 176, 0, 2000, false, true, false); if (type == CondenserOutput.MATTER_BALLS) { - widgets.add(new SpriteWidget(Icon.CONDENSER_OUTPUT_MATTER_BALL, 79, 27, 16, 16)); + widgets.addTexture(statesLocation, 80, 28, 14, 14, 16, 112); } else if (type == CondenserOutput.SINGULARITY) { - widgets.add(new SpriteWidget(Icon.CONDENSER_OUTPUT_SINGULARITY, 79, 27, 16, 16)); + widgets.addTexture(statesLocation, 80, 28, 14, 14, 32, 112); } widgets.addTooltipText(getTooltip(type), 80, 28, 16, 16); diff --git a/src/main/java/appeng/integration/modules/emi/SpriteWidget.java b/src/main/java/appeng/integration/modules/emi/SpriteWidget.java deleted file mode 100644 index 23c9ac556da..00000000000 --- a/src/main/java/appeng/integration/modules/emi/SpriteWidget.java +++ /dev/null @@ -1,27 +0,0 @@ -package appeng.integration.modules.emi; - -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.resources.ResourceLocation; - -import dev.emi.emi.api.widget.Bounds; -import dev.emi.emi.api.widget.Widget; - -final class SpriteWidget extends Widget { - private final ResourceLocation id; - private final Bounds bounds; - - SpriteWidget(ResourceLocation id, int x, int y, int width, int height) { - this.id = id; - this.bounds = new Bounds(x, y, width, height); - } - - @Override - public Bounds getBounds() { - return bounds; - } - - @Override - public void render(GuiGraphics draw, int mouseX, int mouseY, float delta) { - draw.blitSprite(id, bounds.x(), bounds.y(), bounds.width(), bounds.height()); - } -} diff --git a/src/main/java/appeng/integration/modules/rei/CondenserCategory.java b/src/main/java/appeng/integration/modules/rei/CondenserCategory.java index c5382bc70c3..d1c53111204 100644 --- a/src/main/java/appeng/integration/modules/rei/CondenserCategory.java +++ b/src/main/java/appeng/integration/modules/rei/CondenserCategory.java @@ -40,7 +40,6 @@ import me.shedaniel.rei.api.common.util.EntryStacks; import appeng.api.config.CondenserOutput; -import appeng.client.gui.Icon; import appeng.core.AppEng; import appeng.core.definitions.AEBlocks; @@ -77,13 +76,21 @@ public List setupDisplay(CondenserOutputDisplay recipeDisplay, Rectangle ResourceLocation location = AppEng.makeId("textures/guis/condenser.png"); widgets.add(Widgets.createTexturedWidget(location, origin.x, origin.y, 50, 25, 94, 48)); - widgets.add(new SpriteWidget(Icon.BACKGROUND_TRASH, bounds.x + 3, bounds.y + 27, 16, 16)); - widgets.add(new SpriteWidget(Icon.TOOLBAR_BUTTON_BACKGROUND, bounds.x + 79, bounds.y + 28, 16, 16)); + ResourceLocation statesLocation = AppEng.makeId("textures/guis/states.png"); + widgets.add(Widgets.createTexturedWidget(statesLocation, origin.x + 2, origin.y + 28, 241, 81, 14, 14)); + widgets.add(Widgets.createTexturedWidget(statesLocation, origin.x + 78, origin.y + 28, 240, 240, 16, 16)); + + // FIXME IDrawableStatic progressDrawable = guiHelper.drawableBuilder(location, + // 178, 25, 6, 18).addPadding(0, 0, 70, 0) + // FIXME .build(); + // FIXME this.progress = guiHelper.createAnimatedDrawable(progressDrawable, 40, + // IDrawableAnimated.StartDirection.BOTTOM, + // FIXME false); if (recipeDisplay.getType() == CondenserOutput.MATTER_BALLS) { - widgets.add(new SpriteWidget(Icon.CONDENSER_OUTPUT_MATTER_BALL, bounds.x + 79, bounds.y + 27, 16, 16)); + widgets.add(Widgets.createTexturedWidget(statesLocation, origin.x + 78, origin.y + 28, 16, 112, 14, 14)); } else if (recipeDisplay.getType() == CondenserOutput.SINGULARITY) { - widgets.add(new SpriteWidget(Icon.CONDENSER_OUTPUT_SINGULARITY, bounds.x + 79, bounds.y + 27, 16, 16)); + widgets.add(Widgets.createTexturedWidget(statesLocation, origin.x + 78, origin.y + 28, 32, 112, 14, 14)); } widgets.add(Widgets.createDrawableWidget((guiGraphics, mouseX, mouseY, delta) -> { Rectangle rect = new Rectangle(origin.x + 78, origin.y + 28, 16, 16); diff --git a/src/main/java/appeng/integration/modules/rei/SpriteWidget.java b/src/main/java/appeng/integration/modules/rei/SpriteWidget.java deleted file mode 100644 index c8c523a16a6..00000000000 --- a/src/main/java/appeng/integration/modules/rei/SpriteWidget.java +++ /dev/null @@ -1,35 +0,0 @@ -package appeng.integration.modules.rei; - -import java.util.List; - -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.gui.components.events.GuiEventListener; -import net.minecraft.resources.ResourceLocation; - -import me.shedaniel.math.Rectangle; -import me.shedaniel.rei.api.client.gui.widgets.WidgetWithBounds; - -final class SpriteWidget extends WidgetWithBounds { - private final ResourceLocation id; - private final Rectangle bounds; - - SpriteWidget(ResourceLocation id, int x, int y, int width, int height) { - this.id = id; - this.bounds = new Rectangle(x, y, width, height); - } - - @Override - public Rectangle getBounds() { - return bounds; - } - - @Override - public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) { - guiGraphics.blitSprite(id, bounds.x, bounds.y, bounds.width, bounds.height); - } - - @Override - public List children() { - return List.of(); - } -} diff --git a/src/main/java/appeng/menu/implementations/QuartzKnifeMenu.java b/src/main/java/appeng/menu/implementations/QuartzKnifeMenu.java index e50f2a354fd..6da9b334ba1 100644 --- a/src/main/java/appeng/menu/implementations/QuartzKnifeMenu.java +++ b/src/main/java/appeng/menu/implementations/QuartzKnifeMenu.java @@ -19,7 +19,6 @@ package appeng.menu.implementations; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -31,6 +30,7 @@ import appeng.api.ids.AEComponents; import appeng.api.implementations.menuobjects.ItemMenuHost; import appeng.api.inventories.InternalInventory; +import appeng.client.gui.Icon; import appeng.core.definitions.AEItems; import appeng.menu.AEBaseMenu; import appeng.menu.SlotSemantics; @@ -82,7 +82,7 @@ public void removed(Player player) { } private class QuartzKniveSlot extends OutputSlot { - QuartzKniveSlot(InternalInventory inv, int invSlot, ResourceLocation icon) { + QuartzKniveSlot(InternalInventory inv, int invSlot, Icon icon) { super(inv, invSlot, icon); } diff --git a/src/main/java/appeng/menu/slot/AppEngSlot.java b/src/main/java/appeng/menu/slot/AppEngSlot.java index d3e7fb72b6b..469ef542cf0 100644 --- a/src/main/java/appeng/menu/slot/AppEngSlot.java +++ b/src/main/java/appeng/menu/slot/AppEngSlot.java @@ -24,7 +24,6 @@ import org.jetbrains.annotations.Nullable; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; import net.minecraft.world.entity.player.Player; @@ -33,6 +32,7 @@ import appeng.api.inventories.InternalInventory; import appeng.api.stacks.GenericStack; +import appeng.client.gui.Icon; import appeng.core.AELog; import appeng.menu.AEBaseMenu; @@ -55,7 +55,7 @@ public class AppEngSlot extends Slot { * Shows an icon from the icon sprite-sheet in the background of this slot. */ @Nullable - private ResourceLocation icon; + private Icon icon; /** * Caches if the item stack currently contained in this slot is "valid" or not for UI purposes. */ @@ -235,11 +235,11 @@ public boolean renderIconWithItem() { return false; } - public ResourceLocation getIcon() { + public Icon getIcon() { return this.icon; } - public void setIcon(ResourceLocation icon) { + public void setIcon(Icon icon) { this.icon = icon; } diff --git a/src/main/java/appeng/menu/slot/OutputSlot.java b/src/main/java/appeng/menu/slot/OutputSlot.java index 90526888da4..ea612fda8bb 100644 --- a/src/main/java/appeng/menu/slot/OutputSlot.java +++ b/src/main/java/appeng/menu/slot/OutputSlot.java @@ -18,14 +18,14 @@ package appeng.menu.slot; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import appeng.api.inventories.InternalInventory; +import appeng.client.gui.Icon; public class OutputSlot extends AppEngSlot { - public OutputSlot(InternalInventory inv, int invSlot, ResourceLocation icon) { + public OutputSlot(InternalInventory inv, int invSlot, Icon icon) { super(inv, invSlot); this.setIcon(icon); } diff --git a/src/main/java/appeng/menu/slot/RestrictedInputSlot.java b/src/main/java/appeng/menu/slot/RestrictedInputSlot.java index 646de977d4c..3c3f8c690f5 100644 --- a/src/main/java/appeng/menu/slot/RestrictedInputSlot.java +++ b/src/main/java/appeng/menu/slot/RestrictedInputSlot.java @@ -18,7 +18,6 @@ package appeng.menu.slot; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; @@ -246,9 +245,9 @@ public enum PlacableItemType { INSCRIBER_INPUT(Icon.BACKGROUND_INGOT), METAL_INGOTS(Icon.BACKGROUND_INGOT); - public final ResourceLocation icon; + public final Icon icon; - PlacableItemType(ResourceLocation o) { + PlacableItemType(Icon o) { this.icon = o; } } diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_read.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_read.png deleted file mode 100644 index 907e87a4d49..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_read.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_read_write.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_read_write.png deleted file mode 100644 index 1c7bfa44522..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_read_write.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_write.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_write.png deleted file mode 100644 index d4675606ac7..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/access_write.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_down.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_down.png deleted file mode 100644 index 1b05030cc1a..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_down.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_left.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_left.png deleted file mode 100644 index 1214fde3922..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_left.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_right.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_right.png deleted file mode 100644 index b50c1d4bbd2..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_right.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_up.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_up.png deleted file mode 100644 index c344d9222ed..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/arrow_up.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/auto_export_off.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/auto_export_off.png deleted file mode 100644 index 1c1fb5b1cdf..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/auto_export_off.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/auto_export_on.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/auto_export_on.png deleted file mode 100644 index 0e2375126b5..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/auto_export_on.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/back.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/back.png deleted file mode 100644 index 77b705a8ab6..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/back.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_blank_pattern.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_blank_pattern.png deleted file mode 100644 index bcca8097bfb..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_blank_pattern.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_chargable.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_chargable.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_chargable.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_dust.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_dust.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_dust.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_encoded_pattern.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_encoded_pattern.png deleted file mode 100644 index f31a4f059f7..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_encoded_pattern.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_fuel.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_fuel.png deleted file mode 100644 index ccadb9f9862..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_fuel.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_ingot.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_ingot.png deleted file mode 100644 index a494af373ad..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_ingot.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_ore.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_ore.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_ore.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_plate.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_plate.png deleted file mode 100644 index 1842dd2fdb1..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_plate.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_primary_output.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_primary_output.png deleted file mode 100644 index 4b9e3221505..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_primary_output.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_singularity.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_singularity.png deleted file mode 100644 index 6f312bcc675..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_singularity.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_spatial_cell.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_spatial_cell.png deleted file mode 100644 index edbcaf4a261..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_spatial_cell.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_spatial_cell_no_shadow.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_spatial_cell_no_shadow.png deleted file mode 100644 index ad4d1e42423..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_spatial_cell_no_shadow.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_storage_cell.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_storage_cell.png deleted file mode 100644 index cb55abff56f..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_storage_cell.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_storage_component.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_storage_component.png deleted file mode 100644 index 2902c492ac0..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_storage_component.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_trash.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_trash.png deleted file mode 100644 index e8a51cfe3f5..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_trash.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_upgrade.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_upgrade.png deleted file mode 100644 index d3f7418dd79..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_upgrade.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_view_cell.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_view_cell.png deleted file mode 100644 index 4a359a4c078..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_view_cell.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_wireless_booster.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_wireless_booster.png deleted file mode 100644 index 4cecd17116e..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_wireless_booster.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_wireless_term.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_wireless_term.png deleted file mode 100644 index 5ba3fd73c6d..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/background_wireless_term.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/blacklist.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/blacklist.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/blacklist.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/blocking_mode_no.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/blocking_mode_no.png deleted file mode 100644 index c51dc8e61f7..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/blocking_mode_no.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/blocking_mode_yes.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/blocking_mode_yes.png deleted file mode 100644 index 05042600855..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/blocking_mode_yes.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/clear.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/clear.png deleted file mode 100644 index 3869b8506b2..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/clear.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/cog.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/cog.png deleted file mode 100644 index df6802ab923..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/cog.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/cog_disabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/cog_disabled.png deleted file mode 100644 index 9691e9d054d..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/cog_disabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_matter_ball.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_matter_ball.png deleted file mode 100644 index dc7f9550abe..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_matter_ball.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_singularity.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_singularity.png deleted file mode 100644 index cc1ed97de13..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_singularity.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_trash.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_trash.png deleted file mode 100644 index 2cff832c2d0..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/condenser_output_trash.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/copy_mode_off.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/copy_mode_off.png deleted file mode 100644 index fbb7b3ce324..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/copy_mode_off.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/copy_mode_on.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/copy_mode_on.png deleted file mode 100644 index 665fca93c5a..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/copy_mode_on.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/craft_hammer.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/craft_hammer.png deleted file mode 100644 index c06349c022c..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/craft_hammer.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/enter.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/enter.png deleted file mode 100644 index 7f798ca485e..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/enter.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/filter_on_extract_disabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/filter_on_extract_disabled.png deleted file mode 100644 index 4cc07ad25fe..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/filter_on_extract_disabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/filter_on_extract_enabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/filter_on_extract_enabled.png deleted file mode 100644 index ed32821b849..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/filter_on_extract_enabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fluid_substitution_disabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fluid_substitution_disabled.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fluid_substitution_disabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fluid_substitution_enabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fluid_substitution_enabled.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fluid_substitution_enabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_empty.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_empty.png deleted file mode 100644 index 1f8739eb08b..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_empty.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_full.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_full.png deleted file mode 100644 index 99a1b4eaa99..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_full.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_half.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_half.png deleted file mode 100644 index cf813356c71..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fullness_half.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_ignore.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_ignore.png deleted file mode 100644 index f394f3c482c..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_ignore.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_25.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_25.png deleted file mode 100644 index 2bfa8b2317a..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_25.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_50.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_50.png deleted file mode 100644 index 767ad7b0881..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_50.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_75.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_75.png deleted file mode 100644 index cde236fcd34..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_75.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_99.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_99.png deleted file mode 100644 index b7591953673..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/fuzzy_percent_99.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/help.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/help.png deleted file mode 100644 index 2680e2ad8a2..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/help.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab.png deleted file mode 100644 index 9e29e8062d9..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab_focus.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab_focus.png deleted file mode 100644 index 593f84a5a3c..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab_focus.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab_selected.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab_selected.png deleted file mode 100644 index 593f84a5a3c..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/horizontal_tab_selected.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_1.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_1.png deleted file mode 100644 index 88e2f9aa542..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_1.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_4.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_4.png deleted file mode 100644 index bc7a661c9b5..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_4.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_64.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_64.png deleted file mode 100644 index bb9b0c3b4ad..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_buffer_64.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_combined_sides.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_combined_sides.png deleted file mode 100644 index 7797e31acc6..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_combined_sides.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_separate_sides.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_separate_sides.png deleted file mode 100644 index a37d0e5ebe6..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/inscriber_separate_sides.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/invalid.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/invalid.png deleted file mode 100644 index 808ae0367ed..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/invalid.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/level_energy.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/level_energy.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/level_energy.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/level_item.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/level_item.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/level_item.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/locked.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/locked.png deleted file mode 100644 index 666bff2e557..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/locked.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/overlay_off.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/overlay_off.png deleted file mode 100644 index dacb40a007c..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/overlay_off.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/overlay_on.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/overlay_on.png deleted file mode 100644 index 332430a24b0..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/overlay_on.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_access_hide.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_access_hide.png deleted file mode 100644 index f2e12bd0559..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_access_hide.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_access_show.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_access_show.png deleted file mode 100644 index b064d34cd12..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_access_show.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_all.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_all.png deleted file mode 100644 index 26bf037d214..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_all.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_not_full.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_not_full.png deleted file mode 100644 index 873473bc579..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_not_full.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_visible.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_visible.png deleted file mode 100644 index 1a29cecfa69..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/pattern_terminal_visible.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/placement_block.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/placement_block.png deleted file mode 100644 index ad8499fd83d..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/placement_block.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/placement_item.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/placement_item.png deleted file mode 100644 index 9a7584d524f..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/placement_item.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_ae.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_ae.png deleted file mode 100644 index 53d37f1e1dd..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_ae.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_eu.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_eu.png deleted file mode 100644 index 1787048241d..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_eu.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_j.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_j.png deleted file mode 100644 index 53dcbbb9043..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_j.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_rf.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_rf.png deleted file mode 100644 index 59bf7793670..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_rf.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_tr.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_tr.png deleted file mode 100644 index c2360d31674..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_tr.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_w.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_w.png deleted file mode 100644 index 12830046239..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/power_unit_w.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/priority.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/priority.png deleted file mode 100644 index 5097151cc5c..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/priority.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_above_equal.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_above_equal.png deleted file mode 100644 index 7a2687a0a56..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_above_equal.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_below.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_below.png deleted file mode 100644 index 83a35145b60..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_below.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_high.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_high.png deleted file mode 100644 index 5e2f462193b..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_high.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_ignore.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_ignore.png deleted file mode 100644 index af1a3312ff7..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_ignore.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_low.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_low.png deleted file mode 100644 index e0e0b31b4ea..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_low.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_off.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_off.png deleted file mode 100644 index 21206ebc736..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_off.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_on.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_on.png deleted file mode 100644 index ed2828782e7..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_on.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_pulse.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_pulse.png deleted file mode 100644 index 352ddb464a5..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/redstone_pulse.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_arrow_down.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_arrow_down.png deleted file mode 100644 index 69e23aba248..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_arrow_down.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_arrow_up.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_arrow_up.png deleted file mode 100644 index 4903ca61e07..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_arrow_up.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_clear.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_clear.png deleted file mode 100644 index 353cb477f5f..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_clear.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_craft.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_craft.png deleted file mode 100644 index 43ca74cc4ac..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_craft.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_cycle.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_cycle.png deleted file mode 100644 index f735441fa33..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_cycle.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_fluid_substitution_disabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_fluid_substitution_disabled.png deleted file mode 100644 index e2f7a25b5ef..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_fluid_substitution_disabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_fluid_substitution_enabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_fluid_substitution_enabled.png deleted file mode 100644 index dd763b030aa..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_fluid_substitution_enabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_machine.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_machine.png deleted file mode 100644 index 075313f97b6..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_machine.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_processor.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_processor.png deleted file mode 100644 index a327e9c75b4..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_processor.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_storage.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_storage.png deleted file mode 100644 index b32330833ca..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_storage.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_substitution_disabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_substitution_disabled.png deleted file mode 100644 index d61c05bad05..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_substitution_disabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_substitution_enabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_substitution_enabled.png deleted file mode 100644 index b1991132085..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_substitution_enabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_terminal.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_terminal.png deleted file mode 100644 index f47675a6fbb..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/s_terminal.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_default.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_default.png deleted file mode 100644 index 421fadd4196..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_default.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_random.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_random.png deleted file mode 100644 index 21d06838045..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_random.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_round_robin.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_round_robin.png deleted file mode 100644 index 7dbf12c07ba..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/scheduling_round_robin.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_auto_focus.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_auto_focus.png deleted file mode 100644 index 8bd5fe8c1ca..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_auto_focus.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_auto_focus_remember.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_auto_focus_remember.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_auto_focus_remember.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_default.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_default.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_default.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_jei.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_jei.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_jei.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_jei_auto_clear.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_jei_auto_clear.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_jei_auto_clear.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_rei.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_rei.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_rei.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_rei_auto_clear.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_rei_auto_clear.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_rei_auto_clear.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_remember.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_remember.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/search_remember.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/slot_background.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/slot_background.png deleted file mode 100644 index 75cd2a71ee8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/slot_background.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_amount.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_amount.png deleted file mode 100644 index 32d3749636f..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_amount.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_inventory_tweaks.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_inventory_tweaks.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_inventory_tweaks.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_mod.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_mod.png deleted file mode 100644 index 02a5a1e3fc0..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_mod.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_name.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_name.png deleted file mode 100644 index 3924534e865..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/sort_by_name.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/storage_filter_extractable_none.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/storage_filter_extractable_none.png deleted file mode 100644 index 9f9e9a83aec..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/storage_filter_extractable_none.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/storage_filter_extractable_only.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/storage_filter_extractable_only.png deleted file mode 100644 index 8e32cad010a..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/storage_filter_extractable_only.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/substitution_disabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/substitution_disabled.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/substitution_disabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/substitution_enabled.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/substitution_enabled.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/substitution_enabled.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background.png deleted file mode 100644 index 5e7ee414930..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_borderless.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_borderless.png deleted file mode 100644 index 38ae956946b..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_borderless.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_borderless_focus.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_borderless_focus.png deleted file mode 100644 index 6fce83b473a..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_borderless_focus.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_focus.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_focus.png deleted file mode 100644 index 7b887eb937c..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_button_background_focus.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_crafting.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_crafting.png deleted file mode 100644 index be2c345e6ae..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_crafting.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_processing.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_processing.png deleted file mode 100644 index d1aebe5e659..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_processing.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_smithing.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_smithing.png deleted file mode 100644 index 78697bf2050..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_smithing.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_stonecutting.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_stonecutting.png deleted file mode 100644 index 8bd5fe8c1ca..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/tab_stonecutting.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_full.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_full.png deleted file mode 100644 index 5f1cf4dfaf1..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_full.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_medium.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_medium.png deleted file mode 100644 index 44a88ba76c0..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_medium.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_small.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_small.png deleted file mode 100644 index bd3e4859082..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_small.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_tall.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_tall.png deleted file mode 100644 index 3f317784f18..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/terminal_style_tall.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background.png deleted file mode 100644 index e16627e03ca..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background_focus.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background_focus.png deleted file mode 100644 index 75e1db0b6f1..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background_focus.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background_hover.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background_hover.png deleted file mode 100644 index 053abfcc03a..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/toolbar_button_background_hover.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/transparent_facades_off.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/transparent_facades_off.png deleted file mode 100644 index 77b705a8ab6..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/transparent_facades_off.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/transparent_facades_on.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/transparent_facades_on.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/transparent_facades_on.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_all.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_all.png deleted file mode 100644 index fdade31e697..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_all.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_fluids.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_fluids.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_fluids.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_items.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_items.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/type_filter_items.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/unlocked.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/unlocked.png deleted file mode 100644 index 285623bb8a7..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/unlocked.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/valid.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/valid.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/valid.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_all.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_all.png deleted file mode 100644 index 025a90d8f5e..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_all.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_crafting.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_crafting.png deleted file mode 100644 index b3331a7ee94..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_crafting.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_stored.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_stored.png deleted file mode 100644 index 1979bd57f88..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/view_mode_stored.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/white_arrow_down.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/white_arrow_down.png deleted file mode 100644 index 579ffcf430f..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/white_arrow_down.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/gui/sprites/icons/whitelist.png b/src/main/resources/assets/ae2/textures/gui/sprites/icons/whitelist.png deleted file mode 100644 index 67a815ef8a8..00000000000 Binary files a/src/main/resources/assets/ae2/textures/gui/sprites/icons/whitelist.png and /dev/null differ diff --git a/src/main/resources/assets/ae2/textures/guis/states.png b/src/main/resources/assets/ae2/textures/guis/states.png new file mode 100644 index 00000000000..d29dd63c06f Binary files /dev/null and b/src/main/resources/assets/ae2/textures/guis/states.png differ