TeamVento/src/main/java/eu/univento/teamvento/listener/Events.java

65 lines
2.0 KiB
Java
Raw Normal View History

2016-04-30 07:38:37 +02:00
package eu.univento.teamvento.listener;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.core.api.player.Ranks;
import eu.univento.teamvento.utils.PlotManager;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.weather.WeatherChangeEvent;
/**
* @author joethei
* @version 0.2
*/
public class Events implements Listener{
@EventHandler
public void onWeatherChange(WeatherChangeEvent e) {
e.setCancelled(true);
}
@EventHandler
public void onTramp(PlayerInteractEvent e) {
if(e.getAction() == Action.PHYSICAL && e.getClickedBlock().getType() == Material.SOIL) {
e.setCancelled(true);
}
}
@EventHandler
public void onEntityExplode(EntityExplodeEvent e) {
e.blockList().clear();
}
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
if(PlotManager.getPlotByLocation(e.getBlock().getLocation()) == null) {
if(!p.isAllowed(Ranks.Builder)) {
e.setCancelled(true);
}
}
else if(!PlotManager.getPlotByLocation(e.getBlock().getLocation()).isOwner(p)) {
e.setCancelled(true);
}
}
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
if(PlotManager.getPlotByLocation(e.getBlock().getLocation()) == null) {
if(!p.isAllowed(Ranks.Builder)) {
e.setCancelled(true);
}
}
else if(!PlotManager.getPlotByLocation(e.getBlock().getLocation()).isOwner(p)) {
e.setCancelled(true);
}
}
}