summaryrefslogtreecommitdiff
path: root/src/main/java/bscv/module/HudModule.java
blob: 3f3bd2d484545900f5ce520645e359cd865d51c0 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
package bscv.module;

import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.DoubleArgumentType;
import com.mojang.brigadier.arguments.IntegerArgumentType;

import bscv.tools.Anchor;
import net.minecraft.command.CommandSource;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.server.command.EnumArgument;

public abstract class HudModule extends Module {

   public final ForgeConfigSpec.ConfigValue<Integer> x;
   public final ForgeConfigSpec.ConfigValue<Integer> y;
   public final ForgeConfigSpec.ConfigValue<Double>  scale;
   public final ForgeConfigSpec.EnumValue<Anchor>  anchor;

   protected HudModule(String name, ForgeConfigSpec.Builder builder, CommandDispatcher<CommandSource> dispatcher) {
      super(name, Group.HUD, builder, dispatcher);

      this.x = this.option(
         "x", "horizontal offset", 0,
         IntegerArgumentType.integer(0), Integer.class,
         builder, dispatcher
      );

      this.y = this.option(
         "y", "vertical offset", 0,
         IntegerArgumentType.integer(0), Integer.class,
         builder, dispatcher
      );

      this.scale = this.option(
         "scale", "scale of element", 1.0,
         DoubleArgumentType.doubleArg(0.0), Double.class,
         builder, dispatcher
      );

      this.anchor = this.optionEnum(
         "anchor", "origin point for coordinates", Anchor.TOPLEFT,
         EnumArgument.enumArgument(Anchor.class), Anchor.class,
         builder, dispatcher
      );
   }

}