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


Java MathHelper.ceiling_float_int方法代码示例

本文整理汇总了Java中net.minecraft.util.math.MathHelper.ceiling_float_int方法的典型用法代码示例。如果您正苦于以下问题:Java MathHelper.ceiling_float_int方法的具体用法?Java MathHelper.ceiling_float_int怎么用?Java MathHelper.ceiling_float_int使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.util.math.MathHelper的用法示例。


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

示例1: updateFallState

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
@Override
protected void updateFallState(double y, boolean onGroundIn, IBlockState state, BlockPos pos) {
	if (!this.isInWater())
       {
           this.handleWaterMovement();
       }

       if (!this.worldObj.isRemote && this.fallDistance > 3.0F && onGroundIn)
       {
           float f = (float)MathHelper.ceiling_float_int(this.fallDistance - 3.0F);

           if (!state.getBlock().isAir(state, worldObj, pos))
           {
               double d0 = Math.min((double)(0.2F + f / 15.0F), 2.5D);
               int i = (int)(150.0D * d0);
           }
       }

       super.updateFallState(y, onGroundIn, state, pos);
}
 
开发者ID:PorPit,项目名称:MineCamera,代码行数:21,代码来源:EntityTripod.java

示例2: fall

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
@Override
public void fall(float distance, float damageMultiplier)
{
    super.fall(distance, damageMultiplier);
    int i = MathHelper.ceiling_float_int((distance - 3.0F) * damageMultiplier);

    if (i > 0)
    {
        this.attackEntityFrom(DamageSource.fall, (float)i);
        int j = MathHelper.floor_double(this.posX);
        int k = MathHelper.floor_double(this.posY - 0.20000000298023224D);
        int l = MathHelper.floor_double(this.posZ);
        IBlockState iblockstate = this.worldObj.getBlockState(new BlockPos(j, k, l));

        if (iblockstate.getMaterial() != Material.AIR)
        {
            SoundType soundtype = iblockstate.getBlock().getSoundType(iblockstate, worldObj, new BlockPos(j, k, l), this);
            this.playSound(soundtype.getFallSound(), soundtype.getVolume() * 0.5F, soundtype.getPitch() * 0.75F);
        }
    }
}
 
开发者ID:PorPit,项目名称:MineCamera,代码行数:22,代码来源:EntityTripod.java

示例3: generate

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    float f = (float)(rand.nextInt(3) + 4);

    for (int i = 0; f > 0.5F; --i)
    {
        for (int j = MathHelper.floor_float(-f); j <= MathHelper.ceiling_float_int(f); ++j)
        {
            for (int k = MathHelper.floor_float(-f); k <= MathHelper.ceiling_float_int(f); ++k)
            {
                if ((float)(j * j + k * k) <= (f + 1.0F) * (f + 1.0F))
                {
                    this.setBlockAndNotifyAdequately(worldIn, position.add(j, i, k), Blocks.END_STONE.getDefaultState());
                }
            }
        }

        f = (float)((double)f - ((double)rand.nextInt(2) + 0.5D));
    }

    return true;
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:23,代码来源:WorldGenEndIsland.java

