(Minecraft Modding-1.12.2)在itemRightClick:如何播放数组中的随机声音

时间:2018-08-05 00:09:00

标签: java minecraft minecraft-forge

因此,我正在为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());
}

1 个答案:

答案 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);
}