Commits
md_5 authored c1b529eddc7
354 354 | + EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(world, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), (EntityLiving) null); |
355 355 | + // CraftBukkit end |
356 356 | |
357 357 | world.addEntity(entitytntprimed); |
358 358 | world.a((EntityHuman) null, entitytntprimed.locX, entitytntprimed.locY, entitytntprimed.locZ, SoundEffects.gz, SoundCategory.BLOCKS, 1.0F, 1.0F); |
359 359 | - --itemstack.count; |
360 360 | + // --itemstack.count; // CraftBukkit - handled above |
361 361 | return itemstack; |
362 362 | } |
363 363 | }); |
364 - | |
364 + | |
365 + | BlockPosition blockposition = isourceblock.getBlockPosition().shift(enumdirection); |
366 + | BlockSkull blockskull = Blocks.SKULL; |
367 + | |
368 + | + // CraftBukkit start |
369 + | + org.bukkit.block.Block bukkitBlock = world.getWorld().getBlockAt(isourceblock.getBlockPosition().getX(), isourceblock.getBlockPosition().getY(), isourceblock.getBlockPosition().getZ()); |
370 + | + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack); |
371 + | + |
372 + | + BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ())); |
373 + | + if (!BlockDispenser.eventFired) { |
374 + | + world.getServer().getPluginManager().callEvent(event); |
375 + | + } |
376 + | + |
377 + | + if (event.isCancelled()) { |
378 + | + return itemstack; |
379 + | + } |
380 + | + |
381 + | + if (!event.getItem().equals(craftItem)) { |
382 + | + // Chain to handler for new item |
383 + | + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); |
384 + | + IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.REGISTRY.get(eventStack.getItem()); |
385 + | + if (idispensebehavior != IDispenseBehavior.NONE && idispensebehavior != this) { |
386 + | + idispensebehavior.a(isourceblock, eventStack); |
387 + | + return itemstack; |
388 + | + } |
389 + | + } |
390 + | + // CraftBukkit end |
391 + | + |
392 + | if (world.isEmpty(blockposition) && blockskull.b(world, blockposition, itemstack)) { |
393 + | if (!world.isClientSide) { |
394 + | world.setTypeAndData(blockposition, blockskull.getBlockData().set(BlockSkull.FACING, EnumDirection.UP), 3); |
395 + | |
396 + | BlockPosition blockposition = isourceblock.getBlockPosition().shift((EnumDirection) isourceblock.e().get(BlockDispenser.FACING)); |
397 + | BlockPumpkin blockpumpkin = (BlockPumpkin) Blocks.PUMPKIN; |
398 + | |
399 + | + // CraftBukkit start |
400 + | + org.bukkit.block.Block bukkitBlock = world.getWorld().getBlockAt(isourceblock.getBlockPosition().getX(), isourceblock.getBlockPosition().getY(), isourceblock.getBlockPosition().getZ()); |
401 + | + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack); |
402 + | + |
403 + | + BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ())); |
404 + | + if (!BlockDispenser.eventFired) { |
405 + | + world.getServer().getPluginManager().callEvent(event); |
406 + | + } |
407 + | + |
408 + | + if (event.isCancelled()) { |
409 + | + return itemstack; |
410 + | + } |
411 + | + |
412 + | + if (!event.getItem().equals(craftItem)) { |
413 + | + // Chain to handler for new item |
414 + | + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); |
415 + | + IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.REGISTRY.get(eventStack.getItem()); |
416 + | + if (idispensebehavior != IDispenseBehavior.NONE && idispensebehavior != this) { |
417 + | + idispensebehavior.a(isourceblock, eventStack); |
418 + | + return itemstack; |
419 + | + } |
420 + | + } |
421 + | + // CraftBukkit end |
422 + | + |
423 + | if (world.isEmpty(blockposition) && blockpumpkin.b(world, blockposition)) { |
424 + | if (!world.isClientSide) { |
425 + | world.setTypeAndData(blockposition, blockpumpkin.getBlockData(), 3); |
426 + | |
365 427 | d3 = 0.0D; |
366 428 | } |
367 429 | |
368 430 | - EntityBoat entityboat = new EntityBoat(world, d0, d1 + d3, d2); |
369 431 | + // EntityBoat entityboat = new EntityBoat(world, d0, d1 + d3, d2); |
370 432 | + // CraftBukkit start |
371 433 | + ItemStack itemstack1 = itemstack.cloneAndSubtract(1); |
372 434 | + org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockPosition().getX(), isourceblock.getBlockPosition().getY(), isourceblock.getBlockPosition().getZ()); |
373 435 | + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); |
374 436 | + |