net.minecraft.util.math.MathHelper.clamp()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(7.0k)|赞(0)|评价(0)|浏览(211)

本文整理了Java中net.minecraft.util.math.MathHelper.clamp()方法的一些代码示例,展示了MathHelper.clamp()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MathHelper.clamp()方法的具体详情如下:
包路径:net.minecraft.util.math.MathHelper
类名称:MathHelper
方法名:clamp

MathHelper.clamp介绍

暂无

代码示例

代码示例来源:origin: Vazkii/Botania

@Override
public int getMetadata(int stackMeta) {
  return MathHelper.clamp(stackMeta, 0, 15);
}

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

/**
 * Clamps the Quad inside the box.
 *
 * @param bb The box.
 */
public void clamp( AxisAlignedBB bb )
{
  for( Vertex vertex : this.vertices )
  {
    float[] vec = vertex.vec;
    vec[0] = (float) MathHelper.clamp( vec[0], bb.minX, bb.maxX );
    vec[1] = (float) MathHelper.clamp( vec[1], bb.minY, bb.maxY );
    vec[2] = (float) MathHelper.clamp( vec[2], bb.minZ, bb.maxZ );
  }
  calculateOrientation(true);
}

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

private BakedQuad createQuad( EnumFacing side, Vec3d c1, Vec3d c2, Vec3d c3, Vec3d c4, TextureAtlasSprite sprite, float uOffset, float vOffset )
{
  Vec3d normal = new Vec3d( side.getDirectionVec() );
  // Apply the u,v shift.
  // This mirrors the logic from OffsetIcon from 1.7
  float u1 = MathHelper.clamp( 0 - uOffset, 0, 16 );
  float u2 = MathHelper.clamp( 16 - uOffset, 0, 16 );
  float v1 = MathHelper.clamp( 0 - vOffset, 0, 16 );
  float v2 = MathHelper.clamp( 16 - vOffset, 0, 16 );
  UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder( this.vertexFormat );
  builder.setTexture( sprite );
  this.putVertex( builder, normal, c1.x, c1.y, c1.z, sprite, u1, v1 );
  this.putVertex( builder, normal, c2.x, c2.y, c2.z, sprite, u1, v2 );
  this.putVertex( builder, normal, c3.x, c3.y, c3.z, sprite, u2, v2 );
  this.putVertex( builder, normal, c4.x, c4.y, c4.z, sprite, u2, v1 );
  return builder.build();
}

代码示例来源:origin: Vazkii/Botania

@Override
  public void renderByItem(ItemStack stack, float partialTicks) {
    if(stack.getItem() == Item.getItemFromBlock(ModBlocks.pylon)) {
      RenderTilePylon.forceVariant = PylonVariant.values()[MathHelper.clamp(stack.getItemDamage(), 0, PylonVariant.values().length)];
      TileEntityRendererDispatcher.instance.render(DUMMY, 0, 0, 0, partialTicks);
    } else {
      compose.renderByItem(stack, partialTicks);
    }
  }
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
 public float scaleValue(float idx) {
  return MathHelper.clamp(idx, 0, 8);
 }
}),

代码示例来源:origin: TheGreyGhost/MinecraftByExample

/**
 * Returns the amount of fuel remaining on the currently burning item in the given fuel slot.
 * @fuelSlot the number of the fuel slot (0..3)
 * @return fraction remaining, between 0 - 1
 */
