Lets the player sit on the throne
This commit is contained in:
parent
d62d9a813b
commit
16e9263874
@ -6,11 +6,15 @@ import java.util.Map;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.entity.EntitySpawnEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
@ -22,6 +26,7 @@ import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilAlg;
|
||||
import mineplex.core.common.util.UtilEnt;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilWorld;
|
||||
import mineplex.core.gadget.gadgets.particle.king.types.King;
|
||||
@ -52,6 +57,13 @@ public class CastleManager extends MiniPlugin
|
||||
new Location(UtilWorld.getWorld("world"), 43, 80, 7)
|
||||
};
|
||||
|
||||
private Location[] _throneLocations = new Location[]
|
||||
{
|
||||
new Location(UtilWorld.getWorld("world"), 41, 76, 2),
|
||||
new Location(UtilWorld.getWorld("world"), 42, 77, 2),
|
||||
new Location(UtilWorld.getWorld("world"), 42, 78, 2),
|
||||
};
|
||||
|
||||
private CoreClientManager _coreClientManager;
|
||||
private HologramManager _hologramManager;
|
||||
|
||||
@ -212,6 +224,43 @@ public class CastleManager extends MiniPlugin
|
||||
updateLobbyKing();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets player sit on throne
|
||||
* @param event
|
||||
*/
|
||||
@EventHandler
|
||||
public void onSitThrone(PlayerInteractEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (!isKing(player))
|
||||
return;
|
||||
|
||||
if (!getKing().getKing().equals(player))
|
||||
return;
|
||||
|
||||
if (event.getAction() != Action.RIGHT_CLICK_BLOCK)
|
||||
return;
|
||||
|
||||
Block block = event.getClickedBlock();
|
||||
|
||||
boolean isThrone = false;
|
||||
for (Location location : _throneLocations)
|
||||
{
|
||||
isThrone = block.getLocation().getBlockX() == location.getBlockX()
|
||||
&& block.getLocation().getBlockY() == location.getBlockY()
|
||||
&& block.getLocation().getBlockZ() == location.getBlockZ();
|
||||
}
|
||||
|
||||
if (!isThrone)
|
||||
return;
|
||||
|
||||
Location arrowLoc = _throneLocations[0].clone().add(0, 0.25, 0);
|
||||
Arrow arrow = arrowLoc.getWorld().spawn(arrowLoc, Arrow.class);
|
||||
UtilEnt.vegetate(arrow, true);
|
||||
arrow.setPassenger(player);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets player as peasant
|
||||
* @param event
|
||||
|
Loading…
Reference in New Issue
Block a user