Merge pull request 'Vytvořen příkaz /admin setRulerItem' (#16) from setRulerItemCommand into master
Reviewed-on: #16master
commit
71ee856925
4 changed files with 87 additions and 1 deletions
@ -0,0 +1,73 @@ |
|||||||
|
package xyz.soukup.mineconomiaCoreV2.commands; |
||||||
|
|
||||||
|
import org.bukkit.Material; |
||||||
|
import org.bukkit.command.Command; |
||||||
|
import org.bukkit.command.CommandSender; |
||||||
|
import org.bukkit.command.TabExecutor; |
||||||
|
import org.bukkit.entity.Player; |
||||||
|
import org.bukkit.inventory.ItemStack; |
||||||
|
import org.bukkit.inventory.meta.ItemMeta; |
||||||
|
import org.bukkit.persistence.PersistentDataType; |
||||||
|
import org.jetbrains.annotations.NotNull; |
||||||
|
import org.jetbrains.annotations.Nullable; |
||||||
|
import xyz.soukup.mineconomiaCoreV2.tools.LangManager; |
||||||
|
import xyz.soukup.mineconomiaCoreV2.tools.PDC; |
||||||
|
|
||||||
|
import java.io.IOException; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; |
||||||
|
|
||||||
|
public class admin implements TabExecutor { |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||||
|
if (commandSender instanceof Player) { |
||||||
|
|
||||||
|
Player player = (Player) commandSender; |
||||||
|
|
||||||
|
if (!player.isOp() || strings.length == 0) { |
||||||
|
|
||||||
|
LangManager.message(commandSender, "error.command.admin.setruleritem.no-permissions"); |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
if (strings[0].equalsIgnoreCase("setRulerItem")) { |
||||||
|
|
||||||
|
ItemStack playerHand = player.getInventory().getItemInMainHand(); |
||||||
|
|
||||||
|
if (playerHand.getType() == Material.AIR) { |
||||||
|
|
||||||
|
LangManager.message(commandSender, "error.command.admin.setruleritem.invalid-item"); |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
ItemMeta meta = playerHand.getItemMeta(); |
||||||
|
PDC.WriteItemMetaPDC(meta, "ruler", PersistentDataType.INTEGER, 1); |
||||||
|
playerHand.setItemMeta(meta); |
||||||
|
|
||||||
|
config.set("special-items.ruler", playerHand); |
||||||
|
|
||||||
|
try { |
||||||
|
config.save("config.yml"); |
||||||
|
} catch (IOException e) { |
||||||
|
throw new RuntimeException(e); |
||||||
|
} |
||||||
|
|
||||||
|
LangManager.message(commandSender, "success.command.admin.setruleritem"); |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public @Nullable List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||||
|
|
||||||
|
if (strings.length == 1 && commandSender.isOp()) { |
||||||
|
return List.of("setRulerItem"); |
||||||
|
} |
||||||
|
|
||||||
|
return List.of(); |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue