Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
import team.creative.creativecore.client.gui.control.simple.GuiClientCheckButtonIcon;
import team.creative.creativecore.client.gui.control.simple.GuiClientColorPlate;
import team.creative.creativecore.client.gui.control.simple.GuiClientColoredSteppedSlider;
import team.creative.creativecore.client.gui.control.simple.GuiClientHexButton;
import team.creative.creativecore.client.gui.control.simple.GuiClientIcon;
import team.creative.creativecore.client.gui.control.simple.GuiClientLabel;
import team.creative.creativecore.client.gui.control.simple.GuiClientLabelHover;
Expand Down Expand Up @@ -98,6 +99,7 @@
import team.creative.creativecore.common.gui.control.simple.GuiButtonIcon;
import team.creative.creativecore.common.gui.control.simple.GuiCheckBox;
import team.creative.creativecore.common.gui.control.simple.GuiCheckButtonIcon;
import team.creative.creativecore.common.gui.control.simple.GuiColorPicker;
import team.creative.creativecore.common.gui.control.simple.GuiColorPlate;
import team.creative.creativecore.common.gui.control.simple.GuiColoredSteppedSlider;
import team.creative.creativecore.common.gui.control.simple.GuiIcon;
Expand Down Expand Up @@ -202,6 +204,7 @@ public static void registerSpecial(Function<GuiControl, GuiClientControl> factor
register(GuiShowItem.class, GuiClientShowItem::new);
register(GuiStateButton.class, GuiClientStateButton::new);
register(GuiStateButtonIcon.class, GuiClientStateButtonIcon::new);
register(GuiColorPicker.GuiHexButton.class, GuiClientHexButton::new);

register(GuiPanel.class, GuiClientPanel::new);
register(GuiScrollX.class, GuiClientScrollX::new);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
import team.creative.creativecore.common.gui.GuiParent;
import team.creative.creativecore.common.gui.control.collection.GuiComboBox;
import team.creative.creativecore.common.gui.control.simple.GuiButton;
import team.creative.creativecore.common.gui.control.simple.GuiColorPicker;
import team.creative.creativecore.common.gui.control.simple.GuiLabel;
import team.creative.creativecore.common.gui.control.simple.GuiSlider;
import team.creative.creativecore.common.gui.control.simple.GuiTextfield;
Expand All @@ -61,6 +62,7 @@
import team.creative.creativecore.common.util.math.matrix.IntMatrix3;
import team.creative.creativecore.common.util.math.matrix.IntMatrix3c;
import team.creative.creativecore.common.util.text.TextMapBuilder;
import team.creative.creativecore.common.util.type.Color;
import team.creative.creativecore.common.util.type.list.PairList;

public abstract class ConfigTypeConveration<T> {
Expand Down Expand Up @@ -328,7 +330,42 @@ public Identifier set(ConfigKey key, Identifier value) {

});
registerTypeCreator(Identifier.class, () -> Identifier.withDefaultNamespace(""));

ConfigTypeConveration.registerType(Color.class, new SimpleConfigTypeConveration<Color>() {

@Override
public Color readElement(ConfigKey key, Color defaultValue, Side side, JsonElement element) {
if (element.isJsonPrimitive() && element.getAsJsonPrimitive().isNumber())
return new Color(element.getAsInt());
return defaultValue;
}

@Override
public JsonElement writeElement(Color value, ConfigKey key, Side side) {
return new JsonPrimitive(value.toInt());
}

public void createControls(GuiParent parent, ConfigKey key) {
parent.add(new GuiColorPicker(parent, "color", new Color(), true, 0));
}

public void loadValue(Color value, GuiParent parent) {
GuiColorPicker picker = parent.get("color");
picker.setColor(value);
}

protected Color saveValue(GuiParent parent, ConfigKey key) {
GuiColorPicker picker = parent.get("color");
return new Color(picker.color);
}

@Override
public Color set(ConfigKey key, Color value) {
return value;
}
});

ConfigTypeConveration.registerTypeCreator(Color.class, () -> new Color());

registerType(SoundConfig.class, new ConfigTypeConveration<SoundConfig>() {

@Override
Expand Down