summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README164
-rwxr-xr-xgentextures.sh56
2 files changed, 214 insertions, 6 deletions
diff --git a/README b/README
index 0e28d3b..07d04c3 100644
--- a/README
+++ b/README
@@ -1,8 +1,160 @@
-This is a pretty extensive dyes mod, which has the sole purpose of
-supplying a complete set of colors and a few greys, all of which are
-intended to be used by other mods as needed to make colored objects. It
-uses Ironzorg's Flowers mod as the source of the actual pigments.
-Flowers can be had from one of the links below, or as part of neko259's
-Nature Pack.
+VanessaE's Unified Dyes Mod
+===========================
+
+This is a pretty extensive dyes mod, which has the sole purpose of supplying a
+complete set of colors and a few greys, all of which are intended to be used by
+other mods as needed to make colored objects. It uses Ironzorg's Flowers mod
+as the source of the actual pigments (this same mod is part of neko259's nature
+pack, and can be found in a few other mods/mod packs as well).
In total, this mod provides [b]77[/b] colors (including greys) at present.
+
+Usage instructions, technical information
+=========================================
+
+Colors
+------
+
+Creating a particular color of dye is pretty simple - just harvest coal,
+cactus, or the appropriate flowers and start smelting them and crafting the
+results together to get the various colors. There are 12 base colors, which
+are formed as follows (the degree figure is that color's hue on a standard HSV
+color wheel, and is what is used in the textures supplied with this mod):
+
+Red (0°): smelt one rose (yields 2 portions of red dye)
+Orange (30°): smelt one tulip (yields 2) or mix red+yellow (yields 2)
+Yellow (60°): smelt one yellow dandelion (yields 2)
+Lime (90°): mix yellow + green (yields 2)
+Green (120°): smelt one cactus or one waterlily (yields 2),
+ or mix yellow + blue (yields 2)
+Aqua (150°): mix green + cyan (yields 2)
+Cyan (180°): green + blue (yields 2)
+Sky blue (210°): mix cyan + blue (yields 2)
+Blue (240°): Smelt one viola (yields 2)
+Violet (270°): mix blue + magenta (yields 2) or mix 2 blues + 1 red (yields 3)
+Magenta (300°): Mix blue + red (yields 2)
+Red-violet (330°): mix magenta + red (yields 2)
+
+
+Greys
+-----
+
+There are also three shades of grey plus pure black and pure white (figures in
+parenthesis indicate the intended brightness of the shade, relative to white):
+
+Black (0%): smelt one piece of coal (yields 2)
+Dark grey (25%): mix one portion of white paint with two portions of black dye
+ (yields 3)
+Medium grey (50%): mix one white and one black (yields 2)
+Light grey (75%): mix two white and one black (yields 3)
+White (100%): see below.
+
+To obtain a medium-brightness (66%) version of a given color, mix the desired
+base color from the list above with one portion of black dye (for example,
+medium lime = lime + black). All such mixtures yield two portions of the final
+color.
+
+To obtain a dark (33%) version of a given color, use two portions of black dye
+along with the base color, which yields three portions of the final color.
+
+
+White Paint
+-----------
+
+To get the white paint mentioned above, first smelt some cobble into smooth
+stone as usual. Then, smelt one smooth stone block to get 10 portions of
+Titanium Dioxide. Finally, craft one portion of that with a bucket of water
+and one piece of jungle grass. Yields one bucket of white paint.
+
+
+Reduced saturation colors
+-------------------------
+
+To get the low saturation (50%) version of one of the base colors, mix one or
+more of white, black, or a shade of grey with the desired base color:
+
+Dark, low saturation: dark grey paint + color (yields 2), or two blacks + 1
+white + color (yields 4). For example, dark, low-saturation red = red + dark
+grey paint, or red + two black + one white.
+
+Medium brightness, low saturation: medium grey paint + color (yields 2), or
+black + white + color (yields 3). For example, medium, low-saturation green =
+green + medium grey, or green + black + white.
+
+Bright, low saturation: light grey + color (yields 2), or 1 black + 2 whites +
+color (yields 4). For example, bright, low-saturation blue = blue + light
+grey, or blue + black + 2 white.
+
+
+RGB values
+----------
+
+All RGB values and filenames for all colors and shades of grey are represented
+in the file "colors.txt" (which is generated with the bash script
+"listcolors.sh", which actually reads from the texture files included with this
+mod), included in the distribution directory. This script requires
+Imagemagick.
+
+
+Misc. Notes
+-----------
+
+If you need to use /give commands, the node names are of the following format:
+
+unifieddyes:{nothing or "medium_" or "dark_"}{color}{nothing or "_s50"}.
+
+For example, low saturation dark yellow would be "unifieddyes:dark_yellow_s50",
+while bright, full-saturation red would simply be "unifieddyes:red".
+
+See the texture filenames in the textures/ folder for further hints - all of
+the item names follow the same format as the filenames, save for having a colon
+(:) instead of the first underscore (_).
+
+
+Semi-automatic generation of new textures
+=========================================
+
+Obviously, in order for this mod to be useful, you'll need textures to use with
+your crafting recipes. If you plan to support the entire range of colors
+supplied by this mod, there is a BASH script included in the distribution
+directory, named gentextures.sh, which will, with an appropriately- colored and
+appropriately-named source texture, generate a complete set of colored and
+greyscale textures based on that first one.
+
+This script requires bc (the calculator program) to handle some basic math
+regarding the hue adjustments, and Imagemagick's "convert" program handles all
+of the actual conversions.
+
+To make this script for your mod, open it in your favorite editor and change
+the TEXTURE variable near the top of the file to whatever your particular mod
+will use as the basis of its texture filenames. For example, the default is
+cotton, so the files created by the script will be named cotton_xxxxxx.png for
+each of the supported colors.
+
+Then, using yoiur favorite image editor, create a single version of your
+desired texture. Draw it in the brightest, deepest shade of RED you can muster
+without losing any detail, and save it out. Ideally, you will want the average
+color of the texture, when taking into account all bright and dark areas, to be
+as close as possible to the hex value
+#FF0000 (0 degrees, 100% saturation, pure red) without losing any appreciable
+#detail
+
+Save this source texture out with a filename of red_base_whatever.png, where
+"whatever" is the same name you used in the TEXTURE variable above. The
+default cotton setting, thus, would need a filename of red_base_cotton.png.
+
+Copy the gentextures.sh script to the same directory where you placed the base
+texture, chmod 755 gentextures.sh if necessary, and run it using the usual
+dot-slash notation: ./gentextures.sh
+
+The program will exit immediately if it can't find the base texture it needs
+(i.e. if you didn't supply it, or if you named it wrong, or if it isn't it in
+the same directory as the script).
+
+Otherwise, the program will create a new folder named generated-textures/ and
+then iterate through all of the hues and shades that are supported by
+unifieddyes (though this is done manually, not by reading anything from the
+mod). All of the output files will be placed in that folder.
+
+Use your favorite image browser or file manager to review the results, and if
+they're right, copy them over to the textures/ folder in your mod.
diff --git a/gentextures.sh b/gentextures.sh
new file mode 100755
index 0000000..09d4067
--- /dev/null
+++ b/gentextures.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+# This line defines the base of the filename, e.g. cotton_xxx_xxx.png
+TEXTURE="cotton"
+
+# This defines the name of the bright red source texture that will
+# be used to generate all of the others.
+base_texture="red_base_"$TEXTURE".png"
+
+base_colors="red orange yellow lime green aqua cyan skyblue blue violet magenta redviolet"
+
+echo -e "\nCurrently configured to generate filenames based on "$TEXTURE"."
+
+if [ ! -e "$base_texture" ] ; then {
+ echo -e "\nPlease supply a proper base texture from which to generate all"
+ echo "of the colors. It must be named "$base_texture" and must"
+ echo -e "be placed in the directory you ran this script from.\n"
+ exit 1
+} fi
+
+pushd . >/dev/null
+mkdir generated-textures
+cd generated-textures
+
+hue=0
+for name in $base_colors ; do
+ hue2=`echo "scale=10; ("$hue"*200/360)+100" |bc`
+ echo $name "("$hue" degrees)"
+ echo " dark"
+ convert ../$base_texture -modulate 33,100,$hue2 $TEXTURE"_dark_"$name".png"
+ echo " medium"
+ convert ../$base_texture -modulate 66,100,$hue2 $TEXTURE"_medium_"$name".png"
+ echo " bright"
+ convert ../$base_texture -modulate 100,100,$hue2 $TEXTURE"_"$name".png"
+ echo " dark, 50% saturation"
+ convert ../$base_texture -modulate 33,50,$hue2 $TEXTURE"_dark_"$name"_s50.png"
+ echo " medium, 50% saturation"
+ convert ../$base_texture -modulate 66,50,$hue2 $TEXTURE"_medium_"$name"_s50.png"
+ echo " bright, 50% saturation"
+ convert ../$base_texture -modulate 100,50,$hue2 $TEXTURE"_"$name"_s50.png"
+ hue=$((hue+30))
+done
+
+echo "greyscales"
+echo " black"
+convert ../$base_texture -modulate 15,0,0 $TEXTURE"_black.png"
+echo " dark grey"
+convert ../$base_texture -modulate 50,0,0 $TEXTURE"_darkgrey.png"
+echo " medium grey"
+convert ../$base_texture -modulate 100,0,0 $TEXTURE"_mediumgrey.png"
+echo " light grey"
+convert ../$base_texture -modulate 150,0,0 $TEXTURE"_lightgrey.png"
+echo " white"
+convert ../$base_texture -modulate 190,0,0 $TEXTURE"_white.png"
+
+popd >/dev/null