too lazy to write this

This commit is contained in:
Matheus 2024-04-08 09:46:28 -04:00
parent 3e10a8cac9
commit 4d7ea1a388
26 changed files with 172 additions and 107 deletions

View File

@ -1,7 +1,7 @@
package dev.lugami.otaku;
import dev.lugami.otaku.utils.CC;
import lombok.AllArgsConstructor;
import org.bukkit.ChatColor;
import java.text.MessageFormat;
import java.util.ArrayList;
@ -14,24 +14,28 @@ public enum Language {
REKIT_COOLDOWN("COOLDOWN.REKIT"),
COMBAT_COOLDOWN("COOLDOWN.COMBAT"),
NO_PEARL_COOLDOWN("NO-COOLDOWN.PEARL"),
NO_COMBAT_COOLDOWN("NO-COOLDOWN.COMBAT");
NO_COMBAT_COOLDOWN("NO-COOLDOWN.COMBAT"),
CANT_DROP_ITEM("ERROR.CANT-DROP-ITEM"),
KIT_DOESNT_EXIST("ERROR.KIT-DOESNT-EXIST"),
KIT_ALREADY_EXISTS("ERROR.KIT-ALREADY-EXISTS"),
KIT_SPAWN_UNSET("ERROR.KIT-SPAWN-NOT-SET"),
NOT_PLAYING("ERROR.NOT-PLAYING-FFA"),
ALREADY_PLAYING("ERROR.ALREADY-PLAYING-FFA");
private String path;
public String format(Object... objects) {
return new MessageFormat(ChatColor.translateAlternateColorCodes('&',
Main.getInstance().getLangConfig().getString(path))).format(objects);
return new MessageFormat(CC.translate(Main.getInstance().getLangConfig().getString(path))).format(objects);
}
public List<String> formatLines(Object... objects) {
List<String> lines = new ArrayList<>();
if (Main.getInstance().getLangConfig().get(path) instanceof String) {
lines.add(new MessageFormat(ChatColor.translateAlternateColorCodes('&',
Main.getInstance().getLangConfig().getString(path))).format(objects));
lines.add(new MessageFormat(CC.translate(Main.getInstance().getLangConfig().getString(path))).format(objects));
} else {
for (String string : Main.getInstance().getLangConfig().getStringList(path)) {
lines.add(new MessageFormat(ChatColor.translateAlternateColorCodes('&', string))
lines.add(new MessageFormat(CC.translate(string))
.format(objects));
}
}

View File

@ -76,6 +76,7 @@ public class Main extends JavaPlugin {
@Override
public void onDisable() {
for (Player player : getServer().getOnlinePlayers()) {
Profile.getOrCreate(player).save();
player.kickPlayer("Server restarting");
}
Kit.saveAll();

View File

@ -20,10 +20,10 @@ public class Board implements AssembleAdapter {
@Override
public List<String> getLines(Player player) {
List<String> strings = Lists.newArrayList();
List<String> lines = Lists.newArrayList();
Profile profile = Profile.getOrCreate(player);
if (profile == null) {
strings.addAll(CC.translate(Main.getInstance().getScoreboardConfig().getStringList("scoreboard.profile")));
lines.addAll(CC.translate(Main.getInstance().getScoreboardConfig().getStringList("scoreboard.profile")));
} else {
if (!profile.getSettings().scoreboard()) {
return null;
@ -31,38 +31,50 @@ public class Board implements AssembleAdapter {
switch (profile.getState()) {
case LOBBY:
for (String s : Main.getInstance().getScoreboardConfig().getStringList("scoreboard.lobby")) {
if (s.equals("<combat>") && !Main.getInstance().getCombatManager().isInCombat(player)
|| s.equals("<pearl>") && !Main.getInstance().getEnderpearlManager().isPearlCooldown(player)) continue;
strings.add(providePlaceholders(s, player));
lines.add(providePlaceholders(s, player));
}
break;
case PLAYING:
for (String s : Main.getInstance().getScoreboardConfig().getStringList("scoreboard.ffa")) {
if (s.equals("<combat>") && !Main.getInstance().getCombatManager().isInCombat(player)
|| s.equals("<pearl>") && !Main.getInstance().getEnderpearlManager().isPearlCooldown(player)) continue;
strings.add(providePlaceholders(s, player));
|| s.equals("<pearl>") && !Main.getInstance().getEnderpearlManager().isPearlCooldown(player))
continue;
if (s.equals("<combat>") && Main.getInstance().getCombatManager().isInCombat(player)) {
lines.addAll(Main.getInstance().getScoreboardConfig().getStringList("scoreboard.combat-addition"));
continue;
}
if (s.equals("<pearl>") && Main.getInstance().getEnderpearlManager().isPearlCooldown(player)) {
if (Main.getInstance().getCombatManager().isInCombat(player)) {
for (String z : Main.getInstance().getScoreboardConfig().getStringList("scoreboard.enderpearl-addition.combat")) {
if (z.contains("<seconds>")) {
z = z.replace("<seconds>", String.valueOf(Main.getInstance().getEnderpearlManager().getPearlCooldown(player)));
}
lines.add(z);
}
} else {
for (String z : Main.getInstance().getScoreboardConfig().getStringList("scoreboard.enderpearl-addition.no-combat")) {
if (z.contains("<seconds>")) {
z = z.replace("<seconds>", String.valueOf(Main.getInstance().getEnderpearlManager().getPearlCooldown(player)));
}
lines.add(z);
}
}
continue;
}
lines.add(providePlaceholders(s, player));
}
break;
}
}
return strings;
return lines;
}
private String providePlaceholders(String s, Player player) {
final String COMBAT_PLACEHOLDER = "<combat>";
final String PEARL_PLACEHOLDER = "<pearl>";
Profile profile = Profile.getOrCreate(player);
if (profile == null) return null;
if (s.equals(COMBAT_PLACEHOLDER) && Main.getInstance().getCombatManager().isInCombat(player)) {
String combatAddition = Main.getInstance().getScoreboardConfig().getString("scoreboard.combat-addition");
String seconds = String.valueOf(Main.getInstance().getCombatManager().getCombatTime(player));
s = s.replace(COMBAT_PLACEHOLDER, combatAddition.replace("<seconds>", seconds));
} else if (s.equals(PEARL_PLACEHOLDER) && Main.getInstance().getEnderpearlManager().isPearlCooldown(player)) {
String pearlAddition = Main.getInstance().getScoreboardConfig().getString("scoreboard.enderpearl-addition");
String seconds = String.valueOf(Main.getInstance().getEnderpearlManager().getPearlCooldown(player));
s = s.replace(PEARL_PLACEHOLDER, pearlAddition.replace("<seconds>", seconds));
} else if (profile.getState() == ProfileState.PLAYING && profile.getFFA() != null) {
if (profile.getState() == ProfileState.PLAYING && profile.getFFA() != null) {
s = s.replace("<kills>", String.valueOf(profile.getKitData().get(profile.getFFA()).kills()))
.replace("<deaths>", String.valueOf(profile.getKitData().get(profile.getFFA()).deaths()))
.replace("<killstreak>", String.valueOf(profile.getKitData().get(profile.getFFA()).killstreak()));

View File

@ -1,6 +1,7 @@
package dev.lugami.otaku.commands;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Main;
import dev.lugami.otaku.utils.CC;
import org.bukkit.entity.Player;
@ -8,11 +9,16 @@ import org.bukkit.entity.Player;
public class FFACommand {
public void execute(Player player) {
player.sendMessage(CC.CHAT_BAR);
player.sendMessage(CC.translate("&b/ffa join &7<kit>"));
player.sendMessage(CC.translate("&b/ffa leave"));
if (player.hasPermission("otaku.admin")) player.sendMessage(CC.translate("&b/ffa setspawn"));
player.sendMessage(CC.CHAT_BAR);
for (String s : Main.getInstance().getLangConfig().getStringList("COMMANDS.FFA.LINES")) {
if (s.contains("<admin>")) {
for (String z : Main.getInstance().getLangConfig().getStringList("COMMANDS.FFA.ADMIN-ADDITION")) {
player.sendMessage(CC.translate(z));
}
continue;
}
player.sendMessage(CC.translate(s));
}
}
}

View File

@ -2,6 +2,7 @@ package dev.lugami.otaku.commands;
import com.qrakn.honcho.command.CPL;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.events.FFAJoinEvent;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.profile.Profile;
@ -21,7 +22,7 @@ public class FFAJoinCommand {
FFAJoinEvent event = new FFAJoinEvent(player, Kit.getByName(kit));
event.call();
} else {
player.sendMessage(CC.RED + "You're already on the FFA.");
player.sendMessage(Language.ALREADY_PLAYING.format());
}
}

View File

@ -1,10 +1,10 @@
package dev.lugami.otaku.commands;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.events.FFAReKitEvent;
import dev.lugami.otaku.profile.Profile;
import dev.lugami.otaku.profile.data.ProfileState;
import dev.lugami.otaku.utils.CC;
import org.bukkit.entity.Player;
@CommandMeta(label = "rekit")
@ -13,7 +13,7 @@ public class ReKitCommand {
public void execute(Player player) {
Profile profile = Profile.getOrCreate(player);
if (profile.getState() != ProfileState.PLAYING || profile.getFFA() == null) {
player.sendMessage(CC.RED + "You're not playing on the FFA");
player.sendMessage(Language.NOT_PLAYING.format());
return;
}
(new FFAReKitEvent(player, profile.getFFA(), false)).call();

View File

@ -2,6 +2,7 @@ package dev.lugami.otaku.commands.kit;
import com.qrakn.honcho.command.CPL;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.utils.CC;
import org.bukkit.entity.Player;
@ -11,7 +12,7 @@ public class KitCreateCommand {
public void execute(Player player, @CPL("name") String kitName) {
if (Kit.getByName(kitName) != null) {
player.sendMessage(CC.RED + "A kit with that name already exists.");
player.sendMessage(Language.KIT_ALREADY_EXISTS.format());
return;
}

View File

@ -1,6 +1,7 @@
package dev.lugami.otaku.commands.kit;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.utils.CC;
import org.bukkit.entity.Player;
@ -9,7 +10,7 @@ import org.bukkit.entity.Player;
public class KitDeleteCommand {
public void execute(Player player, Kit kit) {
if (kit == null) {
player.sendMessage(CC.RED + "A kit with that name does not exist.");
player.sendMessage(Language.KIT_DOESNT_EXIST.format());
return;
}

View File

@ -2,6 +2,7 @@ package dev.lugami.otaku.commands.kit;
import com.qrakn.honcho.command.CPL;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.utils.CC;
import org.bukkit.entity.Player;
@ -11,7 +12,7 @@ public class KitGetLoadoutCommand {
public void execute(Player player, @CPL("kit") String kit) {
if (Kit.getByName(kit) == null) {
player.sendMessage(CC.RED + "A kit with that name does not exist.");
player.sendMessage(Language.KIT_DOESNT_EXIST.format());
return;
}

View File

@ -2,6 +2,7 @@ package dev.lugami.otaku.commands.kit;
import com.qrakn.honcho.command.CPL;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.utils.CC;
import org.bukkit.entity.Player;
@ -11,7 +12,7 @@ public class KitSetIconCommand {
public void execute(Player player, @CPL("kit") String kit) {
if (Kit.getByName(kit) == null) {
player.sendMessage(CC.RED + "A kit with that name does not exist.");
player.sendMessage(Language.KIT_DOESNT_EXIST.format());
return;
}

View File

@ -2,6 +2,7 @@ package dev.lugami.otaku.commands.kit;
import com.qrakn.honcho.command.CPL;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.utils.CC;
import org.bukkit.entity.Player;
@ -11,7 +12,7 @@ public class KitSetLoadoutCommand {
public void execute(Player player, @CPL("kit") String kit) {
if (Kit.getByName(kit) == null) {
player.sendMessage(CC.RED + "A kit with that name does not exist.");
player.sendMessage(Language.KIT_DOESNT_EXIST.format());
return;
}

View File

@ -2,20 +2,17 @@ package dev.lugami.otaku.commands.kit;
import com.qrakn.honcho.command.CPL;
import com.qrakn.honcho.command.CommandMeta;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.utils.CC;
import dev.lugami.otaku.utils.LocationUtil;
import org.bukkit.entity.Player;
import java.util.Objects;
@CommandMeta(label = "kit setlocation", permission = "otaku.kit.setlocation")
public class KitSetLocationCommand {
public void execute(Player player, @CPL("kit") String kit) {
if (Kit.getByName(kit) == null) {
player.sendMessage(CC.RED + "A kit with that name does not exist.");
return;
player.sendMessage(Language.KIT_DOESNT_EXIST.format());
} else {
Kit.getByName(kit).setLocation(player.getLocation());
player.sendMessage(CC.GREEN + "The location for " + kit + " has been set!");

View File

@ -80,13 +80,8 @@ public class Essentials {
if (entity.getType() == EntityType.PLAYER) {
continue;
}
if (entity instanceof Item) {
removed++;
entity.remove();
continue;
}
removed++;
removed++;
entity.remove();
}
}

View File

@ -1,12 +1,14 @@
package dev.lugami.otaku.essentials;
import dev.lugami.otaku.Main;
import dev.lugami.otaku.events.FFADeathEvent;
import dev.lugami.otaku.hotbar.Hotbar;
import dev.lugami.otaku.kit.Kit;
import dev.lugami.otaku.profile.Profile;
import dev.lugami.otaku.profile.data.ProfileState;
import dev.lugami.otaku.utils.CC;
import org.bukkit.GameMode;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -17,12 +19,13 @@ import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerItemDamageEvent;
import org.bukkit.event.world.ChunkUnloadEvent;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class EssentialsListener implements Listener {
private static List<String> BLOCKED_COMMANDS = Arrays.asList(
private static final List<String> BLOCKED_COMMANDS = Arrays.asList(
"//calc",
"//eval",
"//solve",
@ -45,14 +48,12 @@ public class EssentialsListener implements Listener {
for (String blockedCommand : BLOCKED_COMMANDS) {
for (String part : commandParts) {
if (part.startsWith(blockedCommand)) {
// Check for exact matches only
if (part.equalsIgnoreCase(blockedCommand)) {
if (blockedCommand.equalsIgnoreCase("/version") || blockedCommand.equalsIgnoreCase("/ver")) {
if (event.getPlayer().isOp()) {
return;
}
}
player.sendMessage(CC.RED + "You cannot perform this command.");
event.setCancelled(true);
return;
@ -106,8 +107,9 @@ public class EssentialsListener implements Listener {
Kit kit = profile.getFFA();
if (kit.getKitRules().isNoDamage()) {
event.setDamage(0.0);
} else if (kit.getKitRules().isNoFall() && event.getCause() == EntityDamageEvent.DamageCause.VOID) {
event.setCancelled(true);
} else if (event.getCause() == EntityDamageEvent.DamageCause.VOID) {
CraftPlayer player = ((CraftPlayer) event.getEntity());
new FFADeathEvent(player, new ArrayList<>()).call();
}
}
}

View File

@ -0,0 +1,22 @@
package dev.lugami.otaku.events;
import dev.lugami.otaku.utils.BaseEvent;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class FFADeathEvent extends BaseEvent {
private final Player player;
private final List<ItemStack> drops;
public FFADeathEvent(Player p, List<ItemStack> d) {
player = p;
drops = d;
}
}

View File

@ -1,7 +1,6 @@
package dev.lugami.otaku.hotbar;
import dev.lugami.otaku.Main;
import dev.lugami.otaku.profile.Profile;
import dev.lugami.otaku.utils.ItemBuilder;
import dev.lugami.otaku.utils.PlayerUtil;
import lombok.Getter;
@ -39,8 +38,6 @@ public class Hotbar {
}
public static boolean setup(Player player) {
Profile profile = Profile.getOrCreate(player);
ItemStack[] itemStacks = new ItemStack[9];
Arrays.fill(itemStacks, null);
try {

View File

@ -5,11 +5,12 @@ import lombok.Setter;
import java.util.regex.Pattern;
@Getter
public enum HotbarItem {
MAIN_MENU("menu");
@Getter private String command;
@Getter @Setter private Pattern pattern;
private final String command;
@Setter private Pattern pattern;
HotbarItem(String command) {
this.command = command;

View File

@ -50,7 +50,11 @@ public class Leaderboards {
int kills = kitSection.getInt("kills");
int killstreak = kitSection.getInt("killstreak");
int deaths = kitSection.getInt("deaths");
ProfileKitData data = new ProfileKitData(kills, killstreak, deaths);
ProfileKitData data = new ProfileKitData();
data.kills(kills);
data.killstreak(killstreak);
data.deaths(deaths);
//data.KDR((float) kills / deaths);
map.put(name, data);
}
}
@ -81,8 +85,6 @@ public class Leaderboards {
Integer kills = (kitDocument != null) ? kitDocument.getInteger("kills") : null;
Integer killstreak = (kitDocument != null) ? kitDocument.getInteger("killstreak") : null;
Integer deaths = (kitDocument != null) ? kitDocument.getInteger("deaths") : null;
// Use a default value if elo is null
kills = (kills != null) ? kills : 0;
deaths = (deaths != null) ? deaths : 0;
killstreak = (killstreak != null) ? killstreak : 0;

View File

@ -53,7 +53,7 @@ public class LeaderboardsMenu extends Menu {
}
@AllArgsConstructor
private class KitStatsButton extends Button {
private static class KitStatsButton extends Button {
private final Kit kit;
@ -63,7 +63,7 @@ public class LeaderboardsMenu extends Menu {
lore.add(CC.MENU_BAR);
int pos = 1;
for (LeaderboardsEntry entry : Leaderboards.getLeaderboards().get(kit)) {
lore.add("&b" +pos + ". " + entry.name() + "&7 - " + entry.kills() + "/" + entry.killstreak() + "/" + entry.deaths());
lore.add("&b" + pos + ". " + entry.name() + "&7 - " + entry.kills() + "/" + entry.killstreak() + "/" + entry.deaths());
pos++;
}
lore.add(CC.MENU_BAR);

View File

@ -2,6 +2,7 @@ package dev.lugami.otaku.listener;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.Main;
import dev.lugami.otaku.events.FFADeathEvent;
import dev.lugami.otaku.events.FFAJoinEvent;
import dev.lugami.otaku.events.FFAQuitEvent;
import dev.lugami.otaku.events.FFAReKitEvent;
@ -21,7 +22,6 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerInteractEvent;
@ -38,7 +38,7 @@ public class FFAListener implements Listener {
setupFFA(player, event.getKit());
Profile.getOrCreate(player).setState(ProfileState.PLAYING);
} else {
player.sendMessage(CC.RED + "The spawn location for this kit is not set!");
player.sendMessage(Language.KIT_SPAWN_UNSET.format());
}
}
@ -117,16 +117,19 @@ public class FFAListener implements Listener {
@EventHandler
public void death(PlayerDeathEvent event) {
event.setDeathMessage(null);
Player player = event.getEntity();
new FFADeathEvent(event.getEntity(), event.getDrops()).call();
}
@EventHandler
public void handleDeath(FFADeathEvent event) {
Player player = event.getPlayer();
player.spigot().respawn();
Profile profile = Profile.getOrCreate(player);
Player killer = PlayerUtil.getLastAttacker(player);
ItemStack[] contents = event.getDrops().toArray(new ItemStack[0]);
ItemStack[] killerContents = killer != null ? killer.getInventory().getContents() : null;
if (profile.getState() == ProfileState.PLAYING && event.getEntity() != null) {
if (profile.getState() == ProfileState.PLAYING && event.getPlayer() != null) {
for (Player player1 : FFACache.getFFAList().get(profile.getFFA())) {
LightningUtil.spawnLightning(player1, player.getLocation());
player1.sendMessage(CC.translate("&a" + player.getName() + " [" + PlayerUtil.getRemainingPotions(contents) + "] &7died" + (killer != null ? " to &c" + killer.getName() + " [" + PlayerUtil.getRemainingPotions(killerContents) + "]&7." : "&7.")));
player1.sendMessage(CC.translate("&a" + player.getName() + " &7died" + (killer != null ? " to &c" + killer.getName() + "&7." : "&7.")));
}
PlayerUtil.reset(player);
if (player.isDead()) {
@ -154,6 +157,7 @@ public class FFAListener implements Listener {
@Override
public void run() {
if (setupFFA(player, profile.getFFA())) {
// Ignored. I don't even know why this is an boolean but okay :skull:
} else this.run();
if (killer != null && Profile.getOrCreate(killer).getSettings().autoRekit()) {
(new FFAReKitEvent(killer, profile.getFFA(), true)).call();
@ -202,18 +206,14 @@ public class FFAListener implements Listener {
@EventHandler
public void onDamage(EntityDamageEvent event) {
if (event.getEntity() instanceof Player) {
if (Profile.getOrCreate((Player) event.getEntity()).getFFA().getKitRules().isNoDamage()) {
event.setDamage(0.0);
return;
}
if (event.getCause() == EntityDamageEvent.DamageCause.FALL) {
if (Profile.getOrCreate((Player) event.getEntity()).getState() == ProfileState.PLAYING) event.setCancelled(Profile.getOrCreate((Player) event.getEntity()).getFFA().getKitRules().isNoFall());
}
}
}
@EventHandler
public void onDamage2(EntityDamageByEntityEvent event) {
if (event.getEntity() instanceof Player) {
if (Profile.getOrCreate((Player) event.getEntity()).getFFA().getKitRules().isNoDamage()) event.setDamage(0.0);
}
}
}

View File

@ -1,5 +1,6 @@
package dev.lugami.otaku.listener;
import dev.lugami.otaku.Language;
import dev.lugami.otaku.Main;
import dev.lugami.otaku.hotbar.Hotbar;
import dev.lugami.otaku.profile.Profile;
@ -31,7 +32,7 @@ public class GeneralListeners implements Listener {
if (isSword(droppedItem.getType()) && profile.getSettings().dropProtect()) {
event.setCancelled(true);
event.getPlayer().sendMessage(CC.RED + "You cannot drop this item.");
event.getPlayer().sendMessage(CC.translate(Language.CANT_DROP_ITEM.format()));
}
}
@ -123,7 +124,7 @@ public class GeneralListeners implements Listener {
if (attacker != null) {
PlayerUtil.setLastAttacker(victim, attacker);
if (attacker instanceof Player && attacker != victim) {
if (attacker != victim) {
Main.getInstance().getCombatManager().setCombatTime(victim, 15);
Main.getInstance().getCombatManager().setCombatTime(attacker, 15);
Main.getInstance().getCombatManager().setInCombat(victim, true);

View File

@ -12,6 +12,7 @@ import dev.lugami.otaku.utils.CC;
import dev.lugami.otaku.utils.Cooldown;
import dev.lugami.otaku.utils.FFACache;
import dev.lugami.otaku.utils.SaveMethodType;
import dev.lugami.otaku.utils.config.ConfigUtil;
import lombok.Data;
import lombok.Getter;
import org.bson.Document;
@ -20,7 +21,6 @@ import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import java.io.IOException;
import java.util.*;
@Data
@ -136,6 +136,7 @@ public class Profile {
profileKitData.kills(kitDocument.getInteger("kills"));
profileKitData.deaths(kitDocument.getInteger("deaths"));
profileKitData.killstreak(kitDocument.getInteger("killstreak"));
//profileKitData.KDR((float) profileKitData.kills() / profileKitData.deaths());
kitData.put(kit, profileKitData);
}
@ -193,11 +194,7 @@ public class Profile {
Main.getInstance().getProfileConfig().getConfiguration().set("settings." + getPlayer().getName() + ".scoreboard", settings.scoreboard());
Main.getInstance().getProfileConfig().getConfiguration().set("settings." + getPlayer().getName() + ".autoRekit", settings.autoRekit());
Main.getInstance().getProfileConfig().getConfiguration().set("settings." + getPlayer().getName() + ".dropProtect", settings.dropProtect());
try {
Main.getInstance().getProfileConfig().getConfiguration().save(Main.getInstance().getProfileConfig().getFile());
} catch (IOException e) {
e.printStackTrace();
}
ConfigUtil.save(Main.getInstance().getProfileConfig());
if (Main.getInstance().getSaveMethodType() == SaveMethodType.MONGO && collection == null) Bukkit.getLogger().warning("Profile#getCollection was null, so " + player.getName() + "'s profile was saved using the fallback flatfile method.");
}
}

View File

@ -1,12 +1,11 @@
package dev.lugami.otaku.profile.data;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data @Accessors(fluent = true)
@AllArgsConstructor @NoArgsConstructor
@NoArgsConstructor
public class ProfileKitData {
private int kills;

View File

@ -7,7 +7,7 @@ import java.util.UUID;
@Getter
public class PlayerEvent extends BaseEvent {
private Player player;
private final Player player;
public PlayerEvent(Player player) {
this(player, false);
@ -17,10 +17,6 @@ public class PlayerEvent extends BaseEvent {
this.player = player;
}
public Player getPlayer() {
return player;
}
public UUID getUniqueId() {
return player.getUniqueId();
}

View File

@ -6,3 +6,22 @@ COOLDOWN:
NO-COOLDOWN:
PEARL: "&aYour pearl cooldown expired!"
COMBAT: "&aYou're no longer in combat!"
ERROR:
CANT-DROP-ITEM: "&cYou cannot drop this item."
KIT-DOESNT-EXIST: "&cA kit with that name does not exist."
KIT-ALREADY-EXISTS: "&cA kit with that name already exists."
KIT-SPAWN-NOT-SET: "&cThe spawn location for this kit is not set!"
NOT-PLAYING-FFA: "&cYou're not playing on FFA."
ALREADY-PLAYING-FFA: "&cYou're already on the FFA."
COMMANDS:
FFA:
LINES:
- "&7&m------------------------------------------------"
- "&b/ffa join &7<kit>"
- "&b/ffa leave"
- "<admin>"
- "&7&m------------------------------------------------"
ADMIN-ADDITION:
- "&b/ffa setspawn"

View File

@ -1,29 +1,37 @@
scoreboard:
global:
title: "&b&lFFA"
title: "&b&lAngolanos"
lobby:
- "&7&m---------------------"
- "&bOnline: &f<online>"
- "&bPlaying: &f<playing>"
- "&fOnline: &b<online>"
- "&fPlaying: &b<playing>"
- ""
- "&7&oilovefemboys.xyz"
- "&7&oangolanos.fun"
- "&7&m---------------------"
ffa:
- "&7&m---------------------"
- "&bKills: &f<kills>"
- "&bDeaths: &f<deaths>"
- "&bKillstreak: &f<killstreak>"
- "&fKills: &b<kills>"
- "&fDeaths: &b<deaths>"
- "&fKillstreak: &b<killstreak>"
- "<combat>"
- "<pearl>"
- ""
- "&7&oilovefemboys.xyz"
- "&7&oangolanos.fun"
- "&7&m---------------------"
profile:
- "&7&m---------------------"
- "&cYour profile was not loaded."
- "&cTry rejoining."
- ""
- "&7&oilovefemboys.xyz"
- "&7&oangolanos.fun"
- "&7&m---------------------"
combat-addition: "&c&lCombat Tag: <seconds>s"
enderpearl-addition: "&c&lEnderpearl: <seconds>s"
combat-addition:
- ""
- "&fCombat: &7(<seconds>)"
enderpearl-addition:
# considering combat will be the priority
no-combat:
- ""
- "&fEnderpearl: &7(<seconds>)"
combat:
- "&fEnderpearl: &7(<seconds>)"