mirror of
https://github.com/minetest/minetestmapper.git
synced 2025-07-04 17:40:22 +02:00
Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
2c16966d67 | |||
3e8720313b | |||
037193eec8 | |||
0fd3dc1e25 | |||
cd0d1ad2a6 | |||
f7b0d5c532 | |||
97c5dc0a83 | |||
ee5b8a9f86 | |||
ac15bacf36 | |||
b2406db169 | |||
657499e981 | |||
f909304e1e | |||
8e8cc3d1f2 | |||
48d9e0bb42 | |||
0a91fe6cbd |
16
.travis.yml
16
.travis.yml
@ -2,20 +2,8 @@ language: cpp
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
sudo: false
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- llvm-toolchain-trusty-5.0
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- cmake
|
||||
- libgd2-dev
|
||||
- libsqlite3-dev
|
||||
- libleveldb-dev
|
||||
- g++-7
|
||||
- clang-5.0
|
||||
dist: bionic
|
||||
before_install: sudo apt-get install -y cmake libgd-dev libsqlite3-dev libleveldb-dev
|
||||
script: ./util/travis/script.sh
|
||||
notifications:
|
||||
email: false
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
static inline int color2int(Color c)
|
||||
{
|
||||
u8 a = 255 - c.a;
|
||||
u8 a = (255 - c.a) * gdAlphaMax / 255;
|
||||
return (a << 24) | (c.r << 16) | (c.g << 8) | c.b;
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ static inline Color int2color(int c)
|
||||
c2.g = (c >> 8) & 0xff;
|
||||
c2.r = (c >> 16) & 0xff;
|
||||
a = (c >> 24) & 0xff;
|
||||
c2.a = 255 - a;
|
||||
c2.a = 255 - (a*255 / gdAlphaMax);
|
||||
return c2;
|
||||
}
|
||||
|
||||
|
@ -77,9 +77,15 @@ draworigin:
|
||||
drawalpha:
|
||||
Allow nodes to be drawn with transparency (e.g. water), ``--drawalpha``
|
||||
|
||||
extent:
|
||||
Don't output any imagery, just print the extent of the full map, ``--extent``
|
||||
|
||||
noshading:
|
||||
Don't draw shading on nodes, ``--noshading``
|
||||
|
||||
noemptyimage:
|
||||
Don't output anything when the image would be empty, ``--noemptyimage``
|
||||
|
||||
min-y:
|
||||
Don't draw nodes below this y value, e.g. ``--min-y -25``
|
||||
|
||||
|
@ -79,6 +79,7 @@ TileGenerator::TileGenerator():
|
||||
m_drawScale(false),
|
||||
m_drawAlpha(false),
|
||||
m_shading(true),
|
||||
m_dontWriteEmpty(false),
|
||||
m_backend(""),
|
||||
m_xBorder(0),
|
||||
m_yBorder(0),
|
||||
@ -208,6 +209,31 @@ void TileGenerator::parseColorsFile(const std::string &fileName)
|
||||
parseColorsStream(in);
|
||||
}
|
||||
|
||||
void TileGenerator::printGeometry(const std::string &input)
|
||||
{
|
||||
string input_path = input;
|
||||
if (input_path[input.length() - 1] != PATH_SEPARATOR) {
|
||||
input_path += PATH_SEPARATOR;
|
||||
}
|
||||
|
||||
openDb(input_path);
|
||||
loadBlocks();
|
||||
|
||||
std::cout << "Map extent: "
|
||||
<< m_xMin*16 << ":" << m_zMin*16
|
||||
<< "+" << (m_xMax - m_xMin+1)*16
|
||||
<< "+" << (m_zMax - m_zMin+1)*16
|
||||
<< std::endl;
|
||||
|
||||
closeDatabase();
|
||||
|
||||
}
|
||||
|
||||
void TileGenerator::setDontWriteEmpty(bool f)
|
||||
{
|
||||
m_dontWriteEmpty = f;
|
||||
}
|
||||
|
||||
void TileGenerator::generate(const std::string &input, const std::string &output)
|
||||
{
|
||||
string input_path = input;
|
||||
@ -217,6 +243,13 @@ void TileGenerator::generate(const std::string &input, const std::string &output
|
||||
|
||||
openDb(input_path);
|
||||
loadBlocks();
|
||||
|
||||
if (m_dontWriteEmpty && ! m_positions.size())
|
||||
{
|
||||
closeDatabase();
|
||||
return;
|
||||
}
|
||||
|
||||
createImage();
|
||||
renderMap();
|
||||
closeDatabase();
|
||||
@ -248,7 +281,7 @@ void TileGenerator::parseColorsStream(std::istream &in)
|
||||
if(strlen(line) == 0)
|
||||
continue;
|
||||
|
||||
char name[64];
|
||||
char name[64 + 1];
|
||||
unsigned int r, g, b, a, t;
|
||||
a = 255;
|
||||
t = 0;
|
||||
@ -331,8 +364,25 @@ void TileGenerator::createImage()
|
||||
if(!m_drawScale)
|
||||
m_scales = 0;
|
||||
|
||||
|
||||
// If a geometry is explicitly set, set the bounding box to the requested geometry
|
||||
// instead of cropping to the content. This way we will always output a full tile
|
||||
// of the correct size.
|
||||
if (m_geomX > -2048 && m_geomX2 < 2048)
|
||||
{
|
||||
m_xMin = m_geomX;
|
||||
m_xMax = m_geomX2-1;
|
||||
}
|
||||
|
||||
if (m_geomY > -2048 && m_geomY2 < 2048)
|
||||
{
|
||||
m_zMin = m_geomY;
|
||||
m_zMax = m_geomY2-1;
|
||||
}
|
||||
|
||||
m_mapWidth = (m_xMax - m_xMin + 1) * 16;
|
||||
m_mapHeight = (m_zMax - m_zMin + 1) * 16;
|
||||
|
||||
m_xBorder = (m_scales & SCALE_LEFT) ? scale_d : 0;
|
||||
m_yBorder = (m_scales & SCALE_TOP) ? scale_d : 0;
|
||||
m_blockPixelAttributes.setWidth(m_mapWidth);
|
||||
@ -515,7 +565,7 @@ void TileGenerator::renderScale()
|
||||
if (m_scales & SCALE_TOP) {
|
||||
m_image->drawText(24, 0, "X", m_scaleColor);
|
||||
for (int i = (m_xMin / 4) * 4; i <= m_xMax; i += 4) {
|
||||
stringstream buf;
|
||||
std::ostringstream buf;
|
||||
buf << i * 16;
|
||||
|
||||
int xPos = getImageX(i * 16, true);
|
||||
@ -529,7 +579,7 @@ void TileGenerator::renderScale()
|
||||
if (m_scales & SCALE_LEFT) {
|
||||
m_image->drawText(2, 24, "Z", m_scaleColor);
|
||||
for (int i = (m_zMax / 4) * 4; i >= m_zMin; i -= 4) {
|
||||
stringstream buf;
|
||||
std::ostringstream buf;
|
||||
buf << i * 16;
|
||||
|
||||
int yPos = getImageY(i * 16 + 1, true);
|
||||
@ -545,7 +595,7 @@ void TileGenerator::renderScale()
|
||||
yPos = m_yBorder + m_mapHeight*m_zoom + scale_d - 12;
|
||||
m_image->drawText(xPos, yPos, "X", m_scaleColor);
|
||||
for (int i = (m_xMin / 4) * 4; i <= m_xMax; i += 4) {
|
||||
stringstream buf;
|
||||
std::ostringstream buf;
|
||||
buf << i * 16;
|
||||
|
||||
xPos = getImageX(i * 16, true);
|
||||
@ -562,7 +612,7 @@ void TileGenerator::renderScale()
|
||||
yPos = m_yBorder + m_mapHeight*m_zoom - 24 - 12;
|
||||
m_image->drawText(xPos, yPos, "Z", m_scaleColor);
|
||||
for (int i = (m_zMax / 4) * 4; i >= m_zMin; i -= 4) {
|
||||
stringstream buf;
|
||||
std::ostringstream buf;
|
||||
buf << i * 16;
|
||||
|
||||
xPos = m_xBorder + m_mapWidth*m_zoom;
|
||||
|
@ -65,11 +65,9 @@ minetest.register_chatcommand("dumpnodes", {
|
||||
==FILE== avgcolor.py
|
||||
#!/usr/bin/env python
|
||||
import sys
|
||||
from math import sqrt
|
||||
from PIL import Image
|
||||
|
||||
def tadd(a, b):
|
||||
return tuple(sum(e) for e in zip(a, b))
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
print("Prints average color (RGB) of input image")
|
||||
print("Usage: %s <input>" % sys.argv[0])
|
||||
@ -78,20 +76,20 @@ if len(sys.argv) < 2:
|
||||
inp = Image.open(sys.argv[1]).convert('RGBA')
|
||||
ind = inp.load()
|
||||
|
||||
cl = (0, 0, 0)
|
||||
counted = 0
|
||||
cl = ([], [], [])
|
||||
for x in range(inp.size[0]):
|
||||
for y in range(inp.size[1]):
|
||||
px = ind[x, y]
|
||||
if px[3] < 128: continue # alpha
|
||||
cl = tadd(cl, px[:3])
|
||||
counted += 1
|
||||
cl[0].append(px[0]**2)
|
||||
cl[1].append(px[1]**2)
|
||||
cl[2].append(px[2]**2)
|
||||
|
||||
if counted == 0:
|
||||
sys.stderr.write("did not find avg color for %s\n" % sys.argv[1])
|
||||
if len(cl[0]) == 0:
|
||||
print("Didn't find average color for %s" % sys.argv[1], file=sys.stderr)
|
||||
print("0 0 0")
|
||||
else:
|
||||
cl = tuple(int(n / counted) for n in cl)
|
||||
cl = tuple(sqrt(sum(x)/len(x)) for x in cl)
|
||||
print("%d %d %d" % cl)
|
||||
==SCRIPT==
|
||||
#!/bin/bash -e
|
||||
@ -125,6 +123,7 @@ sed -re 's/^xpanes:(.*(pane|bar)[^ ]*) ([0-9 ]+)$/xpanes:\1 \3 64 16/g' $COLORST
|
||||
# Delete some usually hidden nodes:
|
||||
sed '/^doors:hidden /d' $COLORSTXT_PATH -i
|
||||
sed '/^fireflies:firefly /d' $COLORSTXT_PATH -i
|
||||
sed '/^butterflies:butterfly_/d' $COLORSTXT_PATH -i
|
||||
==INSTRUCTIONS==
|
||||
1) Make sure avgcolors.py works (outputs the usage instructions when run)
|
||||
2) Add the dumpnodes mod to Minetest
|
||||
|
701
colors.txt
701
colors.txt
@ -1,137 +1,159 @@
|
||||
# beds
|
||||
beds:bed_bottom 130 3 3
|
||||
beds:bed_top 178 116 116
|
||||
beds:fancy_bed_bottom 135 23 14
|
||||
beds:fancy_bed_top 172 112 103
|
||||
beds:bed_top 185 162 163
|
||||
beds:fancy_bed_bottom 136 49 28
|
||||
beds:fancy_bed_top 179 153 148
|
||||
|
||||
# bones
|
||||
bones:bones 86 86 86
|
||||
bones:bones 117 117 117
|
||||
|
||||
# butterflies
|
||||
|
||||
# carts
|
||||
carts:brakerail 129 110 81
|
||||
carts:powerrail 154 136 81
|
||||
carts:rail 143 123 90
|
||||
carts:brakerail 138 121 102
|
||||
carts:powerrail 160 145 102
|
||||
carts:rail 146 128 108
|
||||
|
||||
# default
|
||||
default:acacia_bush_leaves 90 124 55
|
||||
default:acacia_bush_sapling 85 118 58
|
||||
default:acacia_bush_stem 84 76 69
|
||||
default:acacia_leaves 108 147 67
|
||||
default:acacia_sapling 87 116 61
|
||||
default:acacia_tree 188 109 90
|
||||
default:acacia_wood 146 60 37
|
||||
default:apple 145 20 9
|
||||
default:aspen_leaves 70 104 27
|
||||
default:aspen_sapling 82 110 43
|
||||
default:aspen_tree 218 197 166
|
||||
default:aspen_wood 209 198 169
|
||||
default:bookshelf 128 99 55
|
||||
default:brick 117 71 69
|
||||
default:bronzeblock 185 110 15
|
||||
default:bush_leaves 34 52 29
|
||||
default:bush_sapling 65 60 40
|
||||
default:bush_stem 45 33 23
|
||||
default:cactus 52 116 15
|
||||
default:cave_ice 167 206 247
|
||||
default:chest 140 108 65
|
||||
default:chest_locked 140 108 65
|
||||
default:chest_locked_open 140 108 65
|
||||
default:chest_open 140 108 65
|
||||
default:clay 182 182 182
|
||||
default:acacia_bush_leaves 109 133 87
|
||||
default:acacia_bush_sapling 85 121 61
|
||||
default:acacia_bush_stem 84 77 70
|
||||
default:acacia_leaves 126 153 101
|
||||
default:acacia_sapling 87 120 64
|
||||
default:acacia_tree 195 119 97
|
||||
default:acacia_wood 150 61 39
|
||||
default:apple 161 34 19
|
||||
default:aspen_leaves 72 105 29
|
||||
default:aspen_sapling 85 123 45
|
||||
default:aspen_tree 218 198 168
|
||||
default:aspen_wood 210 199 170
|
||||
default:blueberry_bush_leaves 63 99 22
|
||||
default:blueberry_bush_leaves_with_berries 63 99 22
|
||||
default:blueberry_bush_sapling 81 112 33
|
||||
default:bookshelf 131 102 57
|
||||
default:brick 123 99 95
|
||||
default:bronzeblock 186 111 15
|
||||
default:bush_leaves 35 55 29
|
||||
default:bush_sapling 66 64 40
|
||||
default:bush_stem 46 34 24
|
||||
default:cactus 70 119 52
|
||||
default:cave_ice 168 206 247
|
||||
default:chest 149 115 69
|
||||
default:chest_locked 149 115 69
|
||||
default:chest_locked_open 149 115 69
|
||||
default:chest_open 149 115 69
|
||||
default:clay 183 183 183
|
||||
default:cloud 255 255 255
|
||||
default:coalblock 57 57 57
|
||||
default:cobble 88 84 82
|
||||
default:copperblock 192 126 63
|
||||
default:coral_brown 139 104 72
|
||||
default:coral_orange 191 62 12
|
||||
default:coral_skeleton 235 230 214
|
||||
default:desert_cobble 107 65 49
|
||||
default:coalblock 58 58 58
|
||||
default:cobble 89 86 84
|
||||
default:copperblock 193 126 65
|
||||
default:coral_brown 146 113 77
|
||||
default:coral_cyan 235 230 215
|
||||
default:coral_green 235 230 215
|
||||
default:coral_orange 197 68 17
|
||||
default:coral_pink 235 230 215
|
||||
default:coral_skeleton 235 230 215
|
||||
default:desert_cobble 110 67 50
|
||||
default:desert_sand 206 165 98
|
||||
default:desert_sandstone 195 152 92
|
||||
default:desert_sandstone_block 192 151 94
|
||||
default:desert_sandstone_brick 191 151 94
|
||||
default:desert_stone 129 79 60
|
||||
default:desert_stone_block 130 79 60
|
||||
default:desert_stonebrick 129 79 60
|
||||
default:diamondblock 135 217 223
|
||||
default:dirt 95 64 39
|
||||
default:dirt_with_coniferous_litter 107 88 68
|
||||
default:dirt_with_dry_grass 187 148 77
|
||||
default:dirt_with_grass 66 112 31
|
||||
default:dirt_with_grass_footsteps 66 112 31
|
||||
default:dirt_with_rainforest_litter 74 38 8
|
||||
default:dirt_with_snow 224 225 238
|
||||
default:desert_sandstone_block 193 152 94
|
||||
default:desert_sandstone_brick 191 151 95
|
||||
default:desert_stone 130 79 61
|
||||
default:desert_stone_block 131 80 61
|
||||
default:desert_stonebrick 131 80 61
|
||||
default:diamondblock 140 218 223
|
||||
default:dirt 97 67 43
|
||||
default:dirt_with_coniferous_litter 109 90 71
|
||||
default:dirt_with_dry_grass 187 148 78
|
||||
default:dirt_with_grass 64 111 26
|
||||
default:dirt_with_grass_footsteps 64 111 26
|
||||
default:dirt_with_rainforest_litter 76 39 10
|
||||
default:dirt_with_snow 225 225 238
|
||||
default:dry_dirt 178 136 90
|
||||
default:dry_dirt_with_dry_grass 187 148 78
|
||||
default:dry_grass_1 208 172 87
|
||||
default:dry_grass_2 210 174 87
|
||||
default:dry_grass_3 210 174 87
|
||||
default:dry_grass_4 211 175 88
|
||||
default:dry_grass_5 213 178 92
|
||||
default:dry_shrub 101 66 17
|
||||
default:emergent_jungle_sapling 48 39 15
|
||||
default:fence_acacia_wood 147 60 38
|
||||
default:dry_grass_5 214 178 92
|
||||
default:dry_shrub 103 67 18
|
||||
default:emergent_jungle_sapling 51 40 16
|
||||
default:fence_acacia_wood 151 62 39
|
||||
default:fence_aspen_wood 210 199 170
|
||||
default:fence_junglewood 54 37 11
|
||||
default:fence_pine_wood 221 184 129
|
||||
default:fence_wood 129 100 55
|
||||
default:fern_1 81 114 48
|
||||
default:fern_2 86 118 50
|
||||
default:fern_3 88 121 52
|
||||
default:furnace 100 96 94
|
||||
default:furnace_active 100 96 94
|
||||
default:glass 194 194 227 64 16
|
||||
default:goldblock 230 201 29
|
||||
default:grass_1 97 138 53
|
||||
default:grass_2 95 136 54
|
||||
default:grass_3 91 133 52
|
||||
default:grass_4 86 130 45
|
||||
default:grass_5 83 124 47
|
||||
default:gravel 131 131 131
|
||||
default:ice 167 206 247
|
||||
default:junglegrass 63 105 25
|
||||
default:jungleleaves 20 28 15
|
||||
default:junglesapling 48 38 14
|
||||
default:jungletree 105 76 41
|
||||
default:junglewood 54 37 11
|
||||
default:ladder_steel 126 126 126
|
||||
default:ladder_wood 123 90 34
|
||||
default:fence_junglewood 57 39 14
|
||||
default:fence_pine_wood 221 185 131
|
||||
default:fence_rail_acacia_wood 150 61 39
|
||||
default:fence_rail_aspen_wood 209 198 170
|
||||
default:fence_rail_junglewood 56 39 14
|
||||
default:fence_rail_pine_wood 221 184 130
|
||||
default:fence_rail_wood 131 102 57
|
||||
default:fence_wood 132 103 57
|
||||
default:fern_1 85 118 51
|
||||
default:fern_2 90 123 53
|
||||
default:fern_3 91 125 54
|
||||
default:furnace 101 98 96
|
||||
default:furnace_active 101 98 96
|
||||
default:glass 247 247 247 64 16
|
||||
default:goldblock 231 203 35
|
||||
default:grass_1 100 140 54
|
||||
default:grass_2 98 139 55
|
||||
default:grass_3 94 136 53
|
||||
default:grass_4 89 133 48
|
||||
default:grass_5 86 126 48
|
||||
default:gravel 132 132 132
|
||||
default:ice 168 206 247
|
||||
default:junglegrass 67 110 28
|
||||
default:jungleleaves 22 31 16
|
||||
default:junglesapling 51 39 15
|
||||
default:jungletree 121 97 62
|
||||
default:junglewood 56 39 14
|
||||
default:ladder_steel 132 132 132
|
||||
default:ladder_wood 125 93 43
|
||||
default:large_cactus_seedling 67 107 52
|
||||
default:lava_flowing 255 100 0
|
||||
default:lava_source 255 100 0
|
||||
default:leaves 34 52 29
|
||||
default:marram_grass_1 96 133 89
|
||||
default:marram_grass_2 87 126 83
|
||||
default:marram_grass_3 85 125 82
|
||||
default:mese 220 220 0
|
||||
default:mese_post_light 131 102 57
|
||||
default:meselamp 211 213 139
|
||||
default:mossycobble 86 90 68
|
||||
default:obsidian 19 21 24
|
||||
default:obsidian_block 20 22 25
|
||||
default:obsidian_glass 19 21 23 64 16
|
||||
default:obsidianbrick 20 22 24
|
||||
default:papyrus 94 132 33
|
||||
default:pine_needles 11 48 18
|
||||
default:pine_sapling 27 48 25
|
||||
default:pine_tree 182 155 124
|
||||
default:pine_wood 221 184 128
|
||||
default:leaves 36 55 29
|
||||
default:marram_grass_1 113 139 96
|
||||
default:marram_grass_2 102 131 90
|
||||
default:marram_grass_3 99 130 88
|
||||
default:mese 222 222 0
|
||||
default:mese_post_light 134 105 59
|
||||
default:meselamp 213 215 143
|
||||
default:mossycobble 88 91 73
|
||||
default:obsidian 21 24 29
|
||||
default:obsidian_block 23 25 30
|
||||
default:obsidian_glass 20 23 27 64 16
|
||||
default:obsidianbrick 23 25 29
|
||||
default:papyrus 97 134 38
|
||||
default:permafrost 71 66 61
|
||||
default:permafrost_with_moss 108 150 51
|
||||
default:permafrost_with_stones 71 66 61
|
||||
default:pine_bush_needles 16 50 19
|
||||
default:pine_bush_sapling 58 51 40
|
||||
default:pine_bush_stem 73 62 53
|
||||
default:pine_needles 16 50 19
|
||||
default:pine_sapling 41 48 26
|
||||
default:pine_tree 191 165 132
|
||||
default:pine_wood 221 185 130
|
||||
default:river_water_flowing 39 66 106 128 224
|
||||
default:river_water_source 39 66 106 128 224
|
||||
default:sand 214 207 158
|
||||
default:sand_with_kelp 214 207 158
|
||||
default:sandstone 197 193 143
|
||||
default:sandstone_block 195 190 141
|
||||
default:sandstonebrick 193 189 140
|
||||
default:sapling 65 59 40
|
||||
default:sign_wall_steel 144 144 144
|
||||
default:sign_wall_wood 145 101 64
|
||||
default:sandstone 198 193 143
|
||||
default:sandstone_block 195 191 142
|
||||
default:sandstonebrick 194 190 141
|
||||
default:sapling 67 63 41
|
||||
default:sign_wall_steel 147 147 147
|
||||
default:sign_wall_wood 148 103 66
|
||||
default:silver_sand 193 191 179
|
||||
default:silver_sandstone 195 192 181
|
||||
default:silver_sandstone_block 192 190 179
|
||||
default:silver_sandstone_brick 190 188 178
|
||||
default:snow 224 225 238
|
||||
default:snowblock 224 225 238
|
||||
default:steelblock 194 194 194
|
||||
default:silver_sandstone_block 192 190 180
|
||||
default:silver_sandstone_brick 191 189 179
|
||||
default:snow 225 225 238
|
||||
default:snowblock 225 225 238
|
||||
default:steelblock 195 195 195
|
||||
default:stone 97 94 93
|
||||
default:stone_block 99 96 95
|
||||
default:stone_block 100 97 96
|
||||
default:stone_with_coal 97 94 93
|
||||
default:stone_with_copper 97 94 93
|
||||
default:stone_with_diamond 97 94 93
|
||||
@ -139,266 +161,281 @@ default:stone_with_gold 97 94 93
|
||||
default:stone_with_iron 97 94 93
|
||||
default:stone_with_mese 97 94 93
|
||||
default:stone_with_tin 97 94 93
|
||||
default:stonebrick 99 96 95
|
||||
default:tinblock 149 149 149
|
||||
default:torch 120 98 67
|
||||
default:torch_ceiling 120 98 67
|
||||
default:torch_wall 120 98 67
|
||||
default:tree 164 131 88
|
||||
default:stonebrick 102 99 98
|
||||
default:tinblock 150 150 150
|
||||
default:torch 141 123 93
|
||||
default:torch_ceiling 141 123 93
|
||||
default:torch_wall 141 123 93
|
||||
default:tree 179 145 99
|
||||
default:water_flowing 39 66 106 128 224
|
||||
default:water_source 39 66 106 128 224
|
||||
default:wood 128 99 55
|
||||
default:wood 131 102 57
|
||||
|
||||
# doors
|
||||
doors:door_glass_a 184 184 216 64 16
|
||||
doors:door_glass_b 184 184 216 64 16
|
||||
doors:door_obsidian_glass_a 27 28 29 64 16
|
||||
doors:door_obsidian_glass_b 27 28 29 64 16
|
||||
doors:door_steel_a 201 201 201
|
||||
doors:door_steel_b 201 201 201
|
||||
doors:door_wood_a 87 67 35
|
||||
doors:door_wood_b 87 67 35
|
||||
doors:gate_acacia_wood_closed 146 60 37
|
||||
doors:gate_acacia_wood_open 146 60 37
|
||||
doors:gate_aspen_wood_closed 209 198 169
|
||||
doors:gate_aspen_wood_open 209 198 169
|
||||
doors:gate_junglewood_closed 54 37 11
|
||||
doors:gate_junglewood_open 54 37 11
|
||||
doors:gate_pine_wood_closed 221 184 128
|
||||
doors:gate_pine_wood_open 221 184 128
|
||||
doors:gate_wood_closed 128 99 55
|
||||
doors:gate_wood_open 128 99 55
|
||||
doors:trapdoor 128 99 50
|
||||
doors:trapdoor_open 136 106 59
|
||||
doors:trapdoor_steel 199 199 199
|
||||
doors:trapdoor_steel_open 206 206 206
|
||||
doors:door_glass_a 245 245 245 64 16
|
||||
doors:door_glass_b 245 245 245 64 16
|
||||
doors:door_obsidian_glass_a 48 49 50 64 16
|
||||
doors:door_obsidian_glass_b 48 49 50 64 16
|
||||
doors:door_steel_a 203 203 203
|
||||
doors:door_steel_b 203 203 203
|
||||
doors:door_wood_a 89 68 37
|
||||
doors:door_wood_b 89 68 37
|
||||
doors:gate_acacia_wood_closed 150 61 39
|
||||
doors:gate_acacia_wood_open 150 61 39
|
||||
doors:gate_aspen_wood_closed 210 199 170
|
||||
doors:gate_aspen_wood_open 210 199 170
|
||||
doors:gate_junglewood_closed 56 39 14
|
||||
doors:gate_junglewood_open 56 39 14
|
||||
doors:gate_pine_wood_closed 221 185 130
|
||||
doors:gate_pine_wood_open 221 185 130
|
||||
doors:gate_wood_closed 131 102 57
|
||||
doors:gate_wood_open 131 102 57
|
||||
doors:trapdoor 130 100 51
|
||||
doors:trapdoor_open 68 53 30
|
||||
doors:trapdoor_steel 200 200 200
|
||||
doors:trapdoor_steel_open 97 97 97
|
||||
|
||||
# farming
|
||||
farming:cotton_1 88 116 39
|
||||
farming:cotton_2 87 116 38
|
||||
farming:cotton_3 97 120 41
|
||||
farming:cotton_4 106 113 47
|
||||
farming:cotton_5 114 104 53
|
||||
farming:cotton_6 119 94 59
|
||||
farming:cotton_7 92 69 37
|
||||
farming:cotton_8 110 91 61
|
||||
farming:desert_sand_soil 159 131 70
|
||||
farming:desert_sand_soil_wet 119 98 52
|
||||
farming:seed_cotton 90 85 57
|
||||
farming:seed_wheat 175 159 93
|
||||
farming:soil 95 64 39
|
||||
farming:soil_wet 95 64 39
|
||||
farming:straw 211 182 67
|
||||
farming:wheat_1 107 174 32
|
||||
farming:wheat_2 133 175 50
|
||||
farming:wheat_3 162 182 82
|
||||
farming:wheat_4 169 187 93
|
||||
farming:wheat_5 169 178 94
|
||||
farming:wheat_6 172 176 85
|
||||
farming:wheat_7 192 181 81
|
||||
farming:wheat_8 186 161 35
|
||||
farming:cotton_1 89 117 39
|
||||
farming:cotton_2 89 116 38
|
||||
farming:cotton_3 99 121 41
|
||||
farming:cotton_4 108 114 47
|
||||
farming:cotton_5 116 105 53
|
||||
farming:cotton_6 121 95 59
|
||||
farming:cotton_7 94 70 37
|
||||
farming:cotton_8 122 108 93
|
||||
farming:desert_sand_soil 161 132 72
|
||||
farming:desert_sand_soil_wet 120 99 53
|
||||
farming:dry_soil 178 136 90
|
||||
farming:dry_soil_wet 178 136 90
|
||||
farming:seed_cotton 92 87 60
|
||||
farming:seed_wheat 177 161 96
|
||||
farming:soil 97 67 43
|
||||
farming:soil_wet 97 67 43
|
||||
farming:straw 212 184 68
|
||||
farming:wheat_1 110 175 36
|
||||
farming:wheat_2 136 177 53
|
||||
farming:wheat_3 163 182 84
|
||||
farming:wheat_4 170 188 95
|
||||
farming:wheat_5 171 179 97
|
||||
farming:wheat_6 173 177 87
|
||||
farming:wheat_7 193 181 83
|
||||
farming:wheat_8 187 162 40
|
||||
|
||||
# fire
|
||||
fire:basic_flame 218 120 36
|
||||
fire:permanent_flame 218 120 36
|
||||
fire:basic_flame 223 136 44
|
||||
fire:permanent_flame 223 136 44
|
||||
|
||||
# fireflies
|
||||
fireflies:firefly_bottle 190 191 198
|
||||
fireflies:firefly_bottle 191 194 202
|
||||
|
||||
# flowers
|
||||
flowers:chrysanthemum_green 101 140 39
|
||||
flowers:dandelion_white 178 176 140
|
||||
flowers:dandelion_yellow 194 159 17
|
||||
flowers:geranium 72 87 155
|
||||
flowers:mushroom_brown 106 79 72
|
||||
flowers:mushroom_red 192 85 85
|
||||
flowers:rose 118 48 24
|
||||
flowers:tulip 130 99 36
|
||||
flowers:tulip_black 72 103 63
|
||||
flowers:viola 106 60 159
|
||||
flowers:waterlily 102 158 61
|
||||
flowers:chrysanthemum_green 118 152 44
|
||||
flowers:dandelion_white 199 191 176
|
||||
flowers:dandelion_yellow 212 167 31
|
||||
flowers:geranium 77 91 168
|
||||
flowers:mushroom_brown 109 84 78
|
||||
flowers:mushroom_red 195 102 102
|
||||
flowers:rose 130 68 33
|
||||
flowers:tulip 156 101 44
|
||||
flowers:tulip_black 78 120 72
|
||||
flowers:viola 115 69 184
|
||||
flowers:waterlily 107 160 68
|
||||
flowers:waterlily_waving 107 160 68
|
||||
|
||||
# stairs
|
||||
stairs:slab_acacia_wood 146 60 37
|
||||
stairs:slab_aspen_wood 209 198 169
|
||||
stairs:slab_brick 117 71 69
|
||||
stairs:slab_bronzeblock 185 110 15
|
||||
stairs:slab_cobble 88 84 82
|
||||
stairs:slab_copperblock 192 126 63
|
||||
stairs:slab_desert_cobble 107 65 49
|
||||
stairs:slab_acacia_wood 150 61 39
|
||||
stairs:slab_aspen_wood 210 199 170
|
||||
stairs:slab_brick 123 99 95
|
||||
stairs:slab_bronzeblock 186 111 15
|
||||
stairs:slab_cobble 89 86 84
|
||||
stairs:slab_copperblock 193 126 65
|
||||
stairs:slab_desert_cobble 110 67 50
|
||||
stairs:slab_desert_sandstone 195 152 92
|
||||
stairs:slab_desert_sandstone_block 192 151 94
|
||||
stairs:slab_desert_sandstone_brick 191 151 94
|
||||
stairs:slab_desert_stone 129 79 60
|
||||
stairs:slab_desert_stone_block 130 79 60
|
||||
stairs:slab_desert_stonebrick 129 79 60
|
||||
stairs:slab_goldblock 230 201 29
|
||||
stairs:slab_ice 167 206 247
|
||||
stairs:slab_junglewood 54 37 11
|
||||
stairs:slab_mossycobble 86 90 68
|
||||
stairs:slab_obsidian 19 21 24
|
||||
stairs:slab_obsidian_block 20 22 25
|
||||
stairs:slab_obsidianbrick 20 22 24
|
||||
stairs:slab_pine_wood 221 184 128
|
||||
stairs:slab_sandstone 197 193 143
|
||||
stairs:slab_sandstone_block 195 190 141
|
||||
stairs:slab_sandstonebrick 193 189 140
|
||||
stairs:slab_desert_sandstone_block 193 152 94
|
||||
stairs:slab_desert_sandstone_brick 191 151 95
|
||||
stairs:slab_desert_stone 130 79 61
|
||||
stairs:slab_desert_stone_block 131 80 61
|
||||
stairs:slab_desert_stonebrick 131 80 61
|
||||
stairs:slab_glass 247 247 247
|
||||
stairs:slab_goldblock 231 203 35
|
||||
stairs:slab_ice 168 206 247
|
||||
stairs:slab_junglewood 56 39 14
|
||||
stairs:slab_mossycobble 88 91 73
|
||||
stairs:slab_obsidian 21 24 29
|
||||
stairs:slab_obsidian_block 23 25 30
|
||||
stairs:slab_obsidian_glass 20 23 27
|
||||
stairs:slab_obsidianbrick 23 25 29
|
||||
stairs:slab_pine_wood 221 185 130
|
||||
stairs:slab_sandstone 198 193 143
|
||||
stairs:slab_sandstone_block 195 191 142
|
||||
stairs:slab_sandstonebrick 194 190 141
|
||||
stairs:slab_silver_sandstone 195 192 181
|
||||
stairs:slab_silver_sandstone_block 192 190 179
|
||||
stairs:slab_silver_sandstone_brick 190 188 178
|
||||
stairs:slab_snowblock 224 225 238
|
||||
stairs:slab_steelblock 194 194 194
|
||||
stairs:slab_silver_sandstone_block 192 190 180
|
||||
stairs:slab_silver_sandstone_brick 191 189 179
|
||||
stairs:slab_snowblock 225 225 238
|
||||
stairs:slab_steelblock 195 195 195
|
||||
stairs:slab_stone 97 94 93
|
||||
stairs:slab_stone_block 99 96 95
|
||||
stairs:slab_stonebrick 99 96 95
|
||||
stairs:slab_straw 211 182 67
|
||||
stairs:slab_tinblock 149 149 149
|
||||
stairs:slab_wood 128 99 55
|
||||
stairs:stair_acacia_wood 146 60 37
|
||||
stairs:stair_aspen_wood 209 198 169
|
||||
stairs:stair_brick 117 71 69
|
||||
stairs:stair_bronzeblock 185 110 15
|
||||
stairs:stair_cobble 88 84 82
|
||||
stairs:stair_copperblock 192 126 63
|
||||
stairs:stair_desert_cobble 107 65 49
|
||||
stairs:slab_stone_block 100 97 96
|
||||
stairs:slab_stonebrick 102 99 98
|
||||
stairs:slab_straw 212 184 68
|
||||
stairs:slab_tinblock 150 150 150
|
||||
stairs:slab_wood 131 102 57
|
||||
stairs:stair_acacia_wood 150 61 39
|
||||
stairs:stair_aspen_wood 210 199 170
|
||||
stairs:stair_brick 123 99 95
|
||||
stairs:stair_bronzeblock 186 111 15
|
||||
stairs:stair_cobble 89 86 84
|
||||
stairs:stair_copperblock 193 126 65
|
||||
stairs:stair_desert_cobble 110 67 50
|
||||
stairs:stair_desert_sandstone 195 152 92
|
||||
stairs:stair_desert_sandstone_block 192 151 94
|
||||
stairs:stair_desert_sandstone_brick 191 151 94
|
||||
stairs:stair_desert_stone 129 79 60
|
||||
stairs:stair_desert_stone_block 130 79 60
|
||||
stairs:stair_desert_stonebrick 129 79 60
|
||||
stairs:stair_goldblock 230 201 29
|
||||
stairs:stair_ice 167 206 247
|
||||
stairs:stair_inner_acacia_wood 146 60 37
|
||||
stairs:stair_inner_aspen_wood 209 198 169
|
||||
stairs:stair_inner_brick 117 71 69
|
||||
stairs:stair_inner_bronzeblock 185 110 15
|
||||
stairs:stair_inner_cobble 88 84 82
|
||||
stairs:stair_inner_copperblock 192 126 63
|
||||
stairs:stair_inner_desert_cobble 107 65 49
|
||||
stairs:stair_desert_sandstone_block 193 152 94
|
||||
stairs:stair_desert_sandstone_brick 191 151 95
|
||||
stairs:stair_desert_stone 130 79 61
|
||||
stairs:stair_desert_stone_block 131 80 61
|
||||
stairs:stair_desert_stonebrick 131 80 61
|
||||
stairs:stair_glass 249 249 249
|
||||
stairs:stair_goldblock 231 203 35
|
||||
stairs:stair_ice 168 206 247
|
||||
stairs:stair_inner_acacia_wood 150 61 39
|
||||
stairs:stair_inner_aspen_wood 210 199 170
|
||||
stairs:stair_inner_brick 123 99 95
|
||||
stairs:stair_inner_bronzeblock 186 111 15
|
||||
stairs:stair_inner_cobble 89 86 84
|
||||
stairs:stair_inner_copperblock 193 126 65
|
||||
stairs:stair_inner_desert_cobble 110 67 50
|
||||
stairs:stair_inner_desert_sandstone 195 152 92
|
||||
stairs:stair_inner_desert_sandstone_block 192 151 94
|
||||
stairs:stair_inner_desert_sandstone_brick 191 151 94
|
||||
stairs:stair_inner_desert_stone 129 79 60
|
||||
stairs:stair_inner_desert_stone_block 130 79 60
|
||||
stairs:stair_inner_desert_stonebrick 129 79 60
|
||||
stairs:stair_inner_goldblock 230 201 29
|
||||
stairs:stair_inner_ice 167 206 247
|
||||
stairs:stair_inner_junglewood 54 37 11
|
||||
stairs:stair_inner_mossycobble 86 90 68
|
||||
stairs:stair_inner_obsidian 19 21 24
|
||||
stairs:stair_inner_obsidian_block 20 22 25
|
||||
stairs:stair_inner_obsidianbrick 20 22 24
|
||||
stairs:stair_inner_pine_wood 221 184 128
|
||||
stairs:stair_inner_sandstone 197 193 143
|
||||
stairs:stair_inner_sandstone_block 195 190 141
|
||||
stairs:stair_inner_sandstonebrick 193 189 140
|
||||
stairs:stair_inner_desert_sandstone_block 193 152 94
|
||||
stairs:stair_inner_desert_sandstone_brick 191 151 95
|
||||
stairs:stair_inner_desert_stone 130 79 61
|
||||
stairs:stair_inner_desert_stone_block 131 80 61
|
||||
stairs:stair_inner_desert_stonebrick 131 80 61
|
||||
stairs:stair_inner_glass 250 250 250
|
||||
stairs:stair_inner_goldblock 231 203 35
|
||||
stairs:stair_inner_ice 168 206 247
|
||||
stairs:stair_inner_junglewood 56 39 14
|
||||
stairs:stair_inner_mossycobble 88 91 73
|
||||
stairs:stair_inner_obsidian 21 24 29
|
||||
stairs:stair_inner_obsidian_block 23 25 30
|
||||
stairs:stair_inner_obsidian_glass 20 22 27
|
||||
stairs:stair_inner_obsidianbrick 23 25 29
|
||||
stairs:stair_inner_pine_wood 221 185 130
|
||||
stairs:stair_inner_sandstone 198 193 143
|
||||
stairs:stair_inner_sandstone_block 195 191 142
|
||||
stairs:stair_inner_sandstonebrick 194 190 141
|
||||
stairs:stair_inner_silver_sandstone 195 192 181
|
||||
stairs:stair_inner_silver_sandstone_block 192 190 179
|
||||
stairs:stair_inner_silver_sandstone_brick 190 188 178
|
||||
stairs:stair_inner_snowblock 224 225 238
|
||||
stairs:stair_inner_steelblock 194 194 194
|
||||
stairs:stair_inner_silver_sandstone_block 192 190 180
|
||||
stairs:stair_inner_silver_sandstone_brick 191 189 179
|
||||
stairs:stair_inner_snowblock 225 225 238
|
||||
stairs:stair_inner_steelblock 195 195 195
|
||||
stairs:stair_inner_stone 97 94 93
|
||||
stairs:stair_inner_stone_block 99 96 95
|
||||
stairs:stair_inner_stonebrick 99 96 95
|
||||
stairs:stair_inner_straw 211 182 67
|
||||
stairs:stair_inner_tinblock 149 149 149
|
||||
stairs:stair_inner_wood 128 99 55
|
||||
stairs:stair_junglewood 54 37 11
|
||||
stairs:stair_mossycobble 86 90 68
|
||||
stairs:stair_obsidian 19 21 24
|
||||
stairs:stair_obsidian_block 20 22 25
|
||||
stairs:stair_obsidianbrick 20 22 24
|
||||
stairs:stair_outer_acacia_wood 146 60 37
|
||||
stairs:stair_outer_aspen_wood 209 198 169
|
||||
stairs:stair_outer_brick 117 71 69
|
||||
stairs:stair_outer_bronzeblock 185 110 15
|
||||
stairs:stair_outer_cobble 88 84 82
|
||||
stairs:stair_outer_copperblock 192 126 63
|
||||
stairs:stair_outer_desert_cobble 107 65 49
|
||||
stairs:stair_inner_stone_block 100 97 96
|
||||
stairs:stair_inner_stonebrick 102 99 98
|
||||
stairs:stair_inner_straw 212 184 68
|
||||
stairs:stair_inner_tinblock 150 150 150
|
||||
stairs:stair_inner_wood 131 102 57
|
||||
stairs:stair_junglewood 56 39 14
|
||||
stairs:stair_mossycobble 88 91 73
|
||||
stairs:stair_obsidian 21 24 29
|
||||
stairs:stair_obsidian_block 23 25 30
|
||||
stairs:stair_obsidian_glass 20 22 27
|
||||
stairs:stair_obsidianbrick 23 25 29
|
||||
stairs:stair_outer_acacia_wood 150 61 39
|
||||
stairs:stair_outer_aspen_wood 210 199 170
|
||||
stairs:stair_outer_brick 123 99 95
|
||||
stairs:stair_outer_bronzeblock 186 111 15
|
||||
stairs:stair_outer_cobble 89 86 84
|
||||
stairs:stair_outer_copperblock 193 126 65
|
||||
stairs:stair_outer_desert_cobble 110 67 50
|
||||
stairs:stair_outer_desert_sandstone 195 152 92
|
||||
stairs:stair_outer_desert_sandstone_block 192 151 94
|
||||
stairs:stair_outer_desert_sandstone_brick 191 151 94
|
||||
stairs:stair_outer_desert_stone 129 79 60
|
||||
stairs:stair_outer_desert_stone_block 130 79 60
|
||||
stairs:stair_outer_desert_stonebrick 129 79 60
|
||||
stairs:stair_outer_goldblock 230 201 29
|
||||
stairs:stair_outer_ice 167 206 247
|
||||
stairs:stair_outer_junglewood 54 37 11
|
||||
stairs:stair_outer_mossycobble 86 90 68
|
||||
stairs:stair_outer_obsidian 19 21 24
|
||||
stairs:stair_outer_obsidian_block 20 22 25
|
||||
stairs:stair_outer_obsidianbrick 20 22 24
|
||||
stairs:stair_outer_pine_wood 221 184 128
|
||||
stairs:stair_outer_sandstone 197 193 143
|
||||
stairs:stair_outer_sandstone_block 195 190 141
|
||||
stairs:stair_outer_sandstonebrick 193 189 140
|
||||
stairs:stair_outer_desert_sandstone_block 193 152 94
|
||||
stairs:stair_outer_desert_sandstone_brick 191 151 95
|
||||
stairs:stair_outer_desert_stone 130 79 61
|
||||
stairs:stair_outer_desert_stone_block 131 80 61
|
||||
stairs:stair_outer_desert_stonebrick 131 80 61
|
||||
stairs:stair_outer_glass 250 250 250
|
||||
stairs:stair_outer_goldblock 231 203 35
|
||||
stairs:stair_outer_ice 168 206 247
|
||||
stairs:stair_outer_junglewood 56 39 14
|
||||
stairs:stair_outer_mossycobble 88 91 73
|
||||
stairs:stair_outer_obsidian 21 24 29
|
||||
stairs:stair_outer_obsidian_block 23 25 30
|
||||
stairs:stair_outer_obsidian_glass 20 22 27
|
||||
stairs:stair_outer_obsidianbrick 23 25 29
|
||||
stairs:stair_outer_pine_wood 221 185 130
|
||||
stairs:stair_outer_sandstone 198 193 143
|
||||
stairs:stair_outer_sandstone_block 195 191 142
|
||||
stairs:stair_outer_sandstonebrick 194 190 141
|
||||
stairs:stair_outer_silver_sandstone 195 192 181
|
||||
stairs:stair_outer_silver_sandstone_block 192 190 179
|
||||
stairs:stair_outer_silver_sandstone_brick 190 188 178
|
||||
stairs:stair_outer_snowblock 224 225 238
|
||||
stairs:stair_outer_steelblock 194 194 194
|
||||
stairs:stair_outer_silver_sandstone_block 192 190 180
|
||||
stairs:stair_outer_silver_sandstone_brick 191 189 179
|
||||
stairs:stair_outer_snowblock 225 225 238
|
||||
stairs:stair_outer_steelblock 195 195 195
|
||||
stairs:stair_outer_stone 97 94 93
|
||||
stairs:stair_outer_stone_block 99 96 95
|
||||
stairs:stair_outer_stonebrick 99 96 95
|
||||
stairs:stair_outer_straw 211 182 67
|
||||
stairs:stair_outer_tinblock 149 149 149
|
||||
stairs:stair_outer_wood 128 99 55
|
||||
stairs:stair_pine_wood 221 184 128
|
||||
stairs:stair_sandstone 197 193 143
|
||||
stairs:stair_sandstone_block 195 190 141
|
||||
stairs:stair_sandstonebrick 193 189 140
|
||||
stairs:stair_outer_stone_block 100 97 96
|
||||
stairs:stair_outer_stonebrick 102 99 98
|
||||
stairs:stair_outer_straw 212 184 68
|
||||
stairs:stair_outer_tinblock 150 150 150
|
||||
stairs:stair_outer_wood 131 102 57
|
||||
stairs:stair_pine_wood 221 185 130
|
||||
stairs:stair_sandstone 198 193 143
|
||||
stairs:stair_sandstone_block 195 191 142
|
||||
stairs:stair_sandstonebrick 194 190 141
|
||||
stairs:stair_silver_sandstone 195 192 181
|
||||
stairs:stair_silver_sandstone_block 192 190 179
|
||||
stairs:stair_silver_sandstone_brick 190 188 178
|
||||
stairs:stair_snowblock 224 225 238
|
||||
stairs:stair_steelblock 194 194 194
|
||||
stairs:stair_silver_sandstone_block 192 190 180
|
||||
stairs:stair_silver_sandstone_brick 191 189 179
|
||||
stairs:stair_snowblock 225 225 238
|
||||
stairs:stair_steelblock 195 195 195
|
||||
stairs:stair_stone 97 94 93
|
||||
stairs:stair_stone_block 99 96 95
|
||||
stairs:stair_stonebrick 99 96 95
|
||||
stairs:stair_straw 211 182 67
|
||||
stairs:stair_tinblock 149 149 149
|
||||
stairs:stair_wood 128 99 55
|
||||
stairs:stair_stone_block 100 97 96
|
||||
stairs:stair_stonebrick 102 99 98
|
||||
stairs:stair_straw 212 184 68
|
||||
stairs:stair_tinblock 150 150 150
|
||||
stairs:stair_wood 131 102 57
|
||||
|
||||
# tnt
|
||||
tnt:gunpowder 6 6 6
|
||||
tnt:gunpowder_burning 112 103 2
|
||||
tnt:tnt 181 0 0
|
||||
tnt:tnt_burning 190 8 0
|
||||
tnt:gunpowder 12 12 12
|
||||
tnt:gunpowder_burning 156 143 7
|
||||
tnt:tnt 196 0 0
|
||||
tnt:tnt_burning 201 41 0
|
||||
|
||||
# vessels
|
||||
vessels:drinking_glass 206 214 228
|
||||
vessels:glass_bottle 188 190 201
|
||||
vessels:shelf 128 99 55
|
||||
vessels:steel_bottle 193 192 191
|
||||
vessels:drinking_glass 207 214 228
|
||||
vessels:glass_bottle 189 192 204
|
||||
vessels:shelf 131 102 57
|
||||
vessels:steel_bottle 194 193 193
|
||||
|
||||
# walls
|
||||
walls:cobble 88 84 82
|
||||
walls:desertcobble 107 65 49
|
||||
walls:mossycobble 86 90 68
|
||||
walls:cobble 89 86 84
|
||||
walls:desertcobble 110 67 50
|
||||
walls:mossycobble 88 91 73
|
||||
|
||||
# wool
|
||||
wool:black 29 29 29
|
||||
wool:blue 0 72 145
|
||||
wool:brown 86 42 0
|
||||
wool:cyan 0 130 139
|
||||
wool:dark_green 32 102 0
|
||||
wool:dark_grey 59 59 59
|
||||
wool:green 92 216 28
|
||||
wool:grey 131 131 131
|
||||
wool:magenta 200 3 109
|
||||
wool:orange 213 81 21
|
||||
wool:pink 255 131 131
|
||||
wool:red 168 17 17
|
||||
wool:violet 92 2 169
|
||||
wool:black 30 30 30
|
||||
wool:blue 0 73 146
|
||||
wool:brown 88 44 0
|
||||
wool:cyan 0 132 140
|
||||
wool:dark_green 33 103 0
|
||||
wool:dark_grey 60 60 60
|
||||
wool:green 93 218 28
|
||||
wool:grey 133 133 133
|
||||
wool:magenta 201 3 112
|
||||
wool:orange 214 83 22
|
||||
wool:pink 255 133 133
|
||||
wool:red 170 18 18
|
||||
wool:violet 93 5 169
|
||||
wool:white 220 220 220
|
||||
wool:yellow 254 225 15
|
||||
wool:yellow 254 226 16
|
||||
|
||||
# xpanes
|
||||
xpanes:bar 114 114 114 64 16
|
||||
xpanes:bar_flat 114 114 114 64 16
|
||||
xpanes:obsidian_pane 16 16 17 64 16
|
||||
xpanes:obsidian_pane_flat 16 16 17 64 16
|
||||
xpanes:pane 192 192 227 64 16
|
||||
xpanes:pane_flat 192 192 227 64 16
|
||||
xpanes:door_steel_bar_a 133 133 133 64 16
|
||||
xpanes:door_steel_bar_b 133 133 133 64 16
|
||||
xpanes:obsidian_pane 16 17 18 64 16
|
||||
xpanes:obsidian_pane_flat 16 17 18 64 16
|
||||
xpanes:pane 249 249 249 64 16
|
||||
xpanes:pane_flat 249 249 249 64 16
|
||||
xpanes:trapdoor_steel_bar 127 127 127 64 16
|
||||
xpanes:trapdoor_steel_bar_open 77 77 77 64 16
|
||||
|
||||
|
@ -14,7 +14,7 @@ DBPostgreSQL::DBPostgreSQL(const std::string &mapdir)
|
||||
std::ifstream ifs((mapdir + "/world.mt").c_str());
|
||||
if(!ifs.good())
|
||||
throw std::runtime_error("Failed to read world.mt");
|
||||
std::string const connect_string = get_setting("pgsql_connection", ifs);
|
||||
std::string connect_string = read_setting("pgsql_connection", ifs);
|
||||
ifs.close();
|
||||
db = PQconnectdb(connect_string.c_str());
|
||||
|
||||
|
@ -86,8 +86,10 @@ public:
|
||||
void parseColorsFile(const std::string &fileName);
|
||||
void setBackend(std::string backend);
|
||||
void generate(const std::string &input, const std::string &output);
|
||||
void printGeometry(const std::string &input);
|
||||
void setZoom(int zoom);
|
||||
void setScales(uint flags);
|
||||
void setDontWriteEmpty(bool f);
|
||||
|
||||
private:
|
||||
void parseColorsStream(std::istream &in);
|
||||
@ -119,6 +121,7 @@ private:
|
||||
bool m_drawScale;
|
||||
bool m_drawAlpha;
|
||||
bool m_shading;
|
||||
bool m_dontWriteEmpty;
|
||||
std::string m_backend;
|
||||
int m_xBorder, m_yBorder;
|
||||
|
||||
|
18
include/db.h
18
include/db.h
@ -20,24 +20,18 @@ public:
|
||||
BlockPos(int16_t x, int16_t y, int16_t z) : x(x), y(y), z(z) {}
|
||||
bool operator < (const BlockPos &p) const
|
||||
{
|
||||
if (z > p.z) {
|
||||
if (z > p.z)
|
||||
return true;
|
||||
}
|
||||
if (z < p.z) {
|
||||
if (z < p.z)
|
||||
return false;
|
||||
}
|
||||
if (y > p.y) {
|
||||
if (y > p.y)
|
||||
return true;
|
||||
}
|
||||
if (y < p.y) {
|
||||
if (y < p.y)
|
||||
return false;
|
||||
}
|
||||
if (x > p.x) {
|
||||
if (x > p.x)
|
||||
return true;
|
||||
}
|
||||
if (x < p.x) {
|
||||
if (x < p.x)
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
@ -10,7 +10,7 @@ inline std::string read_setting_default(const std::string &name, std::istream &i
|
||||
{
|
||||
try {
|
||||
return read_setting(name, is);
|
||||
} catch(std::runtime_error e) {
|
||||
} catch(std::runtime_error &e) {
|
||||
return def;
|
||||
}
|
||||
}
|
||||
|
57
mapper.cpp
57
mapper.cpp
@ -24,10 +24,12 @@ void usage()
|
||||
" --draworigin\n"
|
||||
" --drawalpha\n"
|
||||
" --noshading\n"
|
||||
" --noemptyimage\n"
|
||||
" --min-y <y>\n"
|
||||
" --max-y <y>\n"
|
||||
" --backend <backend>\n"
|
||||
" --geometry x:y+w+h\n"
|
||||
" --extent\n"
|
||||
" --zoom <zoomlevel>\n"
|
||||
" --colors <colors.txt>\n"
|
||||
" --scales [t][b][l][r]\n"
|
||||
@ -80,11 +82,13 @@ int main(int argc, char *argv[])
|
||||
{"noshading", no_argument, 0, 'H'},
|
||||
{"backend", required_argument, 0, 'd'},
|
||||
{"geometry", required_argument, 0, 'g'},
|
||||
{"extent", no_argument, 0, 'E'},
|
||||
{"min-y", required_argument, 0, 'a'},
|
||||
{"max-y", required_argument, 0, 'c'},
|
||||
{"zoom", required_argument, 0, 'z'},
|
||||
{"colors", required_argument, 0, 'C'},
|
||||
{"scales", required_argument, 0, 'f'},
|
||||
{"noemptyimage", no_argument, 0, 'n'},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@ -93,17 +97,13 @@ int main(int argc, char *argv[])
|
||||
std::string colors = "";
|
||||
|
||||
TileGenerator generator;
|
||||
int option_index = 0;
|
||||
int c = 0;
|
||||
bool onlyPrintExtent = false;
|
||||
while (1) {
|
||||
c = getopt_long(argc, argv, "hi:o:", long_options, &option_index);
|
||||
if (c == -1) {
|
||||
if (input.empty() || output.empty()) {
|
||||
usage();
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
int option_index;
|
||||
int c = getopt_long(argc, argv, "hi:o:", long_options, &option_index);
|
||||
if (c == -1)
|
||||
break; // done
|
||||
|
||||
switch (c) {
|
||||
case 'h':
|
||||
usage();
|
||||
@ -139,6 +139,9 @@ int main(int argc, char *argv[])
|
||||
case 'e':
|
||||
generator.setDrawAlpha(true);
|
||||
break;
|
||||
case 'E':
|
||||
onlyPrintExtent = true;
|
||||
break;
|
||||
case 'H':
|
||||
generator.setShading(false);
|
||||
break;
|
||||
@ -146,24 +149,21 @@ int main(int argc, char *argv[])
|
||||
generator.setBackend(optarg);
|
||||
break;
|
||||
case 'a': {
|
||||
std::istringstream iss;
|
||||
iss.str(optarg);
|
||||
std::istringstream iss(optarg);
|
||||
int miny;
|
||||
iss >> miny;
|
||||
generator.setMinY(miny);
|
||||
}
|
||||
break;
|
||||
case 'c': {
|
||||
std::istringstream iss;
|
||||
iss.str(optarg);
|
||||
std::istringstream iss(optarg);
|
||||
int maxy;
|
||||
iss >> maxy;
|
||||
generator.setMaxY(maxy);
|
||||
}
|
||||
break;
|
||||
case 'g': {
|
||||
std::istringstream geometry;
|
||||
geometry.str(optarg);
|
||||
std::istringstream geometry(optarg);
|
||||
int x, y, w, h;
|
||||
char c;
|
||||
geometry >> x >> c >> y >> w >> h;
|
||||
@ -188,8 +188,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
break;
|
||||
case 'z': {
|
||||
std::istringstream iss;
|
||||
iss.str(optarg);
|
||||
std::istringstream iss(optarg);
|
||||
int zoom;
|
||||
iss >> zoom;
|
||||
generator.setZoom(zoom);
|
||||
@ -198,16 +197,32 @@ int main(int argc, char *argv[])
|
||||
case 'C':
|
||||
colors = optarg;
|
||||
break;
|
||||
case 'n':
|
||||
generator.setDontWriteEmpty(true);
|
||||
break;
|
||||
default:
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
if(colors == "")
|
||||
colors = search_colors(input);
|
||||
|
||||
if (input.empty() || (!onlyPrintExtent && output.empty())) {
|
||||
usage();
|
||||
return 0;
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
if (onlyPrintExtent) {
|
||||
generator.printGeometry(input);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(colors == "")
|
||||
colors = search_colors(input);
|
||||
generator.parseColorsFile(colors);
|
||||
generator.generate(input, output);
|
||||
} catch(std::runtime_error e) {
|
||||
|
||||
} catch(std::runtime_error &e) {
|
||||
std::cerr << "Exception: " << e.what() << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ See additional optional parameters below.
|
||||
.B minetestmapper
|
||||
generates an overview image of a minetest map. This is a port of
|
||||
the original minetestmapper.py to C++, that is both faster and
|
||||
provides more funtionality than the deprecated Python script.
|
||||
provides more functionality than the deprecated Python script.
|
||||
.SH MANDATORY PARAMETERS
|
||||
.TP
|
||||
.BR \-i " " \fIworld_path\fR
|
||||
@ -56,6 +56,10 @@ Allow nodes to be drawn with transparency
|
||||
.BR \-\-noshading
|
||||
Don't draw shading on nodes
|
||||
|
||||
.TP
|
||||
.BR \-\-noemptyimage
|
||||
Don't output anything when the image would be empty.
|
||||
|
||||
.TP
|
||||
.BR \-\-min-y " " \fInumber\fR
|
||||
Don't draw nodes below this y value, e.g. "--min-y -25"
|
||||
@ -72,6 +76,10 @@ Use specific map backend; supported: *sqlite3*, *leveldb*, *redis*, *postgresql*
|
||||
.BR \-\-geometry " " \fIgeometry\fR
|
||||
Limit area to specific geometry (*x:y+w+h* where x and y specify the lower left corner), e.g. "--geometry -800:-800+1600+1600"
|
||||
|
||||
.TP
|
||||
.BR \-\-extent " " \fIextent\fR
|
||||
Dont render the image, just print the extent of the map that would be generated, in the same format as the geometry above.
|
||||
|
||||
.TP
|
||||
.BR \-\-zoom " " \fIfactor\fR
|
||||
Zoom the image by using more than one pixel per node, e.g. "--zoom 4"
|
||||
|
73
util/build_win.sh
Executable file
73
util/build_win.sh
Executable file
@ -0,0 +1,73 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
#######
|
||||
# this expects an env similar to what minetest's buildbot uses
|
||||
# extradll_path will typically contain libgcc, libstdc++ and libpng
|
||||
toolchain_file=
|
||||
toolchain_file64=
|
||||
libgd_dir=
|
||||
libgd_dir64=
|
||||
zlib_dir=
|
||||
zlib_dir64=
|
||||
sqlite_dir=
|
||||
sqlite_dir64=
|
||||
leveldb_dir=
|
||||
leveldb_dir64=
|
||||
extradll_path=
|
||||
extradll_path64=
|
||||
#######
|
||||
|
||||
[ -f ./CMakeLists.txt ] || exit 1
|
||||
|
||||
if [ "$1" == "32" ]; then
|
||||
:
|
||||
elif [ "$1" == "64" ]; then
|
||||
toolchain_file=$toolchain_file64
|
||||
libgd_dir=$libgd_dir64
|
||||
zlib_dir=$zlib_dir64
|
||||
sqlite_dir=$sqlite_dir64
|
||||
leveldb_dir=$leveldb_dir64
|
||||
extradll_path=$extradll_path64
|
||||
else
|
||||
echo "Usage: $0 <32 / 64>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cmake . \
|
||||
-DCMAKE_INSTALL_PREFIX=/tmp \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$toolchain_file \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-s" \
|
||||
\
|
||||
-DENABLE_LEVELDB=1 \
|
||||
\
|
||||
-DLIBGD_INCLUDE_DIR=$libgd_dir/include \
|
||||
-DLIBGD_LIBRARY=$libgd_dir/lib/libgd.dll.a \
|
||||
\
|
||||
-DZLIB_INCLUDE_DIR=$zlib_dir/include \
|
||||
-DZLIB_LIBRARY=$zlib_dir/lib/libz.dll.a \
|
||||
\
|
||||
-DSQLITE3_INCLUDE_DIR=$sqlite_dir/include \
|
||||
-DSQLITE3_LIBRARY=$sqlite_dir/lib/libsqlite3.dll.a \
|
||||
\
|
||||
-DLEVELDB_INCLUDE_DIR=$leveldb_dir/include \
|
||||
-DLEVELDB_LIBRARY=$leveldb_dir/lib/libleveldb.dll.a
|
||||
|
||||
make -j4
|
||||
|
||||
mkdir pack
|
||||
cp -p \
|
||||
AUTHORS colors.txt COPYING README.rst \
|
||||
minetestmapper.exe \
|
||||
$libgd_dir/bin/libgd-3.dll \
|
||||
$zlib_dir/bin/zlib1.dll \
|
||||
$sqlite_dir/bin/libsqlite3-0.dll \
|
||||
$leveldb_dir/bin/libleveldb.dll \
|
||||
$extradll_path/*.dll \
|
||||
pack/
|
||||
zipfile=minetestmapper-win$1.zip
|
||||
(cd pack; zip -9r ../$zipfile *)
|
||||
|
||||
make clean
|
||||
rm -r pack CMakeCache.txt
|
||||
|
||||
echo "Done."
|
@ -1,15 +1,8 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
CXX=g++-7
|
||||
[ $CC == "clang" ] && CXX=clang++-5.0
|
||||
export CXX
|
||||
|
||||
|
||||
mkdir -p travisbuild
|
||||
cd travisbuild
|
||||
|
||||
cmake \
|
||||
-DENABLE_LEVELDB=1 \
|
||||
..
|
||||
cmake .. \
|
||||
-DENABLE_LEVELDB=1
|
||||
|
||||
make -j2
|
||||
|
Reference in New Issue
Block a user