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


Java ClickType类代码示例

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


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

示例1: onButtonPress

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
@Override
public boolean onButtonPress(ClickType type, ItemStack itemStack, Player player, int stack) {
  if (Side.isServer() && type == ClickType.place) {
    BlockIntersection blockIntersection = BlockIntersection.getBlockIntersection(player.position, player.angle, Cubes.getServer().world);
    if (blockIntersection == null || blockIntersection.getBlockFace() == null) return false;
    BlockReference blockReference = blockIntersection.getBlockReference();
    pressSwitch( blockReference,  blockIntersection);
    // check block would not be in player
    if (blockReference.equals(new BlockReference().setFromVector3(player.position))) return false;
    if (blockReference.equals(new BlockReference().setFromVector3(player.position.cpy().sub(0, player.height, 0))))
      return false;

    PlayerPlaceBlockEvent event = new PlayerPlaceBlockEvent(player, block, itemStack.meta, blockIntersection, blockReference);
    if (event.post().isCanceled()) return false;

    Cubes.getServer().world.setBlock(block, blockReference.blockX, blockReference.blockY, blockReference.blockZ, event.getMeta());

    InventoryHelper.reduceCount(player.getInventory(), stack);
    return true;
  }
  return false;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:23,代码来源:ItemBlock.java

示例2: updateIf1

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
private void updateIf1() {
	ItemTool.mine(client.getPlayer(), clickType == ClickType.mine);

	ItemStack itemStack = client.getPlayer().getInventory().selectedItemStack();
	boolean b = true;
	BlockIntersection blockIntersection = BlockIntersection.getBlockIntersection(client.getPlayer().position,
			client.getPlayer().angle, server.world);
	if (blockIntersection != null) {
		BlockReference r = blockIntersection.getBlockReference();
		b = !server.world.getBlock(r.blockX, r.blockY, r.blockZ).onButtonPress(clickType, client.getPlayer(),
				r.blockX, r.blockY, r.blockZ);
	}
	if (b && itemStack != null) {
		b = !itemStack.item.onButtonPress(clickType, itemStack, client.getPlayer(),
				client.getPlayer().getInventory().hotbarSelected);
	}

	if (clickType == ClickType.place)
		clickType = ClickType.none;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:21,代码来源:PlayerManager.java

示例3: onButtonPress

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
@Override
public boolean onButtonPress(ClickType type, Player player, int blockX, int blockY, int blockZ) {
  if (Side.isServer() || type != ClickType.place) return false;
  BlockData blockData = Side.getCubes().world.getBlockData(blockX, blockY, blockZ);
  if (blockData instanceof BlockDataChest) {
    InventoryActor inventoryActor = new InventoryActor(((BlockDataChest) blockData).inventory);
    InventoryActor playerInv = Cubes.getClient().renderer.guiRenderer.playerInv;
    InventoryManager.showInventory(new InventoryWindow(new DoubleInventory(inventoryActor, playerInv)));
  }
  return true;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:12,代码来源:BlockChest.java

示例4: update

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
protected void update() {
	synchronized (this) {
		if (clickType != ClickType.none) {
			updateIf1();

		}

		if (initialGenerationTask != null) {
			int doneGenerate = initialGenerationTask.doneGenerate();
			int doneFeatures = initialGenerationTask.doneFeatures();
			int totalGenerate = initialGenerationTask.totalGenerate();
			int totalFeatures = initialGenerationTask.totalFeatures();

			PacketInitialAreasProgress packet = new PacketInitialAreasProgress();
			packet.progress = ((float) (doneGenerate + doneFeatures)) / ((float) (totalGenerate + totalGenerate));
			NetworkingManager.sendPacketToClient(packet, client);

			if (doneFeatures == totalFeatures && doneGenerate == totalGenerate)
				initialGenerationTask = null;
		}

		if (lastPingNano != -1 && System.nanoTime() - lastPingNano >= ClientNetworking.PING_NANOSECONDS * 2) {
			NetworkingManager.getNetworking(Side.Server).disconnected(client.getSocketMonitor(),
					new CubesException("No ping received"));
		}
	}
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:28,代码来源:PlayerManager.java

示例5: update

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
protected void update() {
  synchronized (this) {
    if (clickType != ClickType.none) {
      ItemTool.mine(client.getPlayer(), clickType == ClickType.mine);
      
      ItemStack itemStack = client.getPlayer().getInventory().selectedItemStack();
      boolean b = true;
      BlockIntersection blockIntersection = BlockIntersection.getBlockIntersection(client.getPlayer().position, client.getPlayer().angle, server.world);
      if (blockIntersection != null) {
        BlockReference r = blockIntersection.getBlockReference();
        b = !server.world.getBlock(r.blockX, r.blockY, r.blockZ).onButtonPress(clickType, client.getPlayer(), r.blockX, r.blockY, r.blockZ);
      }
      if (b && itemStack != null) {
        b = !itemStack.item.onButtonPress(clickType, itemStack, client.getPlayer(), client.getPlayer().getInventory().hotbarSelected);
      }
      
      if (clickType == ClickType.place) clickType = ClickType.none;
    }
    
    if (initialGenerationTask != null) {
      int doneGenerate = initialGenerationTask.doneGenerate();
      int doneFeatures = initialGenerationTask.doneFeatures();
      int totalGenerate = initialGenerationTask.totalGenerate();
      int totalFeatures = initialGenerationTask.totalFeatures();
      
      PacketInitialAreasProgress packet = new PacketInitialAreasProgress();
      packet.progress = ((float) (doneGenerate + doneFeatures)) / ((float) (totalGenerate + totalGenerate));
      NetworkingManager.sendPacketToClient(packet, client);
      
      if (doneFeatures == totalFeatures && doneGenerate == totalGenerate) initialGenerationTask = null;
    }
    
    if (lastPingNano != -1 && System.nanoTime() - lastPingNano >= ClientNetworking.PING_NANOSECONDS * 2) {
      NetworkingManager.getNetworking(Side.Server).disconnected(client.getSocketMonitor(), new CubesException("No ping received"));
    }
  }
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:38,代码来源:PlayerManager.java

示例6: PacketClick

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public PacketClick() {
  this.type = ClickType.none;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:4,代码来源:PacketClick.java

示例7: read

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
@Override
public void read(DataInputStream dataInputStream) throws Exception {
  type = ClickType.values()[dataInputStream.readByte()];
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:5,代码来源:PacketClick.java

示例8: onButtonPress

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public boolean onButtonPress(ClickType type, ItemStack itemStack, Player player, int stack) {
  return false;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:4,代码来源:Item.java

示例9: onButtonPress

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public boolean onButtonPress(ClickType type, Player player, int blockX, int blockY, int blockZ) {
	return false;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:4,代码来源:Block.java

示例10: onButtonPress

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
@Override
public boolean onButtonPress(ClickType type, ItemStack itemStack, Player player, int stack) {
  if (Side.isServer() && type == ClickType.place) {
    BlockIntersection blockIntersection = BlockIntersection.getBlockIntersection(player.position, player.angle, Cubes.getServer().world);
    if (blockIntersection == null || blockIntersection.getBlockFace() == null) return false;
    BlockReference blockReference = blockIntersection.getBlockReference();
    switch (blockIntersection.getBlockFace()) {
      case posX:
        blockReference.blockX++;
        break;
      case negX:
        blockReference.blockX--;
        break;
      case posY:
        blockReference.blockY++;
        break;
      case negY:
        blockReference.blockY--;
        break;
      case posZ:
        blockReference.blockZ++;
        break;
      case negZ:
        blockReference.blockZ--;
        break;
    }
    // check block would not be in player
    if (blockReference.equals(new BlockReference().setFromVector3(player.position))) return false;
    if (blockReference.equals(new BlockReference().setFromVector3(player.position.cpy().sub(0, player.height, 0))))
      return false;

    PlayerPlaceBlockEvent event = new PlayerPlaceBlockEvent(player, block, itemStack.meta, blockIntersection, blockReference);
    if (event.post().isCanceled()) return false;

    Cubes.getServer().world.setBlock(block, blockReference.blockX, blockReference.blockY, blockReference.blockZ, event.getMeta());

    InventoryHelper.reduceCount(player.getInventory(), stack);
    return true;
  }
  return false;
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:42,代码来源:ItemBlock.java

示例11: onButtonPress

import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public boolean onButtonPress(ClickType type, Player player, int blockX, int blockY, int blockZ) {
  return false;
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:4,代码来源:Block.java


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