Fixed dupe glitch (all games)
Some champions skill fixes created GameSpectatorManager to handle spec stuffz
This commit is contained in:
parent
2384b91b06
commit
f5022ecf16
|
@ -53,7 +53,7 @@ public class CripplingBlow extends Skill
|
||||||
if (level == 0) return;
|
if (level == 0) return;
|
||||||
|
|
||||||
//Stun
|
//Stun
|
||||||
Factory.Condition().Factory().Slow(GetName(), damagee, damager, 0.5 + 0.5 * 1, 1, false, true, false, true);
|
Factory.Condition().Factory().Slow(GetName(), damagee, damager, 0.5 + 0.5 * 1, 0, false, true, false, true);
|
||||||
|
|
||||||
//Damage
|
//Damage
|
||||||
event.AddMod(damager.getName(), GetName(), 0, true);
|
event.AddMod(damager.getName(), GetName(), 0, true);
|
||||||
|
|
|
@ -9,6 +9,8 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
|
|
||||||
import mineplex.minecraft.game.classcombat.Class.IPvpClass.ClassType;
|
import mineplex.minecraft.game.classcombat.Class.IPvpClass.ClassType;
|
||||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
|
@ -71,13 +73,19 @@ public class Deflection extends Skill
|
||||||
if (!Recharge.Instance.use(cur, GetName(), 5000 - (1000 * level), false, false))
|
if (!Recharge.Instance.use(cur, GetName(), 5000 - (1000 * level), false, false))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
int max = 2 + (1 * level);
|
||||||
|
|
||||||
int charge = 1;
|
int charge = 1;
|
||||||
if (_charges.containsKey(cur))
|
if (_charges.containsKey(cur))
|
||||||
charge += _charges.get(cur);
|
charge += _charges.get(cur);
|
||||||
|
|
||||||
charge = Math.min(2 + (1 * level), charge);
|
if (charge <= max)
|
||||||
|
{
|
||||||
_charges.put(cur, charge);
|
_charges.put(cur, charge);
|
||||||
|
|
||||||
|
//Inform
|
||||||
|
UtilPlayer.message(cur, F.main(GetClassType().name(), "Deflection Charges: " + F.elem(charge+"")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,9 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
|
|
||||||
import mineplex.minecraft.game.classcombat.Class.IPvpClass.ClassType;
|
import mineplex.minecraft.game.classcombat.Class.IPvpClass.ClassType;
|
||||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilGear;
|
import mineplex.core.common.util.UtilGear;
|
||||||
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
|
@ -77,13 +79,19 @@ public class Swordsmanship extends Skill
|
||||||
if (!Recharge.Instance.use(cur, GetName(), 5000 - (1000 * level), false, false))
|
if (!Recharge.Instance.use(cur, GetName(), 5000 - (1000 * level), false, false))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
int max = level;
|
||||||
|
|
||||||
int charge = 1;
|
int charge = 1;
|
||||||
if (_charges.containsKey(cur))
|
if (_charges.containsKey(cur))
|
||||||
charge += _charges.get(cur);
|
charge += _charges.get(cur);
|
||||||
|
|
||||||
charge = Math.min(level, charge);
|
if (charge <= max)
|
||||||
|
{
|
||||||
_charges.put(cur, charge);
|
_charges.put(cur, charge);
|
||||||
|
|
||||||
|
//Inform
|
||||||
|
UtilPlayer.message(cur, F.main(GetClassType().name(), "Swordsmanship Charges: " + F.elem(charge+"")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ public class ArcticArmor extends Skill
|
||||||
"",
|
"",
|
||||||
"Create a freezing area around you",
|
"Create a freezing area around you",
|
||||||
"in a #3#1 Block radius. Allies inside",
|
"in a #3#1 Block radius. Allies inside",
|
||||||
"this area receive Protection 1.",
|
"this area receive Protection 2.",
|
||||||
"",
|
"",
|
||||||
"You are permanently immune to the",
|
"You are permanently immune to the",
|
||||||
"Slowing effect of snow."
|
"Slowing effect of snow."
|
||||||
|
|
|
@ -68,7 +68,7 @@ public class Rupture extends SkillActiveCharge
|
||||||
"",
|
"",
|
||||||
"Release Block to release the rupture,",
|
"Release Block to release the rupture,",
|
||||||
"causing earth and players to fly upward,",
|
"causing earth and players to fly upward,",
|
||||||
"dealing up to #3#1 inital damage."
|
"dealing up to #4#1 inital damage."
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ public class Void extends Skill
|
||||||
"Drop Axe/Sword to Toggle.",
|
"Drop Axe/Sword to Toggle.",
|
||||||
"",
|
"",
|
||||||
"While in void form, you receive",
|
"While in void form, you receive",
|
||||||
"Slow 3, take no knockback and",
|
"Slow 2, take no knockback and",
|
||||||
"use no energy to swing weapons.",
|
"use no energy to swing weapons.",
|
||||||
"",
|
"",
|
||||||
"Reduces incoming damage by #1#1 , but",
|
"Reduces incoming damage by #1#1 , but",
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class PinDown extends SkillActive
|
||||||
SetDesc(new String[]
|
SetDesc(new String[]
|
||||||
{
|
{
|
||||||
"Instantly fire an arrow, giving",
|
"Instantly fire an arrow, giving",
|
||||||
"target Slow 3 for #3#1 seconds."
|
"target Slow 4 for #3#1 seconds."
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ public class WolfsFury extends SkillActive
|
||||||
_active.put(player, System.currentTimeMillis() + 8000);
|
_active.put(player, System.currentTimeMillis() + 8000);
|
||||||
|
|
||||||
//Condition
|
//Condition
|
||||||
Factory.Condition().Factory().Strength(GetName(), player, player, 2 + 2*level, level-1, false, true, true);
|
Factory.Condition().Factory().Strength(GetName(), player, player, 2 + 2*level, 2, false, true, true);
|
||||||
|
|
||||||
//Inform
|
//Inform
|
||||||
UtilPlayer.message(player, F.main(GetClassType().name(), "You used " + F.skill(GetName(level)) + "."));
|
UtilPlayer.message(player, F.main(GetClassType().name(), "You used " + F.skill(GetName(level)) + "."));
|
||||||
|
@ -134,6 +134,9 @@ public class WolfsFury extends SkillActive
|
||||||
int level = getLevel(damager);
|
int level = getLevel(damager);
|
||||||
if (level == 0) return;
|
if (level == 0) return;
|
||||||
|
|
||||||
|
if (!_active.containsKey(damager))
|
||||||
|
return;
|
||||||
|
|
||||||
//Remove Swing
|
//Remove Swing
|
||||||
_swing.remove(damager);
|
_swing.remove(damager);
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package mineplex.minecraft.game.classcombat.shop;
|
package mineplex.minecraft.game.classcombat.shop;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import mineplex.core.MiniPlugin;
|
import mineplex.core.MiniPlugin;
|
||||||
|
import mineplex.core.achievement.Achievement;
|
||||||
|
import mineplex.core.achievement.AchievementManager;
|
||||||
import mineplex.minecraft.game.classcombat.Class.ClassManager;
|
import mineplex.minecraft.game.classcombat.Class.ClassManager;
|
||||||
import mineplex.minecraft.game.classcombat.Skill.SkillFactory;
|
import mineplex.minecraft.game.classcombat.Skill.SkillFactory;
|
||||||
import mineplex.minecraft.game.classcombat.item.ItemFactory;
|
import mineplex.minecraft.game.classcombat.item.ItemFactory;
|
||||||
|
@ -12,6 +15,7 @@ public class ClassShopManager extends MiniPlugin
|
||||||
private ClassManager _classManager;
|
private ClassManager _classManager;
|
||||||
private SkillFactory _skillFactory;
|
private SkillFactory _skillFactory;
|
||||||
private ItemFactory _itemFactory;
|
private ItemFactory _itemFactory;
|
||||||
|
private AchievementManager _achievementManager;
|
||||||
|
|
||||||
public ClassShopManager(JavaPlugin plugin, ClassManager classManager, SkillFactory skillFactory, ItemFactory itemFactory)
|
public ClassShopManager(JavaPlugin plugin, ClassManager classManager, SkillFactory skillFactory, ItemFactory itemFactory)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +24,7 @@ public class ClassShopManager extends MiniPlugin
|
||||||
_classManager = classManager;
|
_classManager = classManager;
|
||||||
_skillFactory = skillFactory;
|
_skillFactory = skillFactory;
|
||||||
_itemFactory = itemFactory;
|
_itemFactory = itemFactory;
|
||||||
|
//_achievementManager = achievementManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ClassManager GetClassManager()
|
public ClassManager GetClassManager()
|
||||||
|
@ -36,4 +41,18 @@ public class ClassShopManager extends MiniPlugin
|
||||||
{
|
{
|
||||||
return _itemFactory;
|
return _itemFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasAchievements(Player player)
|
||||||
|
{
|
||||||
|
return _achievementManager.hasCategory(player, new Achievement[]
|
||||||
|
{
|
||||||
|
Achievement.CHAMPIONS_ACE,
|
||||||
|
Achievement.CHAMPIONS_ASSASSINATION,
|
||||||
|
Achievement.CHAMPIONS_EARTHQUAKE,
|
||||||
|
Achievement.CHAMPIONS_FLAWLESS_VICTORY,
|
||||||
|
Achievement.CHAMPIONS_MASS_ELECTROCUTION,
|
||||||
|
Achievement.CHAMPIONS_THE_LONGEST_SHOT,
|
||||||
|
Achievement.CHAMPIONS_WINS,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,6 +104,7 @@ import nautilus.game.arcade.managers.GameLobbyManager;
|
||||||
import nautilus.game.arcade.managers.GameLootManager;
|
import nautilus.game.arcade.managers.GameLootManager;
|
||||||
import nautilus.game.arcade.managers.GameManager;
|
import nautilus.game.arcade.managers.GameManager;
|
||||||
import nautilus.game.arcade.managers.GamePlayerManager;
|
import nautilus.game.arcade.managers.GamePlayerManager;
|
||||||
|
import nautilus.game.arcade.managers.GameSpectatorManager;
|
||||||
import nautilus.game.arcade.managers.GameStatManager;
|
import nautilus.game.arcade.managers.GameStatManager;
|
||||||
import nautilus.game.arcade.managers.GameTournamentManager;
|
import nautilus.game.arcade.managers.GameTournamentManager;
|
||||||
import nautilus.game.arcade.managers.GameWorldManager;
|
import nautilus.game.arcade.managers.GameWorldManager;
|
||||||
|
@ -263,6 +264,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||||
_gameTournamentManager = new GameTournamentManager(this);
|
_gameTournamentManager = new GameTournamentManager(this);
|
||||||
new GameStatManager(this);
|
new GameStatManager(this);
|
||||||
new GameLootManager(this, petManager);
|
new GameLootManager(this, petManager);
|
||||||
|
new GameSpectatorManager(this);
|
||||||
_gameWorldManager = new GameWorldManager(this);
|
_gameWorldManager = new GameWorldManager(this);
|
||||||
new MiscManager(this);
|
new MiscManager(this);
|
||||||
_idleManager = new IdleManager(this);
|
_idleManager = new IdleManager(this);
|
||||||
|
|
|
@ -11,18 +11,27 @@ import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
|
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Hanging;
|
import org.bukkit.entity.Hanging;
|
||||||
|
import org.bukkit.entity.Minecart;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.minecart.CommandMinecart;
|
||||||
|
import org.bukkit.entity.minecart.ExplosiveMinecart;
|
||||||
|
import org.bukkit.entity.minecart.HopperMinecart;
|
||||||
|
import org.bukkit.entity.minecart.PoweredMinecart;
|
||||||
|
import org.bukkit.entity.minecart.StorageMinecart;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.hanging.HangingBreakEvent;
|
import org.bukkit.event.hanging.HangingBreakEvent;
|
||||||
import org.bukkit.event.hanging.HangingPlaceEvent;
|
import org.bukkit.event.hanging.HangingPlaceEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.event.player.PlayerLoginEvent;
|
import org.bukkit.event.player.PlayerLoginEvent;
|
||||||
import org.bukkit.scoreboard.Objective;
|
import org.bukkit.scoreboard.Objective;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
@ -31,11 +40,14 @@ import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.NautHashMap;
|
import mineplex.core.common.util.NautHashMap;
|
||||||
import mineplex.core.common.util.UtilBlock;
|
import mineplex.core.common.util.UtilBlock;
|
||||||
|
import mineplex.core.common.util.UtilEvent;
|
||||||
|
import mineplex.core.common.util.UtilGear;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.common.util.UtilServer;
|
import mineplex.core.common.util.UtilServer;
|
||||||
import mineplex.core.common.util.UtilTabTitle;
|
import mineplex.core.common.util.UtilTabTitle;
|
||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
import mineplex.core.common.util.UtilTextMiddle;
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
|
import mineplex.core.common.util.UtilEvent.ActionType;
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
import mineplex.minecraft.game.classcombat.event.ClassCombatCreatureAllowSpawnEvent;
|
import mineplex.minecraft.game.classcombat.event.ClassCombatCreatureAllowSpawnEvent;
|
||||||
|
@ -1274,4 +1286,8 @@ public abstract class Game implements Listener
|
||||||
loc.getY() >= WorldData.MaxY ||
|
loc.getY() >= WorldData.MaxY ||
|
||||||
loc.getY() <= WorldData.MinY);
|
loc.getY() <= WorldData.MinY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1597,7 +1597,7 @@ public class Bridge extends TeamGame implements OreObsfucation
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void boatDeny(PlayerInteractEvent event)
|
public void vehicleDeny(PlayerInteractEvent event)
|
||||||
{
|
{
|
||||||
if (!UtilEvent.isAction(event, ActionType.R))
|
if (!UtilEvent.isAction(event, ActionType.R))
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -562,7 +562,7 @@ public class DragonEscape extends SoloGame
|
||||||
|
|
||||||
if (!UtilTime.elapsed(GetStateTime(), 10000))
|
if (!UtilTime.elapsed(GetStateTime(), 10000))
|
||||||
{
|
{
|
||||||
UtilPlayer.message(player, F.main("Game", "You cannot dig for " + F.elem(UtilTime.MakeStr(6000 - (System.currentTimeMillis() - GetStateTime())) + ".")));
|
UtilPlayer.message(player, F.main("Game", "You cannot dig for " + F.elem(UtilTime.MakeStr(10000 - (System.currentTimeMillis() - GetStateTime())) + ".")));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
package nautilus.game.arcade.managers;
|
||||||
|
|
||||||
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
|
import nautilus.game.arcade.GameType;
|
||||||
|
import nautilus.game.arcade.game.Game.GameState;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Minecart;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.minecart.CommandMinecart;
|
||||||
|
import org.bukkit.entity.minecart.ExplosiveMinecart;
|
||||||
|
import org.bukkit.entity.minecart.HopperMinecart;
|
||||||
|
import org.bukkit.entity.minecart.PoweredMinecart;
|
||||||
|
import org.bukkit.entity.minecart.StorageMinecart;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.block.Action;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.event.vehicle.VehicleDamageEvent;
|
||||||
|
|
||||||
|
public class GameSpectatorManager implements Listener
|
||||||
|
{
|
||||||
|
ArcadeManager Manager;
|
||||||
|
|
||||||
|
public GameSpectatorManager(ArcadeManager manager)
|
||||||
|
{
|
||||||
|
Manager = manager;
|
||||||
|
|
||||||
|
Manager.GetPluginManager().registerEvents(this, Manager.GetPlugin());
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.LOW)
|
||||||
|
public void interactCancel(PlayerInteractEvent event)
|
||||||
|
{
|
||||||
|
if (Manager.GetGame() == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
|
||||||
|
if (!Manager.GetGame().IsAlive(player))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.LOW)
|
||||||
|
public void interactEntityCancel(PlayerInteractEntityEvent event)
|
||||||
|
{
|
||||||
|
if (Manager.GetGame() == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
|
||||||
|
if (!Manager.GetGame().IsAlive(player))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.LOW)
|
||||||
|
public void vehicleDamage(VehicleDamageEvent event)
|
||||||
|
{
|
||||||
|
if (Manager.GetGame() == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!(event.getAttacker() instanceof Player))
|
||||||
|
return;
|
||||||
|
|
||||||
|
Player player = (Player)event.getAttacker();
|
||||||
|
|
||||||
|
if (!Manager.GetGame().IsAlive(player))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -52,12 +52,8 @@ public class MiscManager implements Listener
|
||||||
|
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
|
|
||||||
if (!Manager.GetGame().IsAlive(player))
|
|
||||||
{
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
//BoneMeal
|
//BoneMeal
|
||||||
else if (event.getPlayer().getItemInHand().getType() == Material.INK_SACK && event.getPlayer().getItemInHand().getData().getData() == (byte)15)
|
if (event.getPlayer().getItemInHand().getType() == Material.INK_SACK && event.getPlayer().getItemInHand().getData().getData() == (byte)15)
|
||||||
{
|
{
|
||||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK && Manager.GetGame().GetType() != GameType.UHC)
|
if (event.getAction() == Action.RIGHT_CLICK_BLOCK && Manager.GetGame().GetType() != GameType.UHC)
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
Loading…
Reference in New Issue