From 4938aac7317381e64e670e774a744b6f7bd738d5 Mon Sep 17 00:00:00 2001 From: J-VdS Date: Wed, 19 Aug 2020 19:10:25 +0200 Subject: [PATCH] schematic server setting --- core/assets/bundles/bundle.properties | 2 ++ core/src/mindustry/input/DesktopInput.java | 16 +++++++++++----- core/src/mindustry/ui/fragments/HudFragment.java | 2 +- server/src/mindustry/server/ServerControl.java | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index b945616494..77cbf73a84 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -53,6 +53,7 @@ schematic.saved = Schematic saved. schematic.delete.confirm = This schematic will be utterly eradicated. schematic.rename = Rename Schematic schematic.info = {0}x{1}, {2} blocks +schematic.disabled = [scarlet]Schematics are not allowed! stat.wave = Waves Defeated:[accent] {0} stat.enemiesDestroyed = Enemies Destroyed:[accent] {0} @@ -824,6 +825,7 @@ rules.lighting = Lighting rules.ambientlight = Ambient Light rules.solarpowermultiplier = Solar Power Multiplier + content.item.name = Items content.liquid.name = Liquids content.unit.name = Units diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index 93f85a1b53..3a497b9c93 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -329,7 +329,7 @@ public class DesktopInput extends InputHandler{ table.button(Icon.paste, Styles.clearPartiali, () -> { ui.schematics.show(); - }).tooltip("Schematics"); + }).tooltip("Schematics").disabled(d -> !state.rules.schematicAllowed); table.button(Icon.tree, Styles.clearPartiali, () -> { ui.research.show(); @@ -387,6 +387,8 @@ public class DesktopInput extends InputHandler{ if(Core.input.keyTap(Binding.schematic_menu) && !Core.scene.hasKeyboard()){ if(ui.schematics.isShown()){ ui.schematics.hide(); + }else if(!state.rules.schematicAllowed) { + ui.showInfoToast("@schematic.disabled", 3f); }else{ ui.schematics.show(); ui.schematics.focusSearchField(); @@ -399,10 +401,14 @@ public class DesktopInput extends InputHandler{ } if(Core.input.keyRelease(Binding.schematic_select) && !Core.scene.hasKeyboard()){ - lastSchematic = schematics.create(schemX, schemY, rawCursorX, rawCursorY); - useSchematic(lastSchematic); - if(selectRequests.isEmpty()){ - lastSchematic = null; + if(!state.rules.schematicAllowed){ + ui.showInfoToast("@schematic.disabled", 3f); + }else { + lastSchematic = schematics.create(schemX, schemY, rawCursorX, rawCursorY); + useSchematic(lastSchematic); + if (selectRequests.isEmpty()) { + lastSchematic = null; + } } } diff --git a/core/src/mindustry/ui/fragments/HudFragment.java b/core/src/mindustry/ui/fragments/HudFragment.java index ded6d77d1c..b0f06a2ff8 100644 --- a/core/src/mindustry/ui/fragments/HudFragment.java +++ b/core/src/mindustry/ui/fragments/HudFragment.java @@ -90,7 +90,7 @@ public class HudFragment extends Fragment{ select.button(Icon.menu, style, ui.paused::show); flip = select.button(Icon.upOpen, style, this::toggleMenus).get(); - select.button(Icon.paste, style, ui.schematics::show).disabled(!state.rules.schematicAllowed); + select.button(Icon.paste, style, ui.schematics::show).disabled(d -> !state.rules.schematicAllowed); select.button(Icon.pause, style, () -> { if(net.active()){ diff --git a/server/src/mindustry/server/ServerControl.java b/server/src/mindustry/server/ServerControl.java index 463ef9ad20..ba231a76a9 100644 --- a/server/src/mindustry/server/ServerControl.java +++ b/server/src/mindustry/server/ServerControl.java @@ -61,7 +61,7 @@ public class ServerControl implements ApplicationListener{ "bans", "", "admins", "", "shufflemode", "custom", - "globalrules", "{reactorExplosions: false}" + "globalrules", "{reactorExplosions: false, schematicAllowed: true}" ); Log.setLogger((level, text) -> {