todo fix those
This commit is contained in:
@@ -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
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user