diff --git a/BauSystem/BauSystem_Main/src/BauSystem.properties b/BauSystem/BauSystem_Main/src/BauSystem.properties index e4dc1b27..90f1d4cf 100644 --- a/BauSystem/BauSystem_Main/src/BauSystem.properties +++ b/BauSystem/BauSystem_Main/src/BauSystem.properties @@ -947,6 +947,9 @@ SPEED_TAB_NAME=Input speed WORLDEDIT_WAND=WorldEdit Wand WORLDEDIT_LEFTCLICK=Left click: select pos #1 WORLDEDIT_RIGHTCLICK=Right click: select pos #2 +TNT_DETAILS_COMMAND=§8/§etntdetails §8-§7 Toggle information printed after clicking on a TNT +TNT_DETAILS_ON = §eTNTDetails §aactivated +TNT_DETAILS_OFF = §eTNTDetails §cdeactivated TNT_CLICK_HEADER=§8---=== §eTNT §8===--- TNT_CLICK_ORDER=§eEntity Order§8: §e{0} TNT_CLICK_FUSE_TIME=§eFuseTime§8: §e{0} diff --git a/BauSystem/BauSystem_Main/src/BauSystem_de.properties b/BauSystem/BauSystem_Main/src/BauSystem_de.properties index ea6826ed..fca76eb9 100644 --- a/BauSystem/BauSystem_Main/src/BauSystem_de.properties +++ b/BauSystem/BauSystem_Main/src/BauSystem_de.properties @@ -889,6 +889,9 @@ SPEED_TAB_NAME=Geschwindigkeit eingeben WORLDEDIT_WAND=WorldEdit Wand WORLDEDIT_LEFTCLICK=Left click: select pos #1 WORLDEDIT_RIGHTCLICK=Right click: select pos #2 +TNT_DETAILS_COMMAND=§8/§etntdetails §8-§7 Aktiviert/Deaktiviert das senden von Details beim Klick auf TNT +TNT_DETAILS_ON = §eTNTDetails §aaktiviert +TNT_DETAILS_OFF = §eTNTDetails §cdeaktiviert TNT_CLICK_HEADER=§8---=== §eTNT §8===--- TNT_CLICK_ORDER=§eEntity Order§8: §e{0} TNT_CLICK_FUSE_TIME=§eFuseTime§8: §e{0} diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/TraceEntity.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/TraceEntity.java index 0f785468..75b893ab 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/TraceEntity.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/TraceEntity.java @@ -20,6 +20,7 @@ package de.steamwar.bausystem.features.tracer.rendering; import de.steamwar.bausystem.BauSystem; +import de.steamwar.bausystem.configplayer.Config; import de.steamwar.bausystem.features.tracer.TNTPoint; import de.steamwar.bausystem.features.tracer.Trace; import de.steamwar.bausystem.features.tracer.TraceManager; @@ -30,10 +31,13 @@ import net.md_5.bungee.api.chat.ClickEvent; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; +import yapion.hierarchy.types.YAPIONValue; import java.util.List; import java.util.stream.Collectors; +import static de.steamwar.bausystem.features.util.TNTClickListener.TNT_CLICK_DETAILS; + /** * Wrapper for the rendering of a record bundle */ @@ -66,6 +70,7 @@ public class TraceEntity extends RFallingBlockEntity { * @param player the player the message should be printed for */ public void printIntoChat(Player player) { + if (!Config.getInstance().get(player).getOrSetDefault(TNT_CLICK_DETAILS, new YAPIONValue<>(true)).asBoolean().orElse(true)) return; TNTPoint representative = records.get(0); BauSystem.MESSAGE.sendPrefixless("TNT_CLICK_HEADER", player); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/TNTClickListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/TNTClickListener.java index 3284876a..a0d91aaa 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/TNTClickListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/TNTClickListener.java @@ -21,22 +21,46 @@ package de.steamwar.bausystem.features.util; import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.Permission; +import de.steamwar.bausystem.configplayer.Config; +import de.steamwar.command.SWCommand; import de.steamwar.linkage.Linked; import org.bukkit.Bukkit; import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; import org.bukkit.entity.TNTPrimed; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.inventory.EquipmentSlot; +import yapion.hierarchy.types.YAPIONObject; +import yapion.hierarchy.types.YAPIONValue; @Linked -public class TNTClickListener implements Listener { +public class TNTClickListener extends SWCommand implements Listener { + + public static final String TNT_CLICK_DETAILS = "tnt_click_details"; + + public TNTClickListener() { + super("tntdetails"); + } + + @Register("TNT_DETAILS_COMMAND") + public void toggle(Player player) { + YAPIONObject yapionObject = Config.getInstance().get(player); + if (yapionObject.getOrSetDefault(TNT_CLICK_DETAILS, new YAPIONValue<>(true)).asBoolean().orElse(true)) { + yapionObject.put(TNT_CLICK_DETAILS, false); + BauSystem.MESSAGE.send("TNT_DETAILS_OFF", player); + } else { + yapionObject.put(TNT_CLICK_DETAILS, true); + BauSystem.MESSAGE.send("TNT_DETAILS_ON", player); + } + } @EventHandler public void onPlayerInteractEntity(PlayerInteractEntityEvent event) { if (!Permission.BUILD.hasPermission(event.getPlayer())) return; if (event.getHand() != EquipmentSlot.HAND) return; + if (!Config.getInstance().get(event.getPlayer()).getOrSetDefault(TNT_CLICK_DETAILS, new YAPIONValue<>(true)).asBoolean().orElse(true)) return; Entity entity = event.getRightClicked(); if (event.getRightClicked() instanceof TNTPrimed) {