diff --git a/TeamVento.iml b/TeamVento.iml
index bfa888d..cdafa29 100644
--- a/TeamVento.iml
+++ b/TeamVento.iml
@@ -11,25 +11,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -43,5 +24,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 75e78cc..519e654 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,19 +51,7 @@
-
-
- spigot-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/
-
-
-
-
- eu.univento
- Core
- 1.0-SNAPSHOT
-
org.spigotmc
spigot-api
@@ -82,7 +70,21 @@
1.10.2-R0.1-SNAPSHOT
provided
+
+ eu.univento
+ CloudCommons
+ 1.0-SNAPSHOT
+
+
+ eu.univento
+ Commons
+ 1.0-SNAPSHOT
+
+
+ eu.univento
+ Core
+ 1.0-SNAPSHOT
+
-
\ No newline at end of file
diff --git a/src/main/java/eu/univento/teamvento/TeamVento.java b/src/main/java/eu/univento/teamvento/TeamVento.java
index 2d218dc..c571150 100644
--- a/src/main/java/eu/univento/teamvento/TeamVento.java
+++ b/src/main/java/eu/univento/teamvento/TeamVento.java
@@ -57,7 +57,6 @@ public class TeamVento extends JavaPlugin {
new Sel(this, "sel", "removes block selection");
new WorldList(this, "worldlist", "lists all worlds", "wl");
new PlotInfo(this, "plotinfo", "info about a plot", "pi");
- new Pack(this, "pack", "sets resource pack");
for(String world : getCfg().getKeys(true)) {
String generator = getCfg().getString(world);
diff --git a/src/main/java/eu/univento/teamvento/commands/Pack.java b/src/main/java/eu/univento/teamvento/commands/Pack.java
deleted file mode 100644
index a2f4daa..0000000
--- a/src/main/java/eu/univento/teamvento/commands/Pack.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package eu.univento.teamvento.commands;
-
-import eu.univento.core.api.AutoCommand;
-import eu.univento.core.api.languages.Messages;
-import eu.univento.core.api.player.CustomPlayer;
-import eu.univento.teamvento.TeamVento;
-import eu.univento.teamvento.utils.ResourcePack;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author joethei
- * @version 0.1
- */
-public class Pack extends AutoCommand{
-
- public Pack(TeamVento plugin, String command, String description, String... aliases) {
- super(plugin, command, description, aliases);
- }
-
- @Override
- public boolean execute(CommandSender sender, String label, String[] args) {
- if(sender instanceof Player) {
- CustomPlayer p = CustomPlayer.getPlayer((Player) sender);
- if(args.length == 1) {
- p.setResourcePack(ResourcePack.valueOf(args[0]).getUrl());
- }else{
- p.sendMessage("§cDa stimmt was mit den Argumenten nicht");
- }
- }else{
- sender.sendMessage(Messages.Console.NOT_A_PLAYER);
- }
- return true;
- }
-
- @Override
- public List tabComplete(CommandSender sender, String label, String[] args) {
- ArrayList list = new ArrayList<>();
- for(ResourcePack pack : ResourcePack.values()) {
- list.add(pack.name());
- }
- return list;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/eu/univento/teamvento/commands/PlotInfo.java b/src/main/java/eu/univento/teamvento/commands/PlotInfo.java
index 9f467fe..dd0cab7 100644
--- a/src/main/java/eu/univento/teamvento/commands/PlotInfo.java
+++ b/src/main/java/eu/univento/teamvento/commands/PlotInfo.java
@@ -8,10 +8,6 @@ import eu.univento.core.api.utils.UUIDFetcher;
import eu.univento.teamvento.TeamVento;
import eu.univento.teamvento.utils.Plot;
import eu.univento.teamvento.utils.PlotManager;
-import net.md_5.bungee.api.chat.ClickEvent;
-import net.md_5.bungee.api.chat.ComponentBuilder;
-import net.md_5.bungee.api.chat.HoverEvent;
-import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -33,13 +29,13 @@ public class PlotInfo extends AutoCommand{
Plot plot = PlotManager.getPlotByLocation(p.getLocation());
assert plot != null;
Bukkit.getScheduler().runTaskAsynchronously(TeamVento.getInstance(), () -> {
+ p.sendMessage("§eName: " + plot.getName());
p.sendMessage("§eErsteller: " + UUIDFetcher.getName(plot.getOwner()));
p.sendMessage("§eErstellt am: " + PlotManager.getCreatedDate(plot.getOwner().toString()));
- p.sendMessage("§eResourcePack: " + plot.getResourcePack().getName());
- TextComponent text = new TextComponent("§eResourcePack: " + plot.getResourcePack().getName());
- text.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "pack " + plot.getResourcePack().getName()));
- text.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§eLade ResourcePack").create()));
- p.spigot().sendMessage(text);
+ p.sendMessage("§eKontakt: " + plot.getContact());
+ p.sendMessage("§eBiom: " + plot.getBiome().name());
+ p.sendMessage("§eZeit: " + plot.getTime().name());
+ p.sendMessage("§Wetter: " + plot.getWeather().name());
});
}else{
p.sendMessage("§cHier ist leider kein Plot");
diff --git a/src/main/java/eu/univento/teamvento/listener/Events.java b/src/main/java/eu/univento/teamvento/listener/Events.java
index e130c87..4237ebf 100644
--- a/src/main/java/eu/univento/teamvento/listener/Events.java
+++ b/src/main/java/eu/univento/teamvento/listener/Events.java
@@ -23,13 +23,11 @@ import org.bukkit.event.block.*;
import org.bukkit.event.entity.*;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.hanging.HangingPlaceEvent;
-import org.bukkit.event.inventory.InventoryAction;
import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.event.inventory.InventoryDragEvent;
-import org.bukkit.event.inventory.InventoryMoveItemEvent;
import org.bukkit.event.player.*;
import org.bukkit.event.weather.WeatherChangeEvent;
import org.bukkit.event.world.StructureGrowEvent;
+import org.bukkit.inventory.PlayerInventory;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitTask;
@@ -61,80 +59,30 @@ public class Events implements Listener{
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if(PlotManager.getPlotByLocation(e.getBlock().getLocation()) == null) {
- e.setCancelled(true);
- return;
- }
- Plot plot = PlotManager.getPlotByLocation(e.getBlock().getLocation());
- assert plot != null;
- if(!plot.isOwner(p)) e.setCancelled(true);
- if(!e.getBlock().getWorld().getName().equals("plots")) e.setCancelled(false);
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) e.setCancelled(false);
- /*
- if (p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (!e.getBlock().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (PlotManager.getPlotByLocation(e.getBlock().getLocation()) == null) {
- e.setCancelled(true);
- return;
- }
- if (!PlotManager.getPlotByLocation(e.getBlock().getLocation()).isOwner(p)) e.setCancelled(true);
- */
+ if(!PlotManager.isAllowedToBuild(p, e.getBlock().getLocation())) e.setCancelled(true);
}
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if(PlotManager.getPlotByLocation(e.getBlockPlaced().getLocation()) == null) {
- e.setCancelled(true);
- return;
- }
- Plot plot = PlotManager.getPlotByLocation(e.getBlockPlaced().getLocation());
- assert plot != null;
- if(!plot.isOwner(p)) e.setCancelled(true);
- if(!e.getBlockPlaced().getWorld().getName().equals("plots")) e.setCancelled(false);
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) e.setCancelled(false);
- /*
- CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (p.getDatabasePlayer().isAllowed(Ranks.SrDeveloper)) return;
- if (!e.getBlock().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (PlotManager.getPlotByLocation(e.getBlock().getLocation()) == null) {
- e.setCancelled(true);
- return;
- }
- if (!PlotManager.getPlotByLocation(e.getBlock().getLocation()).isOwner(p)) e.setCancelled(true);
- */
+ if(!PlotManager.isAllowedToBuild(p, e.getBlock().getLocation())) e.setCancelled(true);
}
@EventHandler
public void onHangingPlace(HangingPlaceEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (!e.getBlock().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (PlotManager.getPlotByLocation(e.getBlock().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getBlock().getLocation());
- assert plot != null;
- if(!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getEntity().getLocation())) e.setCancelled(true);
}
@EventHandler
public void onHangingBreakByEntity(HangingBreakByEntityEvent e) {
if(e.getRemover() instanceof Projectile) {
CustomPlayer p = CustomPlayer.getPlayer((Player) ((Projectile) e.getRemover()).getShooter());
- if (!e.getEntity().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (PlotManager.getPlotByLocation(e.getEntity().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getEntity().getLocation());
- assert plot != null;
- if(!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getEntity().getLocation())) e.setCancelled(true);
}
if(e.getRemover() instanceof Player) {
CustomPlayer p = CustomPlayer.getPlayer((Player) e.getRemover());
- if (!e.getEntity().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (PlotManager.getPlotByLocation(e.getEntity().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getEntity().getLocation());
- assert plot != null;
- if(!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getEntity().getLocation())) e.setCancelled(true);
}else{
e.setCancelled(true);
}
@@ -144,27 +92,11 @@ public class Events implements Listener{
public void onEntityDamageByEntity(EntityDamageByEntityEvent e) {
if (e.getDamager() instanceof Player) {
CustomPlayer p = CustomPlayer.getPlayer((Player) e.getDamager());
- if (!e.getEntity().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (PlotManager.getPlotByLocation(e.getDamager().getLocation()) == null) {
- e.setCancelled(true);
- return;
- }
- Plot plot = PlotManager.getPlotByLocation(e.getEntity().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getEntity().getLocation())) e.setCancelled(true);
}
if(e.getDamager() instanceof Projectile) {
CustomPlayer p = CustomPlayer.getPlayer((Player) ((Projectile) e.getDamager()).getShooter());
- if (!e.getEntity().getWorld().getName().equalsIgnoreCase("plots")) return;
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (PlotManager.getPlotByLocation(e.getDamager().getLocation()) == null) {
- e.setCancelled(true);
- return;
- }
- Plot plot = PlotManager.getPlotByLocation(e.getEntity().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getEntity().getLocation())) e.setCancelled(true);
}
}
@@ -176,17 +108,12 @@ public class Events implements Listener{
@EventHandler
public void onBlockIgnite(BlockIgniteEvent e) {
- if (e.getCause() != BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL) {
+ if (e.getCause() != BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL && e.getCause() != BlockIgniteEvent.IgniteCause.FIREBALL) {
e.setCancelled(true);
return;
}
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (!e.getBlock().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (PlotManager.getPlotByLocation(e.getBlock().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getBlock().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getBlock().getLocation())) e.setCancelled(true);
}
@EventHandler
@@ -231,6 +158,11 @@ public class Events implements Listener{
e.setCancelled(true);
}
+ @EventHandler
+ public void onPiston(BlockPistonEvent e) {
+ e.setCancelled(true);
+ }
+
@EventHandler
public void onInteract(PlayerInteractEvent e) {
if (e.getAction() == Action.PHYSICAL && e.getClickedBlock().getType() == Material.SOIL)
@@ -240,43 +172,26 @@ public class Events implements Listener{
Block block = e.getClickedBlock().getRelative(BlockFace.UP);
if (!e.getPlayer().getWorld().getName().equalsIgnoreCase("plots")) return;
if (block.getType() == Material.FIRE) {
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if(PlotManager.getPlotByLocation(block.getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getClickedBlock().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getClickedBlock().getLocation())) e.setCancelled(true);
}
}
if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
- Plot plot = PlotManager.getPlotByLocation(p.getLocation());
- if(plot == null) return;
- if(!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getClickedBlock().getLocation())) e.setCancelled(true);
}
}
@EventHandler
public void onPlayerInteractEntity(PlayerInteractEntityEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (!e.getRightClicked().getWorld().getName().equalsIgnoreCase("plots"))
- return;
if(e.getRightClicked().getType() == EntityType.ITEM_FRAME) {
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if(PlotManager.getPlotByLocation(e.getRightClicked().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getRightClicked().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getRightClicked().getLocation())) e.setCancelled(true);
}
}
@EventHandler
public void onArmorStandManipulate(PlayerArmorStandManipulateEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (!e.getRightClicked().getWorld().getName().equalsIgnoreCase("plots")) return;
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if(PlotManager.getPlotByLocation(e.getRightClicked().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getRightClicked().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getRightClicked().getLocation())) e.setCancelled(true);
}
@EventHandler
@@ -294,34 +209,18 @@ public class Events implements Listener{
e.setCancelled(true);
}
- @EventHandler
- public void onInventoryMove(InventoryMoveItemEvent e) {
- assert e.getItem() != null;
- assert e.getItem().hasItemMeta();
- assert e.getItem().getItemMeta().hasDisplayName();
- //if(e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§eErweiterungen")) e.setCancelled(true);
- if(e.getItem().getType() == Material.WATCH) {
- e.setCancelled(true);
- Core.getCommons().getLoggingHandler().getTeamVento().info("Item has been moved");
- }
- }
-
- @EventHandler
- public void onInventoryDrag(InventoryDragEvent e) {
- assert e.getCursor() != null;
- assert e.getCursor().hasItemMeta();
- assert e.getCursor().getItemMeta().hasDisplayName();
- //if(e.getCursor().getItemMeta().getDisplayName().equalsIgnoreCase("§eErweiterungen")) e.setCancelled(true);
- if(e.getCursor().getType() == Material.WATCH) {
- e.setCancelled(true);
- Core.getCommons().getLoggingHandler().getTeamVento().info("Item has been dragged");
- }
- }
-
@EventHandler
public void onInventoryClick(InventoryClickEvent e) {
- if(e.getAction() == InventoryAction.SWAP_WITH_CURSOR) {
- Core.getCommons().getLoggingHandler().getTeamVento().info("Inventory clicked: Swap with cursor");
+ if(e.getClickedInventory() instanceof PlayerInventory) {
+ if(e.getSlot() == 8 || e.getHotbarButton() == 8) {
+ e.setCancelled(true);
+ }
+ }
+ }
+
+ @EventHandler
+ public void onSwapHands(PlayerSwapHandItemsEvent e) {
+ if(e.getPlayer().getInventory().getHeldItemSlot() == 8) {
e.setCancelled(true);
}
}
@@ -334,28 +233,13 @@ public class Events implements Listener{
@EventHandler
public void onBucketEmpty(PlayerBucketEmptyEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (!e.getPlayer().getWorld().getName().equalsIgnoreCase("plots"))
- return;
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if(PlotManager.getPlotByLocation(e.getPlayer().getLocation()) == null) {
- e.setCancelled(true);
- return;
- }
- Plot plot = PlotManager.getPlotByLocation(e.getBlockClicked().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getBlockClicked().getLocation())) e.setCancelled(true);
}
@EventHandler
public void onBucketFill(PlayerBucketFillEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (!e.getPlayer().getWorld().getName().equalsIgnoreCase("plots"))
- return;
- if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if(PlotManager.getPlotByLocation(e.getPlayer().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getBlockClicked().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getBlockClicked().getLocation())) e.setCancelled(true);
}
@EventHandler
@@ -367,7 +251,6 @@ public class Events implements Listener{
assert plot != null;
p.setPlayerTime(plot.getTime().getValue(), false);
p.setPlayerWeather(plot.getWeatherType());
- p.setResourcePack(plot.getResourcePack().getUrl());
if(!plot.isOwner(p) && !plot.getOwner().equals(UUID.fromString("c35f6ece-c430-4fc0-b61e-18b55be19ee3")))
p.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 999999, 2));
if(plot.getWeather() == Weather.THUNDER) {
@@ -414,6 +297,39 @@ public class Events implements Listener{
}
}
+ @EventHandler
+ public void onTeleport(PlayerTeleportEvent e) {
+ CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
+ //plot enter
+ if(PlotManager.getPlotByLocation(e.getFrom()) == null && PlotManager.getPlotByLocation(e.getTo()) != null) {
+ Plot plot = PlotManager.getPlotByLocation(e.getTo());
+ assert plot != null;
+ p.setPlayerTime(plot.getTime().getValue(), false);
+ p.setPlayerWeather(plot.getWeatherType());
+ if(!plot.isOwner(p) && !plot.getOwner().equals(UUID.fromString("c35f6ece-c430-4fc0-b61e-18b55be19ee3")))
+ p.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 999999, 2));
+ if(plot.getWeather() == Weather.THUNDER) {
+ BukkitTask task = Bukkit.getScheduler().runTaskTimerAsynchronously(TeamVento.getInstance(), () -> {
+ Random random = new Random();
+ int r = random.nextInt(100);
+ if(r < 30) {
+ p.strikeLightning(plot.getArea().getRandomLocation());
+ }
+ }, 2L, 50L);
+ lightningTasks.put(p, task);
+ }
+ }
+ //plot leave
+ if(PlotManager.getPlotByLocation(e.getFrom()) != null && PlotManager.getPlotByLocation(e.getTo()) == null) {
+ p.setPlayerTime(Time.DAY.getValue(), false);
+ p.setPlayerWeather(WeatherType.CLEAR);
+ p.clearPotionEffects();
+ if(lightningTasks.containsKey(p))
+ lightningTasks.get(p).cancel();
+ lightningTasks.remove(p);
+ }
+ }
+
@EventHandler
public void onPotionSplash(PotionSplashEvent e) {
e.setCancelled(true);
@@ -433,12 +349,7 @@ public class Events implements Listener{
@EventHandler
public void onMultiPlace(BlockMultiPlaceEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
- if (!e.getBlockPlaced().getWorld().getName().equalsIgnoreCase("plots")) return;
- if (p.getDatabasePlayer().isAllowed(Rank.SrDeveloper)) return;
- if (PlotManager.getPlotByLocation(e.getBlockPlaced().getLocation()) == null) e.setCancelled(true);
- Plot plot = PlotManager.getPlotByLocation(e.getBlock().getLocation());
- assert plot != null;
- if (!plot.isOwner(p)) e.setCancelled(true);
+ if(!PlotManager.isAllowedToBuild(p, e.getBlockPlaced().getLocation())) e.setCancelled(true);
}
@EventHandler
diff --git a/src/main/java/eu/univento/teamvento/listener/JoinQuit.java b/src/main/java/eu/univento/teamvento/listener/JoinQuit.java
index c6f2548..ed88be5 100644
--- a/src/main/java/eu/univento/teamvento/listener/JoinQuit.java
+++ b/src/main/java/eu/univento/teamvento/listener/JoinQuit.java
@@ -25,7 +25,7 @@ import java.util.HashMap;
*/
public class JoinQuit implements Listener {
- static final HashMap holograms = new HashMap<>();
+ public static final HashMap holograms = new HashMap<>();
@EventHandler
public void onJoin(PlayerJoinEvent e) {
diff --git a/src/main/java/eu/univento/teamvento/listener/MenuEvents.java b/src/main/java/eu/univento/teamvento/listener/MenuEvents.java
index e55197d..b5ac197 100644
--- a/src/main/java/eu/univento/teamvento/listener/MenuEvents.java
+++ b/src/main/java/eu/univento/teamvento/listener/MenuEvents.java
@@ -5,19 +5,17 @@ import eu.univento.core.Core;
import eu.univento.core.api.gui.AnvilGUI;
import eu.univento.core.api.items.ItemBuilder;
import eu.univento.core.api.items.PageInventory;
-import eu.univento.core.api.items.ScrollingInventory;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.core.api.utils.UUIDFetcher;
import eu.univento.teamvento.TeamVento;
import eu.univento.teamvento.utils.*;
+import net.gpedro.integrations.slack.SlackApi;
+import net.gpedro.integrations.slack.SlackMessage;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.WeatherType;
import org.bukkit.block.Biome;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Pig;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -66,8 +64,7 @@ public class MenuEvents implements Listener{
p.openInventory(invs.getAnimalsInventory());
}
if(e.getCurrentItem().getItemMeta().getDisplayName().equals("§ePlot zurücksetzen")) {
- PlotManager.clearPlot(plot);
- Bukkit.getScheduler().runTaskLaterAsynchronously(TeamVento.getInstance(), () -> PlotManager.generatePlot(plot), 13 * 20L);
+ PlotManager.resetPlot(plot);
p.closeInventory();
}
if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§eFertig")) {
@@ -113,6 +110,10 @@ public class MenuEvents implements Listener{
plot.setReady();
p.getInventory().remove(p.getInventory().getItem(8));
Core.getOnlinePlayers().stream().filter(player -> player.getDatabasePlayer().isAllowed(Rank.Builder)).forEach(player -> player.sendMessage("§a[Plot]§e" + p.getName() + " ist fertig"));
+ SlackApi api = new SlackApi("https://hooks.slack.com/services/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");
+ SlackMessage message = new SlackMessage("#bauevent", p.getName(), " ist nun fertig mit bauen");
+ message.setIcon("http://cravatar.eu/head/" + p.getUniqueId().toString());
+ api.call(message);
}
if(e.getCurrentItem().getItemMeta().getDisplayName().equals("Nein"))
p.closeInventory();
@@ -235,16 +236,6 @@ public class MenuEvents implements Listener{
gui.open();
}
- if(e.getCurrentItem().getType() == Material.DIRT) {
- ScrollingInventory inventory = new ScrollingInventory(p, "§eResourcePack");
- for(ResourcePack pack : ResourcePack.values()) {
- if(pack.equals(plot.getResourcePack()))
- inventory.addItem(new ItemBuilder(pack.getMaterial()).glow().name(pack.getName()).make());
- else
- inventory.addItem(new ItemBuilder(pack.getMaterial()).name(pack.getName()).make());
- }
- inventory.openInventory();
- }
}
if(e.getInventory().getName().equals("§eTeleport")) {
if(e.getCurrentItem().getType() == Material.SKULL_ITEM) {
@@ -257,24 +248,5 @@ public class MenuEvents implements Listener{
});
}
}
- if(e.getInventory().getName().equals("§eResourcePack")) {
- if(e.getCurrentItem() != null) {
- plot.setResourcePack(ResourcePack.valueOf(e.getCurrentItem().getType()));
- p.closeInventory();
- }
- }
- if(e.getInventory().getName().equals(invs.getAnimalsInventory().getName())) {
- if(e.getCurrentItem().getType() == Material.COOKED_BEEF) {
- p.closeInventory();
- Entity animal = Bukkit.getWorld("plots").spawnEntity(p.getLocation(), EntityType.PIG);
- Pig pig = (Pig) animal;
- pig.setAI(false);
- pig.setInvulnerable(true);
- pig.setRemoveWhenFarAway(false);
- pig.setCollidable(false);
- pig.setGravity(false);
- plot.addAnimal(animal);
- }
- }
}
}
\ No newline at end of file
diff --git a/src/main/java/eu/univento/teamvento/listener/SignInteract.java b/src/main/java/eu/univento/teamvento/listener/SignInteract.java
index 850cb96..3df6aca 100644
--- a/src/main/java/eu/univento/teamvento/listener/SignInteract.java
+++ b/src/main/java/eu/univento/teamvento/listener/SignInteract.java
@@ -1,7 +1,5 @@
package eu.univento.teamvento.listener;
-import eu.univento.core.api.Config;
-import eu.univento.core.api.Hologram;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.teamvento.utils.Plot;
import eu.univento.teamvento.utils.PlotManager;
@@ -25,19 +23,12 @@ public class SignInteract implements Listener {
if(e.getClickedBlock().getType() == Material.ENCHANTMENT_TABLE && e.getClickedBlock().getLocation().add(0.0D, -1.0D, 0.0D).getBlock().getType() == Material.COMMAND) {
e.setCancelled(true);
if (PlotManager.hasPlot(p)) {
- Location loc = PlotManager.getPlotByPlayer(p).getSpawn();
- p.teleport(new Location(Bukkit.getWorld("plots"), loc.getX(), loc.getY(), loc.getZ(), 89.0F, 6.0F));
- } else {
- p.sendTitle("§eBitte warten", "§aDein Grundstück wird generiert");
- JoinQuit.holograms.get(p).hidePlayer(p);
- Hologram holo = new Hologram(new String[]{"§eZu deinem Plot teleportieren", "|", "|", "▼"}, Config.readLocation("Build.Locs.Holo"));
- holo.showPlayer(p);
- Plot plot = PlotManager.createPlot(p);
- PlotManager.createPlot(plot);
- PlotManager.generatePlot(plot);
- p.setFlying(true);
+ Plot plot = PlotManager.getPlotByPlayer(p);
+ assert plot != null;
Location loc = plot.getSpawn();
p.teleport(new Location(Bukkit.getWorld("plots"), loc.getX(), loc.getY(), loc.getZ(), 89.0F, 6.0F));
+ } else {
+ PlotManager.createPlot(p);
}
}
diff --git a/src/main/java/eu/univento/teamvento/utils/Inventorys.java b/src/main/java/eu/univento/teamvento/utils/Inventorys.java
index 3973771..d984a89 100644
--- a/src/main/java/eu/univento/teamvento/utils/Inventorys.java
+++ b/src/main/java/eu/univento/teamvento/utils/Inventorys.java
@@ -175,14 +175,8 @@ public class Inventorys {
contactMeta.setDisplayName("§eKontaktmöglichkeiten");
contact.setItemMeta(contactMeta);
- ItemStack texture = new ItemStack(Material.DIRT);
- ItemMeta textureMeta = texture.getItemMeta();
- textureMeta.setDisplayName("§eResourcePack");
- texture.setItemMeta(textureMeta);
-
inv.setItem(10, name);
- inv.setItem(13, contact);
- inv.setItem(16, texture);
+ inv.setItem(16, contact);
return inv;
}
diff --git a/src/main/java/eu/univento/teamvento/utils/Plot.java b/src/main/java/eu/univento/teamvento/utils/Plot.java
index 4e83f76..97d7a2f 100644
--- a/src/main/java/eu/univento/teamvento/utils/Plot.java
+++ b/src/main/java/eu/univento/teamvento/utils/Plot.java
@@ -3,18 +3,20 @@ package eu.univento.teamvento.utils;
import com.mongodb.CursorType;
import com.mongodb.client.FindIterable;
import eu.univento.core.Core;
-import eu.univento.core.api.schematic.Cuboid;
import eu.univento.core.api.player.CustomPlayer;
+import eu.univento.core.api.schematic.Cuboid;
import org.bson.Document;
-import org.bukkit.*;
+import org.bukkit.Bukkit;
+import org.bukkit.Chunk;
+import org.bukkit.Location;
+import org.bukkit.WeatherType;
import org.bukkit.block.Biome;
import org.bukkit.block.Block;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.UUID;
public class Plot {
@@ -33,7 +35,7 @@ public class Plot {
}
public boolean isOwner(CustomPlayer p) {
- return p.getUniqueId().toString().equals(owner.toString());
+ return p.getUniqueId().equals(owner);
}
public Cuboid getArea() {
@@ -102,14 +104,6 @@ public class Plot {
return !getContact().equals("");
}
- public void setResourcePack(ResourcePack pack) {
- setInDatabase("pack", pack.name());
- }
-
- public ResourcePack getResourcePack() {
- return ResourcePack.valueOf(getStringFromDatabase("pack"));
- }
-
public void setReady() {
setInDatabase("ready", true);
}
@@ -118,55 +112,6 @@ public class Plot {
return (boolean) getObjectFromDatbase("ready");
}
- public void addAnimal(Entity animal) {
- Map map = new HashMap<>();
- map.put("type", animal.getType().name());
- map.put("X", String.valueOf(animal.getLocation().getX()));
- map.put("Y", String.valueOf(animal.getLocation().getY()));
- map.put("Z", String.valueOf(animal.getLocation().getZ()));
- ArrayList