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


Java ContainerOpenPacket类代码示例

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


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

示例1: onOpen

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who) {
    super.onOpen(who);
    ContainerOpenPacket pk = new ContainerOpenPacket();
    pk.windowId = who.getWindowId(this);
    pk.type = this.getType().getNetworkType();
    InventoryHolder holder = this.getHolder();
    if (holder instanceof Vector3) {
        pk.x = (int) ((Vector3) holder).getX();
        pk.y = (int) ((Vector3) holder).getY();
        pk.z = (int) ((Vector3) holder).getZ();
    } else {
        pk.x = pk.y = pk.z = 0;
    }

    who.dataPacket(pk);

    this.sendContents(who);
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:20,代码来源:ContainerInventory.java

示例2: onOpen

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who) {
    super.onOpen(who);
    ContainerOpenPacket pk = new ContainerOpenPacket();
    pk.windowid = (byte) who.getWindowId(this);
    pk.type = (byte) this.getType().getNetworkType();
    pk.slots = this.getSize();
    InventoryHolder holder = this.getHolder();
    if (holder instanceof Vector3) {
        pk.x = (int) ((Vector3) holder).getX();
        pk.y = (int) ((Vector3) holder).getY();
        pk.z = (int) ((Vector3) holder).getZ();
    } else {
        pk.x = pk.y = pk.z = 0;
    }

    who.dataPacket(pk);

    this.sendContents(who);
}
 
开发者ID:FrontierDevs,项目名称:Jenisys3,代码行数:21,代码来源:ContainerInventory.java

示例3: onOpen

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who) {
    super.onOpen(who);
    ContainerOpenPacket pk = new ContainerOpenPacket();
    pk.windowid = (byte) who.getWindowId(this);
    pk.type = (byte) this.getType().getNetworkType();
    InventoryHolder holder = this.getHolder();
    if (holder instanceof Vector3) {
        pk.x = (int) ((Vector3) holder).getX();
        pk.y = (int) ((Vector3) holder).getY();
        pk.z = (int) ((Vector3) holder).getZ();
    } else {
        pk.x = pk.y = pk.z = 0;
    }

    who.dataPacket(pk);

    this.sendContents(who);
}
 
开发者ID:CoreXDevelopment,项目名称:CoreX,代码行数:20,代码来源:ContainerInventory.java

示例4: onOpen

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who) {
    if (who != this.getHolder()) {
        return;
    }
    super.onOpen(who);
    ContainerOpenPacket containerOpenPacket = new ContainerOpenPacket();
    containerOpenPacket.windowId = who.getWindowId(this);
    containerOpenPacket.type = this.getType().getNetworkType();
    BlockEnderChest chest = who.getViewingEnderChest();
    if (chest != null) {
        containerOpenPacket.x = (int) chest.getX();
        containerOpenPacket.y = (int) chest.getY();
        containerOpenPacket.z = (int) chest.getZ();
    } else {
        containerOpenPacket.x = containerOpenPacket.y = containerOpenPacket.z = 0;
    }

    who.dataPacket(containerOpenPacket);

    this.sendContents(who);

    if (chest != null && chest.getViewers().size() == 1) {
        BlockEventPacket blockEventPacket = new BlockEventPacket();
        blockEventPacket.x = (int) chest.getX();
        blockEventPacket.y = (int) chest.getY();
        blockEventPacket.z = (int) chest.getZ();
        blockEventPacket.case1 = 1;
        blockEventPacket.case2 = 2;

        Level level = this.getHolder().getLevel();
        if (level != null) {
            level.addLevelSoundEvent(LevelSoundEventPacket.SOUND_CHEST_OPEN, 1, -1, this.getHolder().add(0.5, 0.5, 0.5));
            level.addChunkPacket((int) this.getHolder().getX() >> 4, (int) this.getHolder().getZ() >> 4, blockEventPacket);
        }
    }
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:38,代码来源:PlayerEnderChestInventory.java

示例5: show

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
public void show(Player player) {
	ContainerOpenPacket pk = new ContainerOpenPacket();
	pk.type = InventoryNetworkId.WINDOW_COMMAND_BLOCK;
	pk.windowId = 64;
	pk.x = this.getFloorX();
	pk.y = this.getFloorY();
	pk.z = this.getFloorZ();
	player.dataPacket(pk);
}
 
开发者ID:JupiterDevelopmentTeam,项目名称:Jupiter,代码行数:10,代码来源:BlockEntityCommandBlock.java

示例6: onOpen

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who) {
    if (who != this.getHolder()) {
        return;
    }
    super.onOpen(who);
    ContainerOpenPacket containerOpenPacket = new ContainerOpenPacket();
    containerOpenPacket.windowid = (byte) who.getWindowId(this);
    containerOpenPacket.type = (byte) this.getType().getNetworkType();
    containerOpenPacket.slots = this.getSize();
    BlockEnderChest chest = who.getViewingEnderChest();
    if (chest != null) {
        containerOpenPacket.x = (int) chest.getX();
        containerOpenPacket.y = (int) chest.getY();
        containerOpenPacket.z = (int) chest.getZ();
    } else {
        containerOpenPacket.x = containerOpenPacket.y = containerOpenPacket.z = 0;
    }

    who.dataPacket(containerOpenPacket);

    this.sendContents(who);

    if (chest != null && chest.getViewers().size() == 1) {
        BlockEventPacket blockEventPacket = new BlockEventPacket();
        blockEventPacket.x = (int) chest.getX();
        blockEventPacket.y = (int) chest.getY();
        blockEventPacket.z = (int) chest.getZ();
        blockEventPacket.case1 = 1;
        blockEventPacket.case2 = 2;

        Level level = this.getHolder().getLevel();
        if (level != null) {
            level.addChunkPacket((int) this.getHolder().getX() >> 4, (int) this.getHolder().getZ() >> 4, blockEventPacket);
        }
    }
}
 
