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


Java Item.POTION属性代码示例

本文整理汇总了Java中cn.nukkit.item.Item.POTION属性的典型用法代码示例。如果您正苦于以下问题:Java Item.POTION属性的具体用法?Java Item.POTION怎么用?Java Item.POTION使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在cn.nukkit.item.Item的用法示例。


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

示例1: updateBlock

public void updateBlock() {
    Block block = this.getLevelBlock();

    if (!(block instanceof BlockBrewingStand)) {
        return;
    }

    int meta = 0;

    for (int i = 1; i <= 3; ++i) {
        Item potion = this.inventory.getItem(i);

        if (potion.getId() == Item.POTION && potion.getCount() > 0) {
            meta |= 1 << i;
        }
    }

    block.setDamage(meta);
    this.level.setBlock(block, block, false, false);
}
 
开发者ID:Rsplwe,项目名称:Nukkit-Java9,代码行数:20,代码来源:BlockEntityBrewingStand.java

示例2: onUpdate

@Override
public boolean onUpdate() {
    if (closed) {
        return false;
    }

    boolean ret = false;

    Item ingredient = this.inventory.getIngredient();
    boolean canBrew = false;

    Item fuel = this.getInventory().getFuel();
    if (this.fuelAmount <= 0 && fuel.getId() == Item.BLAZE_POWDER && fuel.getCount() > 0) {
        fuel.count--;
        this.fuelAmount = 20;
        this.fuelTotal = 20;

        this.inventory.setFuel(fuel);
        this.sendFuel();
    }

    if (this.fuelAmount > 0) {
        for (int i = 1; i <= 3; i++) {
            if (this.inventory.getItem(i).getId() == Item.POTION) {
                canBrew = true;
            }
        }

        if (this.brewTime <= MAX_BREW_TIME && canBrew && ingredient.getCount() > 0) {
            if (!this.checkIngredient(ingredient)) {
                canBrew = false;
            }
        } else {
            canBrew = false;
        }
    }

    if (canBrew) {
        if (this.brewTime == MAX_BREW_TIME) {
            this.sendBrewTime();
        }

        this.brewTime--;

        if (this.brewTime <= 0) { //20 seconds
            for (int i = 1; i <= 3; i++) {
                Item potion = this.inventory.getItem(i);
                BrewingRecipe recipe = Server.getInstance().getCraftingManager().matchBrewingRecipe(ingredient, potion);

                if (recipe != null) {
                    this.inventory.setItem(i, recipe.getResult());
                }
            }

            ingredient.count--;
            this.inventory.setIngredient(ingredient);

            this.fuelAmount--;
            this.sendFuel();

            this.brewTime = MAX_BREW_TIME;
        }

        ret = true;
    } else {
        this.brewTime = MAX_BREW_TIME;
    }

    //this.sendBrewTime();
    lastUpdate = System.currentTimeMillis();

    return ret;
}
 
开发者ID:JupiterDevelopmentTeam,项目名称:Jupiter,代码行数:73,代码来源:BlockEntityBrewingStand.java

示例3: onUpdate

@Override
public boolean onUpdate() {
    if (closed) {
        return false;
    }

    boolean ret = false;

    Item ingredient = this.inventory.getIngredient();
    boolean canBrew = false;

    for (int i = 1; i <= 3; i++) {
        if (this.inventory.getItem(i).getId() == Item.POTION) {
            canBrew = true;
        }
    }

    if (this.brewTime <= MAX_BREW_TIME && canBrew && ingredient.getCount() > 0) {
        if (!this.checkIngredient(ingredient)) {
            canBrew = false;
        }
    } else {
        canBrew = false;
    }

    if (canBrew) {
        this.brewTime--;

        for (Player player : this.inventory.getViewers()) {
            int windowId = player.getWindowId(this.inventory);
            if (windowId > 0) {
                ContainerSetDataPacket pk = new ContainerSetDataPacket();
                pk.windowid = (byte) windowId;
                pk.property = 0;
                pk.value = this.brewTime;
                player.dataPacket(pk);
            }
        }

        if (this.brewTime <= 0) { //20 seconds
            for (int i = 1; i <= 3; i++) {
                Item potion = this.inventory.getItem(i);
                BrewingRecipe recipe = Server.getInstance().getCraftingManager().matchBrewingRecipe(ingredient, potion);

                if (recipe != null) {
                    this.inventory.setItem(i, recipe.getResult());
                }
            }

            ingredient.count--;
            this.inventory.setIngredient(ingredient);

            this.brewTime = MAX_BREW_TIME;
        }

        ret = true;
    } else {
        this.brewTime = MAX_BREW_TIME;
    }

    lastUpdate = System.currentTimeMillis();

    return ret;
}
 
开发者ID:FrontierDevs,项目名称:Jenisys3,代码行数:64,代码来源:BlockEntityBrewingStand.java


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