todo fix those

This commit is contained in:
LegacyGamerHD
2021-04-01 19:25:20 +02:00
parent d784d03289
commit d082c42898
2 changed files with 58 additions and 46 deletions

View File

@@ -19,6 +19,12 @@ import net.minecraft.server.PacketPlayOutMapChunk;
@Mixin(value = NetworkManager.class, remap = false) @Mixin(value = NetworkManager.class, remap = false)
public abstract class OptimisticNetworkManager { public abstract class OptimisticNetworkManager {
/**
* todo need to be fixed in near future
*/
/*
@Shadow public Channel channel; @Shadow public Channel channel;
@Shadow(aliases = "i") @Final private Queue<NetworkManager.QueuedPacket> packets; @Shadow(aliases = "i") @Final private Queue<NetworkManager.QueuedPacket> packets;
@Shadow(aliases = "j") @Final private ReentrantReadWriteUpdateLock queueLock; @Shadow(aliases = "j") @Final private ReentrantReadWriteUpdateLock queueLock;
@@ -57,6 +63,7 @@ public abstract class OptimisticNetworkManager {
} }
return true; // Return true if all packets were dispatched return true; // Return true if all packets were dispatched
*/
} }
} }

View File

@@ -41,55 +41,60 @@ import net.minecraft.server.ItemStack;
*/ */
@Mixin(value = EnchantmentManager.class, remap = false) @Mixin(value = EnchantmentManager.class, remap = false)
public abstract class WeakEnchantmentManager { 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<ItemStack> iterable) {} /**
@Shadow private static void a(EnchantmentManager.EnchantmentModifier modifier, ItemStack itemstack) {} * todo need to be fixed in near future
*/
@Overwrite // @Shadow(aliases = "a") @Final private static EnchantmentManager.EnchantmentModifierProtection protection;
public static int a(Iterable<ItemStack> iterable, DamageSource damageSource) { // @Shadow(aliases = "c") @Final private static EnchantmentManager.EnchantmentModifierThorns thorns;
protection.a = 0; // OBFHELPER: damageModifier // @Shadow(aliases = "d") @Final private static EnchantmentManager.EnchantmentModifierArthropods arthropods;
protection.b = damageSource;
a(protection, iterable); // OBFHELPER: applyEnchantmentModifierArray
protection.b = null; // Akarin - Remove reference to Damagesource
return protection.a;
}
@Overwrite // @Shadow private static void a(EnchantmentManager.EnchantmentModifier modifier, Iterable<ItemStack> iterable) {}
public static void a(EntityLiving user, Entity attacker) { // OBFHELPER: applyThornEnchantments // @Shadow private static void a(EnchantmentManager.EnchantmentModifier modifier, ItemStack itemstack) {}
thorns.b = attacker;
thorns.a = user;
if (user != null) {
a(thorns, user.aQ()); // OBFHELPER: applyEnchantmentModifierArray - getEquipmentAndArmor
}
if (attacker instanceof EntityHuman) { // @Overwrite
a(thorns, user.getItemInMainHand()); // OBFHELPER: applyEnchantmentModifier // public static int a(Iterable<ItemStack> 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 // Akarin Start - remove references to entity objects to avoid memory leaks
thorns.b = null; // thorns.b = null;
thorns.a = null; // thorns.a = null;
// Akarin end // Akarin end
} //}
@Overwrite // @Overwrite
public static void b(EntityLiving user, Entity target) { // OBFHELPER: applyArthropodEnchantments /// public static void b(EntityLiving user, Entity target) { // OBFHELPER: applyArthropodEnchantments
arthropods.a = user; /// arthropods.a = user;
arthropods.b = target; // arthropods.b = target;
if (user != null) { // if (user != null) {
a(arthropods, user.aQ()); // OBFHELPER: applyEnchantmentModifierArray - getEquipmentAndArmor // a(arthropods, user.aQ()); // OBFHELPER: applyEnchantmentModifierArray - getEquipmentAndArmor
} // }
if (user instanceof EntityHuman) { // if (user instanceof EntityHuman) {
a(arthropods, user.getItemInMainHand()); // OBFHELPER: applyEnchantmentModifier // a(arthropods, user.getItemInMainHand()); // OBFHELPER: applyEnchantmentModifier
} // }
// Akarin Start - remove references to entity objects to avoid memory leaks // Akarin Start - remove references to entity objects to avoid memory leaks
arthropods.a = null; // arthropods.a = null;
arthropods.b = null; // arthropods.b = null;
// Akarin end // Akarin end
} }
} }