1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Added blockhandler check before breaking sf blocks

This commit is contained in:
Redemption 2018-01-07 01:26:38 +01:00 committed by GitHub
parent 17cc989012
commit 7b9687f79d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -711,11 +711,15 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
if (!blockblacklist.contains(block.getType()) && !drops.isEmpty() && CSCoreLib.getLib().getProtectionManager().canBuild(UUID.fromString(BlockStorage.getBlockInfo(b, "owner")), block)) {
if(item != null) {
if(fits(b, item.getItem())) {
if(SlimefunItem.blockhandler.containsKey(item.getID())) {
if (SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.ANDROID_DIG)) {
pushItems(b, BlockStorage.retrieve(block));
if(SlimefunItem.blockhandler.containsKey(item.getID())) SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.ANDROID_DIG);
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
block.setType(Material.AIR);
}
}
}
}else {
ItemStack[] items = drops.toArray(new ItemStack[drops.size()]);
if (fits(b, items)) {
@ -734,8 +738,10 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
try {
if(item != null) {
if(fits(b, item.getItem())) {
if(SlimefunItem.blockhandler.containsKey(item.getID())) {
if (SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.ANDROID_DIG)) {
pushItems(b, BlockStorage.retrieve(block));
if(SlimefunItem.blockhandler.containsKey(item.getID())) SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.ANDROID_DIG);
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
block.setType(Material.SKULL);
@ -749,6 +755,8 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
BlockStorage.moveBlockInfo(b, block);
}
}
}
}
else {
ItemStack[] items = drops.toArray(new ItemStack[drops.size()]);
if (fits(b, items)) {