當前位置: 首頁>>代碼示例>>Java>>正文


Java ForgeHooks.getEnchantPower方法代碼示例

本文整理匯總了Java中net.minecraftforge.common.ForgeHooks.getEnchantPower方法的典型用法代碼示例。如果您正苦於以下問題:Java ForgeHooks.getEnchantPower方法的具體用法?Java ForgeHooks.getEnchantPower怎麽用?Java ForgeHooks.getEnchantPower使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.minecraftforge.common.ForgeHooks的用法示例。


在下文中一共展示了ForgeHooks.getEnchantPower方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: setPower

import net.minecraftforge.common.ForgeHooks; //導入方法依賴的package包/類
void setPower(Observation observation) {
    int power = 0;
    for (int j = -1; j <= 1; ++j)
    {
        for (int k = -1; k <= 1; ++k)
        {
            if ((j != 0 || k != 0) && world.isAirBlock(position.add(k, 0, j)) && world.isAirBlock(position.add(k, 1, j)))
            {
                power += ForgeHooks.getEnchantPower(world, position.add(k * 2, 0, j * 2));
                power += ForgeHooks.getEnchantPower(world, position.add(k * 2, 1, j * 2));
                if (k != 0 && j != 0)
                {
                    power += ForgeHooks.getEnchantPower(world, position.add(k * 2, 0, j));
                    power += ForgeHooks.getEnchantPower(world, position.add(k * 2, 1, j));
                    power += ForgeHooks.getEnchantPower(world, position.add(k, 0, j * 2));
                    power += ForgeHooks.getEnchantPower(world, position.add(k, 1, j * 2));
                }
            }
        }
    }
    observation.power = power;
}
 
開發者ID:d0sboots,項目名稱:EnchantmentRevealer,代碼行數:23,代碼來源:ContainerEnchantmentWrapper.java

示例2: getEnchantPower

import net.minecraftforge.common.ForgeHooks; //導入方法依賴的package包/類
private float getEnchantPower() {
  float power = 0;

  for (int j = -1; j <= 1; ++j) {
    for (int k = -1; k <= 1; ++k) {
      if ((j != 0 || k != 0) && getWorldObj().isAirBlock(xCoord + k, yCoord, zCoord + j) && getWorldObj().isAirBlock(xCoord + k, yCoord + 1, zCoord + j)) {
        power += ForgeHooks.getEnchantPower(getWorldObj(), xCoord + k * 2, yCoord, zCoord + j * 2);
        power += ForgeHooks.getEnchantPower(getWorldObj(), xCoord + k * 2, yCoord + 1, zCoord + j * 2);

        if (k != 0 && j != 0) {
          power += ForgeHooks.getEnchantPower(getWorldObj(), xCoord + k * 2, yCoord, zCoord + j);
          power += ForgeHooks.getEnchantPower(getWorldObj(), xCoord + k * 2, yCoord + 1, zCoord + j);
          power += ForgeHooks.getEnchantPower(getWorldObj(), xCoord + k, yCoord, zCoord + j * 2);
          power += ForgeHooks.getEnchantPower(getWorldObj(), xCoord + k, yCoord + 1, zCoord + j * 2);
        }
      }
    }
  }

  return power;
}
 
開發者ID:HenryLoenwind,項目名稱:EnderIOAddons,代碼行數:22,代碼來源:TileTcom.java

示例3: getEnchantingPower

import net.minecraftforge.common.ForgeHooks; //導入方法依賴的package包/類
/**
 * Gets the enchantment power for a given position in a world. This uses the enchantment
 * table logic, so it searches for blocks that are two blocks out from the position passed.
 *
 * @param world The world to check in.
 * @param pos The position to get the enchanting power of.
 * @return The enchantment power for a given position in the world.
 */
public static float getEnchantingPower (World world, BlockPos pos) {

    final int x = pos.getX();
    final int y = pos.getY();
    final int z = pos.getZ();

    float power = 0;

    for (int zOffset = -1; zOffset <= 1; zOffset++) {

        for (int xOffset = -1; xOffset <= 1; xOffset++) {

            if ((zOffset != 0 || xOffset != 0) && world.isAirBlock(new BlockPos(x + xOffset, y, z + zOffset)) && world.isAirBlock(new BlockPos(x + xOffset, y + 1, z + zOffset))) {

                power += ForgeHooks.getEnchantPower(world, new BlockPos(x + xOffset * 2, y, z + zOffset * 2));
                power += ForgeHooks.getEnchantPower(world, new BlockPos(x + xOffset * 2, y + 1, z + zOffset * 2));

                if (xOffset != 0 && zOffset != 0) {

                    power += ForgeHooks.getEnchantPower(world, new BlockPos(x + xOffset * 2, y, z + zOffset));
                    power += ForgeHooks.getEnchantPower(world, new BlockPos(x + xOffset * 2, y + 1, z + zOffset));
                    power += ForgeHooks.getEnchantPower(world, new BlockPos(x + xOffset, y, z + zOffset * 2));
                    power += ForgeHooks.getEnchantPower(world, new BlockPos(x + xOffset, y + 1, z + zOffset * 2));
                }
            }
        }
    }

    return power;
}
 