public double fractionOfFuelRemaining(int fuelSlot)
{
  if (burnTimeInitialValue[fuelSlot] <= 0 ) return 0;
  double fraction = burnTimeRemaining[fuelSlot] / (double)burnTimeInitialValue[fuelSlot];
  return MathHelper.clamp(fraction, 0.0, 1.0);
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
 public float scaleValue(float idx) {
  return (float) MathHelper.clamp(Math.pow(2, idx - 1), 1, 8);
 }
}),

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public void setEnergyStored(int stored) {
 // Don't clamp this on the client, as the client may not know about the capacitor (inventory data is only synced while the GUI is open, while energy is
 // synced more often as the rendering depends on it)
 storedEnergyRF = world.isRemote ? stored : MathHelper.clamp(stored, 0, getMaxEnergyStored());
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
@Nonnull
public String getUnlocalizedName(@Nonnull ItemStack stack) {
 int i = MathHelper.clamp(stack.getItemDamage(), 0, subtypes.length - 1);
 return subtypes[i].getUnlocalisedName();
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public void setEnergyStored(int stored) {
 energyStored = MathHelper.clamp(stored, 0, getMaxEnergyStored());
 markDirty();
}

代码示例来源:origin: SleepyTrousers/EnderIO

public void setEnergyStored(int stored) {
 int newEnergy = MathHelper.clamp(stored, 0, getMaxEnergyStored());
 if (newEnergy != storedEnergy) {
  storedEnergy = newEnergy;
  onChange();
 }
}

代码示例来源:origin: SleepyTrousers/EnderIO

double yield() {
 double a = 1.45992201759558E+02;
 double b = 7.78379997224069E-05;
 double c = 2.35321095525948E+00;
 // double a = 2.87017287344277E-03;
 // double b = 9.09728756485006E-01;
 // double c = 2.35321061011871E+00;
 double min = Math.min(in1, in2);
 double x = MathHelper.clamp(water / waterPerInput / min, 0, 1);
 return a * Math.pow(b, x) * Math.pow(x, c);
}

代码示例来源:origin: SleepyTrousers/EnderIO

public static float calculateLightRatio(World world) {
 int lightValue = EnumSkyBlock.SKY.defaultLightValue - world.getSkylightSubtracted();
 float sunAngle = world.getCelestialAngleRadians(1.0F);
 if (sunAngle < (float) Math.PI) {
  sunAngle += (0.0F - sunAngle) * 0.2F;
 } else {
  sunAngle += (((float) Math.PI * 2F) - sunAngle) * 0.2F;
 }
 lightValue = Math.round(lightValue * MathHelper.cos(sunAngle));
 lightValue = MathHelper.clamp(lightValue, 0, 15);
 return lightValue / 15f;
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public @Nonnull String getUnlocalizedName(@Nonnull ItemStack par1ItemStack) {
 int meta = par1ItemStack.getItemDamage();
 meta = MathHelper.clamp(meta, 0, SkullType.values().length - 1);
 return getUnlocalizedName() + "." + SkullType.values()[meta].getName();
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public void fromBytes(ByteBuf buf) {
 super.fromBytes(buf);
 mode = NullHelper.first(VoidMode.values()[MathHelper.clamp(buf.readByte(), 0, VoidMode.values().length - 1)], mode);
}

代码示例来源:origin: SleepyTrousers/EnderIO

public static @Nonnull DamageModeIconHolder getFromMode(DamageMode mode) {
 if (mode != null) {
  return NullHelper.first(values()[MathHelper.clamp(mode.ordinal(), 0, values().length - 1)], DISABLED);
 }
 return DISABLED;
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public void putStack(@Nonnull ItemStack stack, int realsize) {
 if (Prep.isValid(stack)) {
  stack = stack.copy();
  stack.setCount(MathHelper.clamp(realsize, 1, getStackSizeLimit()));
 }
 items.set(getSlot(), stack);
 cb.run();
}

代码示例来源:origin: TheGreyGhost/MinecraftByExample

@Override
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos)
{
  TileEntity tileEntity = worldIn.getTileEntity(pos);
  if (tileEntity instanceof TileInventoryFurnace) {
    TileInventoryFurnace tileInventoryFurnace = (TileInventoryFurnace)tileEntity;
    int burningSlots = tileInventoryFurnace.numberOfBurningFuelSlots();
    burningSlots = MathHelper.clamp(burningSlots, 0, 4);
    return getDefaultState().withProperty(BURNING_SIDES_COUNT, burningSlots);
  }
  return state;
}

代码示例来源:origin: SleepyTrousers/EnderIO

private int calculateTeleportPower() {
 if (world.provider.getDimension() == target.getDimension()) {
  int distance = (int) Math.ceil(pos.getDistance(target.getLocation().getX(), target.getLocation().getY(), target.getLocation().getZ()));
  double base = Math.log((0.005 * distance) + 1);
  requiredPower = (int) (base * TelePadConfig.telepadPowerCoefficient.get());
 } else {
  requiredPower = TelePadConfig.telepadPowerInterdimensional.get();
 }
 // Max out at the inter dim. value
 int res = MathHelper.clamp(requiredPower, 5000, TelePadConfig.telepadPowerInterdimensional.get());
 return res;
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public float getVolume() {
 final EntityPlayerSP player = Minecraft.getMinecraft().player;
 if (NullHelper.untrust(player) != null && PaddingUpgrade.INSTANCE.hasUpgrade(player.getItemStackFromSlot(EntityEquipmentSlot.HEAD))) {
  final double distanceSq = player.getPosition().distanceSq(getXPosF(), getYPosF(), getZPosF());
  final double cutoffDistance = DarkSteelConfig.cutoffDistance.get();
  final float volume = MathHelper.clamp((float) (distanceSq / (cutoffDistance * cutoffDistance)), .1f, 1f);
  return parent.getVolume() * volume;
 }
 return parent.getVolume();
}

相关文章