Skip to content
36 changes: 28 additions & 8 deletions src/main/java/igorlink/command/DonateSubCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,30 @@

public class DonateSubCommand {
public static void onDonateCommand(CommandSender sender, String[] args) {
int i;

//Getting donation's amount
String donationAmount;
StringBuilder donationUsername = new StringBuilder();
StringBuilder donationMessage = new StringBuilder();

//Getting donation's amount
donationAmount = args[0];
String donationAmount = args[0];
StringBuilder donationUsernameBuilder = new StringBuilder();
StringBuilder donationMessageBuilder = new StringBuilder();

int i;
//Получаем имя донатера
for (i = 1; i <= args.length - 1; i++) {
if (args[i].equals("##")) {
break;
} else {
if (i == 1) {
donationUsernameBuilder.append(args[i]);
} else {
donationUsernameBuilder.append(" ").append(args[i]);
}
}
}

//Все, что после символов ## - это сообщение
for (i++; i <= args.length - 1; i++) {
donationMessageBuilder.append(args[i]).append(' ');
}
if (i == 1) {
donationUsername.append(args[i]);
} else {
Expand All @@ -26,8 +38,16 @@ public static void onDonateCommand(CommandSender sender, String[] args) {
}
}

String donationUsername = donationUsernameBuilder.toString();
String donationMessage = donationMessageBuilder.toString();

//Отправляем донат на исполнение
DonationExecutor.getInstance().streamerPlayersManager.addToDonationsQueue(new Donation(sender, donationUsername.toString(), donationAmount+".00"));
DonationExecutor.getInstance().streamerPlayersManager.addToDonationsQueue(
new Donation(
sender,
donationUsername,
donationAmount + ".00",
donationMessage));
DonationExecutor.getInstance().streamerPlayersManager.addToDonationsQueue(new Donation(sender, donationUsername, donationAmount+".00"));
}
}
15 changes: 10 additions & 5 deletions src/main/java/igorlink/command/DonationExecutorCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ public Boolean execute(CommandSender sender, String label, String[] args) {
}

