Prevent players from entering vehicles w/0 accesstrust
This commit is contained in:
parent
aeec095ff8
commit
f34f0161ae
|
|
@ -1,96 +1,114 @@
|
||||||
package me.ryanhamshire.GriefPrevention.alttd.listeners;
|
package me.ryanhamshire.GriefPrevention.alttd.listeners;
|
||||||
|
|
||||||
import com.destroystokyo.paper.event.block.TNTPrimeEvent;
|
import com.destroystokyo.paper.event.block.TNTPrimeEvent;
|
||||||
import me.ryanhamshire.GriefPrevention.Claim;
|
import me.ryanhamshire.GriefPrevention.Claim;
|
||||||
import me.ryanhamshire.GriefPrevention.ClaimPermission;
|
import me.ryanhamshire.GriefPrevention.ClaimPermission;
|
||||||
import me.ryanhamshire.GriefPrevention.CreateClaimResult;
|
import me.ryanhamshire.GriefPrevention.CreateClaimResult;
|
||||||
import me.ryanhamshire.GriefPrevention.DataStore;
|
import me.ryanhamshire.GriefPrevention.DataStore;
|
||||||
import me.ryanhamshire.GriefPrevention.GriefPrevention;
|
import me.ryanhamshire.GriefPrevention.GriefPrevention;
|
||||||
import me.ryanhamshire.GriefPrevention.Messages;
|
import me.ryanhamshire.GriefPrevention.Messages;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.entity.Vehicle;
|
import org.bukkit.entity.Vehicle;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.EntityChangeBlockEvent;
|
import org.bukkit.event.entity.EntityChangeBlockEvent;
|
||||||
|
import org.bukkit.event.vehicle.VehicleEnterEvent;
|
||||||
public class AltitudeListener implements Listener {
|
|
||||||
|
public class AltitudeListener implements Listener {
|
||||||
private final GriefPrevention plugin;
|
|
||||||
|
private final GriefPrevention plugin;
|
||||||
public AltitudeListener(DataStore dataStore, GriefPrevention plugin) {
|
|
||||||
this.plugin = plugin;
|
public AltitudeListener(DataStore dataStore, GriefPrevention plugin) {
|
||||||
this.worldInit();
|
this.plugin = plugin;
|
||||||
}
|
this.worldInit();
|
||||||
|
}
|
||||||
private void info(String s) {
|
|
||||||
plugin.getLogger().info(s);
|
private void info(String s) {
|
||||||
}
|
plugin.getLogger().info(s);
|
||||||
|
}
|
||||||
private void worldInit() {
|
|
||||||
for(World world : Bukkit.getWorlds()) {
|
private void worldInit() {
|
||||||
// info("Scanning world " + world.getName());
|
for(World world : Bukkit.getWorlds()) {
|
||||||
if (world.getEnvironment() == World.Environment.THE_END) {
|
// info("Scanning world " + world.getName());
|
||||||
CreateClaimResult result = plugin.dataStore.createClaim(world,
|
if (world.getEnvironment() == World.Environment.THE_END) {
|
||||||
-250, 250,
|
CreateClaimResult result = plugin.dataStore.createClaim(world,
|
||||||
0, 256,
|
-250, 250,
|
||||||
250, -250,
|
0, 256,
|
||||||
null, null, null, null);
|
250, -250,
|
||||||
if (!result.succeeded) {
|
null, null, null, null);
|
||||||
if (result.claim != null) {
|
if (!result.succeeded) {
|
||||||
// info(Messages.CreateClaimFailOverlapShort.toString());
|
if (result.claim != null) {
|
||||||
} else {
|
// info(Messages.CreateClaimFailOverlapShort.toString());
|
||||||
// info(Messages.CreateClaimFailOverlapRegion.toString());
|
} else {
|
||||||
}
|
// info(Messages.CreateClaimFailOverlapRegion.toString());
|
||||||
} else {
|
}
|
||||||
Claim claim = result.claim;
|
} else {
|
||||||
claim.setPermission("public", ClaimPermission.Build);
|
Claim claim = result.claim;
|
||||||
GriefPrevention.instance.dataStore.saveClaim(claim);
|
claim.setPermission("public", ClaimPermission.Build);
|
||||||
// info(Messages.CreateClaimSuccess.toString());
|
GriefPrevention.instance.dataStore.saveClaim(claim);
|
||||||
}
|
// info(Messages.CreateClaimSuccess.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
|
||||||
public void onTNTPrime(TNTPrimeEvent event) {
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
||||||
if(event.getReason() == TNTPrimeEvent.PrimeReason.PROJECTILE) {
|
public void onTNTPrime(TNTPrimeEvent event) {
|
||||||
Entity entity = event.getPrimerEntity();
|
if(event.getReason() == TNTPrimeEvent.PrimeReason.PROJECTILE) {
|
||||||
if(entity instanceof Arrow) {
|
Entity entity = event.getPrimerEntity();
|
||||||
Arrow arrow = (Arrow) entity;
|
if(entity instanceof Arrow) {
|
||||||
if(arrow.getShooter() instanceof Player) {
|
Arrow arrow = (Arrow) entity;
|
||||||
Player player = (Player) arrow.getShooter();
|
if(arrow.getShooter() instanceof Player) {
|
||||||
Claim claim = GriefPrevention.instance.dataStore.getClaimAt(event.getBlock().getLocation(), true, null);
|
Player player = (Player) arrow.getShooter();
|
||||||
if (claim != null) {
|
Claim claim = GriefPrevention.instance.dataStore.getClaimAt(event.getBlock().getLocation(), true, null);
|
||||||
if (claim.allowAccess(player) != null) {
|
if (claim != null) {
|
||||||
event.setCancelled(true);
|
if (claim.allowAccess(player) != null) {
|
||||||
}
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
|
||||||
public void onPlayerBoatBlockBreak(EntityChangeBlockEvent event)
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
||||||
{
|
public void onPlayerBoatBlockBreak(EntityChangeBlockEvent event)
|
||||||
if (event.getEntity() instanceof Vehicle && !event.getEntity().getPassengers().isEmpty())
|
{
|
||||||
{
|
if (event.getEntity() instanceof Vehicle && !event.getEntity().getPassengers().isEmpty())
|
||||||
Entity driver = event.getEntity().getPassengers().get(0);
|
{
|
||||||
if (driver instanceof Player)
|
Entity driver = event.getEntity().getPassengers().get(0);
|
||||||
{
|
if (driver instanceof Player)
|
||||||
Block block = event.getBlock();
|
{
|
||||||
if (GriefPrevention.instance.allowBreak((Player) driver, block, block.getLocation()) != null)
|
Block block = event.getBlock();
|
||||||
{
|
if (GriefPrevention.instance.allowBreak((Player) driver, block, block.getLocation()) != null)
|
||||||
event.setCancelled(true);
|
{
|
||||||
return;
|
event.setCancelled(true);
|
||||||
}
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
||||||
|
public void onVehicleEnterEvent(VehicleEnterEvent event)
|
||||||
|
{
|
||||||
|
if (event.getEntered() instanceof Player player)
|
||||||
|
{
|
||||||
|
Claim claim = GriefPrevention.instance.dataStore.getClaimAt(player.getLocation(), true, null);
|
||||||
|
if (claim != null)
|
||||||
|
{
|
||||||
|
if (claim.allowAccess(player) != null)
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user