Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Речь идёт о плагине и не запрете наковальни !А наковальни запретить не?
Мне было бы проще запретить наковальни и не мучиться.Речь идёт о плагине и не запрете наковальни !
Хм, лол )Чинить вещи, не?
+, тут большинство таких.Тут походу придурки собрались, которые решают проблемы запретами.
Зачем сразу оскор****ь? Данный человек долго будет ждать этот плагин. Я предложил отключить наковальни, сразу придурок?придурки
+, тут большинство таких.
Up
public void onInventoryClick(InventoryClickEvent event) {
if (event.getWhoClicked().getType() == EntityType.PLAYER) {
Player p = (Player) event.getWhoClicked();
ItemStack item = event.getCurrentItem();
if (event.getInventory().getType() == InventoryType.ANVIL) {
if (item != null) {
ItemStack item0 = event.getInventory().getItem(0);
if (item0 != null) {
String originalName = "";
if (item0.hasItemMeta() && item0.getItemMeta().hasDisplayName()) {
originalName = item0.getItemMeta().getDisplayName();
}
String changedName = "";
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()) {
changedName = item.getItemMeta().getDisplayName();
}
if (!originalName.equals(changedName)) {
event.setCancelled(true);
p.sendMessage(ChatColor.RED + "Переименовывание предметов запрещено.");
}
}
}
}
}
}
Код:public void onInventoryClick(InventoryClickEvent event) { if (event.getWhoClicked().getType() == EntityType.PLAYER) { Player p = (Player) event.getWhoClicked(); ItemStack item = event.getCurrentItem(); if (event.getInventory().getType() == InventoryType.ANVIL) { if (item != null) { ItemStack item0 = event.getInventory().getItem(0); if (item0 != null) { String originalName = ""; if (item0.hasItemMeta() && item0.getItemMeta().hasDisplayName()) { originalName = item0.getItemMeta().getDisplayName(); } String changedName = ""; if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()) { changedName = item.getItemMeta().getDisplayName(); } if (!originalName.equals(changedName)) { event.setCancelled(true); p.sendMessage(ChatColor.RED + "Переименовывание предметов запрещено."); } } } } } }
Всё запретитCяп, можно куда то тут указать ид ? или он все запретит переименованные класть куда либо?
КК, еще раз спасибо.Всё запретит
Можешь подробней сказать ?Всё запретит
Ты просто не сможешь забрать переименованный предмет.КК, еще раз спасибо.
Можешь подробней сказать ?
Я понял так, закинул в наковальню предмет переименовал его и после того как переименовал я его не смогу закидывать в любые gui предметов ? (Печки,дробилки,утилизатора,сундука)
так?
А зачем тогда наковальня ?Ты просто не сможешь забрать переименованный предмет.
КК, еще раз спасибо.
Можешь подробней сказать ?
Я понял так, закинул в наковальню предмет переименовал его и после того как переименовал я его не смогу закидывать в любые gui предметов ? (Печки,дробилки,утилизатора,сундука)
так?
public void onInventoryClick(InventoryClickEvent event) { //Получаем ивент действия(клика) в инвентаре
if (event.getWhoClicked().getType() == EntityType.PLAYER) { // Если чудище, которое кликает оказалось игроком
Player p = (Player) event.getWhoClicked(); //Получаем определённого игрока, который выполнил действие(клик)
ItemStack item = event.getCurrentItem(); //Получаем текущий используемый предмет (Получаем с event, то есть будет выдавать тот предмет, который мы перетаскивали куда-то)
if (event.getInventory().getType() == InventoryType.ANVIL) { //Получение типа инвентаря с event'a. Если тип инвентаря - Наковальня
if (item != null) { //Если вещь не равна нулю (Если вещь существует)
ItemStack item0 = event.getInventory().getItem(0); //Получаем предмет с левого слота (Самого первого)
[ 0 = То, что слева; 1 = то, что правее; 2 = результат (правый слот) ]
if (item0 != null) { //Если предмет слева не равен нулю (Если он существует)
String originalName = ""; //Создаём переменную originalName(оригинальное название тип)
if (item0.hasItemMeta() && item0.getItemMeta().hasDisplayName()) { //Если предмет имеет информацию какую либо (lore, название, зачарования, атрибуты) и если предмет имеет название | Это идёт со слота наковальни (Который слева)
originalName = item0.getItemMeta().getDisplayName(); //Присваиваем переменной originalName название предмета переменной item0
}
String changedName = ""; //Создаём переменную changedName (изменённое название)
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()) { //Если предмет имеет информацию какую либо (lore, название, зачарования, атрибуты) и если предмет имеет название | Это идёт используемый предмет относительно event'a (Чуть выше можно увидеть присвоение переменной item)
changedName = item.getItemMeta().getDisplayName(); //Присваиваем переменной changedName название предмета переменной item
}
if (!originalName.equals(changedName)) { //Если переменная originalName не соответствует (не равна) переменной changedName
event.setCancelled(true); //Отменяем event
p.sendMessage(ChatColor.RED + "Переименовывание предметов запрещено."); //Отправляем сообщение о том, что такое делать запрещено
}
}
}
}
}
}
Код:public void onInventoryClick(InventoryClickEvent event) { //Получаем ивент действия(клика) в инвентаре if (event.getWhoClicked().getType() == EntityType.PLAYER) { // Если чудище, которое кликает оказалось игроком Player p = (Player) event.getWhoClicked(); //Получаем определённого игрока, который выполнил действие(клик) ItemStack item = event.getCurrentItem(); //Получаем текущий используемый предмет (Получаем с event, то есть будет выдавать тот предмет, который мы перетаскивали куда-то) if (event.getInventory().getType() == InventoryType.ANVIL) { //Получение типа инвентаря с event'a. Если тип инвентаря - Наковальня if (item != null) { //Если вещь не равна нулю (Если вещь существует) ItemStack item0 = event.getInventory().getItem(0); //Получаем предмет с левого слота (Самого первого) [ 0 = То, что слева; 1 = то, что правее; 2 = результат (правый слот) ] if (item0 != null) { //Если предмет слева не равен нулю (Если он существует) String originalName = ""; //Создаём переменную originalName(оригинальное название тип) if (item0.hasItemMeta() && item0.getItemMeta().hasDisplayName()) { //Если предмет имеет информацию какую либо (lore, название, зачарования, атрибуты) и если предмет имеет название | Это идёт со слота наковальни (Который слева) originalName = item0.getItemMeta().getDisplayName(); //Присваиваем переменной originalName название предмета переменной item0 } String changedName = ""; //Создаём переменную changedName (изменённое название) if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()) { //Если предмет имеет информацию какую либо (lore, название, зачарования, атрибуты) и если предмет имеет название | Это идёт используемый предмет относительно event'a (Чуть выше можно увидеть присвоение переменной item) changedName = item.getItemMeta().getDisplayName(); //Присваиваем переменной changedName название предмета переменной item } if (!originalName.equals(changedName)) { //Если переменная originalName не соответствует (не равна) переменной changedName event.setCancelled(true); //Отменяем event p.sendMessage(ChatColor.RED + "Переименовывание предметов запрещено."); //Отправляем сообщение о том, что такое делать запрещено } } } } } }
Тут всё до самых мелких подробностей прокомментированно
package gmc;
import org.bukkit.ChatColor;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryType;
import org.*********ventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class anr extends JavaPlugin implements Listener{
public void onInventoryClick(InventoryClickEvent event) { //Получаем ивент действия(клика) в инвентаре
if (event.getWhoClicked().getType() == EntityType.PLAYER) { // Если чудище, которое кликает оказалось игроком
Player p = (Player) event.getWhoClicked(); //Получаем определённого игрока, который выполнил действие(клик)
ItemStack item = event.getCurrentItem(); //Получаем текущий используемый предмет (Получаем с event, то есть будет выдавать тот предмет, который мы перетаскивали куда-то)
if (event.getInventory().getType() == InventoryType.ANVIL) { //Получение типа инвентаря с event'a. Если тип инвентаря - Наковальня
if (item != null) { //Если вещь не равна нулю (Если вещь существует)
ItemStack item0 = event.getInventory().getItem(0); //Получаем предмет с левого слота (Самого первого)
if (item0 != null) { //Если предмет слева не равен нулю (Если он существует)
String originalName = ""; //Создаём переменную originalName(оригинальное название тип)
if (item0.hasItemMeta() && item0.getItemMeta().hasDisplayName()) { //Если предмет имеет информацию какую либо (lore, название, зачарования, атрибуты) и если предмет имеет название | Это идёт со слота наковальни (Который слева)
originalName = item0.getItemMeta().getDisplayName(); //Присваиваем переменной originalName название предмета переменной item0
}
String changedName = ""; //Создаём переменную changedName (изменённое название)
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()) { //Если предмет имеет информацию какую либо (lore, название, зачарования, атрибуты) и если предмет имеет название | Это идёт используемый предмет относительно event'a (Чуть выше можно увидеть присвоение переменной item)
changedName = item.getItemMeta().getDisplayName(); //Присваиваем переменной changedName название предмета переменной item
}
if (!originalName.equals(changedName)) { //Если переменная originalName не соответствует (не равна) переменной changedName
event.setCancelled(true); //Отменяем event
p.sendMessage(ChatColor.GREEN + "Переименовывание предметов запрещено. Извини, но с этим связано множество багов."); //Отправляем сообщение о том, что такое делать запрещено
}
}
}
}
}
}
}