use of me.shedaniel.clothconfig2.impl.builders.SubCategoryBuilder in project SeedcrackerX by 19MisterX98.
the class ConfigScreen method getConfigScreenByCloth.
public Screen getConfigScreenByCloth(Screen parent) {
ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle(new TranslatableText("title")).setDefaultBackgroundTexture(new Identifier("minecraft:textures/block/blackstone.png")).setTransparentBackground(true);
ConfigEntryBuilder eb = builder.entryBuilder();
// =============================CONFIG========================
ConfigCategory settings = builder.getOrCreateCategory(new TranslatableText("settings"));
settings.addEntry(eb.startBooleanToggle(new TranslatableText("settings.active"), config.active).setSaveConsumer(val -> config.active = val).build());
settings.addEntry(eb.startBooleanToggle(new TranslatableText("settings.database"), config.databaseSubmits).setTooltip(new TranslatableText("settings.database.tooltip")).setSaveConsumer(val -> config.databaseSubmits = val).build());
settings.addEntry(eb.startBooleanToggle(new TranslatableText("settings.hideNameDatabase"), config.anonymusSubmits).setSaveConsumer(val -> config.anonymusSubmits = val).build());
settings.addEntry(eb.startDropdownMenu(new TranslatableText("settings.version"), DropdownMenuBuilder.TopCellElementBuilder.of(config.getVersion(), MCVersion::fromString)).setSelections(getSupportedVersions()).setSuggestionMode(false).setDefaultValue(config.getVersion()).setSaveConsumer(config::setVersion).build());
settings.addEntry(eb.startTextDescription(new LiteralText("==============")).build());
settings.addEntry(eb.startTextDescription(new TranslatableText("settings.visuals")).build());
settings.addEntry(eb.startEnumSelector(new TranslatableText("settings.outline"), Config.RenderType.class, config.render).setSaveConsumer(val -> config.render = val).build());
settings.addEntry(eb.startTextDescription(new LiteralText("==============")).build());
settings.addEntry(eb.startTextDescription((new TranslatableText("settings.finderToggles"))).build());
for (Finder.Type finder : Finder.Type.values()) {
settings.addEntry(eb.startBooleanToggle(new TranslatableText(finder.nameKey), finder.enabled.get()).setSaveConsumer(val -> finder.enabled.set(val)).build());
}
settings.addEntry(eb.startTextDescription(new LiteralText("==============")).build());
settings.addEntry(eb.startBooleanToggle(new TranslatableText("settings.antiXrayMode"), config.antiXrayBypass).setSaveConsumer(val -> config.antiXrayBypass = val).build());
settings.addEntry(eb.startTextDescription(new TranslatableText("settings.antiAntiXrayExplained")).build());
// =============================INFO========================
ConfigCategory info = builder.getOrCreateCategory(new TranslatableText("info"));
// Clear data
info.addEntry(eb.startBooleanToggle(new TranslatableText("info.clearData"), false).setSaveConsumer(val -> {
if (val) {
SeedCracker.get().reset();
}
}).build());
// List worldseeds
Set<Long> worldSeeds = SeedCracker.get().getDataStorage().getTimeMachine().worldSeeds;
if (!worldSeeds.isEmpty()) {
SubCategoryBuilder world = eb.startSubCategory(new TranslatableText("info.worldSeeds"));
for (long worldSeed : worldSeeds) {
world.add(eb.startTextField(new LiteralText(""), String.valueOf(worldSeed)).build());
}
info.addEntry(world.setExpanded(true).build());
} else {
info.addEntry(eb.startTextDescription(new TranslatableText("info.noWorldSeeds")).build());
}
// List structureseeds
Set<Long> structureSeeds = SeedCracker.get().getDataStorage().getTimeMachine().structureSeeds;
if (!structureSeeds.isEmpty()) {
SubCategoryBuilder struc = eb.startSubCategory(new TranslatableText("info.structureSeeds"));
for (long structureSeed : structureSeeds) {
struc.add(eb.startTextField(new LiteralText(""), String.valueOf(structureSeed)).build());
}
info.addEntry(struc.setExpanded(true).build());
} else {
info.addEntry(eb.startTextDescription(new TranslatableText("info.noStructureSeeds")).build());
}
if (config.debug) {
// List pillarseeds
List<Integer> pillarSeeds = SeedCracker.get().getDataStorage().getTimeMachine().pillarSeeds;
if (pillarSeeds != null) {
SubCategoryBuilder pillar = eb.startSubCategory(new TranslatableText("info.pillarSeeds"));
for (long structureSeed : pillarSeeds) {
pillar.add(eb.startTextField(new LiteralText(""), String.valueOf(structureSeed)).build());
}
info.addEntry(pillar.setExpanded(true).build());
} else {
info.addEntry(eb.startTextDescription(new TranslatableText("info.noPillarSeeds")).build());
}
// Hashed seed
HashedSeedData hashedSeed = SeedCracker.get().getDataStorage().hashedSeedData;
if (hashedSeed != null) {
info.addEntry(eb.startTextField(new TranslatableText("info.hashedSeed"), String.valueOf(hashedSeed.getHashedSeed())).build());
} else {
info.addEntry(eb.startTextDescription(new TranslatableText("info.noHashedSeed")).build());
}
}
builder.setSavingRunnable(Config::save);
return builder.build();
}
use of me.shedaniel.clothconfig2.impl.builders.SubCategoryBuilder in project BedrockIfy by juancarloscp52.
the class SettingsGUI method getConfigScreen.
public Screen getConfigScreen(Screen parent, boolean isTransparent) {
ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle(new TranslatableText("bedrockify.options.settings"));
builder.setSavingRunnable(() -> Bedrockify.getInstance().saveSettings());
ConfigCategory general = builder.getOrCreateCategory(new LiteralText("General"));
ConfigEntryBuilder entryBuilder = builder.entryBuilder();
SubCategoryBuilder bedrockOverlay = entryBuilder.startSubCategory(new TranslatableText("bedrockify.options.subCategory.bedrockOverlay"));
bedrockOverlay.add(entryBuilder.startTextDescription(new TranslatableText("bedrockify.options.subCategory.bedrockOverlay.description")).build());
bedrockOverlay.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.showCoordinates"), settings.showPositionHUD).setDefaultValue(true).setSaveConsumer(newValue -> settings.showPositionHUD = newValue).build());
bedrockOverlay.add(entryBuilder.startSelector(new TranslatableText("bedrockify.options.showFPS"), new Byte[] { 0, 1, 2 }, settings.FPSHUD).setDefaultValue((byte) 0).setNameProvider((value) -> {
switch(value) {
case 0:
return new TranslatableText("bedrockify.options.off");
case 1:
return new TranslatableText("bedrockify.options.withPosition");
default:
return new TranslatableText("bedrockify.options.underPosition");
}
}).setSaveConsumer((newValue) -> settings.FPSHUD = newValue).build());
bedrockOverlay.add(entryBuilder.startIntSlider(new TranslatableText("bedrockify.options.coordinatesPosition"), settings.positionHUDHeight, 0, 100).setDefaultValue(50).setSaveConsumer((newValue) -> settings.positionHUDHeight = newValue).build());
bedrockOverlay.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.showPaperDoll"), settings.showPaperDoll).setDefaultValue(true).setSaveConsumer(newValue -> settings.showPaperDoll = newValue).build());
bedrockOverlay.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.showSavingOverlay"), settings.savingOverlay).setDefaultValue(true).setSaveConsumer(newValue -> settings.savingOverlay = newValue).build());
general.addEntry(bedrockOverlay.build());
SubCategoryBuilder guiImprovements = entryBuilder.startSubCategory(new TranslatableText("bedrockify.options.subCategory.visualImprovements"));
guiImprovements.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.chatStyle"), settings.bedrockChat).setDefaultValue(true).setSaveConsumer(newValue -> settings.bedrockChat = newValue).setYesNoTextSupplier((value) -> value ? new TranslatableText("bedrockify.options.chatStyle.bedrock") : new TranslatableText("bedrockify.options.chatStyle.vanilla")).build());
guiImprovements.add(entryBuilder.startIntSlider(new TranslatableText("bedrockify.options.screenSafeArea"), settings.screenSafeArea, 0, 30).setDefaultValue(0).setSaveConsumer((newValue) -> settings.screenSafeArea = newValue).build());
guiImprovements.add(entryBuilder.startSelector(new TranslatableText("bedrockify.options.tooltips"), new Byte[] { 0, 1, 2 }, settings.heldItemTooltip).setDefaultValue((byte) 2).setNameProvider((value) -> {
switch(value) {
case 0:
return new TranslatableText("bedrockify.options.off");
case 1:
return new TranslatableText("bedrockify.options.on");
default:
return new TranslatableText("bedrockify.options.withBackground");
}
}).setSaveConsumer((newValue) -> settings.heldItemTooltip = newValue).build());
guiImprovements.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.inventoryHighlight"), settings.slotHighlight).setDefaultValue(true).setSaveConsumer(newValue -> settings.slotHighlight = newValue).build());
guiImprovements.add(entryBuilder.startSelector(new TranslatableText("bedrockify.options.idleAnimation"), new Float[] { 0.0f, 0.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f, 4.0f }, settings.idleAnimation).setDefaultValue(1.0f).setNameProvider((value) -> new LiteralText("x" + value)).setSaveConsumer((newValue) -> settings.idleAnimation = newValue).build());
guiImprovements.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.eatingAnimations"), settings.eatingAnimations).setDefaultValue(true).setSaveConsumer(newValue -> settings.eatingAnimations = newValue).build());
guiImprovements.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.pickupAnimations"), settings.pickupAnimations).setTooltip(wrapLines(new TranslatableText("bedrockify.options.pickupAnimations.tooltip"))).setDefaultValue(true).setSaveConsumer(newValue -> settings.pickupAnimations = newValue).build());
guiImprovements.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.loadingScreen"), settings.loadingScreen).setDefaultValue(true).setSaveConsumer(newValue -> settings.loadingScreen = newValue).build());
general.addEntry(guiImprovements.build());
SubCategoryBuilder reachAround = entryBuilder.startSubCategory(new TranslatableText("bedrockify.options.subCategory.Reach-Around"));
reachAround.add(entryBuilder.startTextDescription(new TranslatableText("bedrockify.options.subCategory.Reach-Around.description")).build());
reachAround.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.reachAround"), settings.reacharound).setDefaultValue(true).setSaveConsumer(newValue -> settings.reacharound = newValue).build());
reachAround.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.reachAround.multiplayer"), settings.reacharoundMultiplayer).setDefaultValue(true).setSaveConsumer(newValue -> settings.reacharoundMultiplayer = newValue).build());
reachAround.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.reachAround.sneaking"), settings.reacharoundSneaking).setDefaultValue(true).setSaveConsumer(newValue -> settings.reacharoundSneaking = newValue).build());
reachAround.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.reachAround.indicator"), settings.reacharoundIndicator).setDefaultValue(true).setSaveConsumer(newValue -> settings.reacharoundIndicator = newValue).build());
reachAround.add(entryBuilder.startIntSlider(new TranslatableText("bedrockify.options.reachAround.pitch"), settings.reacharoundPitchAngle, 0, 90).setDefaultValue(25).setSaveConsumer(newValue -> settings.reacharoundPitchAngle = newValue).build());
reachAround.add(entryBuilder.startIntSlider(new TranslatableText("bedrockify.options.reachAround.distance"), MathHelper.floor(settings.reacharoundBlockDistance * 100), 0, 100).setTextGetter((integer -> new LiteralText(String.valueOf(integer / 100d)))).setDefaultValue(75).setSaveConsumer(newValue -> settings.reacharoundBlockDistance = newValue / 100d).build());
general.addEntry(reachAround.build());
SubCategoryBuilder otherSettings = entryBuilder.startSubCategory(new TranslatableText("bedrockify.options.subCategory.other"));
otherSettings.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.loadingScreenChunkMap"), settings.showChunkMap).setTooltip(wrapLines(new TranslatableText("bedrockify.options.loadingScreenChunkMap.tooltip"))).setDefaultValue(false).setSaveConsumer(newValue -> settings.showChunkMap = newValue).build());
otherSettings.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.rotationalBackground"), settings.cubeMapBackground).setDefaultValue(true).setTooltip(wrapLines(new TranslatableText("bedrockify.options.rotationalBackground.tooltip"))).setSaveConsumer(newValue -> settings.cubeMapBackground = newValue).build());
otherSettings.add(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.showBedrockIfyButton"), settings.bedrockIfyButton).setDefaultValue(true).setTooltip(wrapLines(new TranslatableText("bedrockify.options.showBedrockIfyButton.tooltip"))).setSaveConsumer(newValue -> settings.bedrockIfyButton = newValue).build());
general.addEntry(otherSettings.build());
general.addEntry(entryBuilder.startBooleanToggle(new TranslatableText("bedrockify.options.recipes"), settings.bedrockRecipes).setTooltip(wrapLines(new TranslatableText("bedrockify.options.recipes.tooltip"))).setDefaultValue(true).setSaveConsumer(newValue -> settings.bedrockRecipes = newValue).build());
return builder.setTransparentBackground(isTransparent).build();
}
Aggregations