Minecraft 1.19.2 Fabric模组开发 11.自定义音效

我们本次在fabric中加入自己制作的音效。

1.init包中新建一个类SoundInit,注册所有的模组音效:

SoundInit.java

package net.joy187.joyggd.init;


import net.joy187.joyggd.ModMain;
import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;

public class SoundInit {
    //这些是音效名称
    public static SoundEvent PELEBALL;
    public static SoundEvent MUMMYKILL;


    
    private static SoundEvent registerSoundEvent(String name) {
        Identifier id = new Identifier(ModMain.MOD_ID, name);
        return Registry.register(Registry.SOUND_EVENT, id, new SoundEvent(id));
    }
    
    public static void registerSounds() {
    	//每个名称均与后面的字符串一一对应
    	PELEBALL = registerSoundEvent("entity.peleball");
        MUMMYKILL = registerSoundEvent("entity.mummykill");

    }
}
之后在项目主类中初始化该音效类:

ModMain.java

public class ModMain implements ModInitializer {
	@Override
	public void onInitialize() {
		ModConfigs.registerConfigs();
		
		ItemInit.registerModItems();
		BlockInit.registerModBlocks();
		EffectInit.registerEffects();
		
		//添加音效类注册事件
		SoundInit.registerSounds();

		
		ModWorldGen.generateWorldGen();
		GeckoLib.initialize();


	}
    
}

2.之后我们可以将注册的声音名称进行使用:

1.改变物品使用音效
            playerIn.world.playSound(playerIn, playerIn.getBlockPos(), SoundInit.PELEBALL, SoundCategory.PLAYERS, 1.5F, 0.8F / (playerIn.world.getRandom().nextFloat() * 0.4F + 0.8F));

2.改变生物音效:
    protected SoundEvent getAmbientSound() {
        int co=this.random.nextInt(3);
        if(co==1) return SoundInit.PELEBALL;
        return SoundInit.MUMMYKILL; 
    }
    
    protected SoundEvent getHurtSound(DamageSource source) {
        return SoundInit.PELEBALL;
    }

    protected SoundEvent getDeathSound() {
        return SoundInit.MUMMYKILL;
    }
3.将我们的音效文件(.ogg)放入resources\assets\你的modid\sounds\entity中:

cr1.jpg

之后在资源包中新建一个sounds.json文件:

cr2.jpg

将我们之前的音效文件信息写在sounds.json中,注意名称与第一步registerSounds()中的要对应:

sounds.json

{
  "entity.peleball":{
    "category":"entity",
    "subtitle" :"entity.peleball.sub",
    "sounds":[{ "name": "joyggd:entity/peleball", "stream":true }]
  },
  "entity.mummykill":{
    "category":"entity",
    "subtitle" :"entity.mummykill.sub",
    "sounds":[{ "name": "joyggd:entity/mummykill", "stream":true }]
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Minecraft Fabric模组开发是指使用Fabric API和Minecraft游戏的Java版本开发自定义模组的过程。Fabric是一种轻量级的模组API,它提供了一种简单的方式来创建和管理Minecraft模组开发者可以使用Java语言编写自己的模组,并通过Fabric API与Minecraft游戏进行交互。Fabric模组开发可以为玩家提供更多的游戏内容和功能,使游戏更加有趣和多样化。 ### 回答2: Minecraft Fabric是一个轻量级的模组平台,它与MinecraftJava版兼容。与其他模组平台相比,它具有更高的灵活性和自由度。因此,Fabric模组开发对于有一定编程知识的人来说是一个不错的选择。 首先,要开始Fabric模组开发,需要下载和安装Minecraft FabricJava开发工具包。然后,需要学习Java编程语言。如果你已经有了Java编程经验,那么你可以开始学习Fabric API,其提供的开发框架和API使你的开发更加容易上手。在这个过程中,你也可以参考Fabric官方文档和其他开发者的经验分享,尤其是那些已经开发出成功模组开发者学习他们的思路和技巧是非常重要的。 在进行开发的过程中,需要有一些基本的开发工具,比如开发IDE、代码管理工具和构建工具等,这些工具能够提高开发效率,让你更好地掌控开发进程。在具有一定的基础后,可以开发各种各样的模组,比如新方块,新物品,新生物和新机制等。其中,当你开发出一个好的模组后可以将其分享给其他玩家,在资源网站发布自己开发模组,也可以帮助广大玩家增加游戏的趣味性。 最后,Fabric模组开发需要耐心和热情,在掌握基础知识后,勇于尝试和不断的思考能够使你的模组更加优秀,同时也需要和其他开发者积极交流和分享,在大家的共同努力下,可以让我们的Minecraft更加完美。 ### 回答3: Minecraft Fabric模组开发是介于游戏基础和高级开发之间的活动,它结合了游戏玩法和软件编程技术。FabricMinecraft的一个轻量级模组库,通过将模组代码嵌入游戏的核心运行环境中,实现了游戏机制的修改和扩展。 在Fabric模组开发中,需要掌握Java编程语言以及各种API和工具。首先要学会使用Gradle进行项目管理以及构建模组,其次要熟悉Fabric API的各种类和方法,以及在游戏中使用的相关命令和配置文件的编写。此外,还需要了解模组的相关概念,包括模组结构和生命周期等。 在开发具体的模组时,需要有一定的创意和设计能力。例如,可以通过添加新的生物、方块、物品等来扩展游戏内容,或者修改游戏机制,实现新的游戏玩法。不过,在进行模组开发时,需要注意游戏的性能和稳定性,避免过多的资源消耗和崩溃等问题。 总之,Minecraft Fabric模组开发是一项高度具有创造性和技术性的活动,它让玩家可以更加深入地了解游戏机制,并且可以通过自己的努力创造出属于自己的独特游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_fearless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值