1
0
forked from Clones/Controlify

remove deprecated api in rumble mixins

This commit is contained in:
isXander
2023-04-21 18:13:02 +01:00
parent e97b027c6b
commit 7703b79f5a
9 changed files with 23 additions and 20 deletions

View File

@ -16,7 +16,7 @@ public record GamepadDrivers(BasicGamepadInputDriver basicGamepadInputDriver, Gy
public void printDrivers() { public void printDrivers() {
if (DebugProperties.PRINT_DRIVER) { if (DebugProperties.PRINT_DRIVER) {
Controlify.LOGGER.info("Drivers in use: Basic Input = {}, Gyro = {}, Rumble = {}", Controlify.LOGGER.info("Drivers in use: Basic Input = '{}', Gyro = '{}', Rumble = '{}'",
basicGamepadInputDriver.getBasicGamepadDetails(), basicGamepadInputDriver.getBasicGamepadDetails(),
gyroDriver.getGyroDetails(), gyroDriver.getGyroDetails(),
rumbleDriver.getRumbleDetails() rumbleDriver.getRumbleDetails()

View File

@ -64,7 +64,8 @@ public class MultiPlayerGameModeMixin {
.build(); .build();
blockBreakRumble = effect; blockBreakRumble = effect;
ControlifyApi.get().currentController().rumbleManager().play(RumbleSource.BLOCK_DESTROY, effect); ControlifyApi.get().getCurrentController()
.ifPresent(controller -> controller.rumbleManager().play(RumbleSource.BLOCK_DESTROY, effect));
} }
private void stopRumble() { private void stopRumble() {

View File

@ -34,11 +34,10 @@ public abstract class LocalPlayerMixin extends AbstractClientPlayer {
float maxDamage = 15; // the damage that results in magnitude 1.0f float maxDamage = 15; // the damage that results in magnitude 1.0f
float magnitude = (Mth.clamp(damageTaken, smallestDamage, maxDamage) - smallestDamage) / (maxDamage - smallestDamage) * (1 - minMagnitude) + minMagnitude; float magnitude = (Mth.clamp(damageTaken, smallestDamage, maxDamage) - smallestDamage) / (maxDamage - smallestDamage) * (1 - minMagnitude) + minMagnitude;
System.out.println(magnitude); ControlifyApi.get().getCurrentController().ifPresent(controller -> controller.rumbleManager().play(
ControlifyApi.get().currentController().rumbleManager().play(
RumbleSource.DAMAGE, RumbleSource.DAMAGE,
BasicRumbleEffect.constant(magnitude, 0f, magnitude >= 0.75f ? 8 : 5) BasicRumbleEffect.constant(magnitude, 0f, magnitude >= 0.75f ? 8 : 5)
); ));
} }
// skip first tick from spawn // skip first tick from spawn
skipTick = false; skipTick = false;

View File

@ -1,6 +1,5 @@
package dev.isxander.controlify.mixins.feature.rumble.explosion; package dev.isxander.controlify.mixins.feature.rumble.explosion;
import com.llamalad7.mixinextras.sugar.Local;
import dev.isxander.controlify.api.ControlifyApi; import dev.isxander.controlify.api.ControlifyApi;
import dev.isxander.controlify.rumble.BasicRumbleEffect; import dev.isxander.controlify.rumble.BasicRumbleEffect;
import dev.isxander.controlify.rumble.RumbleSource; import dev.isxander.controlify.rumble.RumbleSource;
@ -9,7 +8,6 @@ import dev.isxander.controlify.utils.Easings;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.network.protocol.game.ClientboundExplodePacket; import net.minecraft.network.protocol.game.ClientboundExplodePacket;
import net.minecraft.world.level.Explosion;
import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
@ -25,7 +23,7 @@ public class ClientPacketListenerMixin {
private void onClientExplosion(ClientboundExplodePacket packet, CallbackInfo ci) { private void onClientExplosion(ClientboundExplodePacket packet, CallbackInfo ci) {
float initialMagnitude = calculateMagnitude(packet); float initialMagnitude = calculateMagnitude(packet);
ControlifyApi.get().currentController().rumbleManager().play( ControlifyApi.get().getCurrentController().ifPresent(controller -> controller.rumbleManager().play(
RumbleSource.EXPLOSION, RumbleSource.EXPLOSION,
BasicRumbleEffect.join( BasicRumbleEffect.join(
BasicRumbleEffect.constant(initialMagnitude, initialMagnitude, 4), // initial boom BasicRumbleEffect.constant(initialMagnitude, initialMagnitude, 4), // initial boom
@ -34,7 +32,7 @@ public class ClientPacketListenerMixin {
return new RumbleState(0f, magnitude - t * magnitude); return new RumbleState(0f, magnitude - t * magnitude);
}, 20) // explosion }, 20) // explosion
) )
); ));
} }
private float calculateMagnitude(ClientboundExplodePacket packet) { private float calculateMagnitude(ClientboundExplodePacket packet) {

View File

@ -14,13 +14,13 @@ public class LightningBoltMixin {
@ModifyExpressionValue(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;isClientSide()Z")) @ModifyExpressionValue(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;isClientSide()Z"))
private boolean onLightningStrike(boolean client) { private boolean onLightningStrike(boolean client) {
if (client) { if (client) {
ControlifyApi.get().currentController().rumbleManager().play( ControlifyApi.get().getCurrentController().ifPresent(controller -> controller.rumbleManager().play(
RumbleSource.EXPLOSION, RumbleSource.EXPLOSION,
BasicRumbleEffect.join( BasicRumbleEffect.join(
BasicRumbleEffect.constant(1f, 0.2f, 6), // initial boom BasicRumbleEffect.constant(1f, 0.2f, 6), // initial boom
BasicRumbleEffect.byTime(t -> new RumbleState(0f, 1 - t*0.2f), 10) // explosion BasicRumbleEffect.byTime(t -> new RumbleState(0f, 1 - t*0.2f), 10) // explosion
) )
); ));
} }
return client; return client;
} }

View File

@ -27,10 +27,13 @@ public class FishingHookMixin {
var biting = (boolean) bitingObj; var biting = (boolean) bitingObj;
if (isLocalPlayerHook) { if (isLocalPlayerHook) {
if (biting && !this.biting) { if (biting && !this.biting) {
bitingRumble = ContinuousRumbleEffect.builder() ControlifyApi.get().getCurrentController().ifPresent(controller -> {
.constant(0f, 0.05f) bitingRumble = ContinuousRumbleEffect.builder()
.build(); .constant(0f, 0.05f)
ControlifyApi.get().currentController().rumbleManager().play(RumbleSource.MISC, bitingRumble); .build();
controller.rumbleManager().play(RumbleSource.MISC, bitingRumble);
});
} else if (!biting && this.biting) { } else if (!biting && this.biting) {
stopBitingRumble(); stopBitingRumble();
} }

View File

@ -14,9 +14,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
public class LocalPlayerMixin extends LivingEntityMixin { public class LocalPlayerMixin extends LivingEntityMixin {
@Override @Override
protected void onBreakItemParticles(ItemStack stack, CallbackInfo ci) { protected void onBreakItemParticles(ItemStack stack, CallbackInfo ci) {
ControlifyApi.get().currentController().rumbleManager().play( ControlifyApi.get().getCurrentController().ifPresent(controller -> controller.rumbleManager().play(
RumbleSource.ITEM_BREAK, RumbleSource.ITEM_BREAK,
BasicRumbleEffect.byTick(tick -> new RumbleState(tick <= 4 ? 1f : 0f, 1f), 10) BasicRumbleEffect.byTick(tick -> new RumbleState(tick <= 4 ? 1f : 0f, 1f), 10)
); ));
} }
} }

View File

@ -57,6 +57,6 @@ public class LevelRendererMixin {
} }
private void rumble(RumbleSource source, RumbleEffect effect) { private void rumble(RumbleSource source, RumbleEffect effect) {
ControlifyApi.get().currentController().rumbleManager().play(source, effect); ControlifyApi.get().getCurrentController().ifPresent(controller -> controller.rumbleManager().play(source, effect));
} }
} }

View File

@ -69,7 +69,9 @@ public abstract class LocalPlayerMixin extends LivingEntityMixin {
} }
private void startRumble(ContinuousRumbleEffect effect) { private void startRumble(ContinuousRumbleEffect effect) {
ControlifyApi.get().currentController().rumbleManager().play(RumbleSource.USE_ITEM, effect); ControlifyApi.get().getCurrentController().ifPresent(controller -> {
useItemRumble = effect; controller.rumbleManager().play(RumbleSource.USE_ITEM, effect);
useItemRumble = effect;
});
} }
} }