Fix BlockCanBuildEvent returning null. Fixes BUKKIT-4972
A Block object is now passed in place of the previous id value, so the obfuscated name for all subsequent arguments was shifted. As such, BlockCanBuildEvent was using the incorrect values for both the material and the location of the event. This is corrected by swapping the values into the correct order and providing an id based upon the Block passed into the method.
Dieser Commit ist enthalten in:
Ursprung
803268867e
Commit
a721fe8473
@ -12,6 +12,7 @@ import java.util.concurrent.Callable;
|
||||
|
||||
// CraftBukkit start
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.craftbukkit.util.LongHashSet;
|
||||
import org.bukkit.craftbukkit.util.UnsafeList;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
@ -2330,7 +2331,7 @@ public abstract class World implements IBlockAccess {
|
||||
boolean defaultReturn = axisalignedbb != null && !this.a(axisalignedbb, entity) ? false : (block1.getMaterial() == Material.ORIENTABLE && block == Blocks.ANVIL ? true : block1.getMaterial().isReplaceable() && block.canPlace(this, i, j, k, l, itemstack));
|
||||
|
||||
// CraftBukkit start
|
||||
BlockCanBuildEvent event = new BlockCanBuildEvent(this.getWorld().getBlockAt(j, k, l), i, defaultReturn);
|
||||
BlockCanBuildEvent event = new BlockCanBuildEvent(this.getWorld().getBlockAt(i, j, k), CraftMagicNumbers.getId(block), defaultReturn);
|
||||
this.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
return event.isBuildable();
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren