Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
package net.minecraft.potion;
public class PotionHealth extends Potion
{
public PotionHealth(int par1, boolean par2, int par3)
{
super(par1, par2, par3);
}
/**
* Returns true if the potion has an instant effect instead of a continuous one (eg Harming)
*/
public boolean isInstant()
{
return true;
}
/**
* checks if Potion effect is ready to be applied this tick.
*/
public boolean isReady(int par1, int par2)
{
return par1 >= 1;
}
}
Ахахахах, like.MaximPixel написал(а):Если ты имеешь в виду эффекты по типу молния, дождь, то:
net.minecraft.entity.effect
Если частицы, то:
net.minecraft.client.particle
Он не уточнил какие эффектыsvk2140 написал(а):Ахахахах, like.MaximPixel написал(а):Если ты имеешь в виду эффекты по типу молния, дождь, то:
net.minecraft.entity.effect
Если частицы, то:
net.minecraft.client.particle
Просто очевидно что нубик будет спрашивать про самые банальные эффекты, а ты перечислил все кроме них - меня это рассмешило => likeMaximPixel написал(а):Он не уточнил какие эффектыsvk2140 написал(а):Ахахахах, like.MaximPixel написал(а):Если ты имеешь в виду эффекты по типу молния, дождь, то:
net.minecraft.entity.effect
Если частицы, то:
net.minecraft.client.particle
Я лично не знаю, но так-как никто не отвечает, сделаю предположение:Mercen написал(а):Я имею в виду, не частицы и погоду, а простые эффекты, по типу отравления или моментального урона.
Я заглядывал в net.minecraft.potions/PotionsHealth. Там нашёл код:
Код:package net.minecraft.potion; public class PotionHealth extends Potion { public PotionHealth(int par1, boolean par2, int par3) { super(par1, par2, par3); } /** * Returns true if the potion has an instant effect instead of a continuous one (eg Harming) */ public boolean isInstant() { return true; } /** * checks if Potion effect is ready to be applied this tick. */ public boolean isReady(int par1, int par2) { return par1 >= 1; } }
Но мне не понятно, какая строка отвечает за осуществление действия.
Так же я не знаю, что писать в главный класс.
Я пытался писать public static Potion %ЭффектНейм%, public static Effect %ЭффектНейм% - оно выдаёт ошибку.
public static Potion flight;
/**
* ID - номер эффекта. В майне доступно любое число из {24; 31}
* boolean - плохое ли зелье. Да (true) или Нет (false)
* color - цвет, их смотри в гугле; задавать, например, так: 0xf91a76
*/
myPotion = new FlightPotion(ID, boolean, color);
public class FlightPotion extends Potion {
public FlightPotion (int id, boolean isBad, int i) {
super(id, isBad, i);
setPotionName("Flight Potion");
liquidColor = i;
}
}
player.addPotionEffect(new PotionEffect(Main.flight.id, время, сила));
if (player.isPotionActive(Main.flight)) {
player.capabilities.allowFlying = true;
}
Забавно, а на каком именно массиве?AlexSocol написал(а):Глав. Класс:
Код:public static Potion flight; /** * ID - номер эффекта. В майне доступно любое число из {24; 31} * boolean - плохое ли зелье. Да (true) или Нет (false) * color - цвет, их смотри в гугле; задавать, например, так: 0xf91a76 */ myPotion = new FlightPotion(ID, boolean, color);
Класс зелья
Код:public class FlightPotion extends Potion { public FlightPotion (int id, boolean isBad, int i) { super(id, isBad, i); setPotionName("Flight Potion"); liquidColor = i; } }
Дальше где хочешь пиши его наложение
Код:player.addPotionEffect(new PotionEffect(Main.flight.id, время, сила));
И проверяешь, где нужно. Допустим, в Серверном тикхэндлере:
Код:if (player.isPotionActive(Main.flight)) { player.capabilities.allowFlying = true; }
Ну как-то так
[merge_posts_bbcode]Добавлено: 23.05.2016 19:13:40[/merge_posts_bbcode]
P.S. Я не знаю, как зарегать больше 32х зелий. Если напишешь 32 - кинет ошибку ArrayOutOfBounds
blood = new Blood(52, true, 0xf91a76);
player.addPotionEffect(new PotionEffect(Main.flight.blood));
liquidColor = i;
Ты понимаешь что такое ПРИМЕР? Это абстрактные значения, ты должен достать объект плеера и зарегистрировать СВОЙ эффект САМ.Mercen написал(а):Хм... При добавлении строчки про игрока, пишет ошибку в "Player", т.к. он его не видит и не хочет импортить пакеты.
При импортировании main, он выдаёт ошибку в силе.Код:blood = new Blood(52, true, 0xf91a76); player.addPotionEffect(new PotionEffect(Main.flight.blood));
Так же ошибка в этой строчке.
Но тут я подставил int и ошибка пропала.Код:liquidColor = i;
Вот я тоже немного прифигел...svk2140 написал(а):Ты понимаешь что такое ПРИМЕР?