use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class Events method onItemPickup.
@EventHandler
public void onItemPickup(PlayerExpChangeEvent event) {
Arena arena = ArenaRegistry.getArena(event.getPlayer());
if (arena == null)
return;
int amount = (int) Math.ceil(event.getAmount() * 1.6);
User user = UserManager.getUser(event.getPlayer().getUniqueId());
event.setAmount(amount);
if (user.isFakeDead()) {
event.setAmount(0);
return;
}
// bonus orbs with custom permissions
for (String perm : plugin.getCustomPermissions().keySet()) {
if (event.getPlayer().hasPermission(perm)) {
amount = +(int) Math.ceil(event.getAmount() * (plugin.getCustomPermissions().get(perm) / 100));
user.addInt("orbs", (int) Math.ceil(event.getAmount() * (plugin.getCustomPermissions().get(perm) / 100)));
}
}
if (event.getPlayer().hasPermission(PermissionsManager.getElite())) {
amount = +(int) Math.ceil(event.getAmount() * 1.5);
user.addInt("orbs", (int) Math.ceil(event.getAmount() * 1.5));
} else if (event.getPlayer().hasPermission(PermissionsManager.getMvp())) {
amount = +(int) Math.ceil(event.getAmount() * 1.0);
user.addInt("orbs", (int) Math.ceil(event.getAmount() * 1.0));
} else if (event.getPlayer().hasPermission(PermissionsManager.getVip())) {
amount = +(int) Math.ceil(event.getAmount() * 0.5);
user.addInt("orbs", (int) Math.ceil(event.getAmount() * 0.5));
} else {
amount = +event.getAmount();
user.addInt("orbs", event.getAmount());
}
event.getPlayer().sendMessage(ChatManager.colorMessage("In-Game.Orbs-Pickup").replaceAll("%number%", String.valueOf(amount)));
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class Events method onSecond.
@EventHandler(priority = EventPriority.HIGHEST)
public void onSecond(EntityDamageByEntityEvent event) {
User user = UserManager.getUser((event.getDamager().getUniqueId()));
if (user.isFakeDead() || user.isSpectator()) {
event.setCancelled(true);
return;
}
if (!(event.getDamager() instanceof Arrow))
return;
Arrow arrow = (Arrow) event.getDamager();
if (arrow.getShooter() == null)
return;
if (!(arrow.getShooter() instanceof Player))
return;
Arena arena = ArenaRegistry.getArena((Player) arrow.getShooter());
if (arena == null)
return;
if (user.isFakeDead() || user.isSpectator()) {
event.setCancelled(true);
return;
}
if (!VILLAGE_ENTITIES.contains(event.getEntityType()))
return;
event.setCancelled(true);
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class Events method onKitMenuItemClick.
@EventHandler
public void onKitMenuItemClick(InventoryClickEvent event) {
ItemStack inv = event.getCurrentItem();
Arena arena = ArenaRegistry.getArena((Player) event.getWhoClicked());
if (arena == null)
return;
if (inv == null || !inv.hasItemMeta() || !inv.getItemMeta().hasDisplayName() || inv.getType() != plugin.getKitManager().getMaterial() || !inv.getItemMeta().getDisplayName().equalsIgnoreCase(plugin.getKitManager().getItemName()))
return;
event.setCancelled(true);
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class Events method onBlockBreakEvent.
@EventHandler(priority = EventPriority.HIGH)
public // highest priority to fully protecc our game (i didn't set it because my test server was destroyed, n-no......)
void onBlockBreakEvent(BlockBreakEvent event) {
Arena arena = ArenaRegistry.getArena(event.getPlayer());
if (arena == null)
return;
event.setCancelled(true);
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class Events method disableCommands.
@EventHandler(priority = EventPriority.HIGHEST)
public void disableCommands(PlayerCommandPreprocessEvent event) {
Arena arena = ArenaRegistry.getArena(event.getPlayer());
if (arena == null)
return;
if (!plugin.getConfig().getBoolean("Block-Commands-In-Game"))
return;
if (event.getMessage().contains("leave") || event.getMessage().contains("stats"))
return;
if (event.getPlayer().isOp() || event.getPlayer().hasPermission(PermissionsManager.getEditGames()))
return;
event.setCancelled(true);
event.getPlayer().sendMessage(ChatManager.PLUGIN_PREFIX + ChatManager.colorMessage("In-Game.Only-Command-Ingame-Is-Leave"));
}
Aggregations