mirror of
https://github.com/Pridecraft-Studios/joy.git
synced 2025-09-08 19:47:50 -04:00
feat: add ambient music and test jukebox disc
- Moved ambient music to Minecraft's default list. - Added a test jukebox disc as a template for future discs. - Removed obsolete commented code related to ambient music to clean up the codebase.
This commit is contained in:
parent
602c4d2feb
commit
0e9afe919f
@ -7,6 +7,7 @@ import gay.pridecraft.joy.entity.spawn.SpawnModifier;
|
||||
import gay.pridecraft.joy.item.ModItemGroups;
|
||||
import gay.pridecraft.joy.item.ModItems;
|
||||
import gay.pridecraft.joy.particle.ModParticles;
|
||||
import gay.pridecraft.joy.sound.ModSoundEvents;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
|
||||
import net.minecraft.entity.attribute.EntityAttributes;
|
||||
@ -14,16 +15,9 @@ import net.minecraft.entity.mob.MobEntity;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class Joy implements ModInitializer {
|
||||
public static final String MOD_ID = "joy";
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
||||
// public static final Identifier MUSIC_GAME = Identifier.of(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() {
|
||||
ModParticles.registerParticles();
|
||||
@ -31,6 +25,7 @@ public class Joy implements ModInitializer {
|
||||
ModItems.registerModItems();
|
||||
ModBlocks.registerModBlocks();
|
||||
ModEntities.registerBlockEntities();
|
||||
ModSoundEvents.registerModSoundEvents();
|
||||
|
||||
// this is now has to be done in a mixin.
|
||||
// ModPaintings.registerPaintings();
|
||||
@ -38,36 +33,10 @@ public class Joy implements ModInitializer {
|
||||
if (Config.mobSpawning) {
|
||||
SpawnModifier.modifySpawning();
|
||||
}
|
||||
|
||||
/* MidnightConfig.init(Joy.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;
|
||||
}
|
||||
}
|
||||
}); */
|
||||
|
||||
// MidnightConfig.init(Joy.MOD_ID, Config.class);
|
||||
registerEntityAttributes();
|
||||
}
|
||||
|
||||
private int getRandomInterval() {
|
||||
return 12000 + random.nextInt(24000);
|
||||
}
|
||||
|
||||
private void registerEntityAttributes() {
|
||||
FabricDefaultAttributeRegistry.register(ModEntities.SOCK_FOX, MobEntity.createMobAttributes()
|
||||
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2.0)
|
||||
|
@ -1,7 +1,6 @@
|
||||
package gay.pridecraft.joy.item;
|
||||
|
||||
|
||||
import gay.pridecraft.joy.Joy;
|
||||
import gay.pridecraft.joy.entity.ModEntities;
|
||||
import gay.pridecraft.joy.item.custom.CustomElytraItem;
|
||||
import gay.pridecraft.joy.item.custom.CustomSpawnEggItem;
|
||||
@ -9,9 +8,15 @@ import net.minecraft.item.BrushItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.registry.RegistryKeys;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Rarity;
|
||||
|
||||
import static gay.pridecraft.joy.Joy.*;
|
||||
|
||||
public class ModItems {
|
||||
|
||||
public static final Item PRIDE_ELYTRA = registerItem("pride_elytra",
|
||||
new CustomElytraItem(new Item.Settings().maxCount(1)));
|
||||
|
||||
@ -26,9 +31,12 @@ public class ModItems {
|
||||
public static final Item AXOLOTL_SPAWN_EGG = registerItem("axolotl_spawn_egg", new CustomSpawnEggItem(ModEntities.AXOLOTL, 16499171, 0xff80bf, new Item.Settings()));
|
||||
public static final Item FROG_SPAWN_EGG = registerItem("frog_spawn_egg", new CustomSpawnEggItem(ModEntities.FROG, 13661252, 0xff80bf, new Item.Settings()));
|
||||
public static final Item SNIFFER_SPAWN_EGG = registerItem("sniffer_spawn_egg", new CustomSpawnEggItem(ModEntities.SNIFFER, 8855049, 0xff80bf, new Item.Settings()));
|
||||
// Test disc item that can be used as template in case someone wants to create one. Note: it's not added to any item group, only obtainable via commands.
|
||||
public static final Item TEST_DISC = registerItem("test_disc", new Item(new Item.Settings().maxCount(1).rarity(Rarity.RARE).jukeboxPlayable(RegistryKey.of(RegistryKeys.JUKEBOX_SONG, Identifier.of(MOD_ID, "douglas")))));
|
||||
|
||||
|
||||
private static Item registerItem(String name, Item item) {
|
||||
return Registry.register(Registries.ITEM, Identifier.of(Joy.MOD_ID, name), item);
|
||||
return Registry.register(Registries.ITEM, Identifier.of(MOD_ID, name), item);
|
||||
}
|
||||
|
||||
public static void registerModItems() {
|
||||
|
27
src/main/java/gay/pridecraft/joy/sound/ModSoundEvents.java
Normal file
27
src/main/java/gay/pridecraft/joy/sound/ModSoundEvents.java
Normal file
@ -0,0 +1,27 @@
|
||||
package gay.pridecraft.joy.sound;
|
||||
|
||||
import gay.pridecraft.joy.Joy;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.registry.entry.RegistryEntry;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class ModSoundEvents {
|
||||
public static final RegistryEntry.Reference<SoundEvent> DOUGLAS = registerReference("music_disc.douglas");
|
||||
|
||||
|
||||
private static SoundEvent registerSound(String id) {
|
||||
Identifier identifier = Identifier.of(Joy.MOD_ID, id);
|
||||
return Registry.register(Registries.SOUND_EVENT, identifier, SoundEvent.of(identifier));
|
||||
}
|
||||
|
||||
private static RegistryEntry.Reference<SoundEvent> registerReference(String id) {
|
||||
Identifier identifier = Identifier.of(Joy.MOD_ID, id);
|
||||
return Registry.registerReference(Registries.SOUND_EVENT, identifier, SoundEvent.of(identifier));
|
||||
}
|
||||
|
||||
public static void registerModSoundEvents() {
|
||||
// Joy.LOGGER.info("Making the gay sounds from" + Joy.MOD_ID);
|
||||
}
|
||||
}
|
@ -1,34 +1,10 @@
|
||||
{
|
||||
"music.menu": {
|
||||
"music_disc.douglas": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "music/menu/joy",
|
||||
"stream": true
|
||||
},
|
||||
{
|
||||
"name": "music/menu/reminiscence",
|
||||
"name": "joy:music/game/creative/douglas",
|
||||
"stream": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"music.game": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "music/game/melancolie",
|
||||
"stream": true
|
||||
},
|
||||
{
|
||||
"name": "music/game/regina",
|
||||
"stream": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"music.creative": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "music/game/creative/douglas",
|
||||
"stream": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
34
src/main/resources/assets/minecraft/sounds.json
Normal file
34
src/main/resources/assets/minecraft/sounds.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"music.menu": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "joy:music/menu/joy",
|
||||
"stream": true
|
||||
},
|
||||
{
|
||||
"name": "joy:music/menu/reminiscence",
|
||||
"stream": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"music.game": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "joy:music/game/melancolie",
|
||||
"stream": true
|
||||
},
|
||||
{
|
||||
"name": "joy:music/game/regina",
|
||||
"stream": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"music.creative": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "joy:music/game/creative/douglas",
|
||||
"stream": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
10
src/main/resources/data/joy/jukebox_song/douglas.json
Normal file
10
src/main/resources/data/joy/jukebox_song/douglas.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"comparator_output": 14,
|
||||
"description": {
|
||||
"translate": "music_disc.joy.douglas"
|
||||
},
|
||||
"length_in_seconds": 176.0,
|
||||
"sound_event": {
|
||||
"sound_id": "joy:music_disc.douglas"
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user