minecraft-src/net/minecraft/sounds/Music.java
2025-07-04 01:41:11 +03:00

44 lines
1.2 KiB
Java

package net.minecraft.sounds;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.core.Holder;
public class Music {
public static final Codec<Music> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
SoundEvent.CODEC.fieldOf("sound").forGetter(music -> music.event),
Codec.INT.fieldOf("min_delay").forGetter(music -> music.minDelay),
Codec.INT.fieldOf("max_delay").forGetter(music -> music.maxDelay),
Codec.BOOL.fieldOf("replace_current_music").forGetter(music -> music.replaceCurrentMusic)
)
.apply(instance, Music::new)
);
private final Holder<SoundEvent> event;
private final int minDelay;
private final int maxDelay;
private final boolean replaceCurrentMusic;
public Music(Holder<SoundEvent> event, int minDelay, int maxDelay, boolean replaceCurrentMusic) {
this.event = event;
this.minDelay = minDelay;
this.maxDelay = maxDelay;
this.replaceCurrentMusic = replaceCurrentMusic;
}
public Holder<SoundEvent> getEvent() {
return this.event;
}
public int getMinDelay() {
return this.minDelay;
}
public int getMaxDelay() {
return this.maxDelay;
}
public boolean replaceCurrentMusic() {
return this.replaceCurrentMusic;
}
}