所以这是我儿子正在做的一个项目,他让我帮助他,但是我目前对“Java”有0个知识,因此我发布了他想要回答的问题。
“我正在尝试为”我的世界“制作一个mod,在编写时出现错误,我正在努力理解任何想法?”
//类HypedMetaItemBlock
import net.minecraft.*;
public class HypedMetaItemBlock extends ItemBlock {
public HypedMetaItemBlock(Block block) {
super(block);
setHasSubtypes(true);
}
@Override
public String getUnlocalizedName(ItemStack stack) {
String name = "tile." + ((IHypedMetaBlock)Block.getBlockFromItem(stack.getItem())).getNames()[stack.getMetadata()] + ((IHypedMetaBlock)Block.getBlockFromItem(stack.getItem())).getSuffix();
return name;
}
@Override
public int getMetadata(int par1) {
return par1;
}
}
这是IHypedMetaBlock的类,如果你需要它
public interface IHypedMetaBlock {
public void addNames();
public void getSuffix();
public String[] getNames();
}
答案 0 :(得分:2)
正如错误所述,当您在+
和String
类型上使用void
运算符时,Java不会知道该怎么做。
主要问题似乎是这种方法:getSuffix()
。该方法为void
,意味着它不会返回任何内容。这违反了Java命名约定,因为通常getXX
方法返回一些东西。
您需要确保getSuffix()
返回某些内容,否则请重新考虑您的方法。
答案 1 :(得分:0)
getSuffix方法当前返回void。我的猜测是它不应该返回空白。只是从方法名称,它听起来应该返回一个字符串。
但是如果确实应该返回一个void,那么就不能将方法结果用作String。