diff --git a/BauSystem/BauSystem_Main/src/BauSystem.properties b/BauSystem/BauSystem_Main/src/BauSystem.properties
index 929d0c67..e4dc1b27 100644
--- a/BauSystem/BauSystem_Main/src/BauSystem.properties
+++ b/BauSystem/BauSystem_Main/src/BauSystem.properties
@@ -406,6 +406,8 @@ BLOCK_COUNTER_MESSAGE_SECOND=§7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e
BLOCK_COUNTER_ENABLE=§7BlockCounter activated
BLOCK_COUNTER_DISABLE=§7BlockCounter deactivated
# DepthCounter
+DEPTH_COUNTER_DISABLE=§7Depth Counter disabled
+DEPTH_COUNTER_ENABLE=§7Depth Counter enabled
DEPTH_COUNTER_MESSAGE=§7Depth §8> §7
DEPTH_COUNTER_COUNT={0}{1}§8×{2}{3}§8×{4}{5}
DEPTH_COUNTER_HOVER=§7X§8×§7Y§8×§7Z
diff --git a/BauSystem/BauSystem_Main/src/BauSystem_de.properties b/BauSystem/BauSystem_Main/src/BauSystem_de.properties
index 4cb20d95..ea6826ed 100644
--- a/BauSystem/BauSystem_Main/src/BauSystem_de.properties
+++ b/BauSystem/BauSystem_Main/src/BauSystem_de.properties
@@ -369,6 +369,8 @@ BLOCK_COUNTER_MESSAGE_SECOND=§7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT
BLOCK_COUNTER_ENABLE=§7BlockCounter angemacht
BLOCK_COUNTER_DISABLE=§7BlockCounter ausgemacht
# DepthCounter
+DEPTH_COUNTER_DISABLE=§7Depth Counter deaktiviert
+DEPTH_COUNTER_ENABLE=§7Depth Counter aktiviert
DEPTH_COUNTER_MESSAGE=§7Tiefe §8> §7
# TPSLimit
TPSLIMIT_FREEZE_HELP=§8/§etpslimit 0 §8-§7 Friere TPS ein
diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/cannon/depth/Depth.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/cannon/depth/Depth.java
index a13d6250..22ce7fde 100644
--- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/cannon/depth/Depth.java
+++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/cannon/depth/Depth.java
@@ -20,6 +20,7 @@
package de.steamwar.bausystem.features.cannon.depth;
import de.steamwar.bausystem.BauSystem;
+import de.steamwar.bausystem.configplayer.Config;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.utils.RegionExtensionType;
@@ -65,7 +66,9 @@ public class Depth {
dimensions.setZ(Math.abs(dimensions.getZ()));
RegionUtils.message(region, player -> {
- player.spigot().sendMessage(getMessage(player, dimensions.getBlockX() + 1, dimensions.getBlockY() + 1, dimensions.getBlockZ() + 1, tntCount));
+ if (Config.getInstance().get(player).getPlainValueOrDefault("depth_message", true)) {
+ player.spigot().sendMessage(getMessage(player, dimensions.getBlockX() + 1, dimensions.getBlockY() + 1, dimensions.getBlockZ() + 1, tntCount));
+ }
});
}
diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/cannon/depth/DepthCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/cannon/depth/DepthCommand.java
new file mode 100644
index 00000000..b7426fd7
--- /dev/null
+++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/cannon/depth/DepthCommand.java
@@ -0,0 +1,45 @@
+/*
+ * This file is a part of the SteamWar software.
+ *
+ * Copyright (C) 2020 SteamWar.de-Serverteam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package de.steamwar.bausystem.features.cannon.depth;
+
+import de.steamwar.bausystem.BauSystem;
+import de.steamwar.bausystem.configplayer.Config;
+import de.steamwar.command.SWCommand;
+import de.steamwar.linkage.Linked;
+import org.bukkit.entity.Player;
+
+@Linked
+public class DepthCommand extends SWCommand {
+
+ public DepthCommand() {
+ super("depth");
+ }
+
+ @Register
+ public void toggle(Player player) {
+ if (Config.getInstance().get(player).getPlainValueOrDefault("depth_message", true)) {
+ Config.getInstance().get(player).put("depth_message", false);
+ BauSystem.MESSAGE.send("DEPTH_COUNTER_DISABLE", player);
+ } else {
+ Config.getInstance().get(player).put("depth_message", true);
+ BauSystem.MESSAGE.send("DEPTH_COUNTER_ENABLE", player);
+ }
+ }
+}
diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorMaterialGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorMaterialGui.java
index 84f1e682..f081374d 100644
--- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorMaterialGui.java
+++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorMaterialGui.java
@@ -53,6 +53,16 @@ public class SimulatorMaterialGui extends SimulatorPageGui {
this.back = back;
}
+ @Override
+ public boolean shouldOpen() {
+ if (player.getItemOnCursor().getType().isAir()) {
+ return true;
+ }
+ change.accept(player.getItemOnCursor().getType());
+ SimulatorWatcher.update(simulator);
+ return false;
+ }
+
@Override
public String baseTitle() {
return "Material";
diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorBaseGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorBaseGui.java
index e3ddd797..6fa35d4c 100644
--- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorBaseGui.java
+++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorBaseGui.java
@@ -46,6 +46,8 @@ public abstract class SimulatorBaseGui {
}
public final void open() {
+ if (!shouldOpen()) return;
+
String newTitle = title();
String originalTitle = player.getOpenInventory().getTitle();
@@ -86,6 +88,10 @@ public abstract class SimulatorBaseGui {
inventory.open();
}
+ public boolean shouldOpen() {
+ return true;
+ }
+
private void setup() {
for (int i = 0; i < 9; i++) {
inventory.setItem(i, new SWItem(Material.GRAY_STAINED_GLASS_PANE, "§8", clickType -> {
diff --git a/MissileWars/src/de/steamwar/misslewars/MWTeam.java b/MissileWars/src/de/steamwar/misslewars/MWTeam.java
index 7d4224dc..8abc5bc9 100644
--- a/MissileWars/src/de/steamwar/misslewars/MWTeam.java
+++ b/MissileWars/src/de/steamwar/misslewars/MWTeam.java
@@ -185,7 +185,6 @@ public class MWTeam {
public void leave(Player p) {
if (!players.contains(p)) return;
- players.remove(p);
for (ItemStack stack : p.getInventory().getContents()) {
if (stack == null) continue;
if (stack.getType() == Material.AIR) continue;
@@ -196,9 +195,11 @@ public class MWTeam {
p.getInventory().clear();
p.setDisplayName("§7" + p.getName());
- sbteam.removePlayer(p);
if (players.isEmpty() && MissileWars.getFightState() == FightState.FIGHTING)
MissileWars.end(WinReasons.NO_ENEMY, enemy());
+
+ players.remove(p);
+ sbteam.removePlayer(p);
}
public void reset() {
diff --git a/VelocityCore/src/de/steamwar/messages/Chatter.java b/VelocityCore/src/de/steamwar/messages/Chatter.java
index 2e67354c..607b4fd2 100644
--- a/VelocityCore/src/de/steamwar/messages/Chatter.java
+++ b/VelocityCore/src/de/steamwar/messages/Chatter.java
@@ -213,10 +213,14 @@ public interface Chatter {
}
static Chatter of(SteamwarUser user) {
- return of(user.getUUID());
+ return of(user.getUUID(), false);
}
static Chatter of(UUID uuid) {
+ return of(uuid, false);
+ }
+
+ static Chatter of(UUID uuid, boolean playerlessChatShown) {
Player player = VelocityCore.getProxy().getPlayer(uuid).orElse(null);
if(player != null)
return Chatter.of(player);
@@ -229,7 +233,7 @@ public interface Chatter {
@Override
public boolean chatShown() {
- return false;
+ return playerlessChatShown;
}
@Override
diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java b/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java
index ce54b2d5..7b05357c 100644
--- a/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java
+++ b/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java
@@ -47,6 +47,6 @@ public class DiscordChatRoom extends DiscordChannel {
return;
}
- ChatListener.sendChat(Chatter.of(user), target.get(), format, null, event.getMessage().getContentDisplay().replace('§', '&').replace('\n', ' '));
+ ChatListener.sendChat(Chatter.of(user.getUUID(), true), target.get(), format, null, event.getMessage().getContentDisplay().replace('§', '&').replace('\n', ' '));
}
}