Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
stabu-dev committed Nov 23, 2024
2 parents 8ac5adc + 5128de2 commit 8afd161
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 17 deletions.
1 change: 1 addition & 0 deletions assets/bundles/bundle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ setting.omaloon-check-updates = Check for Updates
setting.omaloon-shield-opacity = Shelter Opacity
setting.omaloon-show-disclaimer = Hide Disclaimer
setting.omaloon-discord-join = Join Omaloon discord server!
settings.omaloon-enable-roomba = Enable Roomba

settings.omaloon-moddata = Omaloon Data
binding.category-omaloon-editor = Editor
Expand Down
1 change: 1 addition & 0 deletions src/omaloon/content/OlPlanets.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public static void load() {
ruleSetter = r -> {
r.blockWhitelist = true;
r.hideBannedBlocks = true;
r.bannedBlocks.clear();
r.bannedBlocks.addAll(Vars.content.blocks().select(block -> {
boolean omaloonOnly = block.minfo.mod != null && block.minfo.mod.name.equals("omaloon");
boolean sandboxOnly = block.buildVisibility == BuildVisibility.sandboxOnly;
Expand Down
38 changes: 22 additions & 16 deletions src/omaloon/core/SafeClearer.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,32 @@ public SafeClearer() {
if (Vars.platform instanceof ApplicationCore core) core.add(this);
}

public boolean enabled() {
return Core.settings.getBool("setting.omaloon-enable-roomba", true);
}

@Override
public void update() {
invalidBuilds.clear();
if (Vars.state.isCampaign() && Vars.state.getPlanet().solarSystem == OlPlanets.omaloon) {
Block out = Vars.content.blocks().find(block -> {
boolean omaloonOnly = block.minfo.mod != null && block.minfo.mod.name.equals("omaloon");
boolean sandboxOnly = block.buildVisibility == BuildVisibility.sandboxOnly;
boolean empty = Vars.player.team().data().getBuildings(block).isEmpty();
if (enabled()) {
invalidBuilds.clear();
if (Vars.state.isCampaign() && Vars.state.getPlanet().solarSystem == OlPlanets.omaloon) {
Block out = Vars.content.blocks().find(block -> {
boolean omaloonOnly = block.minfo.mod != null && block.minfo.mod.name.equals("omaloon");
boolean sandboxOnly = block.buildVisibility == BuildVisibility.sandboxOnly || block.buildVisibility == BuildVisibility.editorOnly;
boolean empty = Vars.player.team().data().getBuildings(block).isEmpty();

return !omaloonOnly && !sandboxOnly && !empty && !(block instanceof ConstructBlock);
});
if (out != null) invalidBuilds.add(Vars.player.team().data().getBuildings(out));
invalidBuilds.removeAll(b -> b instanceof ConstructBlock.ConstructBuild);
}
return !omaloonOnly && !sandboxOnly && !empty && !(block instanceof ConstructBlock);
});
if (out != null) invalidBuilds.add(Vars.player.team().data().getBuildings(out));
invalidBuilds.removeAll(b -> b instanceof ConstructBlock.ConstructBuild);
}

if (!invalidBuilds.isEmpty()) {
invalidBuilds.each(build -> {
OlFx.stealInvalid.at(build.x, build.y, 0, build.block);
build.tile.setAir();
});
if (!invalidBuilds.isEmpty()) {
invalidBuilds.each(build -> {
OlFx.stealInvalid.at(build.x, build.y, 0, build.block);
build.tile.setAir();
});
}
}
}
}
8 changes: 7 additions & 1 deletion src/omaloon/ui/dialogs/OlGameDataDialog.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package omaloon.ui.dialogs;

import arc.*;
import mindustry.*;
import mindustry.gen.*;
import mindustry.ui.*;
Expand Down Expand Up @@ -35,6 +36,11 @@ public OlGameDataDialog() {
Vars.iconMed,
() -> Vars.ui.showConfirm("@settings.omaloon-resethints-confirm", EventHints::reset)
).growX().marginLeft(8).height(50).row();
}).width(400f);
}).width(400f).row();
cont.check(
"@settings.omaloon-enable-roomba",
Core.settings.getBool("setting.omaloon-enable-roomba", true),
b -> Core.settings.put("setting.omaloon-enable-roomba", b)
).width(400).left();
}
}

0 comments on commit 8afd161

Please sign in to comment.