aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/ftbsc/bscv/modules/hud/ActiveModules.java
blob: f2c9c3df2160e6d109b2150b0c3141afe10c8f13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package ftbsc.bscv.modules.hud;

import com.google.auto.service.AutoService;
import ftbsc.bscv.Boscovicino;
import ftbsc.bscv.api.ILoadable;
import ftbsc.bscv.api.IModule;
import ftbsc.bscv.modules.HudModule;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.eventbus.api.SubscribeEvent;

import static ftbsc.bscv.tools.Text.TextBuilder;

@AutoService(ILoadable.class)
public class ActiveModules extends HudModule {
   @SubscribeEvent
   public void onRenderOverlay(RenderGameOverlayEvent event) {
      if (event.getType() != ElementType.TEXT) return;
      if (this.shouldHide()) return;
      int offset = 0;
      for (IModule m : Boscovicino.modManager.mods) {
         if (m.isEnabled() && !m.getGroup().equalsIgnoreCase("HUD")) {
            TextBuilder()
               .txt(this.affixed(m.getName()))
               .anchor(this.anchor.get())
               .x(this.x.get())
               .y(this.y.get() + offset)
               .scale(this.scale.get())
               .render(event.getMatrixStack(), event.getWindow());
            offset += MC.font.lineHeight;
         }
      }
   }
}