mirror of
https://github.com/Pridecraft-Studios/joy.git
synced 2025-08-03 14:36:03 -04:00
Added ambient music made by WorldWidePixel
This commit is contained in:
parent
3ec3996c33
commit
14746c8f09
@ -1,24 +1,37 @@
|
||||
package gay.pridecraft.joymod;
|
||||
|
||||
import eu.midnightdust.lib.config.MidnightConfig;
|
||||
import gay.pridecraft.joymod.block.ModBlocks;
|
||||
import gay.pridecraft.joymod.config.Config;
|
||||
import gay.pridecraft.joymod.entity.ModEntities;
|
||||
import gay.pridecraft.joymod.block.ModBlocks;
|
||||
import gay.pridecraft.joymod.entity.spawn.SpawnModifier;
|
||||
import gay.pridecraft.joymod.item.ModItemGroups;
|
||||
import gay.pridecraft.joymod.item.ModItems;
|
||||
import gay.pridecraft.joymod.painting.ModPaintings;
|
||||
import gay.pridecraft.joymod.particle.ModParticles;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
|
||||
import net.minecraft.client.sound.PositionedSoundInstance;
|
||||
import net.minecraft.client.sound.SoundInstance;
|
||||
import net.minecraft.entity.attribute.EntityAttributes;
|
||||
import net.minecraft.entity.mob.MobEntity;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class JoyMod implements ModInitializer {
|
||||
public static final String MOD_ID = "joymod";
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
||||
public static final Identifier MUSIC_GAME = new Identifier(MOD_ID, "music.ambient");
|
||||
public static SoundEvent MUSIC_GAME_EVENT = SoundEvent.of(MUSIC_GAME);
|
||||
private int tickCounter = 0;
|
||||
private final Random random = new Random();
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
@ -35,9 +48,33 @@ public class JoyMod implements ModInitializer {
|
||||
|
||||
MidnightConfig.init(JoyMod.MOD_ID, Config.class);
|
||||
|
||||
Registry.register(Registries.SOUND_EVENT, MUSIC_GAME, MUSIC_GAME_EVENT);
|
||||
SoundInstance music = PositionedSoundInstance.music(MUSIC_GAME_EVENT);
|
||||
|
||||
|
||||
/*ClientTickEvents.END_CLIENT_TICK.register(client -> {
|
||||
if (!(client.currentScreen instanceof TitleScreen)) return;
|
||||
if (client.getSoundManager().isPlaying(music)) return;
|
||||
client.getSoundManager().play(music);
|
||||
});*/
|
||||
|
||||
ClientTickEvents.END_CLIENT_TICK.register(client -> {
|
||||
if (client.world != null && !client.isPaused() && client.player != null) {
|
||||
tickCounter++;
|
||||
if (tickCounter >= getRandomInterval()) {
|
||||
client.getSoundManager().play(music);
|
||||
tickCounter = 0;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
registerEntityAttributes();
|
||||
}
|
||||
|
||||
private int getRandomInterval() {
|
||||
return 12000 + random.nextInt(24000);
|
||||
}
|
||||
|
||||
private void registerEntityAttributes() {
|
||||
FabricDefaultAttributeRegistry.register(ModEntities.THIGH_HIGH_FOX, MobEntity.createMobAttributes()
|
||||
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2.0)
|
||||
|
10
src/main/resources/assets/joymod/sounds.json
Normal file
10
src/main/resources/assets/joymod/sounds.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"music.ambient": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "joymod:joy",
|
||||
"stream": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
BIN
src/main/resources/assets/joymod/sounds/joy.ogg
Normal file
BIN
src/main/resources/assets/joymod/sounds/joy.ogg
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user