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:
parent
17cc989012
commit
7b9687f79d
@ -711,10 +711,14 @@ 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())) {
|
||||
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);
|
||||
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()]);
|
||||
@ -734,19 +738,23 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
|
||||
try {
|
||||
if(item != null) {
|
||||
if(fits(b, item.getItem())) {
|
||||
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);
|
||||
block.setData((byte) 1);
|
||||
|
||||
Skull skull = (Skull) block.getState();
|
||||
skull.setRotation(face);
|
||||
skull.update(true, false);
|
||||
CustomSkull.setSkull(block, CustomSkull.getTexture(getItem()));
|
||||
b.setType(Material.AIR);
|
||||
BlockStorage.moveBlockInfo(b, block);
|
||||
if(SlimefunItem.blockhandler.containsKey(item.getID())) {
|
||||
if (SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.ANDROID_DIG)) {
|
||||
pushItems(b, BlockStorage.retrieve(block));
|
||||
|
||||
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
|
||||
|
||||
block.setType(Material.SKULL);
|
||||
block.setData((byte) 1);
|
||||
|
||||
Skull skull = (Skull) block.getState();
|
||||
skull.setRotation(face);
|
||||
skull.update(true, false);
|
||||
CustomSkull.setSkull(block, CustomSkull.getTexture(getItem()));
|
||||
b.setType(Material.AIR);
|
||||
BlockStorage.moveBlockInfo(b, block);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -1551,4 +1559,4 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user