Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

.

Статус
Закрыто для дальнейших ответов.
По туториалам сначала shape, потом setIngredient.
Вроде прост "STONE".
 
А почему тогда мой код выбивает ошибку?((
JavaScript:
        try
        {
            caseRecipe.shape("ABC", "DEF", "GHI");
            caseRecipe.setIngredient('A', Material.getMaterial(config.getString("Crafts.Case.FirstMaterial")));
            caseRecipe.setIngredient('B', Material.getMaterial(config.getString("Crafts.Case.SecondMaterial")));
            caseRecipe.setIngredient('C', Material.getMaterial(config.getString("Crafts.Case.ThirdMaterial")));
            caseRecipe.setIngredient('D', Material.getMaterial(config.getString("Crafts.Case.FourthMaterial")));
            caseRecipe.setIngredient('E', Material.getMaterial(config.getString("Crafts.Case.FifthMaterial")));
            caseRecipe.setIngredient('F', Material.getMaterial(config.getString("Crafts.Case.SixthMaterial")));
            caseRecipe.setIngredient('G', Material.getMaterial(config.getString("Crafts.Case.SeventhMaterial")));
            caseRecipe.setIngredient('H', Material.getMaterial(config.getString("Crafts.Case.EighthMaterial")));
            caseRecipe.setIngredient('I', Material.getMaterial(config.getString("Crafts.Case.NinthMaterial")));
            getServer().addRecipe(caseRecipe);
        }
        catch (Exception e)
        {
            broadcast.logToConsole(language.getTextOnTrueLanguage("CraftCaseError"));
            e.printStackTrace();
            getServer().getPluginManager().disablePlugin(this);
        }

        try
        {
            keyRecipe.shape("ABC", "DEF", "GHI");
            keyRecipe.setIngredient('A', Material.getMaterial(config.getString("Crafts.Key.FirstMaterial")));
            keyRecipe.setIngredient('B', Material.getMaterial(config.getString("Crafts.Key.SecondMaterial")));
            keyRecipe.setIngredient('C', Material.getMaterial(config.getString("Crafts.Key.ThirdMaterial")));
            keyRecipe.setIngredient('D', Material.getMaterial(config.getString("Crafts.Key.FourthMaterial")));
            keyRecipe.setIngredient('E', Material.getMaterial(config.getString("Crafts.Key.FifthMaterial")));
            keyRecipe.setIngredient('F', Material.getMaterial(config.getString("Crafts.Key.SixthMaterial")));
            keyRecipe.setIngredient('G', Material.getMaterial(config.getString("Crafts.Key.SeventhMaterial")));
            keyRecipe.setIngredient('H', Material.getMaterial(config.getString("Crafts.Key.EighthMaterial")));
            keyRecipe.setIngredient('I', Material.getMaterial(config.getString("Crafts.Key.NinthMaterial")));
            getServer().addRecipe(keyRecipe);
        }
        catch (Exception e)
        {
            broadcast.logToConsole(language.getTextOnTrueLanguage("CraftKeyError"));
            e.printStackTrace();
            getServer().getPluginManager().disablePlugin(this);
        }
Код:
Crafts:
#1/2/3
#4/5/6
#7/8/9
    Case:
        FirstMaterial: WOOD
        SecondMaterial: WOOD
        ThirdMaterial: WOOD
        FourthMaterial: WOOD
        FifthMaterial: ENDER_PEARL
        SixthMaterial: WOOD
        SeventhMaterial: WOOD
        EighthMaterial: WOOD
        NinthMaterial: WOOD
    Key:
        FirstMaterial: AIR
        SecondMaterial: IRON_BLOCK
        ThirdMaterial: AIR
        FourthMaterial: AIR
        FifthMaterial: STICK
        SixthMaterial: AIR
        SeventhMaterial: AIR
        EighthMaterial: DIAMOND
        NinthMaterial: AIR
 
А почему тогда мой код выбивает ошибку?((
JavaScript:
        try
        {
            caseRecipe.shape("ABC", "DEF", "GHI");
            caseRecipe.setIngredient('A', Material.getMaterial(config.getString("Crafts.Case.FirstMaterial")));
            caseRecipe.setIngredient('B', Material.getMaterial(config.getString("Crafts.Case.SecondMaterial")));
            caseRecipe.setIngredient('C', Material.getMaterial(config.getString("Crafts.Case.ThirdMaterial")));
            caseRecipe.setIngredient('D', Material.getMaterial(config.getString("Crafts.Case.FourthMaterial")));
            caseRecipe.setIngredient('E', Material.getMaterial(config.getString("Crafts.Case.FifthMaterial")));
            caseRecipe.setIngredient('F', Material.getMaterial(config.getString("Crafts.Case.SixthMaterial")));
            caseRecipe.setIngredient('G', Material.getMaterial(config.getString("Crafts.Case.SeventhMaterial")));
            caseRecipe.setIngredient('H', Material.getMaterial(config.getString("Crafts.Case.EighthMaterial")));
            caseRecipe.setIngredient('I', Material.getMaterial(config.getString("Crafts.Case.NinthMaterial")));
            getServer().addRecipe(caseRecipe);
        }
        catch (Exception e)
        {
            broadcast.logToConsole(language.getTextOnTrueLanguage("CraftCaseError"));
            e.printStackTrace();
            getServer().getPluginManager().disablePlugin(this);
        }

        try
        {
            keyRecipe.shape("ABC", "DEF", "GHI");
            keyRecipe.setIngredient('A', Material.getMaterial(config.getString("Crafts.Key.FirstMaterial")));
            keyRecipe.setIngredient('B', Material.getMaterial(config.getString("Crafts.Key.SecondMaterial")));
            keyRecipe.setIngredient('C', Material.getMaterial(config.getString("Crafts.Key.ThirdMaterial")));
            keyRecipe.setIngredient('D', Material.getMaterial(config.getString("Crafts.Key.FourthMaterial")));
            keyRecipe.setIngredient('E', Material.getMaterial(config.getString("Crafts.Key.FifthMaterial")));
            keyRecipe.setIngredient('F', Material.getMaterial(config.getString("Crafts.Key.SixthMaterial")));
            keyRecipe.setIngredient('G', Material.getMaterial(config.getString("Crafts.Key.SeventhMaterial")));
            keyRecipe.setIngredient('H', Material.getMaterial(config.getString("Crafts.Key.EighthMaterial")));
            keyRecipe.setIngredient('I', Material.getMaterial(config.getString("Crafts.Key.NinthMaterial")));
            getServer().addRecipe(keyRecipe);
        }
        catch (Exception e)
        {
            broadcast.logToConsole(language.getTextOnTrueLanguage("CraftKeyError"));
            e.printStackTrace();
            getServer().getPluginManager().disablePlugin(this);
        }
Код:
Crafts:
#1/2/3
#4/5/6
#7/8/9
    Case:
        FirstMaterial: WOOD
        SecondMaterial: WOOD
        ThirdMaterial: WOOD
        FourthMaterial: WOOD
        FifthMaterial: ENDER_PEARL
        SixthMaterial: WOOD
        SeventhMaterial: WOOD
        EighthMaterial: WOOD
        NinthMaterial: WOOD
    Key:
        FirstMaterial: AIR
        SecondMaterial: IRON_BLOCK
        ThirdMaterial: AIR
        FourthMaterial: AIR
        FifthMaterial: STICK
        SixthMaterial: AIR
        SeventhMaterial: AIR
        EighthMaterial: DIAMOND
        NinthMaterial: AIR
А ошибка какая?
 
Большая
Код:
[15:02:07] [Server thread/INFO]: [RandomCase] Enabling RandomCase v1.9
[15:02:07] [Server thread/INFO]: [29\06\2015 15:02:00 RandomCase] Can't add case recipe, wrong recipe!
[15:02:07] [Server thread/WARN]: java.lang.NullPointerException
[15:02:07] [Server thread/WARN]:     at org.*********ventory.ItemStack.<init>(ItemStack.java:94)
[15:02:07] [Server thread/WARN]:     at org.*********ventory.ShapedRecipe.setIngredient(ShapedRecipe.java:110)
[15:02:07] [Server thread/WARN]:     at org.*********ventory.ShapedRecipe.setIngredient(ShapedRecipe.java:89)
[15:02:07] [Server thread/WARN]:     at ua.roboman.plugin.Main.onEnable(Main.java:95)
[15:02:07] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250)
[15:02:07] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:350)
[15:02:07] [Server thread/WARN]:     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:389)
[15:02:07] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:439)
[15:02:07] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:375)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.m(MinecraftServer.java:342)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.g(MinecraftServer.java:319)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.a(MinecraftServer.java:275)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:175)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)
[15:02:07] [Server thread/INFO]: [RandomCase] Disabling RandomCase v1.9
[15:02:07] [Server thread/INFO]: [29\06\2015 15:02:00 RandomCase] The plugin was successfully disabled.
[15:02:07] [Server thread/INFO]: [29\06\2015 15:02:00 RandomCase] Can't add key recipe, wrong recipe!
[15:02:07] [Server thread/WARN]: java.lang.NullPointerException
[15:02:07] [Server thread/WARN]:     at org.*********ventory.ItemStack.<init>(ItemStack.java:94)
[15:02:07] [Server thread/WARN]:     at org.*********ventory.ShapedRecipe.setIngredient(ShapedRecipe.java:110)
[15:02:07] [Server thread/WARN]:     at org.*********ventory.ShapedRecipe.setIngredient(ShapedRecipe.java:89)
[15:02:07] [Server thread/WARN]:     at ua.roboman.plugin.Main.onEnable(Main.java:116)
[15:02:07] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250)
[15:02:07] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:350)
[15:02:07] [Server thread/WARN]:     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:389)
[15:02:07] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:439)
[15:02:07] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:375)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.m(MinecraftServer.java:342)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.g(MinecraftServer.java:319)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.a(MinecraftServer.java:275)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:175)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424)
[15:02:07] [Server thread/WARN]:     at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)
[15:02:07] [Server thread/INFO]: [29\06\2015 15:02:00 RandomCase] The plugin was successfully enabled.
 
