mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-10-03 09:07:33 +02:00
Hopper, Furnace and Chest Minecarts are now protected by proper flags (#565)
#550 * Implement HopperMinecart, ChestMinecart and FurnaceMinecart protection by proper flags (#550). * Add proper Minecart while checking player interact at entity event. Minecraft flag should affect RidableMinecrat. Added ExplosiveMinecart and CommandMinecart to avoid their usage, as they are not protected by other flags. * Fixed the "basic" Minecart protection
This commit is contained in:
parent
9b1e955d18
commit
a505a3cede
@ -213,6 +213,7 @@ public class BlockInteractionListener extends FlagListener {
|
||||
case SPRUCE_FENCE_GATE:
|
||||
checkIsland(e, player, loc, Flags.GATE);
|
||||
break;
|
||||
case FURNACE_MINECART:
|
||||
case FURNACE:
|
||||
checkIsland(e, player, loc, Flags.FURNACE);
|
||||
break;
|
||||
|
@ -5,8 +5,8 @@ import org.bukkit.entity.Animals;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Boat;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Minecart;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
import org.bukkit.entity.minecart.RideableMinecart;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
|
||||
@ -38,7 +38,7 @@ public class EntityInteractListener extends FlagListener {
|
||||
checkIsland(e, e.getPlayer(), e.getRightClicked().getLocation(), Flags.RIDING);
|
||||
}
|
||||
// Minecart riding
|
||||
else if (e.getRightClicked() instanceof Minecart) {
|
||||
else if (e.getRightClicked() instanceof RideableMinecart) {
|
||||
checkIsland(e, e.getPlayer(), e.getRightClicked().getLocation(), Flags.MINECART);
|
||||
}
|
||||
// Boat riding
|
||||
|
@ -10,6 +10,8 @@ import org.bukkit.block.Hopper;
|
||||
import org.bukkit.block.ShulkerBox;
|
||||
import org.bukkit.entity.Animals;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.minecart.HopperMinecart;
|
||||
import org.bukkit.entity.minecart.StorageMinecart;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
@ -39,7 +41,8 @@ public class InventoryListener extends FlagListener {
|
||||
checkIsland(e, player, e.getInventory().getLocation(), Flags.MOUNT_INVENTORY);
|
||||
}
|
||||
else if (inventoryHolder instanceof Chest
|
||||
|| inventoryHolder instanceof ShulkerBox) {
|
||||
|| inventoryHolder instanceof ShulkerBox
|
||||
|| inventoryHolder instanceof StorageMinecart) {
|
||||
checkIsland(e, player, e.getInventory().getLocation(), Flags.CONTAINER);
|
||||
}
|
||||
else if (inventoryHolder instanceof Dispenser) {
|
||||
@ -48,7 +51,8 @@ public class InventoryListener extends FlagListener {
|
||||
else if (inventoryHolder instanceof Dropper) {
|
||||
checkIsland(e, player, e.getInventory().getLocation(), Flags.DROPPER);
|
||||
}
|
||||
else if (inventoryHolder instanceof Hopper) {
|
||||
else if (inventoryHolder instanceof Hopper
|
||||
|| inventoryHolder instanceof HopperMinecart) {
|
||||
checkIsland(e, player, e.getInventory().getLocation(), Flags.HOPPER);
|
||||
}
|
||||
else if (inventoryHolder instanceof Furnace) {
|
||||
|
Loading…
Reference in New Issue
Block a user