Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-22 14:28:09 +01:00
b00de5f176
Added newlines at the end of files Fixed improper line endings on some files Matched start - end comments Added some missing comments for diffs Fixed syntax on some spots Minimized some diff Removed some no longer used files Added comment on some required files with no changes Fixed imports of items used once Added imports for items used more than once
83 Zeilen
2.5 KiB
Java
83 Zeilen
2.5 KiB
Java
package net.minecraft.server;
|
|
|
|
// CraftBukkit start
|
|
import org.bukkit.craftbukkit.block.CraftBlockState;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.block.BlockIgniteEvent;
|
|
// CraftBukkit end
|
|
|
|
public class ItemFlintAndSteel extends Item {
|
|
|
|
public ItemFlintAndSteel(int i) {
|
|
super(i);
|
|
this.maxStackSize = 1;
|
|
this.setMaxDurability(64);
|
|
}
|
|
|
|
public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l) {
|
|
int clickedX = i, clickedY = j, clickedZ = k; // CraftBukkit
|
|
|
|
if (l == 0) {
|
|
--j;
|
|
}
|
|
|
|
if (l == 1) {
|
|
++j;
|
|
}
|
|
|
|
if (l == 2) {
|
|
--k;
|
|
}
|
|
|
|
if (l == 3) {
|
|
++k;
|
|
}
|
|
|
|
if (l == 4) {
|
|
--i;
|
|
}
|
|
|
|
if (l == 5) {
|
|
++i;
|
|
}
|
|
|
|
if (!entityhuman.d(i, j, k)) {
|
|
return false;
|
|
} else {
|
|
int i1 = world.getTypeId(i, j, k);
|
|
|
|
if (i1 == 0) {
|
|
// CraftBukkit start - store the clicked block
|
|
org.bukkit.block.Block blockClicked = world.getWorld().getBlockAt(i, j, k);
|
|
Player thePlayer = (Player) entityhuman.getBukkitEntity();
|
|
|
|
BlockIgniteEvent eventIgnite = new BlockIgniteEvent(blockClicked, BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL, thePlayer);
|
|
world.getServer().getPluginManager().callEvent(eventIgnite);
|
|
|
|
if (eventIgnite.isCancelled()) {
|
|
itemstack.damage(1, entityhuman);
|
|
return false;
|
|
}
|
|
|
|
CraftBlockState blockState = CraftBlockState.getBlockState(world, i, j, k);
|
|
// CraftBukkit end
|
|
|
|
world.makeSound((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D, "fire.ignite", 1.0F, c.nextFloat() * 0.4F + 0.8F);
|
|
world.setTypeId(i, j, k, Block.FIRE.id);
|
|
|
|
// CraftBukkit start
|
|
org.bukkit.event.block.BlockPlaceEvent placeEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(world, entityhuman, blockState, clickedX, clickedY, clickedZ);
|
|
|
|
if (placeEvent.isCancelled() || !placeEvent.canBuild()) {
|
|
placeEvent.getBlockPlaced().setTypeIdAndData(0, (byte) 0, false);
|
|
return false;
|
|
}
|
|
// CraftBukkit end
|
|
}
|
|
|
|
itemstack.damage(1, entityhuman);
|
|
return true;
|
|
}
|
|
}
|
|
}
|