Та вроде не....Я все 18 Material (9 на один крафт и 9 на другой) беру из конфига, а там вроде все правильно...
Или в рецепт нельзя совать Material.AIR?
Отдебаж или ифами проверь все на null.
 
Отдебаж или ифами проверь все на null.
OK понял сделаю..
Ага... Material = null ...
И вправду...
При таком коде тесты выводятся, и после них выводится null...
Код:
System.out.println("Первый тест");
            caseRecipe.shape("ABC", "DEF", "GHI");
            System.out.println("Второй тест");
            System.out.println(Material.getMaterial(config.getString("Crafts.Case.FirstMaterial")));
            caseRecipe.setIngredient('A', Material.getMaterial(config.getString("Crafts.Case.FirstMaterial")));
В конфиге пробовал что WOOD что Material.WOOD все-равно null...
Что делать?(
 
OK понял сделаю..

Ага... Material = null ...
И вправду...
При таком коде тесты выводятся, и после них выводится null...
Код:
System.out.println("Первый тест");
            caseRecipe.shape("ABC", "DEF", "GHI");
            System.out.println("Второй тест");
            System.out.println(Material.getMaterial(config.getString("Crafts.Case.FirstMaterial")));
            caseRecipe.setIngredient('A', Material.getMaterial(config.getString("Crafts.Case.FirstMaterial")));
В конфиге пробовал что WOOD что Material.WOOD все-равно null...
Что делать?(
Material.valueOf(string.toUpperCase());
 
Material.valueOf(string.toUpperCase());
Все также кидает NPE...
Код:
            caseRecipe.setIngredient('A', Material.valueOf(config.getString("Crafts.Case.FirstMaterial").toUpperCase()));
            caseRecipe.setIngredient('B', Material.valueOf(config.getString("Crafts.Case.SecondMaterial").toUpperCase()));
            caseRecipe.setIngredient('C', Material.valueOf(config.getString("Crafts.Case.ThirdMaterial").toUpperCase()));
            caseRecipe.setIngredient('D', Material.valueOf(config.getString("Crafts.Case.FourthMaterial").toUpperCase()));
            caseRecipe.setIngredient('E', Material.valueOf(config.getString("Crafts.Case.FifthMaterial").toUpperCase()));
            caseRecipe.setIngredient('F', Material.valueOf(config.getString("Crafts.Case.SixthMaterial").toUpperCase()));
            caseRecipe.setIngredient('G', Material.valueOf(config.getString("Crafts.Case.SeventhMaterial").toUpperCase()));
            caseRecipe.setIngredient('H', Material.valueOf(config.getString("Crafts.Case.EighthMaterial").toUpperCase()));
            caseRecipe.setIngredient('I', Material.valueOf(config.getString("Crafts.Case.NinthMaterial").toUpperCase()));
Вот это также NPE кидает:
Код:
            System.out.println(Material.valueOf(config.getString("Crafts.Case.FirstMaterial").toUpperCase()));
 
Все также кидает NPE...
Код:
            caseRecipe.setIngredient('A', Material.valueOf(config.getString("Crafts.Case.FirstMaterial").toUpperCase()));
            caseRecipe.setIngredient('B', Material.valueOf(config.getString("Crafts.Case.SecondMaterial").toUpperCase()));
            caseRecipe.setIngredient('C', Material.valueOf(config.getString("Crafts.Case.ThirdMaterial").toUpperCase()));
            caseRecipe.setIngredient('D', Material.valueOf(config.getString("Crafts.Case.FourthMaterial").toUpperCase()));
            caseRecipe.setIngredient('E', Material.valueOf(config.getString("Crafts.Case.FifthMaterial").toUpperCase()));
            caseRecipe.setIngredient('F', Material.valueOf(config.getString("Crafts.Case.SixthMaterial").toUpperCase()));
            caseRecipe.setIngredient('G', Material.valueOf(config.getString("Crafts.Case.SeventhMaterial").toUpperCase()));
            caseRecipe.setIngredient('H', Material.valueOf(config.getString("Crafts.Case.EighthMaterial").toUpperCase()));
            caseRecipe.setIngredient('I', Material.valueOf(config.getString("Crafts.Case.NinthMaterial").toUpperCase()));
Вот это также NPE кидает:
Код:
            System.out.println(Material.valueOf(config.getString("Crafts.Case.FirstMaterial").toUpperCase()));
А сама строка не null?
 
Не надо юзать метод valueOf когда есть специальные getMaterial или matchMaterial(предпочтительнее)
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх