Skip to content

Commit

Permalink
alot of improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
aabssmc committed May 23, 2024
1 parent 036f88f commit e0a66e4
Show file tree
Hide file tree
Showing 20 changed files with 170 additions and 67 deletions.
3 changes: 3 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/modules/EventCore.main.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/modules/EventCore.test.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions .idea/modules/intelij.EventCore.main.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/modules/intelij.EventCore.test.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions .idea/modules/lol.aabss.EventCore.main.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/modules/lol.aabss.EventCore.test.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

93 changes: 52 additions & 41 deletions src/main/java/lol/aabss/eventcore/EventCore.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Objects;
import java.util.*;

import static lol.aabss.eventcore.hooks.UpdateChecker.UPDATE_CHECKER;

Expand All @@ -27,9 +26,8 @@ public class EventCore extends JavaPlugin {

public static EventCore instance;

public ArrayList<Player> Alive = new ArrayList<>();
public ArrayList<Player> Dead = new ArrayList<>();
public ArrayList<Player> Recent = new ArrayList<>();
public List<Player> Alive = new ArrayList<>();
public List<Player> Recent = new ArrayList<>();

public File datafile;
public FileConfiguration dataconfig;
Expand All @@ -46,48 +44,39 @@ public void onEnable() {
// Registering bStats
new Metrics(this, 19718);

Objects.requireNonNull(getCommand("alivelist")).setExecutor(new AliveList());
Objects.requireNonNull(getCommand("clearalive")).setExecutor(new ClearAlive());
Objects.requireNonNull(getCommand("givealive")).setExecutor(new GiveAlive());
Objects.requireNonNull(getCommand("healalive")).setExecutor(new HealAlive());
Objects.requireNonNull(getCommand("killalive")).setExecutor(new KillAlive());
Objects.requireNonNull(getCommand("tpalive")).setExecutor(new TpAlive());
new AliveList().register();
new ClearAlive().register();
new GiveAlive().register();
new HealAlive().register();
new KillAlive().register();
new TpAlive().register();

// ---
Objects.requireNonNull(getCommand("cleardead")).setExecutor(new ClearDead());
Objects.requireNonNull(getCommand("deadlist")).setExecutor(new DeadList());
Objects.requireNonNull(getCommand("givedead")).setExecutor(new GiveDead());
Objects.requireNonNull(getCommand("healdead")).setExecutor(new HealDead());
Objects.requireNonNull(getCommand("killdead")).setExecutor(new KillDead());
Objects.requireNonNull(getCommand("tpdead")).setExecutor(new TpDead());
new DeadList().register();
new ClearDead().register();
new GiveDead().register();
new HealDead().register();
new KillDead().register();
new TpDead().register();

// ---
Objects.requireNonNull(getCommand("balrevive")).setExecutor(new BalRevive());
Objects.requireNonNull(getCommand("giverevive")).setExecutor(new GiveRevive());
Objects.requireNonNull(getCommand("recentrev")).setExecutor(new RecentRev());
Objects.requireNonNull(getCommand("revive")).setExecutor(new Revive());
Objects.requireNonNull(getCommand("reviveall")).setExecutor(new ReviveAll());
Objects.requireNonNull(getCommand("revivelate")).setExecutor(new ReviveLate());
Objects.requireNonNull(getCommand("setrevive")).setExecutor(new SetRevive());
Objects.requireNonNull(getCommand("togglerevive")).setExecutor(new ToggleRevive());
Objects.requireNonNull(getCommand("takerevive")).setExecutor(new TakeRevive());
Objects.requireNonNull(getCommand("unrevive")).setExecutor(new Unrevive());
Objects.requireNonNull(getCommand("userevive")).setExecutor(new UseRevive());
new BalRevive().register();
new GiveRevive().register();
new RecentRev().register();
new Revive().register();
new ReviveAll().register();
new ReviveLate().register();
new SetRevive().register();
new TakeRevive().register();
new ToggleRevive().register();
new Unrevive().register();
new UseRevive().register();

// ---
Objects.requireNonNull(getCommand("eventcore")).setExecutor(new MainCommand());
Objects.requireNonNull(getCommand("mutechat")).setExecutor(new Mutechat());
Objects.requireNonNull(getCommand("visibility")).setExecutor(new Visibility());

// Registering tab completions
Objects.requireNonNull(getCommand("givealive")).setTabCompleter(new GiveAlive());
Objects.requireNonNull(getCommand("givedead")).setTabCompleter(new GiveDead());
Objects.requireNonNull(getCommand("balrevive")).setTabCompleter(new BalRevive());
Objects.requireNonNull(getCommand("giverevive")).setTabCompleter(new GiveRevive());
Objects.requireNonNull(getCommand("revive")).setTabCompleter(new Revive());
Objects.requireNonNull(getCommand("setrevive")).setTabCompleter(new SetRevive());
Objects.requireNonNull(getCommand("takerevive")).setTabCompleter(new TakeRevive());
Objects.requireNonNull(getCommand("visibility")).setTabCompleter(new Visibility());
new MainCommand().register("eventcore");
new Mutechat().register();
new Visibility().register();


// Registering PlaceholderAPI
if(Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
Expand Down Expand Up @@ -136,4 +125,26 @@ public void onDisable() {
getLogger().info("EventCore disabled!");
}

public static String formatList(List<?> list){
List<String> stringlist = new ArrayList<>();
list.forEach(o -> stringlist.add(o.toString()));
Collections.sort(stringlist);
StringBuilder builder = new StringBuilder();
int i = 0;
if (stringlist.size() == 1){
return stringlist.get(0);
}
for (Object obj : stringlist){
if (i == stringlist.size() - 1) {
builder.append(obj);
} else if (i == stringlist.size() - 2) {
builder.append(obj).append(" and ");
} else {
builder.append(obj).append(", ");
}
i++;
}
return builder.toString();
}

}
2 changes: 0 additions & 2 deletions src/main/java/lol/aabss/eventcore/commands/Visibility.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import lol.aabss.eventcore.events.VisibilityEvent;
import lol.aabss.eventcore.util.SimpleCommand;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
Expand All @@ -11,7 +10,6 @@
import java.util.List;

import static lol.aabss.eventcore.EventCore.API;
import static lol.aabss.eventcore.EventCore.instance;
import static lol.aabss.eventcore.util.Config.msg;

public class Visibility implements SimpleCommand {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ public boolean run(CommandSender sender, Command command, String[] args) {
}
if (names.size() == 1){
sender.sendMessage(msg("alivelist.one-player")
.replaceText(builder -> builder.matchLiteral("%alive%").replacement(String.valueOf(names))));
.replaceText(builder -> builder.matchLiteral("%alive%").replacement(formatList(names))));
return true;
}
sender.sendMessage(msg("alivelist.players")
.replaceText(builder -> builder.matchLiteral("%alive%").replacement(String.valueOf(names)))
.replaceText(builder -> builder.matchLiteral("%alive%").replacement(formatList(names)))
.replaceText(builder -> builder.matchLiteral("%amount%").replacement(String.valueOf(names.size())))
);
return true;
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/lol/aabss/eventcore/commands/dead/DeadList.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package lol.aabss.eventcore.commands.dead;


import lol.aabss.eventcore.util.SimpleCommand;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
Expand All @@ -9,6 +8,7 @@
import java.util.List;

import static lol.aabss.eventcore.EventCore.API;
import static lol.aabss.eventcore.EventCore.formatList;
import static lol.aabss.eventcore.util.Config.msg;

public class DeadList implements SimpleCommand {
Expand All @@ -23,11 +23,11 @@ public boolean run(CommandSender sender, Command command, String[] args) {
}
if (names.size() == 1){
sender.sendMessage(msg("deadlist.one-player")
.replaceText(builder -> builder.matchLiteral("%dead%").replacement(String.valueOf(names))));
.replaceText(builder -> builder.matchLiteral("%dead%").replacement(formatList(names))));
return true;
}
sender.sendMessage(msg("deadlist.players")
.replaceText(builder -> builder.matchLiteral("%dead%").replacement(String.valueOf(names)))
.replaceText(builder -> builder.matchLiteral("%dead%").replacement(formatList(names)))
.replaceText(builder -> builder.matchLiteral("%amount%").replacement(String.valueOf(names.size())))
);
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class ToggleRevive implements SimpleCommand {
@Override
public boolean run(CommandSender sender, Command command, String[] args) {
API.toggleRevives();
sender.sendMessage(msg("togglerevive."+(REVIVES ? "enabled" : "disabled)")));
sender.sendMessage(msg("togglerevive."+(REVIVES ? "enabled" : "disabled")));
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public boolean run(CommandSender sender, Command command, String[] args) {
public List<String> tabComplete(CommandSender sender, Command command, String[] args) {
if (args.length == 1){
List<String> completions = new ArrayList<>();
API.getDead().forEach(player -> completions.add(player.getName()));
API.getAlive().forEach(player -> completions.add(player.getName()));
return completions;
}
return null;
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/lol/aabss/eventcore/hooks/UpdateChecker.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package lol.aabss.eventcore.hooks;

import com.google.gson.JsonParser;
import org.bukkit.command.CommandSender;
import org.json.JSONArray;

import java.net.URI;
import java.net.http.HttpClient;
Expand All @@ -24,7 +24,7 @@ public static String latestVersion() {
.build();
try {
String body = httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString()).get().body();
return new JSONArray(body).getJSONObject(0).getString("version_number");
return JsonParser.parseString(body).getAsJsonArray().get(0).getAsJsonObject().get("version_number").getAsString();
} catch (Exception e) {
throw new RuntimeException(e);
}
Expand Down
16 changes: 9 additions & 7 deletions src/main/java/lol/aabss/eventcore/util/EventCoreAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.entity.Player;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import static lol.aabss.eventcore.EventCore.instance;
Expand All @@ -24,23 +25,27 @@ public EventCoreAPI(EventCore plugin) {
}

public boolean isAlive(Player p) {
return plugin.Alive.contains(p);
return getAlive().contains(p);
}

public boolean isDead(Player p) {
return plugin.Dead.contains(p);
return getDead().contains(p);
}

public boolean isRecentlyDead(Player p) {
return plugin.Recent.contains(p);
return getRecentlyDead().contains(p);
}

public List<Player> getAlive() {
return plugin.Alive;
}

public List<Player> getDead() {
return plugin.Dead;
List<Player> players = new ArrayList<>(Bukkit.getOnlinePlayers());
players.forEach(player -> {
if (getAlive().contains(player)) players.remove(player);
});
return players;
}

public List<Player> getRecentlyDead() {
Expand Down Expand Up @@ -91,21 +96,18 @@ public void revive(Player p, Location location) {

public void revive(Player p) {
new ReviveEvent(p, Bukkit.getConsoleSender()).callEvent();
plugin.Dead.remove(p);
plugin.Recent.remove(p);
plugin.Alive.add(p);
}

public void revive(Player revived, Player reviver, boolean teleport) {
new ReviveEvent(revived, reviver).callEvent();
plugin.Dead.remove(revived);
plugin.Recent.remove(revived);
plugin.Alive.add(revived);
if (teleport) revived.teleport(reviver);
}

public void unrevive(Player p, boolean kill) {
plugin.Dead.add(p);
plugin.Recent.remove(p);
plugin.Alive.remove(p);
if (kill) p.setHealth(0);
Expand Down
Loading

0 comments on commit e0a66e4

Please sign in to comment.