因此,我正在为Minecraft Forge 1.12.2创建一个Meme Mod,并决定制作一个项目,如果您右键单击它,它将播放一个随机的meme,并将其放入数组中。我有数组和item类,但是我不确定如何使它播放数组中的随机声音。如果有人知道我该怎么做,如果您能帮助我完成我的工作,我将不胜感激。如果您可以简单地告诉我,那将大有帮助,但如果没有,那么我会尽力理解它。谢谢。
PS 。我尝试过的所有代码都给出了错误,因此可能没用。但是,如果您真的需要我尝试过的东西,那么这里是:
@Override
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
{
return super.onItemRightClick(worldIn, playerIn, handIn);
SoundEvent sound = SoundsInit.MEMES.get(random.nextInt(SoundsInit.MEMES.size()));
}
我也尝试过:
@Override
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
{
return super.onItemRightClick(worldIn, playerIn, handIn);
SoundEvent sound = SoundsInit.MEMES.get(random.nextInt(SoundsInit.MEMES.size()) * SoundsInit.MEMES.size());
}
答案 0 :(得分:1)
编辑:是一个更好的示例。
这是一个示例,只需更改音量和音高:
@Override
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
{
SoundEvent meme = MemesArray[new Random().nextInt(SoundArray.length)];
worldIn.playSound((EntityPlayer)null, playerIn.posX, playerIn.posY, playerIn.posZ, meme, SoundCategory.NEUTRAL, volume, pitch);
return super.onItemRightClick(worldIn, playerIn, handIn);
}