示例4: updateFallState

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
protected void updateFallState(double y, boolean onGroundIn, IBlockState state, BlockPos pos)
{
    if (!this.isInWater())
    {
        this.handleWaterMovement();
    }

    if (!this.worldObj.isRemote && this.fallDistance > 3.0F && onGroundIn)
    {
        float f = (float)MathHelper.ceiling_float_int(this.fallDistance - 3.0F);

        if (!state.getBlock().isAir(state, worldObj, pos))
        {
            double d0 = Math.min((double)(0.2F + f / 15.0F), 2.5D);
            int i = (int)(150.0D * d0);
            if (!state.getBlock().addLandingEffects(state, (WorldServer)this.worldObj, pos, state, this, i))
            ((WorldServer)this.worldObj).spawnParticle(EnumParticleTypes.BLOCK_DUST, this.posX, this.posY, this.posZ, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D, new int[] {Block.getStateId(state)});
        }
    }

    super.updateFallState(y, onGroundIn, state, pos);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:23,代码来源:EntityLivingBase.java

示例5: fall

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
public void fall(float distance, float damageMultiplier)
{
    float[] ret = net.minecraftforge.common.ForgeHooks.onLivingFall(this, distance, damageMultiplier);
    if (ret == null) return;
    distance = ret[0]; damageMultiplier = ret[1];
    super.fall(distance, damageMultiplier);
    PotionEffect potioneffect = this.getActivePotionEffect(MobEffects.JUMP_BOOST);
    float f = potioneffect == null ? 0.0F : (float)(potioneffect.getAmplifier() + 1);
    int i = MathHelper.ceiling_float_int((distance - 3.0F - f) * damageMultiplier);

    if (i > 0)
    {
        this.playSound(this.getFallSound(i), 1.0F, 1.0F);
        this.attackEntityFrom(DamageSource.fall, (float)i);
        int j = MathHelper.floor_double(this.posX);
        int k = MathHelper.floor_double(this.posY - 0.20000000298023224D);
        int l = MathHelper.floor_double(this.posZ);
        IBlockState iblockstate = this.worldObj.getBlockState(new BlockPos(j, k, l));

        if (iblockstate.getMaterial() != Material.AIR)
        {
            SoundType soundtype = iblockstate.getBlock().getSoundType(iblockstate, worldObj, new BlockPos(j, k, l), this);
            this.playSound(soundtype.getFallSound(), soundtype.getVolume() * 0.5F, soundtype.getPitch() * 0.75F);
        }
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:27,代码来源:EntityLivingBase.java

示例6: fall

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
public void fall(float distance, float damageMultiplier)
{
    Block block = this.fallTile.getBlock();

    if (this.hurtEntities)
    {
        int i = MathHelper.ceiling_float_int(distance - 1.0F);

        if (i > 0)
        {
            List<Entity> list = Lists.newArrayList(this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.getEntityBoundingBox()));
            boolean flag = block == Blocks.ANVIL;
            DamageSource damagesource = flag ? DamageSource.anvil : DamageSource.fallingBlock;

            for (Entity entity : list)
            {
                entity.attackEntityFrom(damagesource, (float)Math.min(MathHelper.floor_float((float)i * this.fallHurtAmount), this.fallHurtMax));
            }

            if (flag && (double)this.rand.nextFloat() < 0.05000000074505806D + (double)i * 0.05D)
            {
                int j = ((Integer)this.fallTile.getValue(BlockAnvil.DAMAGE)).intValue();
                ++j;

                if (j > 2)
                {
                    this.canSetAsBlock = true;
                }
                else
                {
                    this.fallTile = this.fallTile.withProperty(BlockAnvil.DAMAGE, Integer.valueOf(j));
                }
            }
        }
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:37,代码来源:EntityFallingBlock.java

示例7: fall

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
public void fall(float distance, float damageMultiplier)
{
    if (distance > 1.0F)
    {
        this.playSound(SoundEvents.ENTITY_HORSE_LAND, 0.4F, 1.0F);
    }

    int i = MathHelper.ceiling_float_int((distance * 0.5F - 3.0F) * damageMultiplier);

    if (i > 0)
    {
        this.attackEntityFrom(DamageSource.fall, (float)i);

        if (this.isBeingRidden())
        {
            for (Entity entity : this.getRecursivePassengers())
            {
                entity.attackEntityFrom(DamageSource.fall, (float)i);
            }
        }

        IBlockState iblockstate = this.worldObj.getBlockState(new BlockPos(this.posX, this.posY - 0.2D - (double)this.prevRotationYaw, this.posZ));
        Block block = iblockstate.getBlock();

        if (iblockstate.getMaterial() != Material.AIR && !this.isSilent())
        {
            SoundType soundtype = block.getSoundType(iblockstate, worldObj, new BlockPos(this.posX, this.posY - 0.2D - (double)this.prevRotationYaw, this.posZ), this);
            this.worldObj.playSound((EntityPlayer)null, this.posX, this.posY, this.posZ, soundtype.getStepSound(), this.getSoundCategory(), soundtype.getVolume() * 0.5F, soundtype.getPitch() * 0.75F);
        }
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:32,代码来源:EntityHorse.java

示例8: computeRedstoneStrength

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
protected int computeRedstoneStrength(World worldIn, BlockPos pos)
{
    int i = Math.min(worldIn.getEntitiesWithinAABB(Entity.class, PRESSURE_AABB.offset(pos)).size(), this.maxWeight);

    if (i > 0)
    {
        float f = (float)Math.min(this.maxWeight, i) / (float)this.maxWeight;
        return MathHelper.ceiling_float_int(f * 15.0F);
    }
    else
    {
        return 0;
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:15,代码来源:BlockPressurePlateWeighted.java

示例9: pathFollow

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
protected void pathFollow()
{
    Vec3d vec3d = this.getEntityPosition();
    int i = this.currentPath.getCurrentPathLength();

    for (int j = this.currentPath.getCurrentPathIndex(); j < this.currentPath.getCurrentPathLength(); ++j)
    {
        if ((double)this.currentPath.getPathPointFromIndex(j).yCoord != Math.floor(vec3d.yCoord))
        {
            i = j;
            break;
        }
    }

    this.maxDistanceToWaypoint = this.theEntity.width > 0.75F ? this.theEntity.width / 2.0F : 0.75F - this.theEntity.width / 2.0F;
    Vec3d vec3d1 = this.currentPath.getCurrentPos();

    if (MathHelper.abs((float)(this.theEntity.posX - (vec3d1.xCoord + 0.5D))) < this.maxDistanceToWaypoint && MathHelper.abs((float)(this.theEntity.posZ - (vec3d1.zCoord + 0.5D))) < this.maxDistanceToWaypoint && Math.abs(this.theEntity.posY - vec3d1.yCoord) < 1.0D)
    {
        this.currentPath.setCurrentPathIndex(this.currentPath.getCurrentPathIndex() + 1);
    }

    int k = MathHelper.ceiling_float_int(this.theEntity.width);
    int l = MathHelper.ceiling_float_int(this.theEntity.height);
    int i1 = k;

    for (int j1 = i - 1; j1 >= this.currentPath.getCurrentPathIndex(); --j1)
    {
        if (this.isDirectPathBetweenPoints(vec3d, this.currentPath.getVectorFromIndex(this.theEntity, j1), k, l, i1))
        {
            this.currentPath.setCurrentPathIndex(j1);
            break;
        }
    }

    this.checkForStuck(vec3d);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:38,代码来源:PathNavigate.java

示例10: spawnDummyTracks

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
/**
 * Spawns dummy tracks based on flag linking.
 * 
 * @return {@code null} if successful, otherwise the {@link net.minecraft.util.math.BlockPos BlockPos} of the first obstructing block.
 */
public BlockPos spawnDummyTracks() {

	/*
	 * Make sure other tile entity is a flag.
	 */
	TileEntity tile = worldObj.getTileEntity(this.pos.add(linkedCurve.endPos));
	if (!(tile instanceof TileEntitySurveyFlag)) {
		return tile.getPos();
	}

	float width = getSleeperType().getDefaultWidth() - 1.0F;
	if (width <= 0.0F) {
		width = 0.0F;
	}

	final int ballast = MathHelper.ceiling_float_int( width / 2.0F );
	final OFTCurve thisFlagCurve = linkedCurve;
	final OFTCurve otherFlagCurve = ((TileEntitySurveyFlag) tile).linkedCurve;
	final Map<BlockPos, Byte> blockMap = new HashMap<BlockPos, Byte>();

	/*
	 * Need to see which end of the curve is higher.
	 * If we go top-down, the fake tracks are too high and ballast looks weird.
	 * On the other hand, if we went from the other direction we might miss ballast below the track.
	 * Steep hills tend to do this, so go in both directions just in case.
	 */
	BlockPos blockingBlock = addFakeTracksToMap(thisFlagCurve, this.pos, blockMap, ballast);
	if(blockingBlock != null){
		return blockingBlock;
	}
	blockingBlock = addFakeTracksToMap(otherFlagCurve, this.pos.add(linkedCurve.endPos), blockMap, ballast);
	if(blockingBlock != null){
		return blockingBlock;
	}

	/*
	 * Finally create fake tracks.
	 */
	BlockTrackFake.toggleMainTrackBreakage(false);
	{
		/* Set block states at selected positions. */
		IBlockState defState = OFTRegistry.trackStructureFake.getDefaultState();

		for (BlockPos placementPos : blockMap.keySet()) {
			worldObj.setBlockState(placementPos, defState.withProperty(BlockTrackFake.height, (int) blockMap.get(placementPos)));			
		}

		/* Set block states and tile entities at start and end. */
		worldObj.setBlockState(this.pos, OFTRegistry.trackStructure.getDefaultState());
		worldObj.setBlockState(this.pos.add(thisFlagCurve.endPos), OFTRegistry.trackStructure.getDefaultState());
		TileEntityTrack startTile = new TileEntityTrack(thisFlagCurve);
		TileEntityTrack endTile = new TileEntityTrack(otherFlagCurve);
		startTile.setFakeTracks(new ArrayList<BlockPos>(blockMap.keySet()));
		endTile.setFakeTracks(new ArrayList<BlockPos>(blockMap.keySet()));
		worldObj.setTileEntity(this.pos, startTile);
		worldObj.setTileEntity(this.pos.add(thisFlagCurve.endPos), endTile);
	}
	BlockTrackFake.toggleMainTrackBreakage(true);

	return null;
}
 
开发者ID:DonBruce64,项目名称:OpenFlexiTrack,代码行数:67,代码来源:TileEntitySurveyFlag.java

示例11: ceil

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
public static int ceil(float p_ceil_0_)
{
    return MathHelper.ceiling_float_int(p_ceil_0_);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:5,代码来源:RealmsMth.java

示例12: onCrafting

import net.minecraft.util.math.MathHelper; //导入方法依赖的package包/类
/**
 * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood.
 */
protected void onCrafting(ItemStack stack)
{
    stack.onCrafting(this.thePlayer.worldObj, this.thePlayer, this.removeCount);

    if (!this.thePlayer.worldObj.isRemote)
    {
        int i = this.removeCount;
        float f = FurnaceRecipes.instance().getSmeltingExperience(stack);

        if (f == 0.0F)
        {
            i = 0;
        }
        else if (f < 1.0F)
        {
            int j = MathHelper.floor_float((float)i * f);

            if (j < MathHelper.ceiling_float_int((float)i * f) && Math.random() < (double)((float)i * f - (float)j))
            {
                ++j;
            }

            i = j;
        }

        while (i > 0)
        {
            int k = EntityXPOrb.getXPSplit(i);
            i -= k;
            this.thePlayer.worldObj.spawnEntityInWorld(new EntityXPOrb(this.thePlayer.worldObj, this.thePlayer.posX, this.thePlayer.posY + 0.5D, this.thePlayer.posZ + 0.5D, k));
        }
    }

    this.removeCount = 0;

    net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerSmeltedEvent(thePlayer, stack);

    if (stack.getItem() == Items.IRON_INGOT)
    {
        this.thePlayer.addStat(AchievementList.ACQUIRE_IRON);
    }

    if (stack.getItem() == Items.COOKED_FISH)
    {
        this.thePlayer.addStat(AchievementList.COOK_FISH);
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:51,代码来源:SlotFurnaceOutput.java


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