• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java BlockEntityItemFrame类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: registerBlockEntities

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
private void registerBlockEntities() {
    BlockEntity.registerBlockEntity(BlockEntity.FURNACE, BlockEntityFurnace.class);
    BlockEntity.registerBlockEntity(BlockEntity.CHEST, BlockEntityChest.class);
    BlockEntity.registerBlockEntity(BlockEntity.SIGN, BlockEntitySign.class);
    BlockEntity.registerBlockEntity(BlockEntity.ENCHANT_TABLE, BlockEntityEnchantTable.class);
    BlockEntity.registerBlockEntity(BlockEntity.SKULL, BlockEntitySkull.class);
    BlockEntity.registerBlockEntity(BlockEntity.FLOWER_POT, BlockEntityFlowerPot.class);
    BlockEntity.registerBlockEntity(BlockEntity.BREWING_STAND, BlockEntityBrewingStand.class);
    BlockEntity.registerBlockEntity(BlockEntity.ITEM_FRAME, BlockEntityItemFrame.class);
    BlockEntity.registerBlockEntity(BlockEntity.CAULDRON, BlockEntityCauldron.class);
    BlockEntity.registerBlockEntity(BlockEntity.ENDER_CHEST, BlockEntityEnderChest.class);
    BlockEntity.registerBlockEntity(BlockEntity.BEACON, BlockEntityBeacon.class);
    BlockEntity.registerBlockEntity(BlockEntity.SHULKER_BOX, BlockEntityShulkerBox.class);
    BlockEntity.registerBlockEntity(BlockEntity.MOB_SPAWNER, BlockEntityMobSpawner.class);
    BlockEntity.registerBlockEntity(BlockEntity.DISPENSER, BlockEntityDispenser.class);
    BlockEntity.registerBlockEntity(BlockEntity.DROPPER, BlockEntityDropper.class);
    BlockEntity.registerBlockEntity(BlockEntity.COMMAND_BLOCK, BlockEntityCommandBlock.class);
    BlockEntity.registerBlockEntity(BlockEntity.BANNER, BlockEntityBanner.class);
}
 
开发者ID:JupiterDevelopmentTeam,项目名称:Jupiter,代码行数:20,代码来源:Server.java


示例2: onActivate

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
    BlockEntity blockEntity = this.getLevel().getBlockEntity(this);
    BlockEntityItemFrame itemFrame = (BlockEntityItemFrame) blockEntity;
    if (itemFrame.getItem().getId() == Item.AIR) {
        // We can't use Item.get(item.getId(), item.getDamage(), 1) because
        // we need to keep the item's NBT tags
        Item itemOnFrame = item.clone(); // So we clone the item
        itemOnFrame.setCount(1); // Change it to only one item (if we keep +1, visual glitches will happen)
        itemFrame.setItem(itemOnFrame); // And then we set it on the item frame
        // The item will be removed from the player's hand a few lines ahead
        this.getLevel().addSound(new ItemFrameItemAddedSound(this));
        if (player != null && player.isSurvival()) {
            int count = item.getCount();
            if (count-- <= 0) {
                player.getInventory().setItemInHand(new ItemBlock(new BlockAir(), 0, 0));
                return true;
            }
            item.setCount(count);
            player.getInventory().setItemInHand(item);
        }
    } else {
        int itemRot = itemFrame.getItemRotation();
        if (itemRot >= 7) {
            itemRot = 0;
        } else {
            itemRot++;
        }
        itemFrame.setItemRotation(itemRot);
        this.getLevel().addSound(new ItemFrameItemRotated(this));
    }
    return true;
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:34,代码来源:BlockItemFrame.java


