Posted July 17, 20205 yr I have AttributeModifier that slow down player once condition is met and speed up to default speed (removing this modifier) when other condition is met, everything works well until player start sprinting while in slowed-down state: the slow-down AttributeModifier somehow canceled, the player starts sprinting at normal speed and then starts walking at normal speed. setSprinting(false) cancels "W" double-tap sprint activation, "ctrl" still working and does not affect the cancellation of my AttributeModifier (setSprinting(false) is located in tick event) i.e my modifier is being canceled even with setSprinting(false) I think there is an option to remove every tick sprint modifier and reapply my modifier, but this will most likely cause movement jitter ... And in general, I would like the speed reduction to affect the sprint itself. Edited July 17, 20205 yr by byalexeykh
July 17, 20205 yr Author 1 minute ago, diesieben07 said: Show your code. Applying slow-down modifier: if(!isReduceSpeedModAdded){ mc.player.getAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).applyModifier(new AttributeModifier( AdvancedCombatSystem.MOVEMENT_SPEED_REDUCE_UUID, "Movement speed reduce modifier", -0.4, AttributeModifier.Operation.MULTIPLY_TOTAL) ); isReduceSpeedModAdded = true; } setting setSprinting() to false: if(isReduceSpeedModAdded){ mc.player.setSprinting(false); } removing slow-down modifier: if(mc.player!=null && isReduceSpeedModAdded) { mc.player.getAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).removeModifier(AdvancedCombatSystem.MOVEMENT_SPEED_REDUCE_UUID); isReduceSpeedModAdded = false; }
July 17, 20205 yr Author 5 minutes ago, diesieben07 said: Look at how slowness potions do it. This is how AttributeModifier is applied to the slowness effect, and i see no difference between this and my code public static final Effect SLOWNESS = register(2, "slowness", (new Effect(EffectType.HARMFUL, 5926017)).addAttributesModifier(SharedMonsterAttributes.MOVEMENT_SPEED, "7107DE5E-7CE8-4030-940E-514C1F160890", (double)-0.15F, AttributeModifier.Operation.MULTIPLY_TOTAL)); 10 minutes ago, diesieben07 said: You cannot modify the speed like that on the client... What do you mean "like that"?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.