forbid using chests in pixelblocks
This commit is contained in:
parent
f6c23e723d
commit
0707a51a89
@ -35,6 +35,7 @@ public final class PixelBlocks extends JavaPlugin {
|
|||||||
getServer().getPluginManager().registerEvents(new EntityExplodeListener(), this);
|
getServer().getPluginManager().registerEvents(new EntityExplodeListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new BlockExplodeListener(), this);
|
getServer().getPluginManager().registerEvents(new BlockExplodeListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new PlayerPortalListener(), this);
|
getServer().getPluginManager().registerEvents(new PlayerPortalListener(), this);
|
||||||
|
getServer().getPluginManager().registerEvents(new InventoryListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new PlayerChangeWorldListener(), this);
|
getServer().getPluginManager().registerEvents(new PlayerChangeWorldListener(), this);
|
||||||
|
|
||||||
Objects.requireNonNull(getCommand("createpixelblock")).setExecutor(new CreatePixelBlockCommand());
|
Objects.requireNonNull(getCommand("createpixelblock")).setExecutor(new CreatePixelBlockCommand());
|
||||||
|
@ -0,0 +1,74 @@
|
|||||||
|
package eu.mhsl.minecraft.pixelblocks.listeners;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.inventory.*;
|
||||||
|
import org.bukkit.inventory.CraftingInventory;
|
||||||
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class InventoryListener implements Listener {
|
||||||
|
@EventHandler
|
||||||
|
static void onInventoryOpen(InventoryOpenEvent event) {
|
||||||
|
World playerWorld = event.getPlayer().getWorld();
|
||||||
|
World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
|
||||||
|
|
||||||
|
if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
|
||||||
|
if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
static void onInventoryDrag(InventoryDragEvent event) {
|
||||||
|
World playerWorld = event.getWhoClicked().getWorld();
|
||||||
|
World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
|
||||||
|
|
||||||
|
if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
|
||||||
|
if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
static void onInventoryClick(InventoryClickEvent event) {
|
||||||
|
World playerWorld = event.getWhoClicked().getWorld();
|
||||||
|
World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
|
||||||
|
|
||||||
|
if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
|
||||||
|
if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
static void onInventoryInteract(InventoryInteractEvent event) {
|
||||||
|
World playerWorld = event.getWhoClicked().getWorld();
|
||||||
|
World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
|
||||||
|
|
||||||
|
if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
|
||||||
|
if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
static void onInventoryMoveItem(InventoryMoveItemEvent event) {
|
||||||
|
World playerWorld = Objects.requireNonNull(event.getDestination().getLocation()).getWorld();
|
||||||
|
World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
|
||||||
|
|
||||||
|
if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
|
||||||
|
if(!(event.getDestination() instanceof PlayerInventory) && !(event.getDestination() instanceof CraftingInventory)) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -169,6 +169,8 @@ public class PixelBlock {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.remove();
|
this.remove();
|
||||||
this.pixelBlockLocation.getWorld().playSound(this.pixelBlockLocation, Sound.BLOCK_COPPER_BULB_BREAK, 1.0F, 30);
|
this.pixelBlockLocation.getWorld().playSound(this.pixelBlockLocation, Sound.BLOCK_COPPER_BULB_BREAK, 1.0F, 30);
|
||||||
this.pixelBlockLocation.getWorld().dropItem(this.pixelBlockLocation, this.getAsItem());
|
this.pixelBlockLocation.getWorld().dropItem(this.pixelBlockLocation, this.getAsItem());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user