Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 21 additions & 42 deletions src/main/java/igorlink/DonationAlerts/DonationAlerts.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,56 +29,35 @@ public DonationAlerts(String server) throws URISyntaxException {
url = new URI(server);
socket = IO.socket(url);

connectListener = new Listener() {
@Override
public void call(Object... arg0) {
logToConsole("Произведено успешное подключение!");
}
};

disconectListener = new Listener() {
@Override
public void call(Object... arg0) {
logToConsole("Соединение разорвано!");
}
};

donationListener = new Listener() {
@Override
public void call(Object... arg0) {
connectListener = arg0 -> logToConsole("Произведено успешное подключение!");

JSONObject json = new JSONObject((String) arg0[0]);
json.toString();
new BukkitRunnable() {
@Override
public void run() {
disconectListener = arg0 -> logToConsole("Соединение разорвано!");

if ( (json.isNull("username")) || (json.isNull("amount_formatted"))) {
return;
}
donationListener = arg0 -> {
JSONObject json = new JSONObject((String) arg0[0]);
new BukkitRunnable() {
@Override
public void run() {
if ( (json.isNull("username")) || (json.isNull("amount_formatted"))) {
return;
}

if ((json.getString("amount_formatted")).length() <= 1) {
return;
}
if ((json.getString("amount_formatted")).length() <= 1) {
return;
}

DonationExecutor.getInstance().listOfStreamerPlayers
.addToDonationsQueue(new Donation(Bukkit.getConsoleSender(),
json.getString("username"),
json.getString("amount_formatted"),
json.getString("message")));
DonationExecutor.getInstance().listOfStreamerPlayers
.addToDonationsQueue(new Donation(Bukkit.getConsoleSender(),
json.getString("username"),
json.getString("amount_formatted"),
json.getString("message")));

}
}.runTask(Bukkit.getPluginManager().getPlugin("DonationExecutor"));
}
}.runTask(Bukkit.getPluginManager().getPlugin("DonationExecutor"));

}
};

errorListener = new Listener() {
@Override
public void call(Object... arg0) {
logToConsole("Произошла ошибка подключения к Donation Alerts!");
}
};
errorListener = arg0 -> logToConsole("Произошла ошибка подключения к Donation Alerts!");

socket.on(Socket.EVENT_CONNECT, connectListener)
.on(Socket.EVENT_DISCONNECT, disconectListener)
Expand Down
7 changes: 1 addition & 6 deletions src/main/java/igorlink/command/AbstractCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,8 @@ public AbstractCommand(String command) {

public abstract Boolean execute(CommandSender sender, String label, String[] args);


@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if (execute(sender, label, args)) {
return true;
} else {
return false;
}
return execute(sender, label, args);
}
}
17 changes: 7 additions & 10 deletions src/main/java/igorlink/command/DonateSubCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,9 @@ public static void onDonateCommand(CommandSender sender, String[] args) {
int i;

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

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

//Получаем имя донатера
for (i = 1; i <= args.length - 1; i++) {
Expand All @@ -23,21 +20,21 @@ public static void onDonateCommand(CommandSender sender, String[] args) {
}
else {
if (i==1) {
donationUsername = donationUsername + args[i];
donationUsername.append(args[i]);
}
else {
donationUsername = ' ' + donationUsername + args[i];
donationUsername.append(' ').append(donationUsername).append(args[i]);
}
}
}

//Все, что после символов ## - это сообщение
for (i = i+1; i <= args.length - 1; i++)
{
donationMessage = donationMessage + args[i] + ' ';
donationMessage.append(donationMessage).append(args[i]).append(' ');
}

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

//Если команда - это reload, где не должно быть доп аргументов, то вызываем функцию релоуда конфига
if (args[0].equals("reload")) {
if (args.length == 1) {
ReloadSubCommand.onReloadCommand(sender);
return true;
}
} else if (args[0].equals("donate")) {
//Инициализируем список аргментов для новой сабфункции
//Если команда - donate, где нужен минимум 1 доп аргумент, создаем новый массив аргументов со смещением 1, и вызываем функцию обработки доната
if (args.length >= 2) {
//Инициализируем список новых аргументов для субкоманды
newArgs = new String[args.length - 1];
//Создаем новый список аргументов, копируя старый со смещением 1
System.arraycopy(args, 1, newArgs, 0, args.length - 1);
//Вызываем обработку доната
DonateSubCommand.onDonateCommand(sender, newArgs);
//Возвращаем true, к все прошло успешно
return true;
}
} else if (args[0].equals("filter")) {
if ((args.length == 2) && (args[1].equals("on")) || (args[1].equals("off"))) {
//Инициализируем список новых аргументов для субкоманды
newArgs = new String[args.length - 1];
//Создаем новый список аргументов, копируя старый со смещением 1
System.arraycopy(args, 1, newArgs, 0, args.length - 1);
//Вызываем обработку доната
FilterSubCommand.onFilterCommand(sender, newArgs);
//Возвращаем true, к все прошло успешно
return true;
}
switch (args[0].toLowerCase()) {
case "reload":
if (args.length == 1) {
ReloadSubCommand.onReloadCommand(sender);
return true;
}
break;
case "donate":
//Инициализируем список аргментов для новой сабфункции
//Если команда - donate, где нужен минимум 1 доп аргумент, создаем новый массив аргументов со смещением 1, и вызываем функцию обработки доната
if (args.length >= 2) {
//Инициализируем список новых аргументов для субкоманды
newArgs = new String[args.length - 1];
//Создаем новый список аргументов, копируя старый со смещением 1
System.arraycopy(args, 1, newArgs, 0, args.length - 1);
//Вызываем обработку доната
DonateSubCommand.onDonateCommand(sender, newArgs);
//Возвращаем true, к все прошло успешно
return true;
}
break;
case "filter":
if ((args.length == 2) && (args[1].equals("on")) || (args[1].equals("off"))) {
//Инициализируем список новых аргументов для субкоманды
newArgs = new String[args.length - 1];
//Создаем новый список аргументов, копируя старый со смещением 1
System.arraycopy(args, 1, newArgs, 0, args.length - 1);
//Вызываем обработку доната
FilterSubCommand.onFilterCommand(sender, newArgs);
//Возвращаем true, к все прошло успешно
return true;
}
break;
}

} catch (Exception e) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/igorlink/command/FilterSubCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

public class FilterSubCommand {
public static void onFilterCommand(CommandSender sender, String[] args) {
if (args[0].toLowerCase().equals("on")) {
if (args[0].equalsIgnoreCase("on")) {
MainConfig.turnFilterOn();
Utils.logToConsole("Фильтр никнеймов донатеров §bВКЛЮЧЕН");
if (sender instanceof Player) {
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/igorlink/donationexecutor/DonationExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
import igorlink.command.DonationExecutorCommand;
import igorlink.donationexecutor.executionsstaff.GiantMobManager;
import igorlink.donationexecutor.executionsstaff.ListOfStreamerPlayers;
import igorlink.donationexecutor.executionsstaff.StreamerPlayer;
import igorlink.service.MainConfig;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import igorlink.DonationAlerts.*;
import java.net.URISyntaxException;
Expand Down Expand Up @@ -60,5 +62,11 @@ public static DonationExecutor getInstance() {
return instance;
}

public StreamerPlayer getStreamerPlayer(String name) {
return listOfStreamerPlayers.getStreamerPlayer(name);
}

public StreamerPlayer getStreamerPlayer(Player player) {
return listOfStreamerPlayers.getStreamerPlayer(player.getName());
}
}
23 changes: 20 additions & 3 deletions src/main/java/igorlink/donationexecutor/EventListener.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
package igorlink.donationexecutor;

import igorlink.donationexecutor.executionsstaff.StreamerPlayer;
import igorlink.service.Utils;
import org.bukkit.entity.Item;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.*;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitTask;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static igorlink.service.Utils.*;

public class EventListener implements Listener {

private Map<Integer, BukkitTask> projectiles = new HashMap<Integer, BukkitTask>();

//Отмена горения НКВДшников
@EventHandler
public void onComburst(EntityCombustEvent e){
Expand All @@ -27,8 +31,21 @@ public void onComburst(EntityCombustEvent e){
public void onJoin(PlayerJoinEvent e) {
e.getPlayer().setResourcePack("https://download.mc-packs.net/pack/4923efe27212858f64c3ba65ff4bd35a42dadfb0.zip", Utils.decodeUsingBigInteger("4923efe27212858f64c3ba65ff4bd35a42dadfb0"));
if (!isPluginActive) {
sendSysMsgToPlayer(e.getPlayer(), " плагин не активен. Укажите токен и свой никнейм в файле конфигурации плагина и перезапустите сервер.");
sendSysMsgToPlayer(e.getPlayer(), " Плагин не активен. Укажите токен и свой никнейм в файле конфигурации плагина и перезапустите сервер.");
}
}

@EventHandler
private void onPlayerDeath(PlayerDeathEvent event) {
StreamerPlayer thisStreamerPlayer = DonationExecutor.getInstance().getStreamerPlayer(event.getPlayer().getName());
List<Item> deathDrop = new ArrayList<>();
if (event.getPlayer().getName().equals(thisStreamerPlayer.getName())) {
for (ItemStack i : event.getDrops()) {
deathDrop.add(event.getPlayer().getWorld().dropItemNaturally(event.getPlayer().getLocation(), i));
}
}
event.getDrops().clear();
thisStreamerPlayer.setDeathDrop(deathDrop);
}


Expand Down
Loading