Помогите нужно чтобы ПКМ срабатывал только на Волка.

  • Автор темы Автор темы Chupaaa
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Chupaaa

Новичок
Пользователь
Баллы
21
Имя в Minecraft
xChupa
В общем. Я создал палку, мне нужно чтобы эта палка срабатывала только на Волка. Я знаю как сделать, чтобы это срабатывало на определенный блок, а вот как это сделать с мобом я хз.
Вот мои писюльки:
package chupa.main;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;

public class Wolf implements Listener {


@EventHandler
public void interact(PlayerInteractEvent e) {
Action a = e.getAction();
if(a != Action.RIGHT_CLICK_BLOCK) return;
if(e.getClickedBlock().getType() == Material.GLASS ) return;
Player p = e.getPlayer();
if(e.getPlayer().getItemInHand().getType() != Material.STICK) return;
ItemStack item = e.getPlayer().getItemInHand();
if(!item.getItemMeta().hasDisplayName()) return;
if(!item.getItemMeta().hasLore()) return;
if(!item.getItemMeta().getDisplayName().equals(ChatColor.BLUE + "Палка")) return;
if(!item.getItemMeta().getLore().get(0).equals(ChatColor.GOLD + "Любовь волка")) return;
{

p.sendMessage(ChatColor.RED + "тут будет сообщение");
p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_ATTACK_WEAK, 1, 1);
p.spawnParticle(Particle.HEART, p.getLocation(), 10, 1, 1, 1, 1);
}
}
}
И еще, я не знаю как сделать, чтобы партикл был не вокруг игрока, а вокруг волка.
Помогите, пожалуйста)
 
Я не особо в этом шарю,но попробуй так

package chupa.main;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entiti.Action;
import org.bukkit.event.entiti.EntitiEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;

public class Wolf implements Listener {


@EventHandler
public void interact(PlayerInteractEvent e) {
Action a = e.getAction();
if(a != Action.RIGHT_CLICK_ENTITI) return;
if(e.getClickedEntiti().getType() == Material.WOLF ) return;
Player p = e.getPlayer();
if(e.getPlayer().getItemInHand().getType() != Material.STICK) return;
ItemStack item = e.getPlayer().getItemInHand();
if(!item.getItemMeta().hasDisplayName()) return;
if(!item.getItemMeta().hasLore()) return;
if(!item.getItemMeta().getDisplayName().equals(ChatColor.BLUE + "Палка")) return;
if(!item.getItemMeta().getLore().get(0).equals(ChatColor.GOLD + "Любовь волка")) return;
{

p.sendMessage(ChatColor.RED + "тут будет сообщение");
p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_ATTACK_WEAK, 1, 1);
p.spawnParticle(Particle.HEART, p.getLocation(), 10, 1, 1, 1, 1);
}
}
}
 
Я не особо в этом шарю,но попробуй так

package chupa.main;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entiti.Action;
import org.bukkit.event.entiti.EntitiEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;

public class Wolf implements Listener {


@EventHandler
public void interact(PlayerInteractEvent e) {
Action a = e.getAction();
if(a != Action.RIGHT_CLICK_ENTITI) return;
if(e.getClickedEntiti().getType() == Material.WOLF ) return;
Player p = e.getPlayer();
if(e.getPlayer().getItemInHand().getType() != Material.STICK) return;
ItemStack item = e.getPlayer().getItemInHand();
if(!item.getItemMeta().hasDisplayName()) return;
if(!item.getItemMeta().hasLore()) return;
if(!item.getItemMeta().getDisplayName().equals(ChatColor.BLUE + "Палка")) return;
if(!item.getItemMeta().getLore().get(0).equals(ChatColor.GOLD + "Любовь волка")) return;
{

p.sendMessage(ChatColor.RED + "тут будет сообщение");
p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_ATTACK_WEAK, 1, 1);
p.spawnParticle(Particle.HEART, p.getLocation(), 10, 1, 1, 1, 1);
}
}
}
Спасибо что не проигнорировали, я делал что-то подобное, но так не работает.
 
В общем. Я создал палку, мне нужно чтобы эта палка срабатывала только на Волка. Я знаю как сделать, чтобы это срабатывало на определенный блок, а вот как это сделать с мобом я хз.
Вот мои писюльки:
package chupa.main;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;

public class Wolf implements Listener {


@EventHandler
public void interact(PlayerInteractEvent e) {
Action a = e.getAction();
if(a != Action.RIGHT_CLICK_BLOCK) return;
if(e.getClickedBlock().getType() == Material.GLASS ) return;
Player p = e.getPlayer();
if(e.getPlayer().getItemInHand().getType() != Material.STICK) return;
ItemStack item = e.getPlayer().getItemInHand();
if(!item.getItemMeta().hasDisplayName()) return;
if(!item.getItemMeta().hasLore()) return;
if(!item.getItemMeta().getDisplayName().equals(ChatColor.BLUE + "Палка")) return;
if(!item.getItemMeta().getLore().get(0).equals(ChatColor.GOLD + "Любовь волка")) return;
{

p.sendMessage(ChatColor.RED + "тут будет сообщение");
p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_ATTACK_WEAK, 1, 1);
p.spawnParticle(Particle.HEART, p.getLocation(), 10, 1, 1, 1, 1);
}
}
}
И еще, я не знаю как сделать, чтобы партикл был не вокруг игрока, а вокруг волка.
Помогите, пожалуйста)
Ору, ща бы идентифицировать предмет по лору.
 
Я добавил крафт на этот предмет, мне нужно чтобы данная палка выполняла действие
 
Чтобы обычной палкой нельзя было это выполнить
Я понял, что ты хочешь выполнить действие именно для этой палки, я тебе говорю, что идентифицировать его по лору это костыли.
 
Я понял, что ты хочешь выполнить действие именно для этой палки, я тебе говорю, что идентифицировать его по лору это костыли.
Вовсе нет. Игровым путем поставить лор на предмет нельзя.
 
Вовсе нет. Игровым путем поставить лор на предмет нельзя.
А потом решил поменять описание предмета и уже существщие поломались, класс👍
Костыли это говорю, нужно отдельный nbt-тег юзать.
 
Меня больше не описание волнует, а то чтобы волк определялся
 
А потом решил поменять описание предмета и уже существщие поломались, класс👍
Костыли это говорю, нужно отдельный nbt-тег юзать.
С тобой все ясно. Захотелось тебе поменять nbt и все поломалось. Тоже самое, не ?
 
С тобой все ясно. Захотелось тебе поменять nbt и все поломалось. Тоже самое, не ?
Что за глупое сравнение? Кастомный нбт тег специально для идентифицикации не нуждается в изменении, он невидим для игрока. А лор предмета виден игроку и он часто может измениться.
 
Что за глупое сравнение? Кастомный нбт тег специально для идентифицикации не нуждается в изменении, он невидим для игрока. А лор предмета виден игроку и он часто может измениться.
С чего ему меняться? Только потому что он виден? Бред.
 
Мне нужно чтобы у предмета было описание, тогда почему бы не сделать чтобы идентифицировался по описанию?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх