我将按照本教程介绍如何创建Minecraft mods。我得到下面的错误,但我没有看到任何问题。我不知道这个错误意味着什么,更重要的是,我真的不知道我在做什么,因此遵循一个教程。
我使用的是Forge 1.11和IntelliJ IDEA 2016.3.2 IDE以及Java 1.8.0_112 SDK。根据一些阅读,我认为这与数据类型不匹配有关,但可能只是我的IDE太挑剔,或者是Java1.8SDK的问题。我真的迷路了,所以我想我会伸出手来看看是否有人愿意提供指导。
错误:
在ModBlock中注册(T)
原因:不存在类型变量的实例,因此BlockBase符合BlockOre推断变量T具有不兼容的边界:下界:BlockBase上界:Block,BlockOre
[BlockBase.java]
package net.maramor.tutorial.block;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemBlock;
import net.maramor.tutorial.TutorialMod;
/**
* Created by Matt on 12/28/2016.
*/
public class BlockBase extends Block
{
protected String name;
public BlockBase(Material material, String name)
{
super(material);
this.name = name;
setUnlocalizedName(name);
setRegistryName(name);
}
public void registerItemModel(ItemBlock itemBlock)
{
TutorialMod.proxy.registerItemRenderer(itemBlock,0, name);
}
@Override
public BlockBase setCreativeTab(CreativeTabs tab)
{
super.setCreativeTab(tab);
return this;
}
}
[BlockOre.java]
package net.maramor.tutorial.block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
/**
* Created by Matt on 12/28/2016.
*/
public class BlockOre extends BlockBase
{
public BlockOre(String name)
{
super(Material.ROCK, name);
setHardness(3f);
setResistance(5f);
}
@Override
public BlockBase setCreativeTab(CreativeTabs tab)
{
super.setCreativeTab(tab);
return this;
}
}
[ModBlocks.java]
package net.maramor.tutorial.block;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.fml.common.registry.GameRegistry;
/**
* Created by Matt on 12/28/2016.
*/
public class ModBlocks
{
public static BlockOre oreCopper;
public static void init()
{
oreCopper = register(new BlockOre("ore_copper").setCreativeTab(CreativeTabs.MATERIALS));
}
private static <T extends Block> T register(T block, ItemBlock itemBlock)
{
GameRegistry.register(block);
GameRegistry.register(itemBlock);
if (block instanceof BlockBase)
{
((BlockBase)block).registerItemModel(itemBlock);
}
return block;
}
private static <T extends Block> T register(T block)
{
ItemBlock itemBlock = new ItemBlock(block);
itemBlock.setRegistryName(block.getRegistryName());
return register(block, itemBlock);
}
}
T寄存器(T块)是类ModBlock中的一个通用函数。
oreCopper=注册(新区块矿石(“ore_copper”)。setCreativeTab(CreativeTab.MATERIALS));
BlockBase类型的实例被传递到函数寄存器,因此预期的返回类型也是BlockBase。
是的,这是MC 1.10及更高版本的一种方法。基本上,你必须在游戏加载过程中注册块、物品和纹理,这样当你制作/加载一个世界时,它们就可以使用了。
我已经研究了几个小时,但似乎无法解决这个问题。错误与这段代码有关: (问题底部的完整代码。我用截图直观地显示问题。) 错误本身是: 不存在类型变量U的实例,因此GetUsersFaradacCountResponse符合CompletionStage 在s链的最开始,我删除了,并使用IntelliJ的“引入局部变量…”查看整个链(直至并包括第1118行)返回的类型的功能: 结果是一个 但是您可以看
我正在尝试开发一款android应用程序,具有回收视图。所以我创建了一个项目视图、一个模型类和适配器。在在viewHolder方法内部初始化,在初始化变量时显示错误,我无法找出下面这段代码的错误。 下面是item_view_model的代码。xml 下面是ModelClass的代码。JAVA 下面是**适配器的代码。爪哇** 如何解决这个问题??
我在下面看到一条红线,上面写着: “不存在类型变量V,K的实例,因此HashMultiMap符合MultiMap”。 有人能帮忙吗?我对下一步该做什么进退两难。
在以下代码中: 我在
我刚从一门课程中编写代码,这时出现了以下错误: