From ad07cc917ef8d634b76d8e7daa213dce9b533f15 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sat, 17 Apr 2021 15:53:07 +0200 Subject: [PATCH] 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"); + } + } +}