From 4f097fb8d4c344a4738d0ae1fac53c7c26871403 Mon Sep 17 00:00:00 2001 From: jakub Date: Wed, 13 Mar 2024 17:37:31 +0100 Subject: [PATCH 1/6] adding arangodb support --- pom.xml | 6 +++--- .../mineconomia/mineconomiacore/handlers/FHBHandler.java | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 46763d1..772b17d 100644 --- a/pom.xml +++ b/pom.xml @@ -66,9 +66,9 @@ - mysql - mysql-connector-java - 8.0.33 + com.arangodb + arangodb-java-driver + 7.5.1 org.spigotmc diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java index e93158d..2dfb6e7 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java @@ -15,10 +15,12 @@ import org.bukkit.inventory.ItemStack; import xyz.mineconomia.mineconomiacore.MineconomiaCore; import java.util.Objects; +import java.util.Random; +import java.util.concurrent.TimeUnit; public class FHBHandler implements Listener { @EventHandler - public void onFHBHit(ProjectileHitEvent event){ + public void onFHBHit(ProjectileHitEvent event) throws InterruptedException { if (event.getEntity() instanceof Snowball){ Snowball ball = (Snowball) event.getEntity(); MineconomiaCore.logger.info(ball.getCustomName()); @@ -43,9 +45,12 @@ public class FHBHandler implements Listener { if (wheatData.getAge() == 7){ wheatData.setAge(0); w.playSound(block.getLocation(), "minecraft:block.crop.break", 100, 1); + Random rd = new Random(); + w.playSound(block.getLocation(), "block.note_block.cow_bell", 100, rd.nextFloat()); block.setBlockData(wheatData); w.dropItemNaturally(block.getLocation(), new ItemStack(Material.WHEAT, 1)); w.spawnParticle(Particle.EXPLOSION_NORMAL, block.getLocation(), 0); + TimeUnit.MILLISECONDS.sleep(20); } } } From d9290c659101151639a6d9f34351b996eb124669 Mon Sep 17 00:00:00 2001 From: jakub Date: Wed, 13 Mar 2024 17:39:05 +0100 Subject: [PATCH 2/6] .gitignore edit --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4788b4b..575ebd6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ # User-specific stuff .idea/ - +config.yml *.iml *.ipr *.iws From 62e4c3a0be1bc48b70af734cce730972d4a14872 Mon Sep 17 00:00:00 2001 From: jakub Date: Tue, 2 Apr 2024 22:00:49 +0200 Subject: [PATCH 3/6] =?UTF-8?q?commit=20co=20jsem=20zapomn=C4=9Bl=20nahr?= =?UTF-8?q?=C3=A1t=20p=C5=99ed=20rozjeb=C3=A1n=C3=ADm=20m=C3=A9ho=20os=20a?= =?UTF-8?q?=20tak=20jsem=20ho=20musel=20ps=C3=A1t=20znovu=20pls=20pomoc..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix databáze --- pom.xml | 3 +- .../mineconomiacore/MineconomiaCore.java | 13 +++++-- .../mineconomia/mineconomiacore/database.java | 16 +++++++++ .../mineconomiacore/events/playerAccount.java | 36 +++++++++++++++++++ 4 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 src/main/java/xyz/mineconomia/mineconomiacore/database.java create mode 100644 src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java diff --git a/pom.xml b/pom.xml index 772b17d..7a3a1b6 100644 --- a/pom.xml +++ b/pom.xml @@ -19,6 +19,7 @@ + org.apache.maven.plugins maven-compiler-plugin 3.8.1 @@ -68,7 +69,7 @@ com.arangodb arangodb-java-driver - 7.5.1 + 6.13.0 org.spigotmc diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java index 94ccab7..f5f67cd 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java @@ -1,24 +1,29 @@ package xyz.mineconomia.mineconomiacore; import org.bukkit.Bukkit; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import xyz.mineconomia.mineconomiacore.CustomItems.ItemManager; import xyz.mineconomia.mineconomiacore.commands.BookCommand; import xyz.mineconomia.mineconomiacore.commands.funHarvestBall; import xyz.mineconomia.mineconomiacore.commands.mcore; import xyz.mineconomia.mineconomiacore.commands.tpw; +import xyz.mineconomia.mineconomiacore.events.playerAccount; import xyz.mineconomia.mineconomiacore.handlers.FHBHandler; +import javax.security.auth.login.Configuration; import java.util.Objects; import java.util.logging.Logger; public final class MineconomiaCore extends JavaPlugin { public static Logger logger = Bukkit.getLogger(); + @Override public void onEnable() { // Plugin startup logic - + saveDefaultConfig(); MineconomiaCore plugin= getPlugin(MineconomiaCore.class); Logger logger= plugin.getLogger(); logger.info(" "); @@ -33,7 +38,9 @@ public final class MineconomiaCore extends JavaPlugin { logger.info("╚═══════════════════════════════╝"); logger.info(""); Objects.requireNonNull(plugin.getCommand("mcore")).setExecutor(new mcore()); - getServer().getPluginManager().registerEvents(new FHBHandler(), this); + PluginManager pm = getServer().getPluginManager(); + pm.registerEvents(new FHBHandler(), this); + pm.registerEvents(new playerAccount(), this); //BookCommand Objects.requireNonNull(getCommand("pomoc")).setExecutor(new BookCommand()); @@ -47,5 +54,7 @@ public final class MineconomiaCore extends JavaPlugin { @Override public void onDisable() { // Plugin shutdown logic + saveConfig(); + } } diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/database.java b/src/main/java/xyz/mineconomia/mineconomiacore/database.java new file mode 100644 index 0000000..71d4db5 --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/database.java @@ -0,0 +1,16 @@ +package xyz.mineconomia.mineconomiacore; + +import com.arangodb.ArangoDB; +import com.arangodb.ArangoDatabase; +import com.arangodb.Protocol; +import org.bukkit.configuration.file.FileConfiguration; + +public interface database { + FileConfiguration config = MineconomiaCore.getPlugin(MineconomiaCore.class).getConfig(); + ArangoDB arangodb = new ArangoDB.Builder() + .host(config.getString("database.host"), config.getInt("database.port")) + .user(config.getString("database.user")) + .password(config.getString("database.password")) + .build(); + ArangoDatabase database = arangodb.db(config.getString("database.database")); +} diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java b/src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java new file mode 100644 index 0000000..819797f --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java @@ -0,0 +1,36 @@ +package xyz.mineconomia.mineconomiacore.events; + +import com.arangodb.ArangoCollection; +import com.arangodb.entity.BaseDocument; +import com.arangodb.model.DocumentCreateOptions; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import xyz.mineconomia.mineconomiacore.MineconomiaCore; + +import java.util.EventListener; +import java.util.Map; +import java.util.Objects; + +import static xyz.mineconomia.mineconomiacore.database.database; + +public class playerAccount implements Listener { + @EventHandler + public static void createAccout(PlayerJoinEvent event){ + Player player = event.getPlayer(); + String playerName = player.getDisplayName(); + ArangoCollection playersCollection = database.collection("players"); + + if (!playersCollection.documentExists(playerName)){ + BaseDocument playerDocument = new BaseDocument(playerName); + playerDocument.addAttribute("money", 0); + playerDocument.addAttribute("rank", "default"); + playersCollection.insertDocument(playerDocument); + }else { + BaseDocument playerDocument = playersCollection.getDocument(playerName, BaseDocument.class); + Map playerProperties = playerDocument.getProperties(); + MineconomiaCore.getPlugin(MineconomiaCore.class).getLogger().info(String.valueOf(playerProperties.get("money"))); + } + } +} From e17244deedfeb3d7cedef2729a84daeb4a1109cb Mon Sep 17 00:00:00 2001 From: jakub Date: Sat, 6 Apr 2024 21:45:10 +0200 Subject: [PATCH 4/6] =?UTF-8?q?commit=20co=20jsem=20zapomn=C4=9Bl=20nahr?= =?UTF-8?q?=C3=A1t=20p=C5=99ed=20rozjeb=C3=A1n=C3=ADm=20m=C3=A9ho=20os=20a?= =?UTF-8?q?=20tak=20jsem=20ho=20musel=20ps=C3=A1t=20znovu=20pls=20pomoc..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix databáze --- pom.xml | 10 ++ .../mineconomiacore/MineconomiaCore.java | 4 +- .../xyz/mineconomia/mineconomiacore/PDC.java | 44 +++++++ .../mineconomiacore/commands/BookCommand.java | 4 +- .../mineconomiacore/commands/mcore.java | 30 ++++- .../mineconomiacore/commands/tpw.java | 2 - .../completers/mcore_completer.java | 5 - .../mineconomia/mineconomiacore/config.java | 8 ++ .../mineconomiacore/events/playerAccount.java | 3 - .../mineconomiacore/events/specialEvents.java | 120 ++++++++++++++++++ .../mineconomiacore/handlers/FHBHandler.java | 3 - 11 files changed, 214 insertions(+), 19 deletions(-) create mode 100644 src/main/java/xyz/mineconomia/mineconomiacore/PDC.java delete mode 100644 src/main/java/xyz/mineconomia/mineconomiacore/completers/mcore_completer.java create mode 100644 src/main/java/xyz/mineconomia/mineconomiacore/config.java create mode 100644 src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java diff --git a/pom.xml b/pom.xml index 7a3a1b6..bded03c 100644 --- a/pom.xml +++ b/pom.xml @@ -63,9 +63,19 @@ sonatype https://oss.sonatype.org/content/groups/public/ + + jitpack.io + https://jitpack.io + + + com.github.MilkBowl + VaultAPI + 1.7 + provided + com.arangodb arangodb-java-driver diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java index f5f67cd..60d140e 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java @@ -1,7 +1,6 @@ package xyz.mineconomia.mineconomiacore; import org.bukkit.Bukkit; -import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import xyz.mineconomia.mineconomiacore.CustomItems.ItemManager; @@ -10,9 +9,9 @@ import xyz.mineconomia.mineconomiacore.commands.funHarvestBall; import xyz.mineconomia.mineconomiacore.commands.mcore; import xyz.mineconomia.mineconomiacore.commands.tpw; import xyz.mineconomia.mineconomiacore.events.playerAccount; +import xyz.mineconomia.mineconomiacore.events.specialEvents; import xyz.mineconomia.mineconomiacore.handlers.FHBHandler; -import javax.security.auth.login.Configuration; import java.util.Objects; import java.util.logging.Logger; @@ -41,6 +40,7 @@ public final class MineconomiaCore extends JavaPlugin { PluginManager pm = getServer().getPluginManager(); pm.registerEvents(new FHBHandler(), this); pm.registerEvents(new playerAccount(), this); + pm.registerEvents(new specialEvents(), this); //BookCommand Objects.requireNonNull(getCommand("pomoc")).setExecutor(new BookCommand()); diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/PDC.java b/src/main/java/xyz/mineconomia/mineconomiacore/PDC.java new file mode 100644 index 0000000..4fe0af9 --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/PDC.java @@ -0,0 +1,44 @@ +package xyz.mineconomia.mineconomiacore; + +import org.bukkit.NamespacedKey; +import org.bukkit.entity.Player; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.persistence.PersistentDataContainer; +import org.bukkit.persistence.PersistentDataType; + +public class PDC { + + + + public static void WritePlayerPDC(Player player, String key, PersistentDataType type, Object value){ + NamespacedKey nKey = new NamespacedKey(MineconomiaCore.getPlugin(MineconomiaCore.class), key); + PersistentDataContainer pdc = player.getPersistentDataContainer(); + pdc.set(nKey, type, value); + + } + public static Object GetPlayerPDC(Player player, String key, PersistentDataType type){ + NamespacedKey nKey = new NamespacedKey(MineconomiaCore.getPlugin(MineconomiaCore.class), key); + PersistentDataContainer pdc = player.getPersistentDataContainer(); + return pdc.get(nKey, type); + } + public static void DeletePlayerPDC(Player player, String key){ + NamespacedKey nKey = new NamespacedKey(MineconomiaCore.getPlugin(MineconomiaCore.class), key); + PersistentDataContainer pdc = player.getPersistentDataContainer(); + pdc.remove(nKey); + + } + public static ItemMeta WriteItemMetaPDC(ItemMeta itemMeta, String key, PersistentDataType type, Object value){ + NamespacedKey nKey = new NamespacedKey(MineconomiaCore.getPlugin(MineconomiaCore.class), key); + PersistentDataContainer pdc = itemMeta.getPersistentDataContainer(); + pdc.set(nKey, type, value); + return itemMeta; + + } + public static Object GetItemMetaPDC(ItemMeta itemMeta, String key, PersistentDataType type){ + NamespacedKey nKey = new NamespacedKey(MineconomiaCore.getPlugin(MineconomiaCore.class), key); + PersistentDataContainer pdc = itemMeta.getPersistentDataContainer(); + return pdc.get(nKey, type); + } + + +} diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java b/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java index e9b7d6f..f1ddce3 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java @@ -1,14 +1,12 @@ package xyz.mineconomia.mineconomiacore.commands; -import net.md_5.bungee.api.chat.*; +import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.ChatColor; -import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.BookMeta; import xyz.upperlevel.spigot.book.BookUtil; public class BookCommand implements CommandExecutor { diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java b/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java index 1abd3ea..0867911 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java @@ -2,11 +2,39 @@ package xyz.mineconomia.mineconomiacore.commands; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.PlayerInventory; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; +import xyz.mineconomia.mineconomiacore.PDC; + +import java.io.IOException; +import java.util.Objects; + +import static xyz.mineconomia.mineconomiacore.config.config; public class mcore implements CommandExecutor { @Override - public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, String[] strings) { + public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, String[] args) { + + if (Objects.equals(args[0], "setSpecial")){ + Player player = (Player) commandSender; + PlayerInventory inventory= player.getInventory(); + ItemStack item = inventory.getItemInMainHand(); + ItemMeta meta = item.getItemMeta(); + assert meta != null; + PDC.WriteItemMetaPDC(meta, "special", PersistentDataType.BOOLEAN,true); + item.setItemMeta(meta); + config.set("special.item", item); + try { + config.save("config.yml"); + } catch (IOException e) { + throw new RuntimeException(e); + } + return true; + } return false; } } diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/commands/tpw.java b/src/main/java/xyz/mineconomia/mineconomiacore/commands/tpw.java index e34fe37..f2c5248 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/commands/tpw.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/commands/tpw.java @@ -9,8 +9,6 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; -import java.lang.reflect.Array; - public class tpw implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, String[] args) { diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/completers/mcore_completer.java b/src/main/java/xyz/mineconomia/mineconomiacore/completers/mcore_completer.java deleted file mode 100644 index a051944..0000000 --- a/src/main/java/xyz/mineconomia/mineconomiacore/completers/mcore_completer.java +++ /dev/null @@ -1,5 +0,0 @@ -package xyz.mineconomia.mineconomiacore.completers; -//Zde nic zatím -public class mcore_completer { - -} diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/config.java b/src/main/java/xyz/mineconomia/mineconomiacore/config.java new file mode 100644 index 0000000..8c19ba7 --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/config.java @@ -0,0 +1,8 @@ +package xyz.mineconomia.mineconomiacore; + +import org.bukkit.configuration.file.FileConfiguration; + +public interface config { + FileConfiguration config = MineconomiaCore.getPlugin(MineconomiaCore.class).getConfig(); +} + diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java b/src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java index 819797f..5cd78fc 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/events/playerAccount.java @@ -2,16 +2,13 @@ package xyz.mineconomia.mineconomiacore.events; import com.arangodb.ArangoCollection; import com.arangodb.entity.BaseDocument; -import com.arangodb.model.DocumentCreateOptions; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import xyz.mineconomia.mineconomiacore.MineconomiaCore; -import java.util.EventListener; import java.util.Map; -import java.util.Objects; import static xyz.mineconomia.mineconomiacore.database.database; diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java b/src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java new file mode 100644 index 0000000..9e542ec --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java @@ -0,0 +1,120 @@ +package xyz.mineconomia.mineconomiacore.events; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Location; +import org.bukkit.boss.BarColor; +import org.bukkit.boss.BarStyle; +import org.bukkit.boss.BossBar; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerItemHeldEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.persistence.PersistentDataType; +import xyz.mineconomia.mineconomiacore.PDC; + +import java.util.HashMap; +import java.util.Objects; + + +//These events are handling every logic of the "special item" +//Special item = item that is essential to marking blocks for interaction with plugin creation and edit functions +public class specialEvents implements Listener { + //Stores informative boss bars + public static HashMap specialBossBars = new HashMap<>(); + + //Stores locations marked by player using special item + public static HashMap> specialPreLocations = new HashMap<>(); + + //Checks if player is holding special item in hand and if so deploys boss bar + @EventHandler + public static void specialInHand(PlayerItemHeldEvent event){ + Player player = event.getPlayer(); + displayBossBar(player, player.getInventory().getItem(event.getNewSlot())); + } + @EventHandler + public static void savePosition(PlayerInteractEvent event){ + Player player = event.getPlayer(); + if (event.getItem() != null){ + if (isSpecial(event.getItem())){ + event.setCancelled(true); + switch (event.getAction()){ + case LEFT_CLICK_BLOCK: + specialPreLocations.get(player).put("loc1", Objects.requireNonNull(event.getClickedBlock()).getLocation()); + break; + case RIGHT_CLICK_BLOCK: + specialPreLocations.get(player).put("loc2", Objects.requireNonNull(event.getClickedBlock()).getLocation()); + } + displayBossBar(player, event.getItem()); + + } + } + } + + private static void displayBossBar(Player player, ItemStack item){ + if (!specialPreLocations.containsKey(player)){ + specialPreLocations.put(player, new HashMap<>()); + } + if (specialBossBars.get(player) == null){ + BossBar bossBar = Bukkit.createBossBar( "", BarColor.YELLOW , BarStyle.SOLID); + + specialBossBars.put(player, bossBar); + } + BossBar bossBar = specialBossBars.get(player); + if (item != null){ + if (isSpecial(item)){ + String loc1String = "&6&lL &e(-,-,-,-)"; + String loc2String = "&e(-,-,-,-) &6&lP"; + + HashMap playerLocations = specialPreLocations.get(player); + bossBar.setProgress(0); + + if (playerLocations.containsKey("loc1")){ + Location loc1 = playerLocations.get("loc1"); + loc1String = "&6&lL &e(" + + loc1.getBlockX() + + "," + + loc1.getBlockY() + + "," + + loc1.getBlockZ() + + "," + + Objects.requireNonNull(loc1.getWorld()).getName() + + ")"; + } + if (playerLocations.containsKey("loc2")){ + Location loc2 = playerLocations.get("loc2"); + loc2String = "&e(" + + loc2.getBlockX() + + "," + + loc2.getBlockY() + + "," + + loc2.getBlockZ() + + "," + + Objects.requireNonNull(loc2.getWorld()).getName() + + ") &6&lP"; + } + + String bossBarTitle = loc1String + " " + loc2String; + switch (playerLocations.size()){ + case 1: + bossBar.setProgress(0.5); + break; + case 2: + bossBarTitle = bossBarTitle.replace("&6","&2").replace("&e", "&a"); + bossBar.setColor(BarColor.GREEN); + bossBar.setProgress(1); + } + bossBar.setTitle(ChatColor.translateAlternateColorCodes('&', bossBarTitle)); + bossBar.addPlayer(player); + return; + } + } + bossBar.removePlayer(player); + } + private static boolean isSpecial(ItemStack itemStack){ + return PDC.GetItemMetaPDC(Objects.requireNonNull(itemStack.getItemMeta()), "special", PersistentDataType.BOOLEAN) != null; + } + +} diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java index 2dfb6e7..1bf8487 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java @@ -3,8 +3,6 @@ package xyz.mineconomia.mineconomiacore.handlers; import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.block.data.Ageable; -import org.bukkit.block.data.BlockData; - import org.bukkit.entity.Player; import org.bukkit.entity.Snowball; import org.bukkit.event.EventHandler; @@ -13,7 +11,6 @@ import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.event.entity.ProjectileLaunchEvent; import org.bukkit.inventory.ItemStack; import xyz.mineconomia.mineconomiacore.MineconomiaCore; - import java.util.Objects; import java.util.Random; import java.util.concurrent.TimeUnit; From f0bcc683b239206ad423f168224fb10682fcdb79 Mon Sep 17 00:00:00 2001 From: jakub Date: Tue, 9 Apr 2024 09:01:36 +0200 Subject: [PATCH 5/6] =?UTF-8?q?Okomentov=C3=A1n=C3=AD=20n=C4=9Bkter=C3=BDc?= =?UTF-8?q?h=20=C4=8D=C3=A1st=C3=AD=20k=C3=B3du?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 23 ++++++++----------- .../mineconomiacore/MineconomiaCore.java | 2 ++ .../xyz/mineconomia/mineconomiacore/PDC.java | 3 +++ .../mineconomiacore/commands/BookCommand.java | 4 ++++ .../mineconomiacore/commands/mcore.java | 2 +- .../mineconomia/mineconomiacore/database.java | 1 + .../mineconomiacore/events/specialEvents.java | 2 +- .../mineconomiacore/handlers/FHBHandler.java | 2 ++ .../mineconomiacore/handlers/SignHandler.java | 3 +++ 9 files changed, 27 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index bded03c..f7bfe23 100644 --- a/pom.xml +++ b/pom.xml @@ -5,14 +5,14 @@ 4.0.0 xyz.mineconomia - MineconomiaCOre + MineconomiaCore 1.0-SNAPSHOT jar MineconomiaCore - 1.8 + 1.17 UTF-8 @@ -70,6 +70,12 @@ + + org.spigotmc + spigot-api + 1.18.2-R0.1-SNAPSHOT + provided + com.github.MilkBowl VaultAPI @@ -81,18 +87,9 @@ arangodb-java-driver 6.13.0 - - org.spigotmc - spigot-api - 1.20-R0.1-SNAPSHOT - provided - + - - org.hibernate.orm - hibernate-core - 6.3.0.Final - + org.jetbrains diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java index 60d140e..03406c7 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java @@ -24,6 +24,8 @@ public final class MineconomiaCore extends JavaPlugin { // Plugin startup logic saveDefaultConfig(); MineconomiaCore plugin= getPlugin(MineconomiaCore.class); + + //Tohle třeba změnit později - jakub Logger logger= plugin.getLogger(); logger.info(" "); logger.info(" ╔═══════════════════╗"); diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/PDC.java b/src/main/java/xyz/mineconomia/mineconomiacore/PDC.java index 4fe0af9..6475ae4 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/PDC.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/PDC.java @@ -6,10 +6,13 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; + +//Used by other classes for easy manipulation with persistentDataContainer public class PDC { + public static void WritePlayerPDC(Player player, String key, PersistentDataType type, Object value){ NamespacedKey nKey = new NamespacedKey(MineconomiaCore.getPlugin(MineconomiaCore.class), key); PersistentDataContainer pdc = player.getPersistentDataContainer(); diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java b/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java index f1ddce3..013a6c1 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/commands/BookCommand.java @@ -9,7 +9,11 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import xyz.upperlevel.spigot.book.BookUtil; + + public class BookCommand implements CommandExecutor { + + //Experimentální. Bude se měnit @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (sender instanceof Player) { diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java b/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java index 0867911..32d3a02 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/commands/mcore.java @@ -25,7 +25,7 @@ public class mcore implements CommandExecutor { ItemStack item = inventory.getItemInMainHand(); ItemMeta meta = item.getItemMeta(); assert meta != null; - PDC.WriteItemMetaPDC(meta, "special", PersistentDataType.BOOLEAN,true); + PDC.WriteItemMetaPDC(meta, "special", PersistentDataType.INTEGER,1); item.setItemMeta(meta); config.set("special.item", item); try { diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/database.java b/src/main/java/xyz/mineconomia/mineconomiacore/database.java index 71d4db5..c9b1bd9 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/database.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/database.java @@ -7,6 +7,7 @@ import org.bukkit.configuration.file.FileConfiguration; public interface database { FileConfiguration config = MineconomiaCore.getPlugin(MineconomiaCore.class).getConfig(); + //creates public db session that can be acessed by the rest of plugin ArangoDB arangodb = new ArangoDB.Builder() .host(config.getString("database.host"), config.getInt("database.port")) .user(config.getString("database.user")) diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java b/src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java index 9e542ec..8501314 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/events/specialEvents.java @@ -114,7 +114,7 @@ public class specialEvents implements Listener { bossBar.removePlayer(player); } private static boolean isSpecial(ItemStack itemStack){ - return PDC.GetItemMetaPDC(Objects.requireNonNull(itemStack.getItemMeta()), "special", PersistentDataType.BOOLEAN) != null; + return PDC.GetItemMetaPDC(Objects.requireNonNull(itemStack.getItemMeta()), "special", PersistentDataType.INTEGER) != null; } } diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java index 1bf8487..d547c65 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/FHBHandler.java @@ -16,6 +16,8 @@ import java.util.Random; import java.util.concurrent.TimeUnit; public class FHBHandler implements Listener { + + //experimentální... musí být později upraveno @EventHandler public void onFHBHit(ProjectileHitEvent event) throws InterruptedException { if (event.getEntity() instanceof Snowball){ diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/SignHandler.java b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/SignHandler.java index 30ce621..a819a8d 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/handlers/SignHandler.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/handlers/SignHandler.java @@ -5,7 +5,10 @@ import org.bukkit.block.Block; import org.bukkit.block.Sign; import org.bukkit.block.BlockState; + public class SignHandler { + + //Implement for public static void changeSignText(Location location, String line0, String line1, String line2, String line3) { Block block = location.getBlock(); BlockState state = block.getState();