some more shit

This commit is contained in:
Trixkz
2021-11-21 10:12:16 -05:00
parent 4e54849ae4
commit 002b05820e
26 changed files with 868 additions and 112 deletions

View File

@ -1,5 +1,7 @@
package rip.tilly.bedwars;
import assemble.Assemble;
import assemble.AssembleStyle;
import lombok.Getter;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
@ -8,6 +10,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.plugin.java.JavaPlugin;
import rip.tilly.bedwars.listeners.RandomListeners;
import rip.tilly.bedwars.managers.ScoreboardManager;
import rip.tilly.bedwars.mongo.MongoManager;
import rip.tilly.bedwars.player.PlayerDataHandler;
import rip.tilly.bedwars.player.PlayerDataManager;
@ -41,6 +44,10 @@ public final class BedWars extends JavaPlugin {
this.loadManagers();
this.loadListeners();
Assemble assemble = new Assemble(this, new ScoreboardManager());
assemble.setTicks(2);
assemble.setAssembleStyle(AssembleStyle.VIPER);
for (World world : Bukkit.getWorlds()) {
for (Entity entity : world.getEntities()) {
if (entity.getType() != EntityType.PLAYER && entity.getType() != EntityType.ITEM_FRAME) {

View File

@ -4,44 +4,40 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import xyz.trixkz.bedwarspractice.Main;
import xyz.trixkz.bedwarspractice.utils.Utils;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.utils.CC;
public class LevelCommand implements CommandExecutor {
private Main main;
public LevelCommand(Main main) {
this.main = main;
}
private BedWars main = BedWars.getInstance();
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player) sender;
if (!player.hasPermission(Utils.ADMIN_PERMISSION_NODE)) {
player.sendMessage(Utils.translate(Utils.NO_PERMISSION_MESSAGE));
if (!player.hasPermission("bedwars.admin")) {
player.sendMessage(CC.translate("&cNo permission"));
return true;
}
if (args.length == 0) {
player.sendMessage(Utils.translate("&cUsage:"));
player.sendMessage(Utils.translate(" &c/level"));
player.sendMessage(Utils.translate(" &c/level set <player> <amount>"));
player.sendMessage(Utils.translate(" &c/level add <player> <amount>"));
player.sendMessage(Utils.translate(" &c/level remove <player> <amount>"));
player.sendMessage(CC.translate("&cUsage:"));
player.sendMessage(CC.translate(" &c/level"));
player.sendMessage(CC.translate(" &c/level set <player> <amount>"));
player.sendMessage(CC.translate(" &c/level add <player> <amount>"));
player.sendMessage(CC.translate(" &c/level remove <player> <amount>"));
} else {
switch (args[0]) {
case "set":
new SetCommand(this.main).executeAs(sender, cmd, label, args);
new SetCommand().executeAs(sender, cmd, label, args);
break;
case "add":
new AddCommand(this.main).executeAs(sender, cmd, label, args);
new AddCommand().executeAs(sender, cmd, label, args);
break;
case "remove":
new RemoveCommand(this.main).executeAs(sender, cmd, label, args);
new RemoveCommand().executeAs(sender, cmd, label, args);
break;
}

View File

@ -4,12 +4,9 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.commands.BaseCommand;
import rip.tilly.bedwars.player.PlayerData;
import rip.tilly.bedwars.utils.CC;
import xyz.trixkz.bedwarspractice.Main;
import xyz.trixkz.bedwarspractice.commands.BaseCommand;
import xyz.trixkz.bedwarspractice.managers.user.User;
import xyz.trixkz.bedwarspractice.utils.Utils;
import java.util.ArrayList;
import java.util.List;

View File

@ -3,21 +3,17 @@ package rip.tilly.bedwars.commands.level;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import xyz.trixkz.bedwarspractice.Main;
import xyz.trixkz.bedwarspractice.commands.BaseCommand;
import xyz.trixkz.bedwarspractice.managers.user.User;
import xyz.trixkz.bedwarspractice.utils.Utils;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.commands.BaseCommand;
import rip.tilly.bedwars.player.PlayerData;
import rip.tilly.bedwars.utils.CC;
import java.util.ArrayList;
import java.util.List;
public class SetCommand extends BaseCommand {
private Main main;
public SetCommand(Main main) {
this.main = main;
}
private BedWars main = BedWars.getInstance();
@Override
public void executeAs(CommandSender sender, Command cmd, String label, String[] args) {
@ -25,23 +21,23 @@ public class SetCommand extends BaseCommand {
Player target = this.main.getServer().getPlayer(args[1]);
User user = User.getByUUID(target.getUniqueId());
PlayerData playerData = this.main.getPlayerDataManager().getPlayerData(player.getUniqueId());
if (!target.isOnline()) {
player.sendMessage(Utils.translate("&cError: Player is not currently online"));
player.sendMessage(CC.translate("&cError: Player is not currently online"));
return;
}
if (!this.main.getUtils().isNumeric(args[2])) {
player.sendMessage(Utils.translate("&cError: Please send a valid number"));
if (!CC.isNumeric(args[2])) {
player.sendMessage(CC.translate("&cError: Please send a valid number"));
return;
}
Integer amount = Integer.parseInt(args[2]);
user.getSettings().setLevel(amount);
playerData.setLevel(amount);
}
@Override

View File

@ -5,6 +5,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.commands.BaseCommand;
import rip.tilly.bedwars.utils.CC;
import java.util.ArrayList;

View File

@ -3,21 +3,17 @@ package rip.tilly.bedwars.commands.xp;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import xyz.trixkz.bedwarspractice.Main;
import xyz.trixkz.bedwarspractice.commands.BaseCommand;
import xyz.trixkz.bedwarspractice.managers.user.User;
import xyz.trixkz.bedwarspractice.utils.Utils;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.commands.BaseCommand;
import rip.tilly.bedwars.player.PlayerData;
import rip.tilly.bedwars.utils.CC;
import java.util.ArrayList;
import java.util.List;
public class AddCommand extends BaseCommand {
private Main main;
public AddCommand(Main main) {
this.main = main;
}
private BedWars main = BedWars.getInstance();
@Override
public void executeAs(CommandSender sender, Command cmd, String label, String[] args) {
@ -25,23 +21,23 @@ public class AddCommand extends BaseCommand {
Player target = this.main.getServer().getPlayer(args[1]);
User user = User.getByUUID(target.getUniqueId());
PlayerData playerData = this.main.getPlayerDataManager().getPlayerData(player.getUniqueId());
if (!target.isOnline()) {
player.sendMessage(Utils.translate("&cError: Player is not currently online"));
player.sendMessage(CC.translate("&cError: Player is not currently online"));
return;
}
if (!this.main.getUtils().isNumeric(args[2])) {
player.sendMessage(Utils.translate("&cError: Please send a valid number"));
if (!CC.isNumeric(args[2])) {
player.sendMessage(CC.translate("&cError: Please send a valid number"));
return;
}
Double amount = Double.parseDouble(args[2]);
user.getSettings().addXp(target, amount);
playerData.setXp(playerData.getXp() + amount);
}
@Override

View File

@ -3,21 +3,17 @@ package rip.tilly.bedwars.commands.xp;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import xyz.trixkz.bedwarspractice.Main;
import xyz.trixkz.bedwarspractice.commands.BaseCommand;
import xyz.trixkz.bedwarspractice.managers.user.User;
import xyz.trixkz.bedwarspractice.utils.Utils;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.commands.BaseCommand;
import rip.tilly.bedwars.player.PlayerData;
import rip.tilly.bedwars.utils.CC;
import java.util.ArrayList;
import java.util.List;
public class RemoveCommand extends BaseCommand {
private Main main;
public RemoveCommand(Main main) {
this.main = main;
}
private BedWars main = BedWars.getInstance();
@Override
public void executeAs(CommandSender sender, Command cmd, String label, String[] args) {
@ -25,23 +21,23 @@ public class RemoveCommand extends BaseCommand {
Player target = this.main.getServer().getPlayer(args[1]);
User user = User.getByUUID(target.getUniqueId());
PlayerData playerData = this.main.getPlayerDataManager().getPlayerData(player.getUniqueId());
if (!target.isOnline()) {
player.sendMessage(Utils.translate("&cError: Player is not currently online"));
player.sendMessage(CC.translate("&cError: Player is not currently online"));
return;
}
if (!this.main.getUtils().isNumeric(args[2])) {
player.sendMessage(Utils.translate("&cError: Please send a valid number"));
if (!CC.isNumeric(args[2])) {
player.sendMessage(CC.translate("&cError: Please send a valid number"));
return;
}
Double amount = Double.parseDouble(args[2]);
user.getSettings().removeXp(amount);
playerData.setXp(playerData.getXp() - amount);
}
@Override

View File

@ -3,21 +3,17 @@ package rip.tilly.bedwars.commands.xp;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import xyz.trixkz.bedwarspractice.Main;
import xyz.trixkz.bedwarspractice.commands.BaseCommand;
import xyz.trixkz.bedwarspractice.managers.user.User;
import xyz.trixkz.bedwarspractice.utils.Utils;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.commands.BaseCommand;
import rip.tilly.bedwars.player.PlayerData;
import rip.tilly.bedwars.utils.CC;
import java.util.ArrayList;
import java.util.List;
public class SetCommand extends BaseCommand {
private Main main;
public SetCommand(Main main) {
this.main = main;
}
private BedWars main = BedWars.getInstance();
@Override
public void executeAs(CommandSender sender, Command cmd, String label, String[] args) {
@ -25,23 +21,23 @@ public class SetCommand extends BaseCommand {
Player target = this.main.getServer().getPlayer(args[1]);
User user = User.getByUUID(target.getUniqueId());
PlayerData playerData = this.main.getPlayerDataManager().getPlayerData(player.getUniqueId());
if (!target.isOnline()) {
player.sendMessage(Utils.translate("&cError: Player is not currently online"));
player.sendMessage(CC.translate("&cError: Player is not currently online"));
return;
}
if (!this.main.getUtils().isNumeric(args[2])) {
player.sendMessage(Utils.translate("&cError: Please send a valid number"));
if (!CC.isNumeric(args[2])) {
player.sendMessage(CC.translate("&cError: Please send a valid number"));
return;
}
Double amount = Double.parseDouble(args[2]);
user.getSettings().setXp(amount);
playerData.setXp(amount);
}
@Override

View File

@ -4,44 +4,40 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import xyz.trixkz.bedwarspractice.Main;
import xyz.trixkz.bedwarspractice.utils.Utils;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.utils.CC;
public class XpCommand implements CommandExecutor {
private Main main;
public XpCommand(Main main) {
this.main = main;
}
private BedWars main = BedWars.getInstance();
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player) sender;
if (!player.hasPermission(Utils.ADMIN_PERMISSION_NODE)) {
player.sendMessage(Utils.translate(Utils.NO_PERMISSION_MESSAGE));
if (!player.hasPermission("bedwars.admin")) {
player.sendMessage(CC.translate("&cNo permission"));
return true;
}
if (args.length == 0) {
player.sendMessage(Utils.translate("&cUsage:"));
player.sendMessage(Utils.translate(" &c/xp"));
player.sendMessage(Utils.translate(" &c/xp set <player> <amount>"));
player.sendMessage(Utils.translate(" &c/xp add <player> <amount>"));
player.sendMessage(Utils.translate(" &c/xp remove <player> <amount>"));
player.sendMessage(CC.translate("&cUsage:"));
player.sendMessage(CC.translate(" &c/xp"));
player.sendMessage(CC.translate(" &c/xp set <player> <amount>"));
player.sendMessage(CC.translate(" &c/xp add <player> <amount>"));
player.sendMessage(CC.translate(" &c/xp remove <player> <amount>"));
} else {
switch (args[0]) {
case "set":
new SetCommand(this.main).executeAs(sender, cmd, label, args);
new SetCommand().executeAs(sender, cmd, label, args);
break;
case "add":
new AddCommand(this.main).executeAs(sender, cmd, label, args);
new AddCommand().executeAs(sender, cmd, label, args);
break;
case "remove":
new RemoveCommand(this.main).executeAs(sender, cmd, label, args);
new RemoveCommand().executeAs(sender, cmd, label, args);
break;
}

View File

@ -1,7 +1,9 @@
package rip.tilly.bedwars.managers;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.commands.level.LevelCommand;
import rip.tilly.bedwars.commands.setspawn.SetSpawnCommand;
import rip.tilly.bedwars.commands.xp.XpCommand;
public class CommandManager {
@ -13,5 +15,7 @@ public class CommandManager {
private void registerCommands() {
this.main.getCommand("setspawn").setExecutor(new SetSpawnCommand());
this.main.getCommand("level").setExecutor(new LevelCommand());
this.main.getCommand("xp").setExecutor(new XpCommand());
}
}

View File

@ -0,0 +1,62 @@
package rip.tilly.bedwars.managers;
import assemble.AssembleAdapter;
import org.bukkit.entity.Player;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.player.PlayerData;
import rip.tilly.bedwars.utils.CC;
import java.util.ArrayList;
import java.util.List;
public class ScoreboardManager implements AssembleAdapter {
private BedWars main = BedWars.getInstance();
@Override
public String getTitle(Player player) {
return CC.translate("&d&lBedWars");
}
@Override
public List<String> getLines(Player player) {
List<String> lines = new ArrayList<String>();
PlayerData playerData = this.main.getPlayerDataManager().getPlayerData(player.getUniqueId());
lines.add(CC.translate(CC.scoreboardBar));
lines.add(CC.translate("&fOnline: &d" + this.main.getServer().getOnlinePlayers().size()));
lines.add(CC.translate("&fPlaying: &d"));
lines.add(CC.translate(""));
if (true) {
lines.add(CC.translate("&fLevel: &d" + playerData.getLevel()));
String finishedProgress = "";
int notFinishedProgress = 10;
for (int i = 0; i < playerData.getXp() * 100; i++) {
if (i % 10 == 0) {
finishedProgress += "";
notFinishedProgress--;
}
}
String leftOverProgress = "";
for (int i = 1; i <= notFinishedProgress; i++) {
leftOverProgress += "";
}
lines.add(CC.translate("&8" + finishedProgress + "&7" + leftOverProgress + " &7(" + ((int) (playerData.getXp() * 100)) + "%&7)"));
lines.add(CC.translate(""));
}
lines.add(CC.translate("&dtilly.rip"));
lines.add(CC.translate(CC.scoreboardBar));
return lines;
}
}

View File

@ -24,7 +24,7 @@ public class PlayerData {
private int kills;
private int deaths;
private int xp;
private double xp;
private int level;
private int wins;
private int losses;

View File

@ -40,7 +40,7 @@ public class PlayerDataManager {
if (document != null) {
playerData.setKills(document.getInteger("kills"));
playerData.setDeaths(document.getInteger("deaths"));
playerData.setXp(document.getInteger("xp"));
playerData.setXp(document.getDouble("xp"));
playerData.setLevel(document.getInteger("level"));
playerData.setWins(document.getInteger("wins"));
playerData.setLosses(document.getInteger("losses"));