diff --git a/core/src/mindustry/world/blocks/ItemSelection.java b/core/src/mindustry/world/blocks/ItemSelection.java index 8fe4994d5b..165dd1ee19 100644 --- a/core/src/mindustry/world/blocks/ItemSelection.java +++ b/core/src/mindustry/world/blocks/ItemSelection.java @@ -1,31 +1,28 @@ package mindustry.world.blocks; -import arc.struct.*; import arc.func.*; import arc.scene.style.*; import arc.scene.ui.*; import arc.scene.ui.layout.*; +import arc.struct.*; +import mindustry.ctype.*; import mindustry.gen.*; -import mindustry.type.*; import mindustry.ui.*; -import mindustry.ui.Cicon; import static mindustry.Vars.*; public class ItemSelection{ - public static void buildItemTable(Table table, Prov holder, Cons consumer){ - - Array items = content.items(); + public static void buildTable(Table table, Array items, Prov holder, Cons consumer){ ButtonGroup group = new ButtonGroup<>(); group.setMinCheckCount(0); Table cont = new Table(); - cont.defaults().size(38); + cont.defaults().size(40); int i = 0; - for(Item item : items){ + for(T item : items){ if(!data.isUnlocked(item) && world.isZone()) continue; ImageButton button = cont.addImageButton(Tex.whiteui, Styles.clearToggleTransi, 24, () -> control.input.frag.config.hideConfig()).group(group).get(); diff --git a/core/src/mindustry/world/blocks/distribution/Sorter.java b/core/src/mindustry/world/blocks/distribution/Sorter.java index 22e196791e..731300eccc 100644 --- a/core/src/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/mindustry/world/blocks/distribution/Sorter.java @@ -133,7 +133,7 @@ public class Sorter extends Block{ @Override public void buildConfiguration(Tile tile, Table table){ SorterEntity entity = tile.ent(); - ItemSelection.buildItemTable(table, () -> entity.sortItem, item -> { + ItemSelection.buildTable(table, content.items(), () -> entity.sortItem, item -> { lastItem = item; tile.configure(item == null ? -1 : item.id); }); diff --git a/core/src/mindustry/world/blocks/sandbox/ItemSource.java b/core/src/mindustry/world/blocks/sandbox/ItemSource.java index 2ff49b70d8..bf7a4a5c45 100644 --- a/core/src/mindustry/world/blocks/sandbox/ItemSource.java +++ b/core/src/mindustry/world/blocks/sandbox/ItemSource.java @@ -81,7 +81,7 @@ public class ItemSource extends Block{ @Override public void buildConfiguration(Tile tile, Table table){ ItemSourceEntity entity = tile.ent(); - ItemSelection.buildItemTable(table, () -> entity.outputItem, item -> { + ItemSelection.buildTable(table, content.items(), () -> entity.outputItem, item -> { lastItem = item; tile.configure(item == null ? -1 : item.id); }); diff --git a/core/src/mindustry/world/blocks/sandbox/LiquidSource.java b/core/src/mindustry/world/blocks/sandbox/LiquidSource.java index d1ff0be0dd..a30367fc81 100644 --- a/core/src/mindustry/world/blocks/sandbox/LiquidSource.java +++ b/core/src/mindustry/world/blocks/sandbox/LiquidSource.java @@ -1,24 +1,19 @@ package mindustry.world.blocks.sandbox; import arc.*; -import arc.struct.*; import arc.graphics.g2d.*; -import arc.scene.style.*; -import arc.scene.ui.*; import arc.scene.ui.layout.*; -import arc.util.*; import arc.util.ArcAnnotate.*; +import arc.util.*; import mindustry.entities.traits.BuilderTrait.*; import mindustry.entities.type.*; -import mindustry.gen.*; import mindustry.type.*; -import mindustry.ui.*; -import mindustry.ui.Cicon; import mindustry.world.*; +import mindustry.world.blocks.*; import java.io.*; -import static mindustry.Vars.*; +import static mindustry.Vars.content; public class LiquidSource extends Block{ public static Liquid lastLiquid; @@ -82,29 +77,10 @@ public class LiquidSource extends Block{ public void buildConfiguration(Tile tile, Table table){ LiquidSourceEntity entity = tile.ent(); - Array items = content.liquids(); - - ButtonGroup group = new ButtonGroup<>(); - group.setMinCheckCount(0); - Table cont = new Table(); - - for(int i = 0; i < items.size; i++){ - final int f = i; - ImageButton button = cont.addImageButton(Tex.clear, Styles.clearToggleTransi, 24, () -> control.input.frag.config.hideConfig()).size(38).group(group).get(); - button.changed(() -> { - tile.configure(button.isChecked() ? items.get(f).id : -1); - control.input.frag.config.hideConfig(); - lastLiquid = items.get(f); - }); - button.getStyle().imageUp = new TextureRegionDrawable(items.get(i).icon(Cicon.medium)); - button.setChecked(entity.source == items.get(i)); - - if(i % 4 == 3){ - cont.row(); - } - } - - table.add(cont); + ItemSelection.buildTable(table, content.liquids(), () -> entity.source, liquid -> { + lastLiquid = liquid; + tile.configure(liquid == null ? -1 : liquid.id); + }); } @Override diff --git a/core/src/mindustry/world/blocks/storage/Unloader.java b/core/src/mindustry/world/blocks/storage/Unloader.java index b63e7a04bb..bd571efe0a 100644 --- a/core/src/mindustry/world/blocks/storage/Unloader.java +++ b/core/src/mindustry/world/blocks/storage/Unloader.java @@ -123,7 +123,7 @@ public class Unloader extends Block{ @Override public void buildConfiguration(Tile tile, Table table){ UnloaderEntity entity = tile.ent(); - ItemSelection.buildItemTable(table, () -> entity.sortItem, item -> { + ItemSelection.buildTable(table, content.items(), () -> entity.sortItem, item -> { lastItem = item; tile.configure(item == null ? -1 : item.id); }); diff --git a/gradle.properties b/gradle.properties index c56c42567f..fc81933aea 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=292d60e7d6c2013334b0f4f30659e1d885f73cfe +archash=a3edc4804b57ac9f8c59216cc470f05133f8c804