65 lines
2.0 KiB
Java
65 lines
2.0 KiB
Java
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|