use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class PlayMGSound method playLoop.
private static void playLoop(MinigamePlayer player, MGSound sound) {
final MinigamePlayer fplayer = player;
final MGSound fsound = sound;
Bukkit.getScheduler().scheduleSyncDelayedTask(Minigames.plugin, new Runnable() {
@Override
public void run() {
fplayer.getPlayer().playSound(fplayer.getLocation(), fsound.getSound(), fsound.getVolume(), fsound.getPitch());
fsound.setTimesPlayed(fsound.getTimesPlayed() + 1);
if (fsound.getTimesPlayed() < fsound.getCount())
playLoop(fplayer, fsound);
}
}, sound.getDelay());
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class Region method changeTickDelay.
public void changeTickDelay(long delay) {
removeTickTask();
taskDelay = delay;
taskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(Minigames.plugin, new Runnable() {
@Override
public void run() {
List<MinigamePlayer> plys = new ArrayList<MinigamePlayer>(players);
for (MinigamePlayer player : plys) {
execute(Triggers.getTrigger("TICK"), player);
}
}
}, 0, delay);
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class RegionEvents method blockBreak.
@EventHandler(ignoreCancelled = true)
private void blockBreak(BlockBreakEvent event) {
final MinigamePlayer ply = pdata.getMinigamePlayer(event.getPlayer());
if (ply == null)
return;
if (ply.isInMinigame()) {
final Location loc2 = event.getBlock().getLocation();
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
if (!ply.isInMinigame()) {
return;
}
for (Node node : RegionModule.getMinigameModule(ply.getMinigame()).getNodes()) {
if (node.getLocation().getWorld() == loc2.getWorld()) {
Location loc1 = node.getLocation();
if (loc1.getBlockX() == loc2.getBlockX() && loc1.getBlockY() == loc2.getBlockY() && loc1.getBlockZ() == loc2.getBlockZ()) {
node.execute(Triggers.getTrigger("BLOCK_BREAK"), ply);
}
}
}
for (Region region : RegionModule.getMinigameModule(ply.getMinigame()).getRegions()) {
if (region.locationInRegion(loc2)) {
region.execute(Triggers.getTrigger("BLOCK_BREAK"), ply);
}
}
}
});
}
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class RegionEvents method playerDamage.
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
private void playerDamage(EntityDamageEvent event) {
if (!(event.getEntity() instanceof Player)) {
return;
}
final MinigamePlayer player = pdata.getMinigamePlayer((Player) event.getEntity());
if (player == null || !player.isInMinigame()) {
return;
}
executeTrigger(Triggers.getTrigger("PLAYER_DAMAGE"), player);
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class RegionEvents method playerFoodChange.
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
private void playerFoodChange(FoodLevelChangeEvent event) {
if (!(event.getEntity() instanceof Player)) {
return;
}
final MinigamePlayer player = pdata.getMinigamePlayer((Player) event.getEntity());
if (player == null || !player.isInMinigame()) {
return;
}
executeTrigger(Triggers.getTrigger("FOOD_CHANGE"), player);
}
Aggregations