Не выдает название предметам при крафте

scrimers

ПОВЕЛИТЕЛЬ РАКОВ
Пользователь
вообще хз пч нету названия, код ошибок не выдает
Java:
package newea.main;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

import net.md_5.bungee.api.ChatColor;

public class NeWea extends JavaPlugin{
   
    Logger log = Logger.getLogger("Minecraft");

    @Override
    public void onEnable() {
       
   
       
        getLogger().info("On!");
        registerCraft();
   
    }
    public void onDisable() {
        getLogger().info("Off!");
    }
   
    private void registerCraft() {
       
         NamespacedKey m = new NamespacedKey(this, "MURAMASA");
         ItemStack item = new ItemStack(Material.IRON_SWORD);
         ShapedRecipe mu = new ShapedRecipe(m, item);
         item.getItemMeta();
       
         ItemMeta meta = item.getItemMeta();
         meta.setDisplayName(ChatColor.RED +"Muramasa");
         meta.getLore();
         meta.addEnchant(Enchantment.DAMAGE_ALL, 7, true);
         mu.shape("IDI", "VSV", "IDI");
         mu.setIngredient('I', Material.IRON_INGOT);
         mu.setIngredient('D', Material.DIAMOND);
         mu.setIngredient('S', Material.IRON_SWORD);
         mu.setIngredient('V', Material.LAVA_BUCKET);
         Bukkit.addRecipe(mu);
       
         List<String> lore = new ArrayList<String>();
         lore.add(ChatColor.GOLD +"Лезвие впитывает в себя всю кровь врагов");
         meta.setLore(lore);
         item.setItemMeta(meta);
       
    }
    }
1587276829463.png
1587276779285.png
 
Последнее редактирование модератором:

BuseSo

Разработчик
Мне кажется, что порядок неправильный.
Попробуй ShapedRecipe создавать после того, как изменяешь у предмета мету.
 

xXCopafumeXx

Пользователь
Смотри, Bukkit.addRecipe запиши в конце, перед ним добавление меты, а перед этим лора и имени.
 

sqdFendy

Пользователь
У тебя импорт неправильный, тебе нужен ChatColor из Bukkit, а не из BungeeCord
 

scrimers

ПОВЕЛИТЕЛЬ РАКОВ
Пользователь
фек, ничего не помогает, как было так и осталось, вот код



Java:
package newea.main;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;


public class NeWea extends JavaPlugin{
    
    Logger log = Logger.getLogger("Minecraft");

    @Override
    public void onEnable() {
        
    
        
        getLogger().info("On!");
        registerCraft();
    
    }
    public void onDisable() {
        getLogger().info("Off!");
    }
    
    private void registerCraft() {
        
         NamespacedKey m = new NamespacedKey(this, "MURAMASA");
         ItemStack item = new ItemStack(Material.IRON_SWORD);
         ShapedRecipe mu = new ShapedRecipe(m, item);
         item.getItemMeta();
        
         ItemMeta meta = item.getItemMeta();
         meta.setDisplayName(ChatColor.RED +"Muramasa");
         meta.getLore();
         meta.addEnchant(Enchantment.DAMAGE_ALL, 7, true);
         List<String> lore = new ArrayList<String>();
         lore.add(ChatColor.GOLD +"Лезвие впитывает в себя всю кровь врагов");
         meta.setLore(lore);
         item.setItemMeta(meta);
         mu.shape("IDI", "VSV", "IDI");
         mu.setIngredient('I', Material.IRON_INGOT);
         mu.setIngredient('D', Material.DIAMOND);
         mu.setIngredient('S', Material.IRON_SWORD);
         mu.setIngredient('V', Material.LAVA_BUCKET);
         Bukkit.addRecipe(mu);
        
        
    }
    }
 

BuseSo

Разработчик
sqdFendy, разницы нет, работает и тот и другой ;)
Авто объединение сообщений:

scrimers, опять же, создавай ShapedRecipe после того, как изменяешь мету (не get, а set).
 

scrimers

ПОВЕЛИТЕЛЬ РАКОВ
Пользователь
BuseSo, ты лучший, спасибо огромное!
Авто объединение сообщений:

я видел у одного чувака в меиле была такая же проблем, вот код чтоб если у кого то будет похожее
Java:
package newea.main;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;


public class NeWea extends JavaPlugin{
   
    Logger log = Logger.getLogger("Minecraft");

    @Override
    public void onEnable() {
       
   
       
        getLogger().info("On!");
        registerCraft();
   
    }
    public void onDisable() {
        getLogger().info("Off!");
    }
   
    private void registerCraft() {
       
         NamespacedKey m = new NamespacedKey(this, "MURAMASA");
         ItemStack item = new ItemStack(Material.IRON_SWORD);
         item.setItemMeta(null);
       
         ItemMeta meta = item.getItemMeta();
         meta.setDisplayName(ChatColor.RED +"Muramasa");
         meta.addEnchant(Enchantment.DAMAGE_ALL, 7, true);
         List<String> lore = new ArrayList<String>();
         lore.add(ChatColor.GOLD +"Лезвие впитывает в себя всю кровь врагов");
         meta.setLore(lore);
         item.setItemMeta(meta);
       
         ShapedRecipe mu = new ShapedRecipe(m, item);
         mu.shape("IDI", "VSV", "IDI");
         mu.setIngredient('I', Material.IRON_INGOT);
         mu.setIngredient('D', Material.DIAMOND);
         mu.setIngredient('S', Material.IRON_SWORD);
         mu.setIngredient('V', Material.LAVA_BUCKET);
         Bukkit.addRecipe(mu);
       
       
    }
    }
 

Alex-Novosiber

Пользователь
BuseSo, ты лучший, спасибо огромное!
Авто объединение сообщений:

я видел у одного чувака в меиле была такая же проблем, вот код чтоб если у кого то будет похожее
Java:
package newea.main;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;


public class NeWea extends JavaPlugin{
  
    Logger log = Logger.getLogger("Minecraft");

    @Override
    public void onEnable() {
      
  
      
        getLogger().info("On!");
        registerCraft();
  
    }
    public void onDisable() {
        getLogger().info("Off!");
    }
  
    private void registerCraft() {
      
         NamespacedKey m = new NamespacedKey(this, "MURAMASA");
         ItemStack item = new ItemStack(Material.IRON_SWORD);
         item.setItemMeta(null);
      
         ItemMeta meta = item.getItemMeta();
         meta.setDisplayName(ChatColor.RED +"Muramasa");
         meta.addEnchant(Enchantment.DAMAGE_ALL, 7, true);
         List<String> lore = new ArrayList<String>();
         lore.add(ChatColor.GOLD +"Лезвие впитывает в себя всю кровь врагов");
         meta.setLore(lore);
         item.setItemMeta(meta);
      
         ShapedRecipe mu = new ShapedRecipe(m, item);
         mu.shape("IDI", "VSV", "IDI");
         mu.setIngredient('I', Material.IRON_INGOT);
         mu.setIngredient('D', Material.DIAMOND);
         mu.setIngredient('S', Material.IRON_SWORD);
         mu.setIngredient('V', Material.LAVA_BUCKET);
         Bukkit.addRecipe(mu);
      
      
    }
    }
Спасибо, пригодилось
 

Комнаты в чате

Верх Низ