Не удалось выполнить задачу ': compileJava'. - Выпуск 3 в этой серии - PullRequest
0 голосов
/ 27 октября 2019

До того, как этот вопрос будет закрыт для того, чтобы его уже задавали, насколько я вижу, это расплывчатая и распространенная ошибка, поэтому она отличается от других вопросов.

Я исправил ошибку в своем предыдущем отправьте , установив немного другую версию Forge, но теперь достигли 5-го шага этого урока . Когда я использую. \ Gradlew build с примером мода, кажется, что все работает нормально (хотя я не могу найти вывод консоли) Но когда я редактирую мод так, как описывает автор, я получаю много ошибок.

Пример мода:

package com.example.examplemod;

import net.minecraft.init.Blocks;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;

@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
public class ExampleMod
{
    public static final String MODID = "examplemod";
    public static final String VERSION = "1.0";

    @EventHandler
    public void init(FMLInitializationEvent event)
    {
        // some example code
        System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());
    }
}

Как я изменил его, следуя инструкции:

package com.example.examplemod;

import net.minecraft.init.Blocks;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;

@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
public class ExampleMod
{
    public static final String MODID = "examplemod";
    public static final String VERSION = "1.1";

    @EventHandler
    public void init(FMLInitializationEvent event)
    {
        Block amethystOre = new ModBlock(Material.rock, "amethystOre");
        GameRegistry.registerBlock(amethystOre, "amethystOre");
    }

    private class ModBlock extends Block
    {
        public ModBlock(Material material, String blockName)
        {
            super(material);
            this.setBlockName(blockName);
            this.setBlockTextureName(MODID + ":" + blockName);
            this.setCreativeTab(CreativeTabs.tabBlock);
        }
    }

}

Когда я запускаю. \ gradlew build, я получаю:

#################################################
         ForgeGradle 1.2-SNAPSHOT-fb514d3
  https://github.com/MinecraftForge/ForgeGradle
#################################################
               Powered by MCP unknown
             http://modcoderpack.com
         by: Searge, ProfMobius, Fesh0r,
         R4wk, ZeuX, IngisKahn, bspkrs
#################################################
:compileApiJava UP-TO-DATE
:processApiResources UP-TO-DATE
:apiClasses UP-TO-DATE
:sourceMainJava UP-TO-DATE
:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.6
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:21: error: cannot find symbol
    private class ModBlock extends Block
                                   ^
  symbol:   class Block
  location: class ExampleMod
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:23: error: cannot find symbol
        public ModBlock(Material material, String blockName)
                        ^
  symbol:   class Material
  location: class ExampleMod.ModBlock
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:17: error: cannot find symbol
        Block amethystOre = new ModBlock(Material.rock, "amethystOre");
        ^
  symbol:   class Block
  location: class ExampleMod
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:17: error: cannot find symbol
        Block amethystOre = new ModBlock(Material.rock, "amethystOre");
                                         ^
  symbol:   variable Material
  location: class ExampleMod
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:18: error: cannot find symbol
        GameRegistry.registerBlock(amethystOre, "amethystOre");
        ^
  symbol:   variable GameRegistry
  location: class ExampleMod
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:26: error: cannot find symbol
            this.setBlockName(blockName);
                ^
  symbol: method setBlockName(String)
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:27: error: cannot find symbol
            this.setBlockTextureName(MODID + ":" + blockName);
                ^
  symbol: method setBlockTextureName(String)
C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1558-1.7.10-src\build\sources\java\com\example\examplemod\ExampleMod.java:28: error: cannot find symbol
            this.setCreativeTab(CreativeTabs.tabBlock);
                                ^
  symbol:   variable CreativeTabs
  location: class ExampleMod.ModBlock
8 errors
1 warning
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

Я не очень много знаю о Java (я только начал изучать ее), но я бы предположил, что копирование учебника символ за символом должно привести к безошибочной программе. Очевидно, нет.

Глядя на вывод ошибок компилятора, первая ошибка - «Сеть импорта не может быть решена» (строка 3). Однако я не знаю, почему.

Любая помощьочень ценится, Бен

...