From ad07cc917ef8d634b76d8e7daa213dce9b533f15 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sat, 17 Apr 2021 15:53:07 +0200 Subject: [PATCH 1/2] Add NightVisionCommand.java and sendToActionbar to SWUtils.java --- .../src/de/steamwar/bausystem/SWUtils.java | 5 ++ .../features/util/NightVisionCommand.java | 52 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/features/util/NightVisionCommand.java diff --git a/BauSystem_API/src/de/steamwar/bausystem/SWUtils.java b/BauSystem_API/src/de/steamwar/bausystem/SWUtils.java index 9a664bfb..54c3eae0 100644 --- a/BauSystem_API/src/de/steamwar/bausystem/SWUtils.java +++ b/BauSystem_API/src/de/steamwar/bausystem/SWUtils.java @@ -20,6 +20,8 @@ package de.steamwar.bausystem; import lombok.experimental.UtilityClass; +import net.md_5.bungee.api.ChatMessageType; +import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -46,4 +48,7 @@ public class SWUtils { } } + public static void sendToActionbar(Player p, String message) { + p.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message)); + } } diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/util/NightVisionCommand.java b/BauSystem_Main/src/de/steamwar/bausystem/features/util/NightVisionCommand.java new file mode 100644 index 00000000..fb531815 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/util/NightVisionCommand.java @@ -0,0 +1,52 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2021 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.util; + +import de.steamwar.bausystem.SWUtils; +import de.steamwar.bausystem.linkage.LinkageType; +import de.steamwar.bausystem.linkage.Linked; +import de.steamwar.command.SWCommand; +import org.bukkit.entity.Player; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +@Linked(LinkageType.COMMAND) +public class NightVisionCommand extends SWCommand { + + protected NightVisionCommand() { + super("nightvision", "nv", "light"); + } + + @Register(help = true) + public void genericHelp(Player p, String[] args) { + p.sendMessage("§8/§enightvision §8- §7Schalte Nightvision an oder aus."); + } + + @Register + public void genericCommand(Player p) { + if(p.hasPotionEffect(PotionEffectType.NIGHT_VISION)) { + p.removePotionEffect(PotionEffectType.NIGHT_VISION); + SWUtils.sendToActionbar(p, "§eNightvision aus"); + } else { + p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 1000000, 255)); + SWUtils.sendToActionbar(p, "§eNightvision an"); + } + } +} From c9e5a1614fc7e07d3c5dd22da4ded46d7de6f132 Mon Sep 17 00:00:00 2001 From: Zeanon Date: Sat, 17 Apr 2021 15:53:09 +0200 Subject: [PATCH 2/2] add WatervisionCommand.java --- .../src/de/steamwar/bausystem/BauSystem.java | 3 +- .../features/other/GamemodeCommand.java | 3 - .../features/other/WatervisionCommand.java | 55 +++++++++++++++++++ 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/features/other/WatervisionCommand.java diff --git a/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java b/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java index 210d5d08..17bc7978 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java @@ -22,6 +22,7 @@ package de.steamwar.bausystem; import de.steamwar.bausystem.config.BauServer; import de.steamwar.bausystem.linkage.LinkageUtils; import lombok.Getter; +import net.md_5.bungee.api.ChatColor; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; @@ -30,7 +31,7 @@ public class BauSystem extends JavaPlugin implements Listener { @Getter private static BauSystem instance; - public static final String PREFIX = "§eBauSystem§8» §7"; + public static final String PREFIX = ChatColor.YELLOW + "BauSystem" + ChatColor.DARK_GRAY + "»" + ChatColor.GRAY; @Override public void onEnable() { diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/other/GamemodeCommand.java b/BauSystem_Main/src/de/steamwar/bausystem/features/other/GamemodeCommand.java index 8dd49934..8e55b66c 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/other/GamemodeCommand.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/other/GamemodeCommand.java @@ -33,14 +33,12 @@ public class GamemodeCommand extends SWCommand { super("gamemode", "gm", "g"); } - @Register(help = true) public void help(final Player p, final String... args) { p.sendMessage(ChatColor.RED + "Unbekannter Spielmodus."); p.sendMessage(ChatColor.RED + "Mögliche Spielmodi: survival, adventure, creative, specator."); } - @Register public void genericCommand(final Player p) { if (p.getGameMode() == GameMode.CREATIVE) { @@ -50,7 +48,6 @@ public class GamemodeCommand extends SWCommand { } } - @Register public void gamemodeCommand(final Player p, final GameMode gameMode) { p.setGameMode(gameMode); diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/other/WatervisionCommand.java b/BauSystem_Main/src/de/steamwar/bausystem/features/other/WatervisionCommand.java new file mode 100644 index 00000000..d4fb7350 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/other/WatervisionCommand.java @@ -0,0 +1,55 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2021 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.other; + +import de.steamwar.bausystem.BauSystem; +import de.steamwar.command.SWCommand; +import net.md_5.bungee.api.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + + +public class WatervisionCommand extends SWCommand { + + public WatervisionCommand() { + super("watervision", "wv"); + } + + @Register(help = true) + public void help(final Player p, final String... args) { + p.sendMessage(ChatColor.RED + "Too many arguments."); + } + + @Register + public void genericCommand(final Player p) { + WatervisionCommand.toggleWatervision(p); + } + + public static void toggleWatervision(final Player player) { + if (player.hasPotionEffect(PotionEffectType.WATER_BREATHING)) { + player.sendMessage(BauSystem.PREFIX + "Wassersicht deaktiviert"); + player.removePotionEffect(PotionEffectType.WATER_BREATHING); + return; + } + player.addPotionEffect(new PotionEffect(PotionEffectType.WATER_BREATHING, 1000000, 255, false, false)); + player.sendMessage(BauSystem.PREFIX + "Wassersicht aktiviert"); + } +} \ No newline at end of file