|
|
|
@ -1,5 +1,6 @@ |
|
|
|
package xyz.soukup.mineconomiaCoreV2.commands; |
|
|
|
package xyz.soukup.mineconomiaCoreV2.commands; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.bukkit.Bukkit; |
|
|
|
import org.bukkit.Material; |
|
|
|
import org.bukkit.Material; |
|
|
|
import org.bukkit.command.Command; |
|
|
|
import org.bukkit.command.Command; |
|
|
|
import org.bukkit.command.CommandSender; |
|
|
|
import org.bukkit.command.CommandSender; |
|
|
|
@ -12,8 +13,10 @@ import org.jetbrains.annotations.NotNull; |
|
|
|
import org.jetbrains.annotations.Nullable; |
|
|
|
import org.jetbrains.annotations.Nullable; |
|
|
|
import xyz.soukup.mineconomiaCoreV2.tools.LangManager; |
|
|
|
import xyz.soukup.mineconomiaCoreV2.tools.LangManager; |
|
|
|
import xyz.soukup.mineconomiaCoreV2.tools.PDC; |
|
|
|
import xyz.soukup.mineconomiaCoreV2.tools.PDC; |
|
|
|
|
|
|
|
import xyz.soukup.mineconomiaCoreV2.variables.Transaction; |
|
|
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.io.IOException; |
|
|
|
|
|
|
|
import java.sql.SQLException; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; |
|
|
|
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; |
|
|
|
@ -22,27 +25,68 @@ public class admin implements TabExecutor { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
|
|
|
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) { |
|
|
|
if (!commandSender.isOp()) { |
|
|
|
|
|
|
|
LangManager.message(commandSender, "error.command.no-permissions"); |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (strings.length == 0){ |
|
|
|
|
|
|
|
LangManager.message(commandSender, "error.command.not-enough-arguments"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
LangManager.message(commandSender, "error.command.admin.setruleritem.no-permissions"); |
|
|
|
switch (strings[0].toLowerCase()){ |
|
|
|
|
|
|
|
case "setruleritem": |
|
|
|
|
|
|
|
setRulerItem(commandSender); |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
|
|
|
|
case "givemoney": |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
giveMoney(commandSender, strings); |
|
|
|
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
|
|
|
throw new RuntimeException(e); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
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", "giveMoney"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return List.of(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void giveMoney(CommandSender commandSender, String[] strings) throws SQLException { |
|
|
|
|
|
|
|
if (strings.length < 3){ |
|
|
|
|
|
|
|
LangManager.message(commandSender, "error.command.not-enough-arguments"); |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (strings[0].equalsIgnoreCase("setRulerItem")) { |
|
|
|
Float amount = Float.valueOf(strings[2]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Transaction.prepareTransaction("server", "server", strings[1], "player", amount, "admin").process(); |
|
|
|
|
|
|
|
LangManager.message(commandSender, "success.command.admin.give-money"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void setRulerItem(CommandSender commandSender){ |
|
|
|
|
|
|
|
Player player = (Player) commandSender; |
|
|
|
|
|
|
|
|
|
|
|
ItemStack playerHand = player.getInventory().getItemInMainHand(); |
|
|
|
ItemStack playerHand = player.getInventory().getItemInMainHand(); |
|
|
|
|
|
|
|
|
|
|
|
if (playerHand.getType() == Material.AIR) { |
|
|
|
if (playerHand.getType() == Material.AIR) { |
|
|
|
|
|
|
|
|
|
|
|
LangManager.message(commandSender, "error.command.admin.setruleritem.invalid-item"); |
|
|
|
LangManager.message(commandSender, "error.command.admin.setruleritem.invalid-item"); |
|
|
|
return true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ItemMeta meta = playerHand.getItemMeta(); |
|
|
|
ItemMeta meta = playerHand.getItemMeta(); |
|
|
|
|
|
|
|
assert meta != null; |
|
|
|
PDC.WriteItemMetaPDC(meta, "ruler", PersistentDataType.INTEGER, 1); |
|
|
|
PDC.WriteItemMetaPDC(meta, "ruler", PersistentDataType.INTEGER, 1); |
|
|
|
playerHand.setItemMeta(meta); |
|
|
|
playerHand.setItemMeta(meta); |
|
|
|
|
|
|
|
|
|
|
|
@ -55,19 +99,6 @@ public class admin implements TabExecutor { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
LangManager.message(commandSender, "success.command.admin.setruleritem"); |
|
|
|
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(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|