Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.54 KB | None | 0 0
  1. package me.sargunvohra.mcmods.autoconfig1.example;
  2.  
  3. import blue.endless.jankson.Comment;
  4. import me.sargunvohra.mcmods.autoconfig1.ConfigData;
  5. import me.sargunvohra.mcmods.autoconfig1.annotation.Config;
  6. import me.sargunvohra.mcmods.autoconfig1.annotation.ConfigEntry;
  7. import me.sargunvohra.mcmods.autoconfig1.serializer.PartitioningSerializer;
  8.  
  9. import java.util.Arrays;
  10. import java.util.List;
  11.  
  12. @Config(name = "autoconfig_example")
  13. @Config.Gui.Background("minecraft:textures/block/oak_planks.png")
  14. class ExampleConfig extends PartitioningSerializer.GlobalData {
  15.  
  16.     @ConfigEntry.Category("a")
  17.     @ConfigEntry.Gui.TransitiveObject
  18.     ModuleA moduleA = new ModuleA();
  19.  
  20.     @ConfigEntry.Category("b")
  21.     @ConfigEntry.Gui.TransitiveObject
  22.     ModuleB moduleB = new ModuleB();
  23.  
  24.     enum ExampleEnum {
  25.         FOO, BAR, BAZ
  26.     }
  27.  
  28.     private static class ModuleA implements ConfigData {
  29.  
  30.         @ConfigEntry.Gui.PrefixText
  31.         private boolean aBoolean = true;
  32.  
  33.         @ConfigEntry.Gui.Tooltip(count = 2)
  34.         private ExampleEnum anEnum = ExampleEnum.FOO;
  35.  
  36.         @Comment("This tooltip was automatically applied from a Jankson @Comment")
  37.         private String aString = "hello";
  38.  
  39.         @ConfigEntry.Gui.CollapsibleObject(startExpanded = true)
  40.         private PairOfIntPairs anObject = new PairOfIntPairs(new PairOfInts(), new PairOfInts(3, 4));
  41.     }
  42.  
  43.     private static class ModuleB implements ConfigData {
  44.  
  45.         @ConfigEntry.BoundedDiscrete(min = -1000, max = 2000)
  46.         private int intSlider = 500;
  47.  
  48.         @ConfigEntry.BoundedDiscrete(min = -1000, max = 2000)
  49.         private Long longSlider = 500L;
  50.  
  51.         @ConfigEntry.Gui.TransitiveObject
  52.         private PairOfIntPairs anObject = new PairOfIntPairs(new PairOfInts(), new PairOfInts(3, 4));
  53.  
  54.         @ConfigEntry.Gui.Excluded
  55.         private List<PairOfInts> aList = Arrays.asList(new PairOfInts(), new PairOfInts(3, 4));
  56.     }
  57.  
  58.     private static class PairOfInts {
  59.         private int foo;
  60.         private int bar;
  61.  
  62.         PairOfInts() {
  63.             foo = 1;
  64.             bar = 2;
  65.         }
  66.  
  67.         PairOfInts(int foo, int bar) {
  68.             this.foo = foo;
  69.             this.bar = bar;
  70.         }
  71.     }
  72.  
  73.     private static class PairOfIntPairs {
  74.  
  75.         @ConfigEntry.Gui.CollapsibleObject()
  76.         PairOfInts first;
  77.  
  78.         @ConfigEntry.Gui.CollapsibleObject()
  79.         PairOfInts second;
  80.  
  81.         PairOfIntPairs(PairOfInts first, PairOfInts second) {
  82.             this.first = first;
  83.             this.second = second;
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement