当前位置: 首页>>代码示例>>Java>>正文


Java CraftBlockState类代码示例

本文整理汇总了Java中org.bukkit.craftbukkit.block.CraftBlockState的典型用法代码示例。如果您正苦于以下问题:Java CraftBlockState类的具体用法?Java CraftBlockState怎么用?Java CraftBlockState使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


CraftBlockState类属于org.bukkit.craftbukkit.block包,在下文中一共展示了CraftBlockState类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: generateTree

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) {
    world.captureTreeGeneration = true;
    world.captureBlockStates = true;
    boolean grownTree = generateTree(loc, type);
    world.captureBlockStates = false;
    world.captureTreeGeneration = false;
    if (grownTree) { // Copy block data to delegate
        for (BlockState blockstate : world.capturedBlockStates) {
            int x = blockstate.getX();
            int y = blockstate.getY();
            int z = blockstate.getZ();
            net.minecraft.server.Block oldBlock = world.getType(x, y, z);
            int typeId = blockstate.getTypeId();
            int data = blockstate.getRawData();
            int flag = ((CraftBlockState)blockstate).getFlag();
            delegate.setTypeIdAndData(x, y, z, typeId, data);
            net.minecraft.server.Block newBlock = world.getType(x, y, z);
            world.notifyAndUpdatePhysics(x, y, z, null, oldBlock, newBlock, flag);
        }
        world.capturedBlockStates.clear();
        return true;
    } else {
        world.capturedBlockStates.clear();
        return false;
    }
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:27,代码来源:CraftWorld.java

示例2: handleBlockGrowEvent

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public static void handleBlockGrowEvent(World world, int x, int y, int z, net.minecraft.server.Block type, int data) {
    Block block = world.getWorld().getBlockAt(x, y, z);
    CraftBlockState state = (CraftBlockState) block.getState();
    state.setTypeId(net.minecraft.server.Block.getId(type));
    state.setRawData((byte) data);

    BlockGrowEvent event = new BlockGrowEvent(block, state);
    Bukkit.getPluginManager().callEvent(event);

    if (!event.isCancelled()) {
        state.update(true);
    }
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:14,代码来源:CraftEventFactory.java

示例3: generateTree

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) {
    world.captureTreeGeneration = true;
    world.captureBlockStates = true;
    boolean grownTree = generateTree(loc, type);
    world.captureBlockStates = false;
    world.captureTreeGeneration = false;
    if (grownTree) { // Copy block data to delegate
        for (BlockState blockstate : world.capturedBlockStates) {
            int x = blockstate.getX();
            int y = blockstate.getY();
            int z = blockstate.getZ();
            BlockPosition position = new BlockPosition(x, y, z);
            net.minecraft.server.Block oldBlock = world.getType(position).getBlock();
            int typeId = blockstate.getTypeId();
            int data = blockstate.getRawData();
            int flag = ((CraftBlockState)blockstate).getFlag();
            delegate.setTypeIdAndData(x, y, z, typeId, data);
            net.minecraft.server.Block newBlock = world.getType(position).getBlock();
            world.notifyAndUpdatePhysics(position, null, oldBlock, newBlock, flag);
        }
        world.capturedBlockStates.clear();
        return true;
    } else {
        world.capturedBlockStates.clear();
        return false;
    }
}
 
开发者ID:tgnmc,项目名称:Craftbukkit,代码行数:28,代码来源:CraftWorld.java

示例4: handleBlockGrowEvent

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public static void handleBlockGrowEvent(World world, int x, int y, int z, int type, int data) {
    Block block = world.getWorld().getBlockAt(x, y, z);
    CraftBlockState state = (CraftBlockState) block.getState();
    state.setTypeId(type);
    state.setRawData((byte) data);

    BlockGrowEvent event = new BlockGrowEvent(block, state);
    Bukkit.getPluginManager().callEvent(event);

    if (!event.isCancelled()) {
        state.update(true);
    }
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:14,代码来源:CraftEventFactory.java

示例5: generateTree

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) {
    world.captureTreeGeneration = true;
    world.captureBlockStates = true;
    boolean grownTree = generateTree(loc, type);
    world.captureBlockStates = false;
    world.captureTreeGeneration = false;
    if (grownTree) { // Copy block data to delegate
        for (BlockState blockstate : world.capturedBlockStates) {
            int x = blockstate.getX();
            int y = blockstate.getY();
            int z = blockstate.getZ();
            BlockPosition position = new BlockPosition(x, y, z);
            net.minecraft.server.IBlockData oldBlock = world.getType(position);
            int typeId = blockstate.getTypeId();
            int data = blockstate.getRawData();
            int flag = ((CraftBlockState)blockstate).getFlag();
            delegate.setTypeIdAndData(x, y, z, typeId, data);
            net.minecraft.server.IBlockData newBlock = world.getType(position);
            world.notifyAndUpdatePhysics(position, null, oldBlock, newBlock, flag);
        }
        world.capturedBlockStates.clear();
        return true;
    } else {
        world.capturedBlockStates.clear();
        return false;
    }
}
 
开发者ID:bergerkiller,项目名称:SpigotSource,代码行数:28,代码来源:CraftWorld.java

示例6: handleBlockGrowEvent

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public static boolean handleBlockGrowEvent(World world, int x, int y, int z, net.minecraft.server.Block type, int data) {
    Block block = world.getWorld().getBlockAt(x, y, z);
    CraftBlockState state = (CraftBlockState) block.getState();
    state.setTypeId(net.minecraft.server.Block.getId(type));
    state.setRawData((byte) data);

    BlockGrowEvent event = new BlockGrowEvent(block, state);
    Bukkit.getPluginManager().callEvent(event);

    if (!event.isCancelled()) {
        state.update(true);
    }
    
    return !event.isCancelled();
}
 
开发者ID:bergerkiller,项目名称:SpigotSource,代码行数:16,代码来源:CraftEventFactory.java

示例7: handleBlockGrowEvent

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public static void handleBlockGrowEvent(net.minecraft.world.World world, int x, int y, int z, int type, int data) {
    Block block = world.getWorld().getBlockAt(x, y, z);
    CraftBlockState state = (CraftBlockState) block.getState();
    state.setTypeId(type);
    state.setRawData((byte) data);

    BlockGrowEvent event = new BlockGrowEvent(block, state);
    Bukkit.getPluginManager().callEvent(event);

    if (!event.isCancelled()) {
        state.update(true);
    }
}
 
开发者ID:agaricusb,项目名称:MCPBukkit,代码行数:14,代码来源:CraftEventFactory.java

示例8: setTypeAndData

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public void setTypeAndData(int x, int y, int z, net.minecraft.block.Block block, int data, int light) {
    CraftBlockState state = (CraftBlockState)world.getBlockAt(x, y, z).getState();
    state.setTypeId(net.minecraft.block.Block.getIdFromBlock(block));
    state.setRawData((byte) data);
    list.add(state);
}
 
开发者ID:CyberdyneCC,项目名称:Thermos,代码行数:7,代码来源:BlockStateListPopulator.java

示例9: generateTree

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) {
    net.minecraft.world.gen.feature.WorldGenerator gen;
    switch (type) {
    case BIG_TREE:
        gen = new net.minecraft.world.gen.feature.WorldGenBigTree(true);
        break;
    case BIRCH:
        gen = new net.minecraft.world.gen.feature.WorldGenForest(true, false);
        break;
    case REDWOOD:
        gen = new net.minecraft.world.gen.feature.WorldGenTaiga2(true);
        break;
    case TALL_REDWOOD:
        gen = new net.minecraft.world.gen.feature.WorldGenTaiga1();
        break;
    case JUNGLE:
        gen = new net.minecraft.world.gen.feature.WorldGenMegaJungle(true, 10, 20, 3, 3); // Magic values as in BlockSapling
        break;
    case SMALL_JUNGLE:
        gen = new net.minecraft.world.gen.feature.WorldGenTrees(true, 4 + rand.nextInt(7), 3, 3, false);
        break;
    case JUNGLE_BUSH:
        gen = new net.minecraft.world.gen.feature.WorldGenShrub(3, 0);
        break;
    case RED_MUSHROOM:
        gen = new net.minecraft.world.gen.feature.WorldGenBigMushroom(1);
        break;
    case BROWN_MUSHROOM:
        gen = new net.minecraft.world.gen.feature.WorldGenBigMushroom(0);
        break;
    case SWAMP:
        gen = new net.minecraft.world.gen.feature.WorldGenSwamp();
        break;
    case ACACIA:
        gen = new net.minecraft.world.gen.feature.WorldGenSavannaTree(true);
        break;
    case DARK_OAK:
        gen = new net.minecraft.world.gen.feature.WorldGenCanopyTree(true);
        break;
    case MEGA_REDWOOD:
        gen = new net.minecraft.world.gen.feature.WorldGenMegaPineTree(true, rand.nextBoolean());
        break;
    case TALL_BIRCH:
        gen = new net.minecraft.world.gen.feature.WorldGenForest(true, true);
        break;
    case TREE:
    default:
        gen = new net.minecraft.world.gen.feature.WorldGenTrees(true);
        break;
    }

    world.captureTreeGeneration = true;
    world.captureBlockStates = true;
    boolean grownTree = gen.generate(world, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ());
    world.captureBlockStates = false;
    world.captureTreeGeneration = false;
    if (grownTree) { // Copy block data to delegate
        for (BlockState blockstate : world.capturedBlockStates) {
            int x = blockstate.getX();
            int y = blockstate.getY();
            int z = blockstate.getZ();
            net.minecraft.block.Block oldBlock = world.getBlock(x, y, z); 
            int newId = blockstate.getTypeId();
            int data = blockstate.getRawData();
            int flag = ((CraftBlockState)blockstate).getFlag();
            delegate.setTypeIdAndData(x, y, z, newId, data);
            net.minecraft.block.Block newBlock = world.getBlock(x, y, z); 
            world.markAndNotifyBlock(x, y, z, null, oldBlock, newBlock, flag);
        }
        world.capturedBlockStates.clear();
        return true;
    }
    else {
        world.capturedBlockStates.clear();
        return false;
    }
}
 
开发者ID:alexandrage,项目名称:CauldronGit,代码行数:78,代码来源:CraftWorld.java

示例10: interactWith

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l, float f, float f1, float f2) {
    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.a(i, j, k, l, itemstack)) {
        return false;
    } else {
        if (world.getType(i, j, k).getMaterial() == Material.AIR) {
            // CraftBukkit start - Store the clicked block
            if (CraftEventFactory.callBlockIgniteEvent(world, i, j, k, org.bukkit.event.block.BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL, entityhuman).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, g.nextFloat() * 0.4F + 0.8F);
            world.setTypeUpdate(i, j, k, Blocks.FIRE);

            // CraftBukkit start
            org.bukkit.event.block.BlockPlaceEvent placeEvent = 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;
    }
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:57,代码来源:ItemFlintAndSteel.java

示例11: setBlockState

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
@Override
public void setBlockState(BlockState blockState) {
    Validate.notNull(blockState, "blockState must not be null");
    TileEntity te = ((CraftBlockState) blockState).getTileEntity();
    Validate.notNull(te, "Invalid blockState");

    boolean valid;
    switch (material) {
    case SIGN:
    case SIGN_POST:
    case WALL_SIGN:
        valid = te instanceof TileEntitySign;
        break;
    case CHEST:
    case TRAPPED_CHEST:
        valid = te instanceof TileEntityChest;
        break;
    case BURNING_FURNACE:
    case FURNACE:
        valid = te instanceof TileEntityFurnace;
        break;
    case DISPENSER:
        valid = te instanceof TileEntityDispenser;
        break;
    case DROPPER:
        valid = te instanceof TileEntityDropper;
        break;
    case HOPPER:
        valid = te instanceof TileEntityHopper;
        break;
    case MOB_SPAWNER:
        valid = te instanceof TileEntityMobSpawner;
        break;
    case NOTE_BLOCK:
        valid = te instanceof TileEntityNote;
        break;
    case JUKEBOX:
        valid = te instanceof BlockJukeBox.TileEntityRecordPlayer;
        break;
    case BREWING_STAND:
        valid = te instanceof TileEntityBrewingStand;
        break;
    case SKULL:
        valid = te instanceof TileEntitySkull;
        break;
    case COMMAND:
        valid = te instanceof TileEntityCommand;
        break;
    case BEACON:
        valid = te instanceof TileEntityBeacon;
        break;
    case BANNER:
    case WALL_BANNER:
    case STANDING_BANNER:
        valid = te instanceof TileEntityBanner;
        break;
    default:
        valid = false;
        break;
    }

    Validate.isTrue(valid, "Invalid blockState for " + material);

    blockEntityTag = new NBTTagCompound();
    te.b(blockEntityTag);
}
 
开发者ID:tgnmc,项目名称:Craftbukkit,代码行数:67,代码来源:CraftMetaBlockState.java

示例12: interactWith

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l, float f, float f1, float f2) {
    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.a(i, j, k, l, itemstack)) {
        return false;
    } else {
        int i1 = world.getTypeId(i, j, k);

        if (i1 == 0) {
            // CraftBukkit start - Store the clicked block
            if (CraftEventFactory.callBlockIgniteEvent(world, i, j, k, org.bukkit.event.block.BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL, entityhuman).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, Item.f.nextFloat() * 0.4F + 0.8F); // CraftBukkit - fix compilation
            world.setTypeIdUpdate(i, j, k, Block.FIRE.id);

            // CraftBukkit start
            org.bukkit.event.block.BlockPlaceEvent placeEvent = 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;
    }
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:60,代码来源:ItemFlintAndSteel.java

示例13: onItemUse

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_)
{
    int clickedX = p_77648_4_, clickedY = p_77648_5_, clickedZ = p_77648_6_; // CraftBukkit

    if (p_77648_7_ == 0)
    {
        --p_77648_5_;
    }

    if (p_77648_7_ == 1)
    {
        ++p_77648_5_;
    }

    if (p_77648_7_ == 2)
    {
        --p_77648_6_;
    }

    if (p_77648_7_ == 3)
    {
        ++p_77648_6_;
    }

    if (p_77648_7_ == 4)
    {
        --p_77648_4_;
    }

    if (p_77648_7_ == 5)
    {
        ++p_77648_4_;
    }

    if (!p_77648_2_.canPlayerEdit(p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_, p_77648_1_))
    {
        return false;
    }
    else
    {
        if (p_77648_3_.isAirBlock(p_77648_4_, p_77648_5_, p_77648_6_))
        {
            // CraftBukkit start - Store the clicked block
            if (CraftEventFactory.callBlockIgniteEvent(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_, org.bukkit.event.block.BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL, p_77648_2_).isCancelled())
            {
                p_77648_1_.damageItem(1, p_77648_2_);
                return false;
            }

            CraftBlockState blockState = CraftBlockState.getBlockState(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_);
            // CraftBukkit end
            p_77648_3_.playSoundEffect((double)p_77648_4_ + 0.5D, (double)p_77648_5_ + 0.5D, (double)p_77648_6_ + 0.5D, "fire.ignite", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F);
            p_77648_3_.setBlock(p_77648_4_, p_77648_5_, p_77648_6_, Blocks.fire);
            // CraftBukkit start
            org.bukkit.event.block.BlockPlaceEvent placeEvent = CraftEventFactory.callBlockPlaceEvent(p_77648_3_, p_77648_2_, blockState, clickedX, clickedY, clickedZ);

            if (placeEvent.isCancelled() || !placeEvent.canBuild())
            {
                placeEvent.getBlockPlaced().setTypeIdAndData(0, (byte) 0, false);
                return false;
            }

            // CraftBukkit end
        }

        p_77648_1_.damageItem(1, p_77648_2_);
        return true;
    }
}
 
