diff --git a/assets/mod.json b/assets/mod.json index a04c9a4..2297d68 100644 --- a/assets/mod.json +++ b/assets/mod.json @@ -5,7 +5,7 @@ "description": "The mod displays more information for unit, such as health, armor, shield, weapon/weapon reload etc", "version": "1.2", "main": "UnitInfo.core.Main", - "minGameVersion": "128", + "minGameVersion": "129", "dependencies": [], "hidden": true, "java": true diff --git a/gradle.properties b/gradle.properties index f0ec74e..883008f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,6 +3,6 @@ pArtifactFilename = UnitInfo.jar # Group of project (should line up with dirs in src/) pGroup = sharlotte # Version of Mindustry to use (if not working, consult jitpack.io) -pMindustryVersion = v128 +pMindustryVersion = v129.1 # Minimum API level for d8 (if you don't know what this is, leave it unless d8 yells at you) pMinApi = 26 \ No newline at end of file diff --git a/src/UnitInfo/core/BarInfo.java b/src/UnitInfo/core/BarInfo.java index 2157ea7..3c450cf 100644 --- a/src/UnitInfo/core/BarInfo.java +++ b/src/UnitInfo/core/BarInfo.java @@ -222,7 +222,7 @@ public class BarInfo { if(target instanceof Unit unit && state.rules.unitAmmo && unit.type != null){ strings.set(5, Core.bundle.format("shar-stat.ammos", format(unit.ammo()), format(unit.type().ammoCapacity))); - colors.set(5, unit.type().ammoType.color); + colors.set(5, unit.type().ammoType.color()); numbers.set(5, unit.ammof()); } else if(target instanceof Building build && build.block.hasPower && build.block.consumes.hasPower()){ diff --git a/src/UnitInfo/core/HudUi.java b/src/UnitInfo/core/HudUi.java index 69ef7f8..7bc33df 100644 --- a/src/UnitInfo/core/HudUi.java +++ b/src/UnitInfo/core/HudUi.java @@ -25,6 +25,8 @@ import mindustry.graphics.*; import mindustry.input.*; import mindustry.logic.*; import mindustry.type.*; +import mindustry.type.ammo.ItemAmmoType; +import mindustry.type.ammo.PowerAmmoType; import mindustry.ui.*; import mindustry.world.*; import mindustry.world.blocks.*; @@ -379,9 +381,8 @@ public class HudUi { if(Vars.state.rules.unitAmmo && getTarget() instanceof Unit u && u.type != null){ UnitType type = u.type; - if(type.ammoType == AmmoTypes.copper) region = Items.copper.uiIcon; - else if(type.ammoType == AmmoTypes.thorium) region = Items.thorium.uiIcon; - else if(type.ammoType == AmmoTypes.power || type.ammoType == AmmoTypes.powerLow || type.ammoType == AmmoTypes.powerHigh) region = Icon.powerSmall.getRegion(); + if(type.ammoType instanceof ItemAmmoType ammo) region = ammo.item.uiIcon; + else if(type.ammoType instanceof PowerAmmoType) region = Icon.powerSmall.getRegion(); } setDrawable(region); }); diff --git a/src/UnitInfo/core/Setting.java b/src/UnitInfo/core/Setting.java index bd8a6f6..dfbd821 100644 --- a/src/UnitInfo/core/Setting.java +++ b/src/UnitInfo/core/Setting.java @@ -26,12 +26,13 @@ public class Setting { public void addGraphicCheckSetting(String key, boolean def){ ui.settings.graphics.checkPref(key, def); } + public void addGraphicSlideSetting(String key, int def, int min, int max, int step, SettingsMenuDialog.StringProcessor s){ + ui.settings.graphics.sliderPref(key, def, min, max, step, s); + } + /* public void addGraphicSlideSetting(String key, int def, int min, int max, int step, SettingsMenuDialog.StringProcessor s, Seq list){ - list.add(new SettingsMenuDialog.SettingsTable.Setting() { + list.add(new SettingsMenuDialog.SettingsTable.Setting(key) { { - name = key; - title = bundle.get("setting." + key + ".name"); - Core.settings.defaults(name, def); } @@ -260,8 +261,9 @@ public class Setting { } }); } - + */ public void init(){ + /* Seq waveSeq = new Seq<>(); addGraphicCheckSetting("pastwave", false, waveSeq); addGraphicCheckSetting("emptywave", true, waveSeq); @@ -285,6 +287,22 @@ public class Setting { addGraphicSlideSetting("baropacity", 50, 0, 100, 5, s -> s + "%", opacitySeq); addGraphicSlideSetting("uiopacity", 50, 0, 100, 5, s -> s + "%", opacitySeq); addGraphicDialogSetting("opacitysetting", opacitySeq, opacityTable); + */ + + addGraphicCheckSetting("pastwave", false); + addGraphicCheckSetting("emptywave", true); + addGraphicCheckSetting("scan", false); + addGraphicSlideSetting("rangemax", 10, 0, 100, 1, s -> s + "tiles"); + addGraphicCheckSetting("rangeNearby", true); + addGraphicCheckSetting("allTeamRange", false); + addGraphicCheckSetting("allTargetRange", false); + addGraphicCheckSetting("unitRange", false); + addGraphicCheckSetting("softRangeDrawing", false); + addGraphicSlideSetting("softRangeOpacity", 10, 0, 25, 1, s -> s + "%"); + addGraphicSlideSetting("rangeRadius", 5, 0, 20, 1, s -> s + "tiles"); + addGraphicSlideSetting("selectopacity", 50, 0, 100, 5, s -> s + "%"); + addGraphicSlideSetting("baropacity", 50, 0, 100, 5, s -> s + "%"); + addGraphicSlideSetting("uiopacity", 50, 0, 100, 5, s -> s + "%"); addGraphicCheckSetting("autoShooting", false); addGraphicCheckSetting("infoui", true); diff --git a/src/UnitInfo/ui/FreeBar.java b/src/UnitInfo/ui/FreeBar.java index f536342..8515f99 100644 --- a/src/UnitInfo/ui/FreeBar.java +++ b/src/UnitInfo/ui/FreeBar.java @@ -74,7 +74,7 @@ public class FreeBar { float moser = topWidth + height; if(unit.ammo <= 0) moser = (width / 2 + height) * (2 * Mathf.clamp(unit.ammof()) - 1); - Draw.color((unit.dead() || unit instanceof BlockUnitc ? Pal.ammo : unit.type.ammoType.color).cpy().a((settings.getInt("baropacity") / 100f))); + Draw.color((unit.dead() || unit instanceof BlockUnitc ? Pal.ammo : unit.type.ammoType.color()).cpy().a((settings.getInt("baropacity") / 100f))); Fill.poly(FloatSeq.with( x - (width / 2 + height), y, x - width / 2, y + height,