開發者ID:Darkhax-Minecraft,項目名稱:Bookshelf,代碼行數:39,代碼來源:EnchantmentUtils.java

示例4: onCraftMatrixChanged

import net.minecraftforge.common.ForgeHooks; //導入方法依賴的package包/類
/**
 * Callback for when the crafting matrix is changed.
 */
@Override
public void onCraftMatrixChanged(IInventory p_75130_1_) {
	if (p_75130_1_ == tableInventory) {
		ItemStack var2 = p_75130_1_.getStackInSlot(0);
		int power;

		if (var2 != null && var2.isItemEnchantable()) {
			if (!world.isRemote) {
				power = 0;
				int j;

				for (j = -1; j <= 1; ++j)
					for (int k = -1; k <= 1; ++k)
						if ((j != 0 || k != 0) && world.isAirBlock(posX + k, posY, posZ + j) && world.isAirBlock(posX + k, posY + 1, posZ + j)) {
							power += ForgeHooks.getEnchantPower(world, posX + k * 2, posY, posZ + j * 2);
							power += ForgeHooks.getEnchantPower(world, posX + k * 2, posY + 1, posZ + j * 2);

							if (k != 0 && j != 0) {
								power += ForgeHooks.getEnchantPower(world, posX + k * 2, posY, posZ + j);
								power += ForgeHooks.getEnchantPower(world, posX + k * 2, posY + 1, posZ + j);
								power += ForgeHooks.getEnchantPower(world, posX + k, posY, posZ + j * 2);
								power += ForgeHooks.getEnchantPower(world, posX + k, posY + 1, posZ + j * 2);
							}
						}

				rand.setSeed(enchantmentSeed);

				for (j = 0; j < 3; ++j) {
					enchantLevels[j] = EnchantmentHelper.calcItemStackEnchantability(rand, j, power, var2);
					field_178151_h[j] = -1;

					if (enchantLevels[j] < j + 1)
						enchantLevels[j] = 0;
				}

				for (j = 0; j < 3; ++j)
					if (enchantLevels[j] > 0) {
						List<EnchantmentData> var7 = func_178148_a(var2, j, enchantLevels[j]);

						if (var7 != null && !var7.isEmpty()) {
							EnchantmentData var6 = var7.get(rand.nextInt(var7.size()));
							field_178151_h[j] = var6.enchantmentobj.effectId | var6.enchantmentLevel << 8;
						}
					}

				detectAndSendChanges();
			}
		} else
			for (power = 0; power < 3; ++power) {
				enchantLevels[power] = 0;
				field_178151_h[power] = -1;
			}
	}
}
 
開發者ID:jm-organization,項目名稱:connor41-etfuturum2,代碼行數:58,代碼來源:ContainerEnchantment.java

示例5: onCraftMatrixChanged

import net.minecraftforge.common.ForgeHooks; //導入方法依賴的package包/類
public void onCraftMatrixChanged(IInventory p_75130_1_)
{
    if (p_75130_1_ == this.tableInventory)
    {
        ItemStack itemstack = p_75130_1_.getStackInSlot(0);
        int i;

        if (itemstack != null)   // CraftBukkit - relax condition
        {
            this.nameSeed = this.rand.nextLong();

            if (!this.worldPointer.isRemote)
            {
                i = 0;
                int j;
                float power = 0;

                for (j = -1; j <= 1; ++j)
                {
                    for (int k = -1; k <= 1; ++k)
                    {
                        if ((j != 0 || k != 0) && this.worldPointer.isAirBlock(this.posX + k, this.posY, this.posZ + j) && this.worldPointer.isAirBlock(this.posX + k, this.posY + 1, this.posZ + j))
                        {
                            power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY,     posZ + j * 2);
                            power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY + 1, posZ + j * 2);

                            if (k != 0 && j != 0)
                            {
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY,     posZ + j    );
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY + 1, posZ + j    );
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k,     posY,     posZ + j * 2);
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k,     posY + 1, posZ + j * 2);
                            }
                        }
                    }
                }

                for (j = 0; j < 3; ++j)
                {
                    this.enchantLevels[j] = EnchantmentHelper.calcItemStackEnchantability(this.rand, j, (int)power, itemstack);
                }

                // CraftBukkit start
                CraftItemStack item = CraftItemStack.asCraftMirror(itemstack);
                PrepareItemEnchantEvent event = new PrepareItemEnchantEvent(player, this.getBukkitView(), this.worldPointer.getWorld().getBlockAt(this.posX, this.posY, this.posZ), item, this.enchantLevels, i);
                event.setCancelled(!itemstack.isItemEnchantable());
                if (this.getBukkitView() != null) this.worldPointer.getServer().getPluginManager().callEvent(event); // Cauldron - allow vanilla mods to byp

                if (event.isCancelled())
                {
                    for (i = 0; i < 3; ++i)
                    {
                        this.enchantLevels[i] = 0;
                    }

                    return;
                }

                // CraftBukkit end
                this.detectAndSendChanges();
            }
        }
        else
        {
            for (i = 0; i < 3; ++i)
            {
                this.enchantLevels[i] = 0;
            }
        }
    }
}
 
