本文整理汇总了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;未经允许,请勿转载。 |
请发表评论