use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class RegionEvents method blockPlace.
@EventHandler(ignoreCancelled = true)
private void blockPlace(BlockPlaceEvent 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_PLACE"), ply);
}
}
}
for (Region region : RegionModule.getMinigameModule(ply.getMinigame()).getRegions()) {
if (region.locationInRegion(loc2)) {
region.execute(Triggers.getTrigger("BLOCK_PLACE"), ply);
}
}
}
});
}
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class RegionEvents method playerSpawn.
@EventHandler
private void playerSpawn(PlayerRespawnEvent event) {
final MinigamePlayer ply = pdata.getMinigamePlayer(event.getPlayer());
if (ply == null)
return;
if (ply.isInMinigame()) {
final Minigame mg = ply.getMinigame();
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
if (!ply.isInMinigame()) {
return;
}
executeRegionChanges(mg, ply);
for (Node node : RegionModule.getMinigameModule(ply.getMinigame()).getNodes()) {
node.execute(Triggers.getTrigger("RESPAWN"), ply);
}
for (Region region : RegionModule.getMinigameModule(ply.getMinigame()).getRegions()) {
if (region.hasPlayer(ply))
region.execute(Triggers.getTrigger("RESPAWN"), ply);
}
}
});
}
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class SpawnEntityAction method displayMenu.
@Override
public boolean displayMenu(MinigamePlayer player, Menu previous) {
Menu m = new Menu(3, "Spawn Entity", player);
m.addItem(new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, previous), m.getSize() - 9);
List<String> options = new ArrayList<>();
for (EntityType type : EntityType.values()) {
if (type != EntityType.ITEM_FRAME && type != EntityType.LEASH_HITCH && type != EntityType.PLAYER && type != EntityType.COMPLEX_PART && type != EntityType.WEATHER && type != EntityType.LIGHTNING && type != EntityType.PAINTING && type != EntityType.UNKNOWN && type != EntityType.DROPPED_ITEM)
options.add(MinigameUtils.capitalize(type.toString().replace("_", " ")));
}
m.addItem(new MenuItemList("Entity Type", Material.SKULL_ITEM, new Callback<String>() {
@Override
public void setValue(String value) {
type.setFlag(value.toUpperCase().replace(" ", "_"));
settings.clear();
addBaseSettings();
}
@Override
public String getValue() {
return MinigameUtils.capitalize(type.getFlag().replace("_", " "));
}
}, options));
m.addItem(new MenuItemDecimal("X Velocity", Material.ARROW, new Callback<Double>() {
@Override
public void setValue(Double value) {
settings.put("velocityx", value.toString());
}
@Override
public Double getValue() {
return Double.valueOf(settings.get("velocityx"));
}
}, 0.5, 1, null, null));
m.addItem(new MenuItemDecimal("Y Velocity", Material.ARROW, new Callback<Double>() {
@Override
public void setValue(Double value) {
settings.put("velocityy", value.toString());
}
@Override
public Double getValue() {
return Double.valueOf(settings.get("velocityy"));
}
}, 0.5, 1, null, null));
m.addItem(new MenuItemDecimal("Z Velocity", Material.ARROW, new Callback<Double>() {
@Override
public void setValue(Double value) {
settings.put("velocityz", value.toString());
}
@Override
public Double getValue() {
return Double.valueOf(settings.get("velocityz"));
}
}, 0.5, 1, null, null));
m.addItem(new MenuItemNewLine());
final Menu eSet = new Menu(3, "Settings", player);
final MenuItemPage backButton = new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, m);
final MenuItemCustom cus = new MenuItemCustom("Entity Settings", Material.CHEST);
final MinigamePlayer fply = player;
cus.setClick(new InteractionInterface() {
@Override
public Object interact(Object object) {
if (type.getFlag().equals("ZOMBIE")) {
eSet.clearMenu();
eSet.addItem(backButton, eSet.getSize() - 9);
livingEntitySettings(eSet);
eSet.displayMenu(fply);
return null;
}
return cus.getItem();
}
});
m.addItem(cus);
m.displayMenu(player);
return true;
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class SetScoreAction method checkScore.
private void checkScore(MinigamePlayer player) {
if (player.getMinigame().getMaxScorePerPlayer() <= player.getScore() || player.getTeam().getScore() >= player.getMinigame().getMaxScore()) {
List<MinigamePlayer> w;
List<MinigamePlayer> l;
if (player.getMinigame().isTeamGame()) {
w = new ArrayList<>(player.getTeam().getPlayers());
l = new ArrayList<>(player.getMinigame().getPlayers().size() - player.getTeam().getPlayers().size());
for (Team t : TeamsModule.getMinigameModule(player.getMinigame()).getTeams()) {
if (t != player.getTeam())
l.addAll(t.getPlayers());
}
} else {
w = new ArrayList<>(1);
l = new ArrayList<>(player.getMinigame().getPlayers().size());
w.add(player);
l.addAll(player.getMinigame().getPlayers());
l.remove(player);
}
Minigames.plugin.pdata.endMinigame(player.getMinigame(), w, l);
}
}
use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.
the class EndAction method execute.
private void execute(MinigamePlayer player) {
if (player == null || !player.isInMinigame())
return;
if (player.getMinigame().getType() != MinigameType.SINGLEPLAYER) {
List<MinigamePlayer> w = null;
List<MinigamePlayer> l = null;
if (player.getMinigame().isTeamGame()) {
w = new ArrayList<>(player.getTeam().getPlayers());
l = new ArrayList<>(player.getMinigame().getPlayers().size() - player.getTeam().getPlayers().size());
for (Team t : TeamsModule.getMinigameModule(player.getMinigame()).getTeams()) {
if (t != player.getTeam())
l.addAll(t.getPlayers());
}
} else {
w = new ArrayList<>(1);
l = new ArrayList<>(player.getMinigame().getPlayers().size());
w.add(player);
l.addAll(player.getMinigame().getPlayers());
l.remove(player);
}
Minigames.plugin.pdata.endMinigame(player.getMinigame(), w, l);
} else {
Minigames.plugin.pdata.endMinigame(player);
}
}
Aggregations