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


Java Material.water方法代碼示例

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


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

示例1: generatePillar

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
private static void generatePillar(World world, int x, int y, int z, Block block, int meta) {
	for (int i = 1; i <= 5; i++)
		generatePillarSection(world, x, y - i, z, block, meta);
	y -= 5;

	for (; y >= 0; y--) {
		generatePillarSection(world, x, y, z, block, meta);
		for (int i = 0; i < 4; i++)
			for (int k = 0; k < 4; k++)
				if (world.getBlock(x + i, y, z).getMaterial() != Material.water && y > 3) {
					generatePillarSection(world, x, y - 1, z, block, meta);
					generatePillarSection(world, x, y - 2, z, block, meta);
					return;
				}
	}
}
 
開發者ID:jm-organization,項目名稱:connor41-etfuturum2,代碼行數:17,代碼來源:OceanMonument.java

示例2: checkForMixing

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
public boolean checkForMixing(World worldIn, BlockPos pos, IBlockState state) {
	if (this.blockMaterial == Material.lava) {
		boolean flag = false;

		for (EnumFacing enumfacing : EnumFacing.values()) {
			if (enumfacing != EnumFacing.DOWN
					&& worldIn.getBlockState(pos.offset(enumfacing)).getBlock().getMaterial() == Material.water) {
				flag = true;
				break;
			}
		}

		if (flag) {
			Integer integer = (Integer) state.getValue(LEVEL);

			if (integer.intValue() == 0) {
				worldIn.setBlockState(pos, Blocks.obsidian.getDefaultState());
				this.triggerMixEffects(worldIn, pos);
				return true;
			}

			if (integer.intValue() <= 4) {
				worldIn.setBlockState(pos, Blocks.cobblestone.getDefaultState());
				this.triggerMixEffects(worldIn, pos);
				return true;
			}
		}
	}

	return false;
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:32,代碼來源:BlockLiquid.java

示例3: canPlaceBlockAt

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
public boolean canPlaceBlockAt(World worldIn, BlockPos pos)
{
    Block block = worldIn.getBlockState(pos.down()).getBlock();

    if (block == this)
    {
        return true;
    }
    else if (block != Blocks.grass && block != Blocks.dirt && block != Blocks.sand)
    {
        return false;
    }
    else
    {
        for (Object enumfacing0 : EnumFacing.Plane.HORIZONTAL)
        {
            EnumFacing enumfacing = (EnumFacing) enumfacing0;

            if (worldIn.getBlockState(pos.offset(enumfacing).down()).getBlock().getMaterial() == Material.water)
            {
                return true;
            }
        }

        return false;
    }
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:28,代碼來源:BlockReed.java

示例4: updateFallState

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
protected void updateFallState(double y, boolean onGroundIn, Block blockIn, BlockPos pos)
{
    if (onGroundIn)
    {
        if (this.fallDistance > 3.0F)
        {
            this.fall(this.fallDistance, 1.0F);

            if (!this.worldObj.isRemote && !this.isDead)
            {
                this.setDead();

                if (this.worldObj.getGameRules().getBoolean("doEntityDrops"))
                {
                    for (int i = 0; i < 3; ++i)
                    {
                        this.dropItemWithOffset(Item.getItemFromBlock(Blocks.planks), 1, 0.0F);
                    }

                    for (int j = 0; j < 2; ++j)
                    {
                        this.dropItemWithOffset(Items.stick, 1, 0.0F);
                    }
                }
            }

            this.fallDistance = 0.0F;
        }
    }
    else if (this.worldObj.getBlockState((new BlockPos(this)).down()).getBlock().getMaterial() != Material.water && y < 0.0D)
    {
        this.fallDistance = (float)((double)this.fallDistance - y);
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:35,代碼來源:EntityBoat.java

示例5: getFlowingBlock

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
public static BlockDynamicLiquid getFlowingBlock(Material materialIn)
{
    if (materialIn == Material.water)
    {
        return Blocks.flowing_water;
    }
    else if (materialIn == Material.lava)
    {
        return Blocks.flowing_lava;
    }
    else
    {
        throw new IllegalArgumentException("Invalid material");
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:16,代碼來源:BlockLiquid.java

示例6: hasWater

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
private boolean hasWater(World worldIn, BlockPos pos)
{
    for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(pos.add(-4, 0, -4), pos.add(4, 1, 4)))
    {
        if (worldIn.getBlockState(blockpos$mutableblockpos).getBlock().getMaterial() == Material.water)
        {
            return true;
        }
    }

    return false;
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:13,代碼來源:BlockFarmland.java

示例7: canBlockStay

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
{
    if (pos.getY() >= 0 && pos.getY() < 256)
    {
        IBlockState iblockstate = worldIn.getBlockState(pos.down());
        return iblockstate.getBlock().getMaterial() == Material.water && ((Integer)iblockstate.getValue(BlockLiquid.LEVEL)).intValue() == 0;
    }
    else
    {
        return false;
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:13,代碼來源:BlockLilyPad.java

示例8: generate

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    if (worldIn.getBlockState(position).getBlock().getMaterial() != Material.water)
    {
        return false;
    }
    else
    {
        int i = rand.nextInt(this.radius - 2) + 2;
        int j = 2;

        for (int k = position.getX() - i; k <= position.getX() + i; ++k)
        {
            for (int l = position.getZ() - i; l <= position.getZ() + i; ++l)
            {
                int i1 = k - position.getX();
                int j1 = l - position.getZ();

                if (i1 * i1 + j1 * j1 <= i * i)
                {
                    for (int k1 = position.getY() - j; k1 <= position.getY() + j; ++k1)
                    {
                        BlockPos blockpos = new BlockPos(k, k1, l);
                        Block block = worldIn.getBlockState(blockpos).getBlock();

                        if (block == Blocks.dirt || block == Blocks.grass)
                        {
                            worldIn.setBlockState(blockpos, this.block.getDefaultState(), 2);
                        }
                    }
                }
            }
        }

        return true;
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:38,代碼來源:WorldGenSand.java

示例9: generate

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    if (worldIn.getBlockState(position).getBlock().getMaterial() != Material.water)
    {
        return false;
    }
    else
    {
        int i = rand.nextInt(this.numberOfBlocks - 2) + 2;
        int j = 1;

        for (int k = position.getX() - i; k <= position.getX() + i; ++k)
        {
            for (int l = position.getZ() - i; l <= position.getZ() + i; ++l)
            {
                int i1 = k - position.getX();
                int j1 = l - position.getZ();

                if (i1 * i1 + j1 * j1 <= i * i)
                {
                    for (int k1 = position.getY() - j; k1 <= position.getY() + j; ++k1)
                    {
                        BlockPos blockpos = new BlockPos(k, k1, l);
                        Block block = worldIn.getBlockState(blockpos).getBlock();

                        if (block == Blocks.dirt || block == Blocks.clay)
                        {
                            worldIn.setBlockState(blockpos, this.field_150546_a.getDefaultState(), 2);
                        }
                    }
                }
            }
        }

        return true;
    }
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:38,代碼來源:WorldGenClay.java

示例10: getFluidColor

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
public static int getFluidColor(Block p_getFluidColor_0_, IBlockAccess p_getFluidColor_1_, BlockPos p_getFluidColor_2_)
{
    return p_getFluidColor_0_.getMaterial() != Material.water ? p_getFluidColor_0_.colorMultiplier(p_getFluidColor_1_, p_getFluidColor_2_) : (waterColors != null ? (Config.isSmoothBiomes() ? getSmoothColor(waterColors, p_getFluidColor_1_, (double)p_getFluidColor_2_.getX(), (double)p_getFluidColor_2_.getY(), (double)p_getFluidColor_2_.getZ(), 3, 1) : getCustomColor(waterColors, p_getFluidColor_1_, p_getFluidColor_2_)) : (!Config.isSwampColors() ? 16777215 : p_getFluidColor_0_.colorMultiplier(p_getFluidColor_1_, p_getFluidColor_2_)));
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:5,代碼來源:CustomColorizer.java

示例11: onItemRightClick

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
/**
 * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
 */
public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn)
{
    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(worldIn, playerIn, true);

    if (movingobjectposition == null)
    {
        return itemStackIn;
    }
    else
    {
        if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
        {
            BlockPos blockpos = movingobjectposition.getBlockPos();

            if (!worldIn.isBlockModifiable(playerIn, blockpos))
            {
                return itemStackIn;
            }

            if (!playerIn.canPlayerEdit(blockpos.offset(movingobjectposition.sideHit), movingobjectposition.sideHit, itemStackIn))
            {
                return itemStackIn;
            }

            if (worldIn.getBlockState(blockpos).getBlock().getMaterial() == Material.water)
            {
                --itemStackIn.stackSize;
                playerIn.triggerAchievement(StatList.objectUseStats[Item.getIdFromItem(this)]);

                if (itemStackIn.stackSize <= 0)
                {
                    return new ItemStack(Items.potionitem);
                }

                if (!playerIn.inventory.addItemStackToInventory(new ItemStack(Items.potionitem)))
                {
                    playerIn.dropPlayerItemWithRandomChoice(new ItemStack(Items.potionitem, 1, 0), false);
                }
            }
        }

        return itemStackIn;
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:48,代碼來源:ItemGlassBottle.java

示例12: onImpact

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
@Override
public void onImpact(MovingObjectPosition target)
{
	if (target.entityHit != null) 		// We hit a living thing!
   	{		
		// Damage
		target.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.shootingEntity), (float)this.damage);
           target.entityHit.hurtResistantTime = 0;	// No immunity frames
           this.targetsHit += 1;					// Punched through one more entity
           
           // Bonus
           EntityLightningBolt bolt = new EntityLightningBolt(this.worldObj, target.entityHit.posX, target.entityHit.posY, target.entityHit.posZ);
           this.worldObj.addWeatherEffect(bolt);
       }
	else
	{
		// Let's blast through terrain on hit
		
		int x = target.blockX;
		int y = target.blockY;
		int z = target.blockZ;
		
		Block toBeBroken = this.worldObj.getBlock(x, y, z);
		int meta = this.worldObj.getBlockMetadata(x, y, z);
		
		boolean breakThis = true;
		
		if (toBeBroken.getHarvestLevel(meta) > 1) 
		{ 
			breakThis = false; 
			this.targetsHit += 1;	// Thicker materials
		}
		
		if (toBeBroken.getHarvestLevel(meta) > 2) 
		{ 
			breakThis = false; 
			this.targetsHit += 2;	// Even thicker materials
		}
		
		if (toBeBroken.getHarvestLevel(meta) > 3) 
		{ 
			breakThis = false; 
			this.targetsHit += 3;	// Super thick material
		}
		
    	if (toBeBroken.getMaterial() == Material.water) { breakThis = false; }
    	
    	if (toBeBroken == Blocks.water) { breakThis = false; }
    	if (toBeBroken == Blocks.flowing_water) { breakThis = false; }
    	
    	if (toBeBroken == Blocks.obsidian) 
    	{ 
    		breakThis = false; 
    		this.targetsHit += 2;	// Thicker materials
    	}
    	
    	if (toBeBroken == Blocks.iron_block) 
    	{ 
    		breakThis = false; 
    		this.targetsHit += 2;	// Thicker materials
    	}
    	
    	if (breakThis)	// Sorted out all blocks we don't want to break. Checking the rest now
    	{
    		// Glass breaking
        	Helper.tryBlockBreak(this.worldObj, this, target, 3);	// Very Strong
    	}
		
		this.targetsHit += 1;	// Punched through one more block, no matter if we managed to break it
	}
	
	// SFX
	NetHelper.sendParticleMessageToAllPlayers(this.worldObj, this.getEntityId(), (byte) 10, (byte) 2);
	this.worldObj.playSoundAtEntity(this, "ambient.weather.thunder", 0.7F, 0.5F);
	
	if (this.targetsHit > this.targetsHitMax) { this.setDead(); }	// Went through the maximum, so ending now
}
 
開發者ID:Domochevsky,項目名稱:minecraft-quiverbow,代碼行數:78,代碼來源:RedLight.java

示例13: getFOVModifier

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
/**
 * Changes the field of view of the player depending on if they are underwater
 * or not
 */
private float getFOVModifier(float partialTicks, boolean p_78481_2_) {
	if (this.debugView) {
		return 90.0F;
	} else {
		Entity entity = this.mc.getRenderViewEntity();
		float f = 70.0F;

		if (p_78481_2_) {
			f = this.mc.gameSettings.fovSetting;
			f = f * (this.fovModifierHandPrev + (this.fovModifierHand - this.fovModifierHandPrev) * partialTicks);
		}

		boolean flag = false;

		if (this.mc.currentScreen == null) {
			GameSettings gamesettings = this.mc.gameSettings;
			flag = GameSettings.isKeyDown(this.mc.gameSettings.ofKeyBindZoom);
		}

		if (flag) {
			if (!Config.zoomMode) {
				Config.zoomMode = true;
				this.mc.gameSettings.smoothCamera = true;
			}

			if (Config.zoomMode) {
				f /= 4.0F;
			}
		} else if (Config.zoomMode) {
			Config.zoomMode = false;
			this.mc.gameSettings.smoothCamera = false;
			this.mouseFilterXAxis = new MouseFilter();
			this.mouseFilterYAxis = new MouseFilter();
			this.mc.renderGlobal.displayListEntitiesDirty = true;
		}

		if (entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0.0F) {
			float f1 = (float) ((EntityLivingBase) entity).deathTime + partialTicks;
			f /= (1.0F - 500.0F / (f1 + 500.0F)) * 2.0F + 1.0F;
		}

		Block block = ActiveRenderInfo.getBlockAtEntityViewpoint(this.mc.theWorld, entity, partialTicks);

		if (block.getMaterial() == Material.water) {
			f = f * 60.0F / 70.0F;
		}

		return f;
	}
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:55,代碼來源:EntityRenderer.java

示例14: isSafeToStandAt

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
/**
 * Returns true when an entity could stand at a position, including solid blocks under the entire entity.
 */
private boolean isSafeToStandAt(int x, int y, int z, int sizeX, int sizeY, int sizeZ, Vec3 vec31, double p_179683_8_, double p_179683_10_)
{
    int i = x - sizeX / 2;
    int j = z - sizeZ / 2;

    if (!this.isPositionClear(i, y, j, sizeX, sizeY, sizeZ, vec31, p_179683_8_, p_179683_10_))
    {
        return false;
    }
    else
    {
        for (int k = i; k < i + sizeX; ++k)
        {
            for (int l = j; l < j + sizeZ; ++l)
            {
                double d0 = (double)k + 0.5D - vec31.xCoord;
                double d1 = (double)l + 0.5D - vec31.zCoord;

                if (d0 * p_179683_8_ + d1 * p_179683_10_ >= 0.0D)
                {
                    Block block = this.worldObj.getBlockState(new BlockPos(k, y - 1, l)).getBlock();
                    Material material = block.getMaterial();

                    if (material == Material.air)
                    {
                        return false;
                    }

                    if (material == Material.water && !this.theEntity.isInWater())
                    {
                        return false;
                    }

                    if (material == Material.lava)
                    {
                        return false;
                    }
                }
            }
        }

        return true;
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:48,代碼來源:PathNavigateGround.java

示例15: isWater

import net.minecraft.block.material.Material; //導入方法依賴的package包/類
private boolean isWater(BlockPos pos)
{
    return this.getBlockState(pos).getBlock().getMaterial() == Material.water;
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:5,代碼來源:World.java


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