From d082c42898994406c5aedcc64200482eab0f9c53 Mon Sep 17 00:00:00 2001 From: LegacyGamerHD Date: Thu, 1 Apr 2021 19:25:20 +0200 Subject: [PATCH] todo fix those --- .../mixin/nsc/OptimisticNetworkManager.java | 7 ++ .../optimization/WeakEnchantmentManager.java | 97 ++++++++++--------- 2 files changed, 58 insertions(+), 46 deletions(-) diff --git a/sources/src/main/java/io/akarin/server/mixin/nsc/OptimisticNetworkManager.java b/sources/src/main/java/io/akarin/server/mixin/nsc/OptimisticNetworkManager.java index 122a28d6b..8e213137b 100644 --- a/sources/src/main/java/io/akarin/server/mixin/nsc/OptimisticNetworkManager.java +++ b/sources/src/main/java/io/akarin/server/mixin/nsc/OptimisticNetworkManager.java @@ -19,6 +19,12 @@ import net.minecraft.server.PacketPlayOutMapChunk; @Mixin(value = NetworkManager.class, remap = false) public abstract class OptimisticNetworkManager { + +/** + * todo need to be fixed in near future + */ + +/* @Shadow public Channel channel; @Shadow(aliases = "i") @Final private Queue packets; @Shadow(aliases = "j") @Final private ReentrantReadWriteUpdateLock queueLock; @@ -57,6 +63,7 @@ public abstract class OptimisticNetworkManager { } return true; // Return true if all packets were dispatched + */ } } diff --git a/sources/src/main/java/io/akarin/server/mixin/optimization/WeakEnchantmentManager.java b/sources/src/main/java/io/akarin/server/mixin/optimization/WeakEnchantmentManager.java index 5e952b042..deb6cec94 100644 --- a/sources/src/main/java/io/akarin/server/mixin/optimization/WeakEnchantmentManager.java +++ b/sources/src/main/java/io/akarin/server/mixin/optimization/WeakEnchantmentManager.java @@ -39,57 +39,62 @@ import net.minecraft.server.ItemStack; /** * Fixes MC-128547(https://bugs.mojang.com/browse/MC-128547) */ -@Mixin(value = EnchantmentManager.class, remap = false) +@Mixin(value = EnchantmentManager.class, remap = false) public abstract class WeakEnchantmentManager { - @Shadow(aliases = "a") @Final private static EnchantmentManager.EnchantmentModifierProtection protection; - @Shadow(aliases = "c") @Final private static EnchantmentManager.EnchantmentModifierThorns thorns; - @Shadow(aliases = "d") @Final private static EnchantmentManager.EnchantmentModifierArthropods arthropods; - - @Shadow private static void a(EnchantmentManager.EnchantmentModifier modifier, Iterable iterable) {} - @Shadow private static void a(EnchantmentManager.EnchantmentModifier modifier, ItemStack itemstack) {} - - @Overwrite - public static int a(Iterable iterable, DamageSource damageSource) { - protection.a = 0; // OBFHELPER: damageModifier - protection.b = damageSource; - a(protection, iterable); // OBFHELPER: applyEnchantmentModifierArray - protection.b = null; // Akarin - Remove reference to Damagesource - return protection.a; - } - - @Overwrite - public static void a(EntityLiving user, Entity attacker) { // OBFHELPER: applyThornEnchantments - thorns.b = attacker; - thorns.a = user; - if (user != null) { - a(thorns, user.aQ()); // OBFHELPER: applyEnchantmentModifierArray - getEquipmentAndArmor - } - - if (attacker instanceof EntityHuman) { - a(thorns, user.getItemInMainHand()); // OBFHELPER: applyEnchantmentModifier - } - - // Akarin Start - remove references to entity objects to avoid memory leaks - thorns.b = null; - thorns.a = null; - // Akarin end - } - @Overwrite - public static void b(EntityLiving user, Entity target) { // OBFHELPER: applyArthropodEnchantments - arthropods.a = user; - arthropods.b = target; - if (user != null) { - a(arthropods, user.aQ()); // OBFHELPER: applyEnchantmentModifierArray - getEquipmentAndArmor - } +/** + * todo need to be fixed in near future + */ + + // @Shadow(aliases = "a") @Final private static EnchantmentManager.EnchantmentModifierProtection protection; + // @Shadow(aliases = "c") @Final private static EnchantmentManager.EnchantmentModifierThorns thorns; + // @Shadow(aliases = "d") @Final private static EnchantmentManager.EnchantmentModifierArthropods arthropods; + + // @Shadow private static void a(EnchantmentManager.EnchantmentModifier modifier, Iterable iterable) {} + // @Shadow private static void a(EnchantmentManager.EnchantmentModifier modifier, ItemStack itemstack) {} + + // @Overwrite + // public static int a(Iterable iterable, DamageSource damageSource) { + // protection.a = 0; // OBFHELPER: damageModifier + // protection.b = damageSource; + // a(protection, iterable); // OBFHELPER: applyEnchantmentModifierArray + // protection.b = null; // Akarin - Remove reference to Damagesource + // return protection.a; + // } + + // @Overwrite + // public static void a(EntityLiving user, Entity attacker) { // OBFHELPER: applyThornEnchantments + // thorns.b = attacker; + // thorns.a = user; + // if (user != null) { + // a(thorns, user.aQ()); // OBFHELPER: applyEnchantmentModifierArray - getEquipmentAndArmor + // } - if (user instanceof EntityHuman) { - a(arthropods, user.getItemInMainHand()); // OBFHELPER: applyEnchantmentModifier - } + // if (attacker instanceof EntityHuman) { + // a(thorns, user.getItemInMainHand()); // OBFHELPER: applyEnchantmentModifier + // } // Akarin Start - remove references to entity objects to avoid memory leaks - arthropods.a = null; - arthropods.b = null; + // thorns.b = null; + // thorns.a = null; + // Akarin end + //} + + // @Overwrite + /// public static void b(EntityLiving user, Entity target) { // OBFHELPER: applyArthropodEnchantments + /// arthropods.a = user; + // arthropods.b = target; + // if (user != null) { + // a(arthropods, user.aQ()); // OBFHELPER: applyEnchantmentModifierArray - getEquipmentAndArmor + // } + + // if (user instanceof EntityHuman) { + // a(arthropods, user.getItemInMainHand()); // OBFHELPER: applyEnchantmentModifier + // } + + // Akarin Start - remove references to entity objects to avoid memory leaks + // arthropods.a = null; + // arthropods.b = null; // Akarin end } }