Skip to content

Commit

Permalink
Version 1.0.2 aka Not So Quik Fix
Browse files Browse the repository at this point in the history
I actually tested this one this time.
  • Loading branch information
Slotterleet committed Jun 22, 2023
1 parent e9e406b commit 77dc895
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 42 deletions.
File renamed without changes
10 changes: 2 additions & 8 deletions mod.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,8 @@ displayName: "Team Oct's Erekir Music"
name: "erekir-music"
author: "Team Oct"
main: "em.ErekirMusicMod"
description:
```
Adds new music to Erekir.

Music by Saigo no-nozomi.
Programmed by Slotterleet.
```
version: 1.0
description: "Adds new music to Erekir.\n\nMusic by Saigo no-nozomi.\nProgrammed by Slotterleet."
version: "1.0.2"
minGameVersion: 145
hidden: true
java: true
72 changes: 38 additions & 34 deletions src/em/ErekirMusicMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
import arc.Events;
import arc.audio.Music;
import arc.struct.Seq;
import arc.util.Log;
import em.content.EMusic;
import mindustry.Vars;
import mindustry.audio.SoundControl;
import mindustry.content.Planets;
import mindustry.game.EventType.*;
import mindustry.mod.Mod;

import static mindustry.game.EventType.*;

public class ErekirMusicMod extends Mod {
/** List of ambient music. */
public Seq<Music> modAmbient = new Seq<>();
Expand All @@ -19,50 +21,52 @@ public class ErekirMusicMod extends Mod {
public Seq<Music> modBoss = new Seq<>();

/** List of <i>vanilla</i> ambient music. */
public Seq<Music> vAmbient = new Seq<>();
public Seq<Music> vAmbient;
/** List of <i>vanilla</i> dark music. */
public Seq<Music> vDark = new Seq<>();
public Seq<Music> vDark;
/** List of <i>vanilla</i> boss music. */
public Seq<Music> vBoss = new Seq<>();
public Seq<Music> vBoss;

/** A reference to SoundControl instance for easier access. */
public SoundControl control = Vars.control.sound;
public SoundControl control;

public ErekirMusicMod() {
// Initiate music lists here.
Events.on(ClientLoadEvent.class, e -> {
var universal = Seq.with(EMusic.dosimeter, EMusic.infernalTrain, EMusic.wotu);
modAmbient.addAll(universal);
modDark.addAll(universal);
modBoss.addAll();
public ErekirMusicMod() {}

vAmbient = control.ambientMusic;
vDark = control.darkMusic;
vBoss = control.bossMusic;
});
@Override
public void init() {
// First and foremost, load the music.
EMusic.load();

// Inject custom music here.
Events.on(WorldLoadEvent.class, e -> {
if (Vars.state.rules.planet != Planets.erekir) return;
// Initiate music lists here.
control = Vars.control.sound;

control.ambientMusic = modAmbient;
control.darkMusic = modDark;
//TODO: this will just erase all the boss music since the list is currently empty
//control.bossMusic = modBoss;
var universal = Seq.with(EMusic.dosimeter, EMusic.infernalTrain, EMusic.wotu);
modAmbient.addAll(universal);
modDark.addAll(universal);
modBoss.addAll();

Events.on(MusicRegisterEvent.class, e -> {
vAmbient = control.ambientMusic.copy();
vDark = control.darkMusic.copy();
vBoss = control.bossMusic.copy();
});

// Reset music here.
Events.on(StateChangeEvent.class, e -> {
if (Vars.state.rules.planet != Planets.erekir) return;
Events.on(WorldLoadEvent.class, e -> {
if (Vars.state.rules.planet == Planets.erekir) {
// Inject custom music here.
Log.info("The music should load now...");

control.ambientMusic = vAmbient;
control.darkMusic = vDark;
control.bossMusic = vBoss;
control.ambientMusic = modAmbient;
control.darkMusic = modDark;
//TODO: this will just erase all the boss music since the list is currently empty
//control.bossMusic = modBoss;
} else {
// Reset music in non-Erekir maps.
Log.info("Music reset. It should be like vanilla now.");
control.ambientMusic = vAmbient;
control.darkMusic = vDark;
control.bossMusic = vBoss;
}
});
}

@Override
public void loadContent(){
EMusic.load();
}
}

0 comments on commit 77dc895

Please sign in to comment.