diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 95ea1a936e..99b4f79633 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1346,7 +1346,7 @@ public class Blocks implements ContentList{ }}; waterExtractor = new SolidPump("water-extractor"){{ - requirements(Category.production, with(Items.metaglass, 30, Items.graphite, 30, Items.lead, 30)); + requirements(Category.production, with(Items.metaglass, 30, Items.graphite, 30, Items.lead, 30, Items.copper, 30)); result = Liquids.water; pumpAmount = 0.11f; size = 2; @@ -2062,12 +2062,12 @@ public class Blocks implements ContentList{ //region payloads payloadConveyor = new PayloadConveyor("payload-conveyor"){{ - requirements(Category.units, with(Items.graphite, 10, Items.copper, 20)); + requirements(Category.units, with(Items.graphite, 10, Items.lead, 10)); canOverdrive = false; }}; payloadRouter = new PayloadRouter("payload-router"){{ - requirements(Category.units, with(Items.graphite, 15, Items.copper, 20)); + requirements(Category.units, with(Items.graphite, 15, Items.lead, 15)); canOverdrive = false; }}; diff --git a/core/src/mindustry/ui/fragments/PlayerListFragment.java b/core/src/mindustry/ui/fragments/PlayerListFragment.java index 1139aad0ed..1a701571ab 100644 --- a/core/src/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/mindustry/ui/fragments/PlayerListFragment.java @@ -1,10 +1,12 @@ package mindustry.ui.fragments; import arc.*; +import arc.graphics.*; import arc.graphics.g2d.*; import arc.scene.*; import arc.scene.event.*; import arc.scene.ui.*; +import arc.scene.ui.ImageButton.*; import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; @@ -115,6 +117,23 @@ public class PlayerListFragment extends Fragment{ button.image(Icon.admin).visible(() -> user.admin && !(!user.isLocal() && net.server())).padRight(5).get().updateVisibility(); + var style = new ImageButtonStyle(){{ + down = Styles.none; + up = Styles.none; + imageCheckedColor = Pal.accent; + imageDownColor = Pal.accent; + imageUpColor = Color.white; + imageOverColor = Color.lightGray; + }}; + + var ustyle = new ImageButtonStyle(){{ + down = Styles.none; + up = Styles.none; + imageDownColor = Pal.accent; + imageUpColor = Color.white; + imageOverColor = Color.lightGray; + }}; + if((net.server() || player.admin) && !user.isLocal() && (!user.admin || net.server())){ button.add().growY(); @@ -123,35 +142,41 @@ public class PlayerListFragment extends Fragment{ button.table(t -> { t.defaults().size(bs); - t.button(Icon.hammer, Styles.clearPartiali, + t.button(Icon.hammer, ustyle, () -> ui.showConfirm("@confirm", Core.bundle.format("confirmban", user.name()), () -> Call.adminRequest(user, AdminAction.ban))); - t.button(Icon.cancel, Styles.clearPartiali, + t.button(Icon.cancel, ustyle, () -> ui.showConfirm("@confirm", Core.bundle.format("confirmkick", user.name()), () -> Call.adminRequest(user, AdminAction.kick))); t.row(); - t.button(Icon.admin, Styles.clearTogglePartiali, () -> { + t.button(Icon.admin, style, () -> { if(net.client()) return; String id = user.uuid(); - if(netServer.admins.isAdmin(id, connection.address)){ - ui.showConfirm("@confirm", Core.bundle.format("confirmunadmin", user.name()), () -> netServer.admins.unAdminPlayer(id)); + if(user.admin){ + ui.showConfirm("@confirm", Core.bundle.format("confirmunadmin", user.name()), () -> { + netServer.admins.unAdminPlayer(id); + user.admin = false; + }); }else{ - ui.showConfirm("@confirm", Core.bundle.format("confirmadmin", user.name()), () -> netServer.admins.adminPlayer(id, user.usid())); + ui.showConfirm("@confirm", Core.bundle.format("confirmadmin", user.name()), () -> { + netServer.admins.adminPlayer(id, user.usid()); + user.admin = true; + }); } }).update(b -> b.setChecked(user.admin)) .disabled(b -> net.client()) .touchable(() -> net.client() ? Touchable.disabled : Touchable.enabled) .checked(user.admin); - t.button(Icon.zoom, Styles.clearPartiali, () -> Call.adminRequest(user, AdminAction.trace)); + t.button(Icon.zoom, ustyle, () -> Call.adminRequest(user, AdminAction.trace)); }).padRight(12).size(bs + 10f, bs); }else if(!user.isLocal() && !user.admin && net.client() && Groups.player.size() >= 3 && player.team() == user.team()){ //votekick button.add().growY(); - button.button(Icon.hammer, Styles.clearPartiali, + button.button(Icon.hammer, ustyle, () -> { ui.showConfirm("@confirm", Core.bundle.format("confirmvotekick", user.name()), () -> { Call.sendChatMessage("/votekick " + user.name());