mirror of
https://github.com/Pridecraft-Studios/joy.git
synced 2025-09-08 11:39:06 -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;
|
package gay.pridecraft.joymod;
|
||||||
|
|
||||||
import eu.midnightdust.lib.config.MidnightConfig;
|
import eu.midnightdust.lib.config.MidnightConfig;
|
||||||
|
import gay.pridecraft.joymod.block.ModBlocks;
|
||||||
import gay.pridecraft.joymod.config.Config;
|
import gay.pridecraft.joymod.config.Config;
|
||||||
import gay.pridecraft.joymod.entity.ModEntities;
|
import gay.pridecraft.joymod.entity.ModEntities;
|
||||||
import gay.pridecraft.joymod.block.ModBlocks;
|
|
||||||
import gay.pridecraft.joymod.entity.spawn.SpawnModifier;
|
import gay.pridecraft.joymod.entity.spawn.SpawnModifier;
|
||||||
import gay.pridecraft.joymod.item.ModItemGroups;
|
import gay.pridecraft.joymod.item.ModItemGroups;
|
||||||
import gay.pridecraft.joymod.item.ModItems;
|
import gay.pridecraft.joymod.item.ModItems;
|
||||||
import gay.pridecraft.joymod.painting.ModPaintings;
|
import gay.pridecraft.joymod.painting.ModPaintings;
|
||||||
import gay.pridecraft.joymod.particle.ModParticles;
|
import gay.pridecraft.joymod.particle.ModParticles;
|
||||||
import net.fabricmc.api.ModInitializer;
|
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.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.attribute.EntityAttributes;
|
||||||
import net.minecraft.entity.mob.MobEntity;
|
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.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public class JoyMod implements ModInitializer {
|
public class JoyMod implements ModInitializer {
|
||||||
public static final String MOD_ID = "joymod";
|
public static final String MOD_ID = "joymod";
|
||||||
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
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
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
@ -35,9 +48,33 @@ public class JoyMod implements ModInitializer {
|
|||||||
|
|
||||||
MidnightConfig.init(JoyMod.MOD_ID, Config.class);
|
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();
|
registerEntityAttributes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getRandomInterval() {
|
||||||
|
return 12000 + random.nextInt(24000);
|
||||||
|
}
|
||||||
|
|
||||||
private void registerEntityAttributes() {
|
private void registerEntityAttributes() {
|
||||||
FabricDefaultAttributeRegistry.register(ModEntities.THIGH_HIGH_FOX, MobEntity.createMobAttributes()
|
FabricDefaultAttributeRegistry.register(ModEntities.THIGH_HIGH_FOX, MobEntity.createMobAttributes()
|
||||||
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2.0)
|
.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