diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/CustomItems/ItemManager.java b/src/main/java/xyz/mineconomia/mineconomiacore/CustomItems/ItemManager.java index 82835b6..3eaccd8 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/CustomItems/ItemManager.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/CustomItems/ItemManager.java @@ -9,6 +9,8 @@ import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ShapelessRecipe; import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.persistence.PersistentDataType; +import xyz.mineconomia.mineconomiacore.PDC; import java.util.ArrayList; import java.util.List; @@ -36,6 +38,7 @@ public class ItemManager { meta.setLore(lore); meta.addEnchant(Enchantment.LUCK, 1, false); meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); + PDC.WriteItemMetaPDC(meta, "special", PersistentDataType.INTEGER,1); item.setItemMeta(meta); Ruler = item; diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java index 42e6d3d..63e16b8 100644 --- a/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java +++ b/src/main/java/xyz/mineconomia/mineconomiacore/MineconomiaCore.java @@ -49,6 +49,7 @@ public final class MineconomiaCore extends JavaPlugin { pm.registerEvents(new shopInteract(), this); pm.registerEvents(new shopGuiInteract(), this); pm.registerEvents(new sellClose(), this); + pm.registerEvents(new spawnRadiusMessage(), this); Objects.requireNonNull(plugin.getCommand("mcore")).setExecutor(new mcore()); Objects.requireNonNull(getCommand("pomoc")).setExecutor(new BookCommand()); @@ -58,6 +59,8 @@ public final class MineconomiaCore extends JavaPlugin { Objects.requireNonNull(getCommand("sample")).setExecutor(new sample()); Objects.requireNonNull(getCommand("gamble")).setExecutor(new gamble()); Objects.requireNonNull(getCommand("sell")).setExecutor(new sell()); + Objects.requireNonNull(getCommand("spawn")).setExecutor(new spawn()); + Objects.requireNonNull(getCommand("bed")).setExecutor(new bed()); Objects.requireNonNull(getCommand("mcore")).setTabCompleter(new mcore()); diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/commands/bed.java b/src/main/java/xyz/mineconomia/mineconomiacore/commands/bed.java new file mode 100644 index 0000000..61faa2f --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/commands/bed.java @@ -0,0 +1,21 @@ +package xyz.mineconomia.mineconomiacore.commands; + +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; + +public class bed implements CommandExecutor { + @Override + public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { + Player player = (Player) commandSender; + if(player.getBedSpawnLocation() == null){ + player.sendMessage(ChatColor.RED + "Nemáš postel"); + return true; + } + player.teleport(player.getBedSpawnLocation()); + return true; + } +} diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/commands/spawn.java b/src/main/java/xyz/mineconomia/mineconomiacore/commands/spawn.java new file mode 100644 index 0000000..c6bfb89 --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/commands/spawn.java @@ -0,0 +1,18 @@ +package xyz.mineconomia.mineconomiacore.commands; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; + +import java.util.Objects; + +public class spawn implements CommandExecutor { + @Override + public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { + ((Player) commandSender).teleport(Objects.requireNonNull(Bukkit.getWorld("world")).getSpawnLocation()); + return false; + } +} diff --git a/src/main/java/xyz/mineconomia/mineconomiacore/events/spawnRadiusMessage.java b/src/main/java/xyz/mineconomia/mineconomiacore/events/spawnRadiusMessage.java new file mode 100644 index 0000000..0026ff6 --- /dev/null +++ b/src/main/java/xyz/mineconomia/mineconomiacore/events/spawnRadiusMessage.java @@ -0,0 +1,41 @@ +package xyz.mineconomia.mineconomiacore.events; + +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Color; +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.PlayerMoveEvent; + +import java.util.HashMap; +import java.util.Objects; + +public class spawnRadiusMessage implements Listener { + public static HashMap playerBossBarWarn = new HashMap<>(); + @EventHandler + public void detectIfPlayerIsInSpawnProtectRadius(PlayerMoveEvent event){ + Player player = event.getPlayer(); + if (!Objects.requireNonNull(player.getLocation().getWorld()).equals(Bukkit.getWorld("world"))){ + return; + } + if (player.getLocation().distance(Objects.requireNonNull(Bukkit.getWorld("world")).getSpawnLocation()) < 300){ + if (!playerBossBarWarn.containsKey(player)){ + BossBar bossBar = Bukkit.createBossBar(ChatColor.YELLOW +"Jsi v obchodní zóně", BarColor.YELLOW, BarStyle.SOLID); + bossBar.setProgress(1); + bossBar.addPlayer(player); + playerBossBarWarn.put(player, bossBar); + } + }else{ + if (playerBossBarWarn.containsKey(player)){ + playerBossBarWarn.get(player).removeAll(); + playerBossBarWarn.remove(player); + } + + } + } +}