From 53ec8d8846518e35aa02c4b6f457db9f80afec4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pani=C4=87?= Date: Sat, 4 May 2019 00:15:43 +0200 Subject: Created CrashUtils + implemented findnear command --- .../redstoner/modules/crashutils/CrashUtils.java | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/com/redstoner/modules/crashutils/CrashUtils.java (limited to 'src/main/java/com/redstoner/modules/crashutils/CrashUtils.java') diff --git a/src/main/java/com/redstoner/modules/crashutils/CrashUtils.java b/src/main/java/com/redstoner/modules/crashutils/CrashUtils.java new file mode 100644 index 0000000..eb9590f --- /dev/null +++ b/src/main/java/com/redstoner/modules/crashutils/CrashUtils.java @@ -0,0 +1,53 @@ +package com.redstoner.modules.crashutils; + +import com.nemez.cmdmgr.Command; +import com.redstoner.annotations.AutoRegisterListener; +import com.redstoner.annotations.Commands; +import com.redstoner.annotations.Version; +import com.redstoner.misc.CommandHolderType; +import com.redstoner.modules.Module; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +@Commands (CommandHolderType.File) +@AutoRegisterListener +@Version (major = 5, minor = 0, revision = 0, compatible = 4) +public class CrashUtils implements Module { + + @Command (hook = "findnear", async = Command.AsyncType.ALWAYS) + public boolean findNear(CommandSender sender, int range, String block) { + Player player = (Player) sender; + + Material mat = Material.matchMaterial(block); + + if (mat == null) { + getLogger().message(sender, true, block + " is not a valid block."); + return true; + } + + Location playerLoc = player.getLocation(); + + for (int x = playerLoc.getBlockX() - range; x < playerLoc.getBlockX() + range; x++) { + for (int z = playerLoc.getBlockZ() - range; z < playerLoc.getBlockZ() + range; z++) { + for (int y = 0; y < 256; y++) { + Block b = player.getWorld().getBlockAt(x, y, z); + + if (b.getType() == mat) { + Location loc = b.getLocation(); + getLogger().message( + sender, + false, + String.format("Found %s @ %d %d %d", mat.toString(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())); + } + } + } + } + + getLogger().message(sender, false, String.format("Done searching for %s in a %d block radius.", mat.toString(), range)); + + return true; + } +} -- cgit v1.2.3