示例3: place

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
@Override
public boolean place(Item item, Block block, Block target, BlockFace face, double fx, double fy, double fz, Player player) {
    if (!target.isTransparent() && face.getIndex() > 1 && !block.isSolid()) {
        switch (face) {
            case NORTH:
                this.meta = 3;
                break;
            case SOUTH:
                this.meta = 2;
                break;
            case WEST:
                this.meta = 1;
                break;
            case EAST:
                this.meta = 0;
                break;
            default:
                return false;
        }
        this.getLevel().setBlock(block, this, true, true);
        CompoundTag nbt = new CompoundTag()
                .putString("id", BlockEntity.ITEM_FRAME)
                .putInt("x", (int) block.x)
                .putInt("y", (int) block.y)
                .putInt("z", (int) block.z)
                .putByte("ItemRotation", 0)
                .putFloat("ItemDropChance", 1.0f);
        if (item.hasCustomBlockData()) {
            for (Tag aTag : item.getCustomBlockData().getAllTags()) {
                nbt.put(aTag.getName(), aTag);
            }
        }
        new BlockEntityItemFrame(this.getLevel().getChunk((int) this.x >> 4, (int) this.z >> 4), nbt);
        this.getLevel().addSound(new ItemFramePlacedSound(this));
        return true;
    }
    return false;
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:39,代码来源:BlockItemFrame.java


示例4: getDrops

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
@Override
public Item[] getDrops(Item item) {
    BlockEntity blockEntity = this.getLevel().getBlockEntity(this);
    BlockEntityItemFrame itemFrame = (BlockEntityItemFrame) blockEntity;
    int chance = new Random().nextInt(100) + 1;
    if (itemFrame != null && chance <= (itemFrame.getItemDropChance() * 100)) {
        return new Item[]{
                toItem(), Item.get(itemFrame.getItem().getId(), itemFrame.getItem().getDamage(), 1)
        };
    } else {
        return new Item[]{
                toItem()
        };
    }
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:16,代码来源:BlockItemFrame.java


示例5: getComparatorInputOverride

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
@Override
public int getComparatorInputOverride() {
    BlockEntity blockEntity = this.level.getBlockEntity(this);

    if (blockEntity instanceof BlockEntityItemFrame) {
        return ((BlockEntityItemFrame) blockEntity).getAnalogOutput();
    }

    return super.getComparatorInputOverride();
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:11,代码来源:BlockItemFrame.java


示例6: getDrops

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
@Override
public int[][] getDrops(Item item) {
    BlockEntity blockEntity = this.getLevel().getBlockEntity(this);
    BlockEntityItemFrame itemFrame = (BlockEntityItemFrame) blockEntity;
    int chance = new Random().nextInt(100) + 1;
    if (itemFrame != null && chance <= (itemFrame.getItemDropChance() * 100)) {
        return new int[][]{
                {Item.ITEM_FRAME, 0, 1}, {itemFrame.getItem().getId(), itemFrame.getItem().getDamage(), 1}
        };
    } else {
        return new int[][]{
                {Item.ITEM_FRAME, 0, 1}
        };
    }
}
 
开发者ID:FrontierDevs,项目名称:Jenisys3,代码行数:16,代码来源:BlockItemFrame.java


示例7: onActivate

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
    BlockEntity blockEntity = this.getLevel().getBlockEntity(this);
    BlockEntityItemFrame itemFrame = (BlockEntityItemFrame) blockEntity;
    if (itemFrame.getItem().getId() == Item.AIR) {
        itemFrame.setItem(Item.get(item.getId(), item.getDamage(), 1));
        this.getLevel().addSound(new ItemFrameItemAddedSound(this));
        if (player != null && player.isSurvival()) {
            int count = item.getCount();
            if (count-- <= 0) {
                player.getInventory().setItemInHand(new ItemBlock(new BlockAir(), 0, 0));
                return true;
            }
            item.setCount(count);
            player.getInventory().setItemInHand(item);
        }
    } else {
        int itemRot = itemFrame.getItemRotation();
        if (itemRot >= 7) {
            itemRot = 0;
        } else {
            itemRot++;
        }
        itemFrame.setItemRotation(itemRot);
        this.getLevel().addSound(new ItemFrameItemRotated(this));
    }
    return true;
}
 
开发者ID:Creeperface01,项目名称:NukkitGT,代码行数:29,代码来源:BlockItemFrame.java


示例8: place

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
@Override
public boolean place(Item item, Block block, Block target, int face, double fx, double fy, double fz, Player player) {
    if (!target.isTransparent() && face > 1 && !block.isSolid()) {
        switch (face) {
            case Vector3.SIDE_NORTH:
                this.meta = 3;
                break;
            case Vector3.SIDE_SOUTH:
                this.meta = 2;
                break;
            case Vector3.SIDE_WEST:
                this.meta = 1;
                break;
            case Vector3.SIDE_EAST:
                this.meta = 0;
                break;
            default:
                return false;
        }
        this.getLevel().setBlock(block, this, true, true);
        CompoundTag nbt = new CompoundTag()
                .putString("id", BlockEntity.ITEM_FRAME)
                .putInt("x", (int) block.x)
                .putInt("y", (int) block.y)
                .putInt("z", (int) block.z)
                .putByte("ItemRotation", 0)
                .putFloat("ItemDropChance", 1.0f);
        if (item.hasCustomBlockData()) {
            for (Tag aTag : item.getCustomBlockData().getAllTags()) {
                nbt.put(aTag.getName(), aTag);
            }
        }
        new BlockEntityItemFrame(this.getLevel().getChunk((int) this.x >> 4, (int) this.z >> 4), nbt);
        this.getLevel().addSound(new ItemFramePlacedSound(this));
        return true;
    }
    return false;
}
 
开发者ID:Creeperface01,项目名称:NukkitGT,代码行数:39,代码来源:BlockItemFrame.java


示例9: ItemFrameDropItemEvent

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
public ItemFrameDropItemEvent(Player player, Block block, BlockEntityItemFrame itemFrame, Item item) {
    super(block);
    this.player = player;
    this.itemFrame = itemFrame;
    this.item = item;
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:7,代码来源:ItemFrameDropItemEvent.java


示例10: getItemFrame

import cn.nukkit.blockentity.BlockEntityItemFrame; //导入依赖的package包/类
public BlockEntityItemFrame getItemFrame() {
    return itemFrame;
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:4,代码来源:ItemFrameDropItemEvent.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java AmazonCloudWatchClientBuilder类代码示例发布时间:2022-05-22
下一篇:
Java PropertiesUtil类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap