|
@@ -5,6 +5,7 @@ import net.minecraft.entity.SharedMonsterAttributes;
|
|
import net.minecraft.entity.ai.attributes.IAttributeInstance;
|
|
import net.minecraft.entity.ai.attributes.IAttributeInstance;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.init.Items;
|
|
import net.minecraft.init.Items;
|
|
|
|
+import net.minecraft.util.math.MathHelper;
|
|
import net.minecraftforge.client.event.FOVUpdateEvent;
|
|
import net.minecraftforge.client.event.FOVUpdateEvent;
|
|
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
|
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
@@ -26,7 +27,7 @@ public class EventHandlerClient {
|
|
|
|
|
|
if (player.capabilities.isFlying) {
|
|
if (player.capabilities.isFlying) {
|
|
modifier *= 1.0F + getConfiguredValue(0.1F, ConfigHandler.flying.modifier,
|
|
modifier *= 1.0F + getConfiguredValue(0.1F, ConfigHandler.flying.modifier,
|
|
- ConfigHandler.flying.maxValue);
|
|
|
|
|
|
+ ConfigHandler.flying.maxValue, ConfigHandler.flying.minValue);
|
|
}
|
|
}
|
|
|
|
|
|
IAttributeInstance iattributeinstance = player.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED);
|
|
IAttributeInstance iattributeinstance = player.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED);
|
|
@@ -36,12 +37,14 @@ public class EventHandlerClient {
|
|
float effPercent = Math.abs((value / (player.isSprinting() ? 1.3F : 1.0F) - player.capabilities.getWalkSpeed())
|
|
float effPercent = Math.abs((value / (player.isSprinting() ? 1.3F : 1.0F) - player.capabilities.getWalkSpeed())
|
|
/ (value - player.capabilities.getWalkSpeed()));
|
|
/ (value - player.capabilities.getWalkSpeed()));
|
|
float configModifier = getConfiguredValue(effPercent * (speedModifier - 1),
|
|
float configModifier = getConfiguredValue(effPercent * (speedModifier - 1),
|
|
- ConfigHandler.speed.effects.modifier, ConfigHandler.speed.effects.maxValue);
|
|
|
|
|
|
+ ConfigHandler.speed.effects.modifier, ConfigHandler.speed.effects.maxValue,
|
|
|
|
+ ConfigHandler.speed.effects.minValue);
|
|
|
|
|
|
if (player.isSprinting()) {
|
|
if (player.isSprinting()) {
|
|
float sprintPercent = 1.0F - effPercent;
|
|
float sprintPercent = 1.0F - effPercent;
|
|
float sprintModifier = getConfiguredValue(sprintPercent * (speedModifier - 1),
|
|
float sprintModifier = getConfiguredValue(sprintPercent * (speedModifier - 1),
|
|
- ConfigHandler.speed.sprinting.modifier, ConfigHandler.speed.sprinting.maxValue);
|
|
|
|
|
|
+ ConfigHandler.speed.sprinting.modifier, ConfigHandler.speed.sprinting.maxValue,
|
|
|
|
+ ConfigHandler.speed.sprinting.minValue);
|
|
configModifier += sprintModifier;
|
|
configModifier += sprintModifier;
|
|
}
|
|
}
|
|
modifier = (float) ((double) modifier * (1.0D + configModifier));
|
|
modifier = (float) ((double) modifier * (1.0D + configModifier));
|
|
@@ -61,14 +64,13 @@ public class EventHandlerClient {
|
|
}
|
|
}
|
|
|
|
|
|
modifier *= 1.0F - getConfiguredValue(f1 * 0.15F, ConfigHandler.aiming.modifier,
|
|
modifier *= 1.0F - getConfiguredValue(f1 * 0.15F, ConfigHandler.aiming.modifier,
|
|
- ConfigHandler.aiming.maxValue);
|
|
|
|
|
|
+ ConfigHandler.aiming.maxValue, ConfigHandler.aiming.minValue);
|
|
}
|
|
}
|
|
|
|
|
|
return modifier;
|
|
return modifier;
|
|
}
|
|
}
|
|
|
|
|
|
- private float getConfiguredValue(float original, double modifier, double max) {
|
|
|
|
- float configured = (float)(original * modifier);
|
|
|
|
- return max >= 0 ? (float)Math.min(configured, max) : configured;
|
|
|
|
|
|
+ private float getConfiguredValue(float original, double modifier, double max, double min) {
|
|
|
|
+ return (float)MathHelper.clamp(original * modifier, min, max);
|
|
}
|
|
}
|
|
}
|
|
}
|