mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Merge pull request #674 from VoidAngel/master
Updated saw mill protection check
This commit is contained in:
commit
183a34a99c
@ -1887,10 +1887,17 @@ public class SlimefunSetup {
|
||||
@Override
|
||||
public boolean onInteract(Player p, MultiBlock mb, Block b) {
|
||||
if (mb.isMultiBlock(SlimefunItem.getByID("SAW_MILL"))) {
|
||||
if(CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true)) {
|
||||
if(CSCoreLib.getLib().getProtectionManager().canBuild(p.getUniqueId(), b.getRelative(BlockFace.UP), true)) {
|
||||
if (Slimefun.hasUnlocked(p, SlimefunItems.SAW_MILL, true)) {
|
||||
if (b.getRelative(BlockFace.UP).getType() == Material.LOG) BlockBreaker.breakBlock(p, b.getRelative(BlockFace.UP), Arrays.asList(new ItemStack[] {new CustomItem(Material.WOOD, b.getRelative(BlockFace.UP).getData() % 4, 8)}), true);
|
||||
else if (b.getRelative(BlockFace.UP).getType() == Material.LOG_2) BlockBreaker.breakBlock(p, b.getRelative(BlockFace.UP), Arrays.asList(new ItemStack[] {new CustomItem(Material.WOOD, (b.getRelative(BlockFace.UP).getData() % 2) + 4, 8)}), true);
|
||||
if (b.getRelative(BlockFace.UP).getType() == Material.LOG || b.getRelative(BlockFace.UP).getType() == Material.LOG_2) {
|
||||
Block log = b.getRelative(BlockFace.UP);
|
||||
if(!BlockStorage.hasBlockInfo(log)) {
|
||||
ItemStack item = log.getType() == Material.LOG ? new CustomItem(Material.WOOD, log.getData() % 4, 8) : new CustomItem(Material.WOOD, (log.getData() % 2) + 4, 8);
|
||||
log.getWorld().dropItemNaturally(log.getLocation(), item);
|
||||
log.getWorld().playEffect(log.getLocation(), Effect.STEP_SOUND, log.getType());
|
||||
log.setType(Material.AIR);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -8,6 +8,7 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BrewingStand;
|
||||
import org.bukkit.block.Hopper;
|
||||
import org.bukkit.block.Skull;
|
||||
import org.bukkit.entity.FallingBlock;
|
||||
@ -24,7 +25,9 @@ import org.bukkit.event.inventory.InventoryMoveItemEvent;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
import org.bukkit.inventory.BrewerInventory;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
@ -386,4 +389,12 @@ public class ItemListener implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler (ignoreCancelled = true)
|
||||
public void onPreBrew(InventoryClickEvent e) {
|
||||
Inventory inventory = e.getInventory();
|
||||
if (inventory instanceof BrewerInventory && inventory.getHolder() instanceof BrewingStand) {
|
||||
if(e.getRawSlot() < inventory.getSize()) e.setCancelled(SlimefunItem.getByItem(e.getCursor()) != null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package me.mrCookieSlime.Slimefun.listeners;
|
||||
|
||||
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
||||
@ -20,7 +22,7 @@ public class ItemPickupListener implements Listener {
|
||||
@EventHandler
|
||||
public void onPickup(PlayerPickupItemEvent e) {
|
||||
if (e.getItem().hasMetadata("no_pickup")) e.setCancelled(true);
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith("&5&dALTAR &3Probe - &e")) {
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith(ChatColor.translateAlternateColorCodes('&', "&5&dALTAR &3Probe - &e"))) {
|
||||
e.setCancelled(true);
|
||||
e.getItem().remove();
|
||||
}
|
||||
@ -29,7 +31,7 @@ public class ItemPickupListener implements Listener {
|
||||
@EventHandler
|
||||
public void onMinecartPickup(InventoryPickupItemEvent e) {
|
||||
if (e.getItem().hasMetadata("no_pickup")) e.setCancelled(true);
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith("&5&dALTAR &3Probe - &e")) {
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith(ChatColor.translateAlternateColorCodes('&', "&5&dALTAR &3Probe - &e"))) {
|
||||
e.setCancelled(true);
|
||||
e.getItem().remove();
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package me.mrCookieSlime.Slimefun.listeners;
|
||||
|
||||
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityPickupItemEvent;
|
||||
@ -22,7 +24,7 @@ public class ItemPickupListener_1_12 implements Listener {
|
||||
@EventHandler
|
||||
public void onPickup(EntityPickupItemEvent e) {
|
||||
if (e.getItem().hasMetadata("no_pickup")) e.setCancelled(true);
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith("&5&dALTAR &3Probe - &e")) {
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith(ChatColor.translateAlternateColorCodes('&', "&5&dALTAR &3Probe - &e"))) {
|
||||
e.setCancelled(true);
|
||||
e.getItem().remove();
|
||||
}
|
||||
@ -31,7 +33,7 @@ public class ItemPickupListener_1_12 implements Listener {
|
||||
@EventHandler
|
||||
public void onMinecartPickup(InventoryPickupItemEvent e) {
|
||||
if (e.getItem().hasMetadata("no_pickup")) e.setCancelled(true);
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith("&5&dALTAR &3Probe - &e")) {
|
||||
else if (!e.getItem().hasMetadata("no_pickup") && e.getItem().getItemStack().hasItemMeta() && e.getItem().getItemStack().getItemMeta().hasDisplayName() && e.getItem().getItemStack().getItemMeta().getDisplayName().startsWith(ChatColor.translateAlternateColorCodes('&', "&5&dALTAR &3Probe - &e"))) {
|
||||
e.setCancelled(true);
|
||||
e.getItem().remove();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user