From 41832da25f9aa5cb37fee870752e64e5a9057c17 Mon Sep 17 00:00:00 2001 From: inglettronald Date: Sun, 4 Jun 2023 14:28:53 -0500 Subject: initial commit --- .../kotlin/com/dulkirfabric/config/DulkirConfig.kt | 95 ++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt (limited to 'src/main/kotlin/com/dulkirfabric/config') diff --git a/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt b/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt new file mode 100644 index 0000000..14c8c29 --- /dev/null +++ b/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt @@ -0,0 +1,95 @@ +/** + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * If it is not possible or desirable to put the notice in a particular + * file, then You may include the notice in a location (such as a LICENSE + * file in a relevant directory) where a recipient would be likely to look + * for such a notice. + * + * You may add additional accurate notices of copyright ownership. + */ + +package com.dulkirfabric.config + +import me.shedaniel.clothconfig2.api.ConfigBuilder +import me.shedaniel.clothconfig2.api.Modifier +import me.shedaniel.clothconfig2.api.ModifierKeyCode +import me.shedaniel.clothconfig2.impl.builders.LongListBuilder +import net.minecraft.client.gui.screen.Screen +import net.minecraft.client.util.InputUtil +import net.minecraft.text.LiteralTextContent +import net.minecraft.text.MutableText +import net.minecraft.text.Text +import net.minecraft.util.Formatting +import net.minecraft.util.Identifier + +object DulkirConfig { + + private val buttonText: Text = + MutableText.of(LiteralTextContent("Dulkir")).formatted(Formatting.BOLD, Formatting.YELLOW) + var screen: Screen + + init { + /*val builder = ConfigBuilder.create() + .setParentScreen(mc.currentScreen) + .setTitle(buttonText) + val entryBuilder = builder.entryBuilder() + + val general = builder.getOrCreateCategory(Text.of("General")) + val someSetting = general.addEntry(entryBuilder.)*/ + val builder = ConfigBuilder.create().setTitle(buttonText) + builder.setDefaultBackgroundTexture(Identifier("minecraft:textures/block/oak_planks.png")) + builder.setGlobalized(true) + builder.setGlobalizedExpanded(true) + val entryBuilder = builder.entryBuilder() + val testing = builder.getOrCreateCategory(Text.translatable("category.cloth-config.testing")) + testing.addEntry( + entryBuilder.startKeyCodeField(Text.literal("Cool Key"), InputUtil.UNKNOWN_KEY) + .setDefaultValue(InputUtil.UNKNOWN_KEY).build() + ) + testing.addEntry( + entryBuilder.startModifierKeyCodeField( + Text.literal("Cool Modifier Key"), + ModifierKeyCode.of(InputUtil.Type.KEYSYM.createFromCode(79), Modifier.of(false, true, false)) + ).setDefaultValue( + ModifierKeyCode.of( + InputUtil.Type.KEYSYM.createFromCode(79), + Modifier.of(false, true, false) + ) + ).build() + ) + testing.addEntry( + entryBuilder.startDoubleList(Text.literal("A list of Doubles"), mutableListOf(1.0, 2.0, 3.0)) + .setDefaultValue( + mutableListOf(1.0, 2.0, 3.0) + ).build() + ) + testing.addEntry( + (entryBuilder.startLongList(Text.literal("A list of Longs"), mutableListOf(1L, 2L, 3L)).setDefaultValue( + mutableListOf(1L, 2L, 3L) + ).setInsertButtonEnabled(false) as LongListBuilder).build() + ) + testing.addEntry( + entryBuilder.startStrList(Text.literal("A list of Strings"), mutableListOf("abc", "xyz")).setTooltip( + *arrayOf( + Text.literal("Yes this is some beautiful tooltip\nOh and this is the second line!") + ) + ).setDefaultValue(mutableListOf("abc", "xyz")).build() + ) + val colors = entryBuilder.startSubCategory(Text.literal("Colors")).setExpanded(true) + colors.add(entryBuilder.startColorField(Text.literal("A color field"), 65535).setDefaultValue(65535).build()) + colors.add( + entryBuilder.startColorField(Text.literal("An alpha color field"), -16711681).setDefaultValue(-16711681) + .setAlphaMode(true).build() + ) + colors.add( + entryBuilder.startColorField(Text.literal("An alpha color field"), -1).setDefaultValue(-65536) + .setAlphaMode(true).build() + ) + builder.transparentBackground() + screen = builder.build() + } + +} \ No newline at end of file -- cgit