本文整理了Java中net.minecraft.util.math.MathHelper.clamp()
方法的一些代码示例,展示了MathHelper.clamp()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MathHelper.clamp()
方法的具体详情如下:
包路径:net.minecraft.util.math.MathHelper
类名称: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();
}
内容来源于网络,如有侵权,请联系作者删除!