Search in sources :

Example 1 with MapColorType

use of org.spongepowered.api.map.color.MapColorType in project SpongeCommon by SpongePowered.

the class MapUtil method getMapColorFromPixelValue.

public static Optional<MapColor> getMapColorFromPixelValue(final byte value) {
    final int intColor = Byte.toUnsignedInt(value);
    final int shade = intColor % Constants.Map.MAP_SHADES;
    final int colorIndex = (intColor - shade) / Constants.Map.MAP_SHADES;
    final Optional<MapColorType> mapColorType = MapUtil.getMapColorTypeByColorIndex(colorIndex);
    final MapShade mapShade = MapUtil.getMapShadeById(shade);
    if (!mapColorType.isPresent()) {
        return Optional.empty();
    }
    return Optional.of(new SpongeMapColor(mapColorType.get(), mapShade));
}
Also used : MapShade(org.spongepowered.api.map.color.MapShade) SpongeMapColor(org.spongepowered.common.map.color.SpongeMapColor) MapColorType(org.spongepowered.api.map.color.MapColorType)

Example 2 with MapColorType

use of org.spongepowered.api.map.color.MapColorType in project SpongeCommon by SpongePowered.

the class MapTest method savePallete.

private CommandResult savePallete(final CommandContext ctx) {
    final File file = new File("pallete.png");
    try {
        if (!file.isFile()) {
            file.createNewFile();
        }
        final MapCanvas.Builder builder = MapCanvas.builder();
        final List<MapColor[]> mapColors = new ArrayList<>();
        for (final MapColorType mapColorType : Sponge.game().registry(RegistryTypes.MAP_COLOR_TYPE).stream().collect(Collectors.toList())) {
            final MapColor[] colors = new MapColor[] { MapColor.of(mapColorType), MapColor.builder().baseColor(mapColorType).darkest().build(), MapColor.builder().baseColor(mapColorType).base().build(), MapColor.builder().baseColor(mapColorType).darkest().build() };
            mapColors.add(colors);
        }
        int x = 0;
        for (final MapColor[] colors : mapColors) {
            int y = 0;
            builder.paint(x, y, x, y, colors[0]);
            y++;
            builder.paint(x, y, x, y, colors[1]);
            y++;
            builder.paint(x, y, x, y, colors[2]);
            y++;
            builder.paint(x, y, x, y, colors[3]);
            x++;
        }
        final MapCanvas canvas = builder.build();
        final Color color = new Color(0, 0, 0, 0);
        ImageIO.write((BufferedImage) canvas.toImage(color), "png", file);
    } catch (final IOException e) {
        Sponge.server().sendMessage(Component.text("IOException"));
    }
    return CommandResult.success();
}
Also used : MapCanvas(org.spongepowered.api.map.MapCanvas) Color(java.awt.Color) MapColor(org.spongepowered.api.map.color.MapColor) NamedTextColor(net.kyori.adventure.text.format.NamedTextColor) ArrayList(java.util.ArrayList) IOException(java.io.IOException) File(java.io.File) MapColorType(org.spongepowered.api.map.color.MapColorType) MapColor(org.spongepowered.api.map.color.MapColor)

Aggregations

MapColorType (org.spongepowered.api.map.color.MapColorType)2 Color (java.awt.Color)1 File (java.io.File)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 NamedTextColor (net.kyori.adventure.text.format.NamedTextColor)1 MapCanvas (org.spongepowered.api.map.MapCanvas)1 MapColor (org.spongepowered.api.map.color.MapColor)1 MapShade (org.spongepowered.api.map.color.MapShade)1 SpongeMapColor (org.spongepowered.common.map.color.SpongeMapColor)1