开发者ID:xtrafrancyz,项目名称:Cauldron,代码行数:70,代码来源:ItemFlintAndSteel.java

示例14: setBlockState

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
@Override
public void setBlockState(BlockState blockState) {
    Validate.notNull(blockState, "blockState must not be null");
    TileEntity te = ((CraftBlockState) blockState).getTileEntity();
    Validate.notNull(te, "Invalid blockState");

    boolean valid;
    switch (material) {
    case SIGN:
    case SIGN_POST:
    case WALL_SIGN:
        valid = te instanceof TileEntitySign;
        break;
    case CHEST:
    case TRAPPED_CHEST:
        valid = te instanceof TileEntityChest;
        break;
    case BURNING_FURNACE:
    case FURNACE:
        valid = te instanceof TileEntityFurnace;
        break;
    case DISPENSER:
        valid = te instanceof TileEntityDispenser;
        break;
    case DROPPER:
        valid = te instanceof TileEntityDropper;
        break;
    case END_GATEWAY:
        valid = te instanceof TileEntityEndGateway;
        break;
    case HOPPER:
        valid = te instanceof TileEntityHopper;
        break;
    case MOB_SPAWNER:
        valid = te instanceof TileEntityMobSpawner;
        break;
    case NOTE_BLOCK:
        valid = te instanceof TileEntityNote;
        break;
    case JUKEBOX:
        valid = te instanceof BlockJukeBox.TileEntityRecordPlayer;
        break;
    case BREWING_STAND:
        valid = te instanceof TileEntityBrewingStand;
        break;
    case SKULL:
        valid = te instanceof TileEntitySkull;
        break;
    case COMMAND:
    case COMMAND_REPEATING:
    case COMMAND_CHAIN:
        valid = te instanceof TileEntityCommand;
        break;
    case BEACON:
        valid = te instanceof TileEntityBeacon;
        break;
    case SHIELD:
    case BANNER:
    case WALL_BANNER:
    case STANDING_BANNER:
        valid = te instanceof TileEntityBanner;
        break;
    case FLOWER_POT_ITEM:
        valid = te instanceof TileEntityFlowerPot;
        break;
    default:
        valid = false;
        break;
    }

    Validate.isTrue(valid, "Invalid blockState for " + material);

    blockEntityTag = new NBTTagCompound();
    te.save(blockEntityTag);
}
 
开发者ID:bergerkiller,项目名称:SpigotSource,代码行数:76,代码来源:CraftMetaBlockState.java

示例15: interactWith

import org.bukkit.craftbukkit.block.CraftBlockState; //导入依赖的package包/类
public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l, float f, float f1, float f2) {
    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.a(i, j, k, l, itemstack)) {
        return false;
    } else {
        int i1 = world.getTypeId(i, j, k);

        if (i1 == 0) {
            // CraftBukkit start - Store the clicked block
            if (CraftEventFactory.callBlockIgniteEvent(world, i, j, k, org.bukkit.event.block.BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL, entityhuman).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, e.nextFloat() * 0.4F + 0.8F);
            world.setTypeIdUpdate(i, j, k, Block.FIRE.id);

            // CraftBukkit start
            org.bukkit.event.block.BlockPlaceEvent placeEvent = 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;
    }
}
 
开发者ID:didoupimpon,项目名称:Craft-city,代码行数:60,代码来源:ItemFlintAndSteel.java


注:本文中的org.bukkit.craftbukkit.block.CraftBlockState类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。