本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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"));
}
}
}
示例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"));
}
}
}
示例6: PacketClick
import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public PacketClick() {
this.type = ClickType.none;
}
示例7: read
import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
@Override
public void read(DataInputStream dataInputStream) throws Exception {
type = ClickType.values()[dataInputStream.readByte()];
}
示例8: onButtonPress
import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public boolean onButtonPress(ClickType type, ItemStack itemStack, Player player, int stack) {
return false;
}
示例9: onButtonPress
import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public boolean onButtonPress(ClickType type, Player player, int blockX, int blockY, int blockZ) {
return false;
}
示例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;
}
示例11: onButtonPress
import ethanjones.cubes.input.ClickType; //导入依赖的package包/类
public boolean onButtonPress(ClickType type, Player player, int blockX, int blockY, int blockZ) {
return false;
}