- 235
- 3
- 21
вечер добрый
допустим у меня есть обычный класс ItemFood в нем предусмотрен метод .setPotionEffect(...), он дает игроку эффект зелья при использовании еды, но если я хочу сделать 2 эффекта, так же есть метод .onFoodEaten(...)
его можно переопределить и напрямую игроку впихнуть несколько эффектов
НО появляется проблема в "this.potionId > 0" ибо данная переменная находящаяся в классе ItemFood приватная и для нее предусмотрен сеттер через .setPotionEffect(...), но нет геттера и проверить ее никак нельзя
и таких ситуация у меня уже несколько, есть ли какое-то решение для этого, можно ли допустим создать свой класс MyItemFood схожий по структуре с оригиналом, но модифицированный мной и использовать его?
также допустим если мне нужно изменить простого зомби больше чем на половину, начиная от логики, заканчивая рандомными текстурами, новвыми приемами и прочим как это реализовать, как то менять его класс или создать свой, а простого зомби просто не спавнить?
заренее спасибо, надеюсь понятно)
допустим у меня есть обычный класс ItemFood в нем предусмотрен метод .setPotionEffect(...), он дает игроку эффект зелья при использовании еды, но если я хочу сделать 2 эффекта, так же есть метод .onFoodEaten(...)
Java:
protected void onFoodEaten(ItemStack p_77849_1_, World p_77849_2_, EntityPlayer p_77849_3_)
{
if (!p_77849_2_.isRemote && this.potionId > 0 && p_77849_2_.rand.nextFloat() < this.potionEffectProbability)
{
p_77849_3_.addPotionEffect(new PotionEffect(this.potionId, this.potionDuration * 20, this.potionAmplifier));
}
}
НО появляется проблема в "this.potionId > 0" ибо данная переменная находящаяся в классе ItemFood приватная и для нее предусмотрен сеттер через .setPotionEffect(...), но нет геттера и проверить ее никак нельзя
и таких ситуация у меня уже несколько, есть ли какое-то решение для этого, можно ли допустим создать свой класс MyItemFood схожий по структуре с оригиналом, но модифицированный мной и использовать его?
также допустим если мне нужно изменить простого зомби больше чем на половину, начиная от логики, заканчивая рандомными текстурами, новвыми приемами и прочим как это реализовать, как то менять его класс или создать свой, а простого зомби просто не спавнить?
заренее спасибо, надеюсь понятно)