try {

//Если команда - это reload, где не должно быть доп аргументов, то вызываем функцию релоуда конфига
switch (args[0]) {
case "reload" -> {
Expand All @@ -34,6 +33,10 @@ public Boolean execute(CommandSender sender, String label, String[] args) {
ReloadSubCommand.onReloadCommand(sender);
return true;
}
break;
case "donate":
//Инициализируем список аргументов для новой сабфункции
//Если команда - donate, где нужен минимум 1 доп аргумент, создаем новый массив аргументов со смещением 1, и вызываем функцию обработки доната
}
case "donate" -> {
//Инициализируем список аргментов для новой сабфункции
Expand All @@ -52,7 +55,8 @@ public Boolean execute(CommandSender sender, String label, String[] args) {
//Возвращаем true, к все прошло успешно
return true;
}
}
break;

case "filter" -> {
if ((sender != Bukkit.getConsoleSender()) && (!sender.hasPermission("de.filter")) && (!sender.isOp())) {
Utils.sendSysMsgToPlayer((Player) sender, "У вас недостаточно прав для выполнения данной\nкоманды!");
Expand All @@ -68,21 +72,22 @@ public Boolean execute(CommandSender sender, String label, String[] args) {
//Возвращаем true, к все прошло успешно
return true;
}
break;
default:
logToConsole("Неизвестная команда: " + args[0]);
return false;
}
case "sum" -> {
logToConsole("Суммарно: §b" + Utils.getSum() + "§f руб.");
return true;
}

}

} catch (Exception e) {

//Если получили exception, сообщаем о нем и выдаем сообщение об ошибке в консоль
e.printStackTrace();
logToConsole("Произошла неизвестная ошибка при выполнении команды!");
return false;

}

//Если ничего не выполнилось - в команде была ошибка
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/igorlink/command/FilterSubCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ public static void onFilterCommand(CommandSender sender, String[] args) {
if (args[0].equalsIgnoreCase("on")) {
MainConfig.turnFilterOn();
Utils.logToConsole("Фильтр никнеймов донатеров §bВКЛЮЧЕН");
if (sender instanceof Player) {
Utils.sendSysMsgToPlayer((Player) sender, "Фильтр никнеймов донатеров §bВКЛЮЧЕН");
if (sender instanceof Player player) {
Utils.sendSysMsgToPlayer(player, "Фильтр никнеймов донатеров §bВКЛЮЧЕН");
}
} else {
MainConfig.turnFilterOff();
Utils.logToConsole("Фильтр никнеймов донатеров §bВЫКЛЮЧЕН");
if (sender instanceof Player) {
Utils.sendSysMsgToPlayer((Player) sender,"Фильтр никнеймов донатеров §bВЫКЛЮЧЕН");
if (sender instanceof Player player) {
Utils.sendSysMsgToPlayer(player,"Фильтр никнеймов донатеров §bВЫКЛЮЧЕН");
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/igorlink/command/ReloadSubCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ public static void onReloadCommand(CommandSender sender) throws InterruptedExcep
MainConfig.loadMainConfig(true);
DonationExecutor.getInstance().streamerPlayersManager.reload();
Utils.logToConsole("Настройки успешно обновлены!");
if (sender instanceof Player) {
Utils.sendSysMsgToPlayer(Objects.requireNonNull(((Player) sender).getPlayer()), "Настройки успешно обновлены!");
if (sender instanceof Player player) {
Utils.sendSysMsgToPlayer(player.getPlayer(), "Настройки успешно обновлены!");
}
}
}
44 changes: 19 additions & 25 deletions src/main/java/igorlink/donationexecutor/Executor.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,24 +64,12 @@ public static void DoExecute(String streamerName, String donationUsername, Strin
return;
}

Location streamerPlayerLocation = streamerPlayer.getLocation();
World world = streamerPlayer.getWorld();
Vector direction = streamerPlayerLocation.getDirection();


switch (executionName) {
case "ShitToInventory" -> shitToInventory(streamerPlayer, validDonationUsername,fullDonationAmount);
case "Lesch" -> lesch(streamerPlayer, validDonationUsername,fullDonationAmount);
case "DropActiveItem" -> dropActiveItem(streamerPlayer, validDonationUsername,fullDonationAmount);
case "PowerKick" -> powerKick(streamerPlayer, validDonationUsername,fullDonationAmount);
case "ClearLastDeathDrop" -> clearLastDeathDrop(streamerPlayer, validDonationUsername,fullDonationAmount);
case "SpawnCreeper" -> spawnCreeper(streamerPlayer, validDonationUsername,fullDonationAmount);
case "GiveDiamonds" -> giveDiamonds(streamerPlayer, validDonationUsername,fullDonationAmount);
case "GiveStackOfDiamonds" -> giveStackOfDiamonds(streamerPlayer, validDonationUsername,fullDonationAmount);
case "GiveBread" -> giveBread(streamerPlayer, validDonationUsername,fullDonationAmount);
case "CallNKVD" -> callNKVD(streamerPlayer, validDonationUsername,fullDonationAmount);
case "CallStalin" -> callStalin(streamerPlayer, validDonationUsername,fullDonationAmount);
case "RandomChange" -> randomChange(streamerPlayer, validDonationUsername,fullDonationAmount);
case "TamedBecomesEnemies" -> tamedBecomesEnemies(streamerPlayer, validDonationUsername,fullDonationAmount);
case "HalfHeart" -> halfHeart(streamerPlayer, validDonationUsername,fullDonationAmount);
case "BigBoom" -> bigBoom(streamerPlayer, validDonationUsername,fullDonationAmount);
case "Nekoglai" -> nekoglai(streamerPlayer, validDonationUsername,fullDonationAmount);
case "SetDay" -> setDay(streamerPlayer, validDonationUsername,fullDonationAmount);
case "SetNight" -> setNight(streamerPlayer, validDonationUsername,fullDonationAmount);
case "GiveIronSet" -> giveIronSet(streamerPlayer, validDonationUsername,fullDonationAmount);
Expand Down Expand Up @@ -265,13 +253,19 @@ public static void randomChange (Player player, String donationUsername, String

}

StringBuilder replacedItems = new StringBuilder();
StringBuilder replacedItemsBuilder = new StringBuilder();
int replacedCounter = 0;
for (int i = 0; i <= 4; i++) {
if (!(player.getInventory().getItem(randoms[i]) == null)) {
if (player.getInventory().getItem(randoms[i]) != null) {
replacedCounter++;
if (replacedCounter > 1) {
replacedItems.append("§f, ");
replacedItemsBuilder.append("§f, ");
}
replacedItemsBuilder
.append("§b")
.append(player.getInventory().getItem(randoms[i]).getAmount())
.append(" §f")
.append(player.getInventory().getItem(randoms[i]).getI18NDisplayName());
}
replacedItems.append("§b").append(Objects.requireNonNull(player.getInventory().getItem(randoms[i])).getAmount()).append(" §f").append(Objects.requireNonNull(player.getInventory().getItem(randoms[i])).getI18NDisplayName());
}
Expand All @@ -281,7 +275,7 @@ public static void randomChange (Player player, String donationUsername, String
if (replacedCounter == 0) {
sendSysMsgToPlayer(player,"§cТебе повезло: все камни попали в пустые слоты!");
} else {
sendSysMsgToPlayer(player,"§cБыли заменены следующие предметусы: §f" + replacedItems);
sendSysMsgToPlayer(player,"§cБыли заменены следующие предметусы: §f" + replacedItemsBuilder.toString());
}
}

Expand All @@ -293,11 +287,11 @@ public static void halfHeart (Player player, String donationUsername, String don
public static void tamedBecomesEnemies (Player player, String donationUsername, String donationAmount) {
announce(donationUsername, "настроил твоих питомцев против тебя", "настроил прирученных питомцев против", player, donationAmount, true);
for (Entity e : player.getWorld().getEntitiesByClasses(Wolf.class, Cat.class)) {
if (((Tameable) e).isTamed() && Objects.equals(Objects.requireNonNull(((Tameable) e).getOwner()).getName(), player.getName())) {
if (e instanceof Cat) {
((Tameable) e).setOwner(null);
((Cat) e).setSitting(false);
((Cat) e).setTarget(player);
if (((Tameable) e).isTamed() && ((Tameable) e).getOwner().getName().equals(player.getName())) {
if (e instanceof Cat cat) {
cat.setOwner(null);
cat.setSitting(false);
cat.setTarget(player);
player.sendMessage("+");
} else {
((Wolf) e).setSitting(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.bukkit.inventory.meta.ItemMeta;

import java.util.Arrays;
import java.util.List;

import static igorlink.service.Utils.announce;

Expand All @@ -20,7 +21,7 @@ public Boolean execute(String donationUsername, Player player, String donationAm
ItemStack itemStack = new ItemStack(itemType, 64);
ItemMeta meta = itemStack.getItemMeta();
meta.setDisplayName("§cГОВНО ОТ §f" + donationUsername.toUpperCase());
meta.setLore(Arrays.asList("§7Это говно ужасно вонюче и занимает много места"));
meta.setLore(List.of("§7Это говно ужасно вонюче и занимает много места"));
itemStack.setItemMeta(meta);
for (int i = 0; i < MainConfig.getDirtAmount(); i++) {
player.getInventory().addItem(itemStack);
Expand Down
Loading