aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2023-12-11 23:35:15 -0500
committerAaron <51387595+AzureAaron@users.noreply.github.com>2023-12-11 23:35:15 -0500
commit6faeaa9eb10a265c83dfb0cfb229ecdbb02a5bfd (patch)
tree5665671be09ae5d21a569de1f49786a69ea5db27 /src/main/java/de/hysky
parentfa81452f198c344dcbe6460f6a189a2400780159 (diff)
downloadSkyblocker-6faeaa9eb10a265c83dfb0cfb229ecdbb02a5bfd.tar.gz
Skyblocker-6faeaa9eb10a265c83dfb0cfb229ecdbb02a5bfd.tar.bz2
Skyblocker-6faeaa9eb10a265c83dfb0cfb229ecdbb02a5bfd.zip
Use a cancellable inject
Diffstat (limited to 'src/main/java/de/hysky')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/DataTrackerMixin.java18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/DataTrackerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/DataTrackerMixin.java
index a5ab3b3e..0d12200c 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/DataTrackerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/DataTrackerMixin.java
@@ -2,24 +2,18 @@ package de.hysky.skyblocker.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
-
-import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
-import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import de.hysky.skyblocker.utils.Utils;
+import dev.cbyrne.betterinject.annotations.Inject;
import net.minecraft.entity.data.DataTracker;
@Mixin(DataTracker.class)
public class DataTrackerMixin {
- @WrapOperation(method = "writeUpdatedEntries", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/data/DataTracker;copyToFrom(Lnet/minecraft/entity/data/DataTracker$Entry;Lnet/minecraft/entity/data/DataTracker$SerializedEntry;)V"))
- public void skyblocker$ignoreInvalidDataExceptions(DataTracker dataTracker, DataTracker.Entry<?> to, DataTracker.SerializedEntry<?> from, Operation<Void> operation) {
- if (Utils.isOnHypixel()) {
- try {
- operation.call(dataTracker, to, from);
- } catch (IllegalStateException ignored) {} //These exceptions cause annoying small lag spikes for some reason
- } else {
- operation.call(dataTracker, to, from);
- }
+ @Inject(method = "copyToFrom", at = @At(value = "NEW", target = "Ljava/lang/IllegalStateException;", shift = At.Shift.BEFORE), cancellable = true)
+ public void skyblocker$ignoreInvalidDataExceptions(CallbackInfo ci) {
+ //These exceptions cause annoying small lag spikes for some reason
+ if (Utils.isOnHypixel()) ci.cancel();
}
}