开发者ID:FrontierDevs,项目名称:Jenisys3,代码行数:38,代码来源:PlayerEnderChestInventory.java

示例7: onOpen

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who) {
    if (who != this.getHolder()) {
        return;
    }
    super.onOpen(who);
    ContainerOpenPacket containerOpenPacket = new ContainerOpenPacket();
    containerOpenPacket.windowid = (byte) who.getWindowId(this);
    containerOpenPacket.type = (byte) this.getType().getNetworkType();
    BlockEnderChest chest = who.getViewingEnderChest();
    if (chest != null) {
        containerOpenPacket.x = (int) chest.getX();
        containerOpenPacket.y = (int) chest.getY();
        containerOpenPacket.z = (int) chest.getZ();
    } else {
        containerOpenPacket.x = containerOpenPacket.y = containerOpenPacket.z = 0;
    }

    who.dataPacket(containerOpenPacket);

    this.sendContents(who);

    if (chest != null && chest.getViewers().size() == 1) {
        BlockEventPacket blockEventPacket = new BlockEventPacket();
        blockEventPacket.x = (int) chest.getX();
        blockEventPacket.y = (int) chest.getY();
        blockEventPacket.z = (int) chest.getZ();
        blockEventPacket.case1 = 1;
        blockEventPacket.case2 = 2;

        Level level = this.getHolder().getLevel();
        if (level != null) {
            level.addChunkPacket((int) this.getHolder().getX() >> 4, (int) this.getHolder().getZ() >> 4, blockEventPacket);
        }
    }
}
 
开发者ID:CoreXDevelopment,项目名称:CoreX,代码行数:37,代码来源:PlayerEnderChestInventory.java

示例8: onOpen

import cn.nukkit.network.protocol.ContainerOpenPacket; //导入依赖的package包/类
@Override
  public void onOpen(Player who) {
      super.onOpen(who);

      UpdateBlockPacket updateBlockPacket = new UpdateBlockPacket();

// Place a chest block
      Vector3 v = new Vector3(who.getFloorX(), who.getFloorY() + 5, who.getFloorZ());
spawnedFakeChestBlocks.put(who.getName().toLowerCase(), v.clone());
      updateBlockPacket.x = (int) v.x;
      updateBlockPacket.y = (int) v.y;
      updateBlockPacket.z = (int) v.z;
      updateBlockPacket.blockId = Item.CHEST;
      updateBlockPacket.blockData = 0;
      updateBlockPacket.flags = UpdateBlockPacket.FLAG_ALL_PRIORITY;
      who.dataPacket(updateBlockPacket);

// Place chest data packet
      BlockEntityDataPacket blockEntityDataPacket = new BlockEntityDataPacket();
      blockEntityDataPacket.x = (int) v.x;
      blockEntityDataPacket.y = (int) v.y;
      blockEntityDataPacket.z = (int) v.z;

      try {
          blockEntityDataPacket.namedTag = NBTIO.write(getSpawnCompound(v), ByteOrder.LITTLE_ENDIAN);
      } catch (IOException e) {
	throw new RuntimeException(e);
      }

      who.dataPacket(blockEntityDataPacket);

// Open the chest
      ContainerOpenPacket containerOpenPacket = new ContainerOpenPacket();
      containerOpenPacket.windowid = (byte) who.getWindowId(this);
      containerOpenPacket.type = (byte) this.getType().getNetworkType();

      containerOpenPacket.x = (int) v.x;
      containerOpenPacket.y = (int) v.y;
      containerOpenPacket.z = (int) v.z;

      who.dataPacket(containerOpenPacket);

      this.sendContents(who);
  }
 
开发者ID:rutgerkok,项目名称:Pokkit,代码行数:45,代码来源:NukkitCustomInventory.java


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