Разделение хук-либы на клиент-сервер

Версия Minecraft
1.7.10
355
2
17
Добро, можно как-то определить на какой стороне регистрируется хук? Имеется такой HooksLoader

Java:
public class HooksLoader
        extends HookLoader
{
    @Override
    public String[] getASMTransformerClass() {
        return new String[]{PrimaryClassTransformer.class.getName()};
    }

    @Override
    public void registerHooks()
    {
        registerHookContainer("client");
        registerHookContainer("server");
    }
}

На клиентской части нет пакетов сервера, и это вызывает ошибку. Можно было бы разделить FMLCommonHandler.instance().getSide() но хуки инициализируются раньше чем сторона. Также вариант править в meta-inf под каждую сторону тоже не устраивает, как еще можно определять? Чтобы регистрация серверных хуков игнорировалась в клиенте.

UPD.
И еще, как в хуке определять super методы? к примеру я хукаюсь в какой-то метод, и там используется где-то в середине или конце super.метод, как это указать в хуке?
 
Если юзаешь мой форк, то многие случаи, где нужно заменять весь метод решаются без замены всего метода
 
@hohserg1 по сути да, но есть методы которые проще переписать и проблемой всегда становятся именно супер методы. К примеру яблоко:

Java:
    protected void onFoodEaten(ItemStack p_77849_1_, World p_77849_2_, EntityPlayer p_77849_3_)
    {
        if (!p_77849_2_.isRemote)
        {
            p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400, 0));
        }

        if (p_77849_1_.getItemDamage() > 0)
        {
            if (!p_77849_2_.isRemote)
            {
                p_77849_3_.addPotionEffect(new PotionEffect(Potion.regeneration.id, 600, 4));
                p_77849_3_.addPotionEffect(new PotionEffect(Potion.resistance.id, 6000, 0));
                p_77849_3_.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 6000, 0));
            }
        }
        else
        {
            super.onFoodEaten(p_77849_1_, p_77849_2_, p_77849_3_);
        }
    }

Мне нужно заменить все содержимое, но супер метод я бы оставил, в теории можно было бы зайти и просто взять оттуда тот самый кусочек, но там все на приватах, а это лишний раз еще рефлексию подтягивать, уф.
 
Одним INSTEAD хуком можно убрать вызовы addPotionEffect
Другим хуком в начало метода добавляешь свой функционал
 
Назад
Сверху