forked from Upstream/mmocore
!Ignore cancelled
This commit is contained in:
parent
83466f92f9
commit
933357ac25
@ -25,10 +25,10 @@ import net.Indyuce.mmocore.manager.RestrictionManager.BlockPermissions;
|
|||||||
public class BlockListener implements Listener {
|
public class BlockListener implements Listener {
|
||||||
private static final BlockFace[] order = { BlockFace.UP, BlockFace.DOWN, BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH };
|
private static final BlockFace[] order = { BlockFace.UP, BlockFace.DOWN, BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH };
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
public void a(BlockBreakEvent event) {
|
public void a(BlockBreakEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
if (player.getGameMode() == GameMode.CREATIVE || event.isCancelled())
|
if (player.getGameMode() == GameMode.CREATIVE)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
String savedData = event.getBlock().getBlockData().getAsString();
|
String savedData = event.getBlock().getBlockData().getAsString();
|
||||||
@ -38,7 +38,7 @@ public class BlockListener implements Listener {
|
|||||||
*/
|
*/
|
||||||
boolean customMine = MMOCore.plugin.mineManager.isEnabled(player, block.getLocation());
|
boolean customMine = MMOCore.plugin.mineManager.isEnabled(player, block.getLocation());
|
||||||
ItemStack item = player.getInventory().getItemInMainHand();
|
ItemStack item = player.getInventory().getItemInMainHand();
|
||||||
|
|
||||||
if (customMine) {
|
if (customMine) {
|
||||||
|
|
||||||
BlockInfo info = MMOCore.plugin.mineManager.getInfo(block);
|
BlockInfo info = MMOCore.plugin.mineManager.getInfo(block);
|
||||||
@ -56,7 +56,7 @@ public class BlockListener implements Listener {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BlockPermissions perms = MMOCore.plugin.restrictionManager.getPermissions(item.getType());
|
BlockPermissions perms = MMOCore.plugin.restrictionManager.getPermissions(item.getType());
|
||||||
if (perms == null) {
|
if (perms == null) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -68,7 +68,6 @@ public class BlockListener implements Listener {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* remove vanilla drops if needed
|
* remove vanilla drops if needed
|
||||||
@ -79,19 +78,20 @@ public class BlockListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* apply triggers, add experience info to the event so the other events
|
* apply triggers, add experience info to the event so the other
|
||||||
* can give exp to other TOOLS and display HOLOGRAMS
|
* events can give exp to other TOOLS and display HOLOGRAMS
|
||||||
*/
|
*/
|
||||||
if (info.hasTriggers()) {
|
if (info.hasTriggers()) {
|
||||||
PlayerData playerData = PlayerData.get(player);
|
PlayerData playerData = PlayerData.get(player);
|
||||||
info.getTriggers().forEach(trigger -> {
|
info.getTriggers().forEach(trigger -> {
|
||||||
if(!block.hasMetadata("player_placed") && trigger instanceof ExperienceTrigger)
|
if (!block.hasMetadata("player_placed") && trigger instanceof ExperienceTrigger)
|
||||||
trigger.apply(playerData);
|
trigger.apply(playerData);
|
||||||
});
|
});
|
||||||
if(!block.hasMetadata("player_placed") && info.hasExperience() && MMOCore.plugin.hasHolograms())
|
if (!block.hasMetadata("player_placed") && info.hasExperience() && MMOCore.plugin.hasHolograms())
|
||||||
MMOCore.plugin.hologramSupport.displayIndicator(block.getLocation().add(.5, 1.5, .5), MMOCore.plugin.configManager.getSimpleMessage("exp-hologram", "exp", "" + called.getGainedExperience().getValue()).message(), player);
|
MMOCore.plugin.hologramSupport.displayIndicator(block.getLocation().add(.5, 1.5, .5),
|
||||||
|
MMOCore.plugin.configManager.getSimpleMessage("exp-hologram", "exp", "" + called.getGainedExperience().getValue()).message(), player);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* apply drop tables
|
* apply drop tables
|
||||||
*/
|
*/
|
||||||
@ -101,7 +101,7 @@ public class BlockListener implements Listener {
|
|||||||
if (drop.getType() != Material.AIR && drop.getAmount() > 0)
|
if (drop.getType() != Material.AIR && drop.getAmount() > 0)
|
||||||
block.getWorld().dropItemNaturally(dropLocation, drop);
|
block.getWorld().dropItemNaturally(dropLocation, drop);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* enable block regen.
|
* enable block regen.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user