開發者ID:xtrafrancyz,項目名稱:Cauldron,代碼行數:72,代碼來源:ContainerEnchantment.java

示例6: onCraftMatrixChanged

import net.minecraftforge.common.ForgeHooks; //導入方法依賴的package包/類
public void onCraftMatrixChanged(IInventory p_75130_1_)
{
    if (p_75130_1_ == this.tableInventory)
    {
        ItemStack itemstack = p_75130_1_.getStackInSlot(0);
        int i;

        if (itemstack != null && itemstack.isItemEnchantable())
        {
            this.nameSeed = this.rand.nextLong();

            if (!this.worldPointer.isRemote)
            {
                i = 0;
                int j;
                float power = 0;

                for (j = -1; j <= 1; ++j)
                {
                    for (int k = -1; k <= 1; ++k)
                    {
                        if ((j != 0 || k != 0) && this.worldPointer.isAirBlock(this.posX + k, this.posY, this.posZ + j) && this.worldPointer.isAirBlock(this.posX + k, this.posY + 1, this.posZ + j))
                        {
                            power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY,     posZ + j * 2);
                            power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY + 1, posZ + j * 2);

                            if (k != 0 && j != 0)
                            {
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY,     posZ + j    );
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY + 1, posZ + j    );
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k,     posY,     posZ + j * 2);
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k,     posY + 1, posZ + j * 2);
                            }
                        }
                    }
                }

                for (j = 0; j < 3; ++j)
                {
                    this.enchantLevels[j] = EnchantmentHelper.calcItemStackEnchantability(this.rand, j, (int)power, itemstack);
                }

                this.detectAndSendChanges();
            }
        }
        else
        {
            for (i = 0; i < 3; ++i)
            {
                this.enchantLevels[i] = 0;
            }
        }
    }
}
 
開發者ID:xtrafrancyz,項目名稱:Cauldron,代碼行數:55,代碼來源:ContainerEnchantment.java

示例7: onCraftMatrixChanged

import net.minecraftforge.common.ForgeHooks; //導入方法依賴的package包/類
/**
 * Callback for when the crafting matrix is changed.
 */
public void onCraftMatrixChanged(IInventory par1IInventory)
{
    if (par1IInventory == this.tableInventory)
    {
        ItemStack itemstack = par1IInventory.getStackInSlot(0);
        int i;

        if (itemstack != null && itemstack.isItemEnchantable())
        {
            this.nameSeed = this.rand.nextLong();

            if (!this.worldPointer.isRemote)
            {
                i = 0;
                int j;
                float power = 0;

                for (j = -1; j <= 1; ++j)
                {
                    for (int k = -1; k <= 1; ++k)
                    {
                        if ((j != 0 || k != 0) && this.worldPointer.isAirBlock(this.posX + k, this.posY, this.posZ + j) && this.worldPointer.isAirBlock(this.posX + k, this.posY + 1, this.posZ + j))
                        {
                            power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY,     posZ + j * 2);
                            power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY + 1, posZ + j * 2);

                            if (k != 0 && j != 0)
                            {
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY,     posZ + j    );
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k * 2, posY + 1, posZ + j    );
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k,     posY,     posZ + j * 2);
                                power += ForgeHooks.getEnchantPower(worldPointer, posX + k,     posY + 1, posZ + j * 2);
                            }
                        }
                    }
                }

                for (j = 0; j < 3; ++j)
                {
                    this.enchantLevels[j] = EnchantmentHelper.calcItemStackEnchantability(this.rand, j, (int)power, itemstack);
                }

                this.detectAndSendChanges();
            }
        }
        else
        {
            for (i = 0; i < 3; ++i)
            {
                this.enchantLevels[i] = 0;
            }
        }
    }
}
 
開發者ID:HATB0T,項目名稱:RuneCraftery,代碼行數:58,代碼來源:ContainerEnchantment.java


注:本文中的net.minecraftforge.common.ForgeHooks.getEnchantPower方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。