From 7321bf69adb84e098d2debc53c46606bb5ec6fd4 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Thu, 16 Dec 2021 23:05:10 +0800 Subject: [PATCH] Also update interval in tick calculation --- .../mixin/optimization/general/GoalMixin.java | 16 ++++++++++++++++ .../mixins.arclight.impl.forge.optimization.json | 1 + 2 files changed, 17 insertions(+) create mode 100644 arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/GoalMixin.java diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/GoalMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/GoalMixin.java new file mode 100644 index 00000000..30a822df --- /dev/null +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/GoalMixin.java @@ -0,0 +1,16 @@ +package io.izzel.arclight.common.mixin.optimization.general; + +import io.izzel.arclight.i18n.ArclightConfig; +import net.minecraft.world.entity.ai.goal.Goal; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(Goal.class) +public class GoalMixin { + + @ModifyConstant(method = "reducedTickDelay", constant = @Constant(intValue = 2)) + private static int arclight$goalUpdateInterval(int orig) { + return ArclightConfig.spec().getOptimization().getGoalSelectorInterval(); + } +} diff --git a/arclight-common/src/main/resources/mixins.arclight.impl.forge.optimization.json b/arclight-common/src/main/resources/mixins.arclight.impl.forge.optimization.json index 13fd117f..012d7881 100644 --- a/arclight-common/src/main/resources/mixins.arclight.impl.forge.optimization.json +++ b/arclight-common/src/main/resources/mixins.arclight.impl.forge.optimization.json @@ -7,6 +7,7 @@ "mixins": [ "ClassInheritanceMultiMapMixin", "EntityDataManagerMixin_Optimize", + "GoalMixin", "MobMixin_Optimization", "UtilMixin_Optimize", "VoxelShapesMixin",