mirror of
https://github.com/encounter/dynmap.git
synced 2026-03-30 11:08:39 -07:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bf2ea7d1e3 | |||
| e25c9a82b3 |
@@ -22,15 +22,6 @@
|
||||
<jar jarfile="${dist}/${pluginname}.jar">
|
||||
<fileset dir="${bin}"/>
|
||||
<fileset file="${src}/main/resources/plugin.yml"/>
|
||||
<fileset file="${src}/main/resources/configuration.txt"/>
|
||||
<fileset file="${src}/main/resources/custom-lightings.txt"/>
|
||||
<fileset file="${src}/main/resources/custom-perspectives.txt"/>
|
||||
<fileset file="${src}/main/resources/custom-shaders.txt"/>
|
||||
<fileset file="${src}/main/resources/lightings.txt"/>
|
||||
<fileset file="${src}/main/resources/models.txt"/>
|
||||
<fileset file="${src}/main/resources/perspectives.txt"/>
|
||||
<fileset file="${src}/main/resources/texture.txt"/>
|
||||
<fileset file="${src}/main/resources/worlds.txt"/>
|
||||
<zipfileset file="${src}/main/resources/colors.txt"/>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
+25
-103
@@ -8,7 +8,7 @@ Cobblestone
|
||||
4 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Wooden Plank
|
||||
5 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Sapling
|
||||
Sappling
|
||||
6 120 120 120 0 96 96 96 0 60 60 60 0 48 48 48 0
|
||||
Bedrock
|
||||
7 84 84 84 255 67 67 67 255 42 42 42 255 33 33 33 255
|
||||
@@ -48,57 +48,44 @@ Sandstone
|
||||
24 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
|
||||
Note Block
|
||||
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Bed
|
||||
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
|
||||
Powered Rail
|
||||
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Detector Rail
|
||||
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Sticky Piston
|
||||
29 157 128 79 255 96 96 96 255 78 64 39 255 48 48 48 255
|
||||
Cobweb
|
||||
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Tall Grass
|
||||
31 97 156 53 255 73 120 38 255 38 68 16 255 26 50 9 255
|
||||
Dead Shrubs
|
||||
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Piston
|
||||
33 157 128 79 255 96 96 96 255 78 64 39 255 48 48 48 255
|
||||
Piston Head
|
||||
34 157 128 79 255 96 96 96 255 78 64 39 255 48 48 48 255
|
||||
Aqua Green Cloth
|
||||
26 43 192 117 255 38 168 101 255 34 150 90 255 29 130 78 255
|
||||
Cyan Cloth
|
||||
27 43 192 192 255 36 185 185 255 29 130 130 255 22 99 99 255
|
||||
Blue Cloth
|
||||
28 0 0 255 255 0 0 204 255 0 0 127 255 0 0 102 255
|
||||
Purple Cloth
|
||||
29 101 101 188 255 95 95 175 255 86 86 160 255 78 78 145 255
|
||||
Indigo Cloth
|
||||
30 113 41 186 255 99 38 165 255 85 32 142 255 72 27 119 255
|
||||
Violet Cloth
|
||||
31 156 65 198 255 132 55 168 255 112 47 142 255 84 35 107 255
|
||||
Magenta Cloth
|
||||
32 187 42 187 255 160 36 160 255 135 31 135 255 112 25 112 255
|
||||
Pink Cloth
|
||||
33 192 43 117 255 168 38 103 255 142 32 87 255 127 29 78 255
|
||||
Black Cloth
|
||||
34 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
Wool
|
||||
35 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
35:0 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
Wool - Orange
|
||||
35:1 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
Wool - Magenta
|
||||
35:2 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
|
||||
Wool - Light Blue
|
||||
35:3 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
|
||||
Wool - Yellow
|
||||
35:4 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
Wool - Light Green
|
||||
35:5 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
Wool - Pink
|
||||
35:6 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
|
||||
Wool - Gray
|
||||
35:7 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
|
||||
Wool - Light Gray
|
||||
35:8 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Wool - Cyan
|
||||
35:9 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
|
||||
Wool - Purple
|
||||
35:10 113 47 171 255 90 37 136 255 57 24 85 255 45 19 68 255
|
||||
Wool - Blue
|
||||
35:11 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
|
||||
Wool - Brown
|
||||
35:12 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Wool - Dark Green
|
||||
35:13 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
|
||||
Wool - Red
|
||||
35:14 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
|
||||
Wool - Black
|
||||
35:15 24 20 20 255 19 16 16 255 12 10 10 255 9 8 8 255
|
||||
Gray Cloth
|
||||
36 125 125 125 255 114 114 114 255 104 104 104 255 86 86 86 255
|
||||
Yellow Flower
|
||||
37 255 255 0 255 204 204 0 255 127 127 0 255 102 102 0 255
|
||||
Red Rose
|
||||
@@ -113,28 +100,14 @@ Iron Block
|
||||
42 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
|
||||
Double Stone Slab
|
||||
43 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
43:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
Double Stone Slab - Sandstone
|
||||
43:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
|
||||
Double Stone Slab - Wood
|
||||
43:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Double Stone Slab - Cobblestone
|
||||
43:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Stone Slab
|
||||
44 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
44:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
Stone Slab - Sandstone
|
||||
44:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
|
||||
Stone Slab - Wood
|
||||
44:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Stone Slab - Cobblestone
|
||||
44:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Brick
|
||||
45 170 86 62 255 136 68 49 255 85 43 31 255 68 34 24 255
|
||||
TNT
|
||||
46 160 83 65 255 128 66 52 255 80 41 32 255 64 33 26 255
|
||||
Bookshelf
|
||||
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
|
||||
54 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
|
||||
Moss Stone
|
||||
48 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Obsidian
|
||||
@@ -149,8 +122,7 @@ Wooden Stair
|
||||
53 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Chest
|
||||
54 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Redstone Wire
|
||||
55 240 30 30 64 160 20 20 64 120 15 15 64 100 12 12 64
|
||||
|
||||
Diamond Ore
|
||||
56 129 140 143 255 103 112 114 255 64 70 71 255 51 56 57 255
|
||||
Diamond Block
|
||||
@@ -175,16 +147,10 @@ Minecart Tracks
|
||||
66 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Cobblestone Stairs
|
||||
67 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Wall Sign
|
||||
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Lever
|
||||
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Stone Pressure Plate
|
||||
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
|
||||
Iron Door
|
||||
71 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
|
||||
Wooden Pressure Plate
|
||||
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
|
||||
Redstone Ore
|
||||
73 131 107 107 255 104 85 85 255 65 53 53 255 52 42 42 255
|
||||
Glowing Redstone Ore
|
||||
@@ -193,8 +159,6 @@ Redstone Torch off
|
||||
75 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
|
||||
Redstone Torch on
|
||||
76 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
|
||||
Stone Button
|
||||
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
Snow
|
||||
78 255 255 255 255 204 204 204 255 127 127 127 255 102 102 102 255
|
||||
Ice
|
||||
@@ -225,45 +189,3 @@ Jack-o-lantern
|
||||
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
|
||||
Cake Block
|
||||
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
|
||||
Redstone Repeater off
|
||||
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
|
||||
Redstone Repeater on
|
||||
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
|
||||
Locked Chest
|
||||
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Trap Door
|
||||
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Biome Rainforest - Dark Green
|
||||
[RAINFOREST] 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
|
||||
Biome Swampland - Brown
|
||||
[SWAMPLAND] 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Biome Seasonal Forest - Light Green
|
||||
[SEASONAL_FOREST] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
Biome Forest - Light Gray
|
||||
[FOREST] 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Biome Savanna - Dark Gray
|
||||
[SAVANNA] 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
|
||||
Biome Shrubland - Yellow
|
||||
[SHRUBLAND] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
Biome Taiga - Cyan
|
||||
[TAIGA] 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
|
||||
Biome Desert - Orange
|
||||
[DESERT] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
Biome Plains - Magenta
|
||||
[PLAINS] 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
|
||||
Biome Ice Desert - Dark Blue
|
||||
[ICE_DESERT] 26 33 103 255 20 26 80 255 13 17 50 255 9 14 40 255
|
||||
Biome Tundra - White
|
||||
[TUNDRA] 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
Biome Hell - Pink
|
||||
[HELL] 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
|
||||
Biome Sky - Blue
|
||||
[SKY] 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
|
||||
[RAINFALL-0.0] 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
[RAINFALL-1.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.5] 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
|
||||
[TEMPERATURE-0.8] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
[TEMPERATURE-0.9] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
[TEMPERATURE-0.95] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
[TEMPERATURE-1.0] 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
|
||||
|
||||
+25
-103
@@ -8,7 +8,7 @@ Cobblestone
|
||||
4 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Wooden Plank
|
||||
5 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Sapling
|
||||
Sappling
|
||||
6 120 120 120 0 96 96 96 0 60 60 60 0 48 48 48 0
|
||||
Bedrock
|
||||
7 84 84 84 255 67 67 67 255 42 42 42 255 33 33 33 255
|
||||
@@ -48,57 +48,44 @@ Sandstone
|
||||
24 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
|
||||
Note Block
|
||||
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Bed
|
||||
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
|
||||
Powered Rail
|
||||
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Detector Rail
|
||||
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Sticky Piston
|
||||
29 157 128 79 255 96 96 96 255 78 64 39 255 48 48 48 255
|
||||
Cobweb
|
||||
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Tall Grass
|
||||
31 97 156 53 255 73 120 38 255 38 68 16 255 26 50 9 255
|
||||
Dead Shrubs
|
||||
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Piston
|
||||
33 157 128 79 255 96 96 96 255 78 64 39 255 48 48 48 255
|
||||
Piston Head
|
||||
34 157 128 79 255 96 96 96 255 78 64 39 255 48 48 48 255
|
||||
Aqua Green Cloth
|
||||
26 43 192 117 255 38 168 101 255 34 150 90 255 29 130 78 255
|
||||
Cyan Cloth
|
||||
27 43 192 192 255 36 185 185 255 29 130 130 255 22 99 99 255
|
||||
Blue Cloth
|
||||
28 0 0 255 255 0 0 204 255 0 0 127 255 0 0 102 255
|
||||
Purple Cloth
|
||||
29 101 101 188 255 95 95 175 255 86 86 160 255 78 78 145 255
|
||||
Indigo Cloth
|
||||
30 113 41 186 255 99 38 165 255 85 32 142 255 72 27 119 255
|
||||
Violet Cloth
|
||||
31 156 65 198 255 132 55 168 255 112 47 142 255 84 35 107 255
|
||||
Magenta Cloth
|
||||
32 187 42 187 255 160 36 160 255 135 31 135 255 112 25 112 255
|
||||
Pink Cloth
|
||||
33 192 43 117 255 168 38 103 255 142 32 87 255 127 29 78 255
|
||||
Black Cloth
|
||||
34 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
Wool
|
||||
35 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
|
||||
35:0 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
|
||||
Wool - Orange
|
||||
35:1 227 128 52 255 224 126 51 255 187 105 42 255 224 126 51 255
|
||||
Wool - Magenta
|
||||
35:2 185 76 188 255 183 75 186 255 153 63 155 255 183 75 186 255
|
||||
Wool - Light Blue
|
||||
35:3 102 139 199 255 100 137 196 255 84 114 164 255 100 137 196 255
|
||||
Wool - Yellow
|
||||
35:4 189 181 26 255 187 178 26 255 156 149 22 255 187 178 26 255
|
||||
Wool - Light Green
|
||||
35:5 57 189 45 255 56 186 44 255 47 156 37 255 56 186 44 255
|
||||
Wool - Pink
|
||||
35:6 211 132 145 255 209 130 143 255 174 109 120 255 209 130 143 255
|
||||
Wool - Gray
|
||||
35:7 65 67 63 255 64 66 62 255 54 55 52 255 64 66 62 255
|
||||
Wool - Light Gray
|
||||
35:8 154 166 156 255 152 163 154 255 127 137 128 255 152 163 154 255
|
||||
Wool - Cyan
|
||||
35:9 38 117 141 255 37 115 139 255 31 96 116 255 37 115 139 255
|
||||
Wool - Purple
|
||||
35:10 126 54 184 255 124 53 181 255 104 44 151 255 124 53 181 255
|
||||
Wool - Blue
|
||||
35:11 38 51 144 255 37 50 143 255 31 42 119 255 37 50 143 255
|
||||
Wool - Brown
|
||||
35:12 83 51 26 255 82 50 26 255 69 42 22 255 82 50 26 255
|
||||
Wool - Dark Green
|
||||
35:13 54 77 22 255 54 76 22 255 45 63 19 255 54 76 22 255
|
||||
Wool - Red
|
||||
35:14 159 45 38 255 157 44 38 255 131 37 32 255 157 44 38 255
|
||||
Wool - Black
|
||||
35:15 26 23 22 255 26 23 21 255 22 19 18 255 26 23 21 255
|
||||
Gray Cloth
|
||||
36 125 125 125 255 114 114 114 255 104 104 104 255 86 86 86 255
|
||||
Yellow Flower
|
||||
37 255 255 0 255 204 204 0 255 127 127 0 255 102 102 0 255
|
||||
Red Rose
|
||||
@@ -113,28 +100,14 @@ Iron Block
|
||||
42 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
|
||||
Double Stone Slab
|
||||
43 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
43:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
Double Stone Slab - Sandstone
|
||||
43:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
|
||||
Double Stone Slab - Wood
|
||||
43:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Double Stone Slab - Cobblestone
|
||||
43:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Stone Slab
|
||||
44 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
44:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
Stone Slab - Sandstone
|
||||
44:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
|
||||
Stone Slab - Wood
|
||||
44:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Stone Slab - Cobblestone
|
||||
44:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Brick
|
||||
45 170 86 62 255 136 68 49 255 85 43 31 255 68 34 24 255
|
||||
TNT
|
||||
46 160 83 65 255 128 66 52 255 80 41 32 255 64 33 26 255
|
||||
Bookshelf
|
||||
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
|
||||
54 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
|
||||
Moss Stone
|
||||
48 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Obsidian
|
||||
@@ -149,8 +122,7 @@ Wooden Stair
|
||||
53 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Chest
|
||||
54 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Redstone Wire
|
||||
55 240 30 30 64 160 20 20 64 120 15 15 64 100 12 12 64
|
||||
|
||||
Diamond Ore
|
||||
56 129 140 143 255 103 112 114 255 64 70 71 255 51 56 57 255
|
||||
Diamond Block
|
||||
@@ -175,16 +147,10 @@ Minecart Tracks
|
||||
66 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Cobblestone Stairs
|
||||
67 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Wall Sign
|
||||
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Lever
|
||||
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Stone Pressure Plate
|
||||
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
|
||||
Iron Door
|
||||
71 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
|
||||
Wooden Pressure Plate
|
||||
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
|
||||
Redstone Ore
|
||||
73 131 107 107 255 104 85 85 255 65 53 53 255 52 42 42 255
|
||||
Glowing Redstone Ore
|
||||
@@ -193,8 +159,6 @@ Redstone Torch off
|
||||
75 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
|
||||
Redstone Torch on
|
||||
76 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
|
||||
Stone Button
|
||||
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
Snow
|
||||
78 255 255 255 255 204 204 204 255 127 127 127 255 102 102 102 255
|
||||
Ice
|
||||
@@ -225,45 +189,3 @@ Jack-o-lantern
|
||||
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
|
||||
Cake Block
|
||||
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
|
||||
Redstone Repeater off
|
||||
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
|
||||
Redstone Repeater on
|
||||
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
|
||||
Locked Chest
|
||||
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Trap Door
|
||||
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Biome Rainforest - Dark Green
|
||||
[RAINFOREST] 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
|
||||
Biome Swampland - Brown
|
||||
[SWAMPLAND] 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Biome Seasonal Forest - Light Green
|
||||
[SEASONAL_FOREST] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
Biome Forest - Light Gray
|
||||
[FOREST] 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Biome Savanna - Dark Gray
|
||||
[SAVANNA] 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
|
||||
Biome Shrubland - Yellow
|
||||
[SHRUBLAND] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
Biome Taiga - Cyan
|
||||
[TAIGA] 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
|
||||
Biome Desert - Orange
|
||||
[DESERT] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
Biome Plains - Magenta
|
||||
[PLAINS] 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
|
||||
Biome Ice Desert - Dark Blue
|
||||
[ICE_DESERT] 26 33 103 255 20 26 80 255 13 17 50 255 9 14 40 255
|
||||
Biome Tundra - White
|
||||
[TUNDRA] 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
Biome Hell - Pink
|
||||
[HELL] 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
|
||||
Biome Sky - Blue
|
||||
[SKY] 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
|
||||
[RAINFALL-0.0] 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
[RAINFALL-1.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.5] 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
|
||||
[TEMPERATURE-0.8] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
[TEMPERATURE-0.9] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
[TEMPERATURE-0.95] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
[TEMPERATURE-1.0] 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
|
||||
|
||||
+35
-113
@@ -1,9 +1,9 @@
|
||||
Stone
|
||||
1 149 145 138 255 125 122 116 255 114 111 105 255 88 85 81 255
|
||||
1 119 104 84 255 104 95 80 255 96 87 72 255 77 68 53 255
|
||||
Grass
|
||||
2 111 185 79 255 86 158 53 255 65 131 40 255 57 105 21 255
|
||||
2 75 156 43 255 56 117 32 255 35 104 10 255 32 82 0 255
|
||||
Dirt
|
||||
3 174 133 106 255 152 113 82 255 136 102 74 255 93 73 57 255
|
||||
3 134 96 67 255 107 76 53 255 67 48 33 255 68 49 33 255
|
||||
Cobblestone
|
||||
4 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Wooden Plank
|
||||
@@ -13,15 +13,15 @@ Sappling
|
||||
Bedrock
|
||||
7 84 84 84 255 67 67 67 255 42 42 42 255 33 33 33 255
|
||||
Water
|
||||
8 47 116 160 80 40 100 138 80 33 92 129 80 26 74 103 80
|
||||
8 21 88 125 80 7 70 117 80 6 68 115 80 5 53 90 80
|
||||
Stationary Water
|
||||
9 47 116 160 80 40 100 138 80 33 92 129 80 26 74 103 80
|
||||
9 21 88 125 80 7 70 117 80 6 68 115 80 5 53 90 80
|
||||
Lava
|
||||
10 255 90 0 255 204 72 0 255 127 45 0 255 102 36 0 255
|
||||
Stationary Lava
|
||||
11 255 90 0 255 204 72 0 255 127 45 0 255 102 36 0 255
|
||||
Sand
|
||||
12 251 240 193 255 251 223 157 255 237 202 135 255 200 168 107 255
|
||||
12 214 182 111 255 203 171 100 255 186 154 83 255 173 141 70 255
|
||||
Gravel
|
||||
13 136 126 126 255 108 100 100 255 68 63 63 255 54 50 50 255
|
||||
Gold Ore
|
||||
@@ -33,7 +33,7 @@ Coal Ore
|
||||
Wood
|
||||
17 102 81 51 255 81 64 40 255 51 40 25 255 40 32 20 255
|
||||
Leaves
|
||||
18 47 99 32 255 34 86 20 255 24 66 14 255 23 57 13 255
|
||||
18 23 68 6 100 12 56 0 100 6 52 0 100 0 42 0 100
|
||||
Sponge
|
||||
19 193 193 65 255 174 174 47 255 97 97 5 255 76 76 20 255
|
||||
Glass
|
||||
@@ -45,60 +45,47 @@ Lapis Lazuli Block
|
||||
Dispenser
|
||||
23 96 96 96 255 76 76 76 255 48 48 48 255 38 38 38 255
|
||||
Sandstone
|
||||
24 251 240 193 255 251 223 157 255 237 202 135 255 200 168 107 255
|
||||
24 214 182 111 255 203 171 100 255 186 154 83 255 173 141 70 255
|
||||
Note Block
|
||||
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Bed
|
||||
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
|
||||
Powered Rail
|
||||
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Detector Rail
|
||||
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Sticky Piston
|
||||
29 157 128 79 255 125 122 116 255 78 64 39 255 88 85 81 255
|
||||
Cobweb
|
||||
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Tall Grass
|
||||
31 111 185 79 255 86 158 53 255 65 131 40 255 57 105 21 255
|
||||
Dead Shrubs
|
||||
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Piston
|
||||
33 157 128 79 255 125 122 116 255 78 64 39 255 88 85 81 255
|
||||
Piston Head
|
||||
34 157 128 79 255 125 122 116 255 78 64 39 255 88 85 81 255
|
||||
Aqua Green Cloth
|
||||
26 43 192 117 255 38 168 101 255 34 150 90 255 29 130 78 255
|
||||
Cyan Cloth
|
||||
27 43 192 192 255 36 185 185 255 29 130 130 255 22 99 99 255
|
||||
Blue Cloth
|
||||
28 0 0 255 255 0 0 204 255 0 0 127 255 0 0 102 255
|
||||
Purple Cloth
|
||||
29 101 101 188 255 95 95 175 255 86 86 160 255 78 78 145 255
|
||||
Indigo Cloth
|
||||
30 113 41 186 255 99 38 165 255 85 32 142 255 72 27 119 255
|
||||
Violet Cloth
|
||||
31 156 65 198 255 132 55 168 255 112 47 142 255 84 35 107 255
|
||||
Magenta Cloth
|
||||
32 187 42 187 255 160 36 160 255 135 31 135 255 112 25 112 255
|
||||
Pink Cloth
|
||||
33 192 43 117 255 168 38 103 255 142 32 87 255 127 29 78 255
|
||||
Black Cloth
|
||||
34 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
Wool
|
||||
35 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
35:0 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
Wool - Orange
|
||||
35:1 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
Wool - Magenta
|
||||
35:2 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
|
||||
Wool - Light Blue
|
||||
35:3 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
|
||||
Wool - Yellow
|
||||
35:4 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
Wool - Light Green
|
||||
35:5 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
Wool - Pink
|
||||
35:6 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
|
||||
Wool - Gray
|
||||
35:7 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
|
||||
Wool - Light Gray
|
||||
35:8 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Wool - Cyan
|
||||
35:9 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
|
||||
Wool - Purple
|
||||
35:10 113 47 171 255 90 37 136 255 57 24 85 255 45 19 68 255
|
||||
Wool - Blue
|
||||
35:11 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
|
||||
Wool - Brown
|
||||
35:12 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Wool - Dark Green
|
||||
35:13 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
|
||||
Wool - Red
|
||||
35:14 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
|
||||
Wool - Black
|
||||
35:15 24 20 20 255 19 16 16 255 12 10 10 255 9 8 8 255
|
||||
Gray Cloth
|
||||
36 125 125 125 255 114 114 114 255 104 104 104 255 86 86 86 255
|
||||
Yellow Flower
|
||||
37 255 255 0 255 204 204 0 255 127 127 0 255 102 102 0 255
|
||||
Red Rose
|
||||
@@ -113,34 +100,20 @@ Iron Block
|
||||
42 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
|
||||
Double Stone Slab
|
||||
43 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
43:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
Double Stone Slab - Sandstone
|
||||
43:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
|
||||
Double Stone Slab - Wood
|
||||
43:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Double Stone Slab - Cobblestone
|
||||
43:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Stone Slab
|
||||
44 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
44:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
|
||||
Stone Slab - Sandstone
|
||||
44:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
|
||||
Stone Slab - Wood
|
||||
44:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Stone Slab - Cobblestone
|
||||
44:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Brick
|
||||
45 170 86 62 255 136 68 49 255 85 43 31 255 68 34 24 255
|
||||
TNT
|
||||
46 160 83 65 255 128 66 52 255 80 41 32 255 64 33 26 255
|
||||
Bookshelf
|
||||
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
|
||||
54 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
|
||||
Moss Stone
|
||||
48 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Obsidian
|
||||
49 26 11 43 255 20 8 34 255 13 5 21 255 10 4 17 255
|
||||
Torch
|
||||
50 103 80 45 255 98 88 20 0 255 249 79 255 196 176 40 0
|
||||
50 159 127 80 255 98 88 20 0 245 220 50 255 196 176 40 0
|
||||
Fire
|
||||
51 255 170 30 200 204 136 24 200 127 85 15 200 102 68 12 200
|
||||
Monster Spawner
|
||||
@@ -149,8 +122,7 @@ Wooden Stair
|
||||
53 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
|
||||
Chest
|
||||
54 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Redstone Wire
|
||||
55 240 30 30 64 160 20 20 64 120 15 15 64 100 12 12 64
|
||||
|
||||
Diamond Ore
|
||||
56 129 140 143 255 103 112 114 255 64 70 71 255 51 56 57 255
|
||||
Diamond Block
|
||||
@@ -175,16 +147,10 @@ Minecart Tracks
|
||||
66 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
Cobblestone Stairs
|
||||
67 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
|
||||
Wall Sign
|
||||
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Lever
|
||||
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Stone Pressure Plate
|
||||
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
|
||||
Iron Door
|
||||
71 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
|
||||
Wooden Pressure Plate
|
||||
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
|
||||
Redstone Ore
|
||||
73 131 107 107 255 104 85 85 255 65 53 53 255 52 42 42 255
|
||||
Glowing Redstone Ore
|
||||
@@ -193,12 +159,10 @@ Redstone Torch off
|
||||
75 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
|
||||
Redstone Torch on
|
||||
76 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
|
||||
Stone Button
|
||||
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
Snow
|
||||
78 255 255 255 255 252 253 253 255 198 220 225 255 129 179 190 255
|
||||
78 255 255 255 255 204 204 204 255 127 127 127 255 102 102 102 255
|
||||
Ice
|
||||
79 182 211 235 150 164 189 211 150 138 177 211 150 128 165 196 150
|
||||
79 83 113 163 51 66 90 130 51 41 56 81 51 33 45 65 51
|
||||
Snow Block
|
||||
80 250 250 250 255 200 200 200 255 125 125 125 255 100 100 100 255
|
||||
Cactus
|
||||
@@ -225,45 +189,3 @@ Jack-o-lantern
|
||||
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
|
||||
Cake Block
|
||||
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
|
||||
Redstone Repeater off
|
||||
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
|
||||
Redstone Repeater on
|
||||
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
|
||||
Locked Chest
|
||||
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
Trap Door
|
||||
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Biome Rainforest - Dark Green
|
||||
[RAINFOREST] 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
|
||||
Biome Swampland - Brown
|
||||
[SWAMPLAND] 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Biome Seasonal Forest - Light Green
|
||||
[SEASONAL_FOREST] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
Biome Forest - Light Gray
|
||||
[FOREST] 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Biome Savanna - Dark Gray
|
||||
[SAVANNA] 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
|
||||
Biome Shrubland - Yellow
|
||||
[SHRUBLAND] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
Biome Taiga - Cyan
|
||||
[TAIGA] 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
|
||||
Biome Desert - Orange
|
||||
[DESERT] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
Biome Plains - Magenta
|
||||
[PLAINS] 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
|
||||
Biome Ice Desert - Dark Blue
|
||||
[ICE_DESERT] 26 33 103 255 20 26 80 255 13 17 50 255 9 14 40 255
|
||||
Biome Tundra - White
|
||||
[TUNDRA] 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
Biome Hell - Pink
|
||||
[HELL] 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
|
||||
Biome Sky - Blue
|
||||
[SKY] 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
|
||||
[RAINFALL-0.0] 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
[RAINFALL-1.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.5] 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
|
||||
[TEMPERATURE-0.8] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
[TEMPERATURE-0.9] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
[TEMPERATURE-0.95] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
[TEMPERATURE-1.0] 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
|
||||
|
||||
+2
-75
@@ -15,22 +15,7 @@
|
||||
16 56 60 70 255 46 50 58 255 39 42 49 255 46 50 58 255
|
||||
17 119 97 74 255 99 81 62 255 83 68 52 255 99 81 62 255
|
||||
18 27 69 37 180 22 57 31 180 19 48 25 180 22 57 31 180
|
||||
19 193 193 65 255 174 174 47 255 97 97 5 255 76 76 20 255
|
||||
20 178 217 223 90 148 181 186 90 124 151 155 90 148 181 186 90
|
||||
21 23 68 196 255 18 56 158 255 14 43 122 255 14 43 78 255
|
||||
22 23 68 196 255 18 56 158 255 14 43 122 255 14 43 78 255
|
||||
23 96 96 96 255 76 76 76 255 48 48 48 255 38 38 38 255
|
||||
24 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
|
||||
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
|
||||
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
|
||||
29 109 80 60 255 111 108 98 255 76 56 41 255 111 108 98 255
|
||||
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
31 97 156 53 255 73 120 38 255 38 68 16 255 26 50 9 255
|
||||
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
33 109 80 60 255 111 108 98 255 76 56 41 255 111 108 98 255
|
||||
34 109 80 60 255 111 108 98 255 76 56 41 255 111 108 98 255
|
||||
35 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
|
||||
35:0 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
|
||||
35:1 227 128 52 255 224 126 51 255 187 105 42 255 224 126 51 255
|
||||
@@ -48,6 +33,7 @@
|
||||
35:13 54 77 22 255 54 76 22 255 45 63 19 255 54 76 22 255
|
||||
35:14 159 45 38 255 157 44 38 255 131 37 32 255 157 44 38 255
|
||||
35:15 26 23 22 255 26 23 21 255 22 19 18 255 26 23 21 255
|
||||
36 0 0 0 254 0 0 0 254 0 0 0 254 0 0 0 254
|
||||
37 73 108 60 254 61 90 50 254 51 75 42 254 61 90 50 254
|
||||
38 84 139 187 254 70 116 155 254 59 97 130 254 70 116 155 254
|
||||
39 184 144 0 254 153 119 0 254 128 100 0 254 153 119 0 254
|
||||
@@ -55,18 +41,9 @@
|
||||
41 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
|
||||
42 249 249 249 255 207 207 207 255 173 173 173 255 207 207 207 255
|
||||
43 122 112 99 255 101 93 82 255 85 78 69 255 101 93 82 255
|
||||
43:0 122 112 99 255 101 93 82 255 85 78 69 255 101 93 82 255
|
||||
43:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
|
||||
43:2 109 80 60 255 91 67 50 255 76 56 41 255 91 67 50 255
|
||||
43:3 118 112 96 255 98 93 80 255 82 78 67 255 98 93 80 255
|
||||
44 122 112 99 254 101 93 82 254 85 78 69 254 101 93 82 254
|
||||
44:0 122 112 99 254 101 93 82 254 85 78 69 254 101 93 82 254
|
||||
44:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
|
||||
44:2 109 80 60 255 91 67 50 255 76 56 41 255 91 67 50 255
|
||||
44:3 118 112 96 255 98 93 80 255 82 78 67 255 98 93 80 255
|
||||
45 230 103 73 255 192 86 61 255 160 71 50 255 192 86 61 255
|
||||
46 255 79 30 255 231 72 27 255 193 60 22 255 231 72 27 255
|
||||
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
|
||||
48 96 108 70 255 80 90 58 255 67 75 49 255 80 90 58 255
|
||||
49 83 67 83 255 69 56 69 255 58 47 58 255 69 56 69 255
|
||||
50 255 203 58 200 255 203 58 200 212 169 48 200 255 203 58 200
|
||||
@@ -87,16 +64,11 @@
|
||||
65 144 128 99 32 120 106 82 32 100 89 69 32 120 106 82 32
|
||||
66 113 109 102 180 94 91 85 180 79 76 71 180 94 91 85 180
|
||||
67 115 107 93 255 96 89 78 255 80 75 65 255 96 89 78 255
|
||||
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
71 255 255 255 255 229 229 229 255 191 191 191 255 229 229 229 255
|
||||
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
73 174 107 107 255 145 89 89 255 121 75 75 255 145 89 89 255
|
||||
74 174 107 107 255 145 89 89 255 121 75 75 255 145 89 89 255
|
||||
75 255 140 61 254 217 119 52 254 181 99 43 254 217 119 52 254
|
||||
76 255 0 0 254 255 0 0 254 212 0 0 254 255 0 0 254
|
||||
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
78 237 248 255 254 237 248 255 254 198 207 212 254 237 248 255 254
|
||||
79 166 222 255 55 166 222 255 55 139 185 212 55 166 222 255 55
|
||||
80 237 248 255 255 237 248 255 255 198 207 212 255 237 248 255 255
|
||||
@@ -104,49 +76,4 @@
|
||||
82 234 240 255 255 216 221 235 255 180 185 196 255 216 221 235 255
|
||||
83 136 167 74 255 114 139 62 255 95 116 52 255 114 139 62 255
|
||||
84 116 97 80 255 97 81 67 255 81 68 55 255 97 81 67 255
|
||||
85 115 99 63 255 96 82 52 255 80 69 44 255 96 82 52 255
|
||||
86 255 115 0 200 204 92 0 200 126 57 0 200 102 46 0 200
|
||||
87 166 89 89 255 141 80 62 255 135 15 15 255 96 6 6 255
|
||||
88 133 109 94 255 121 97 82 255 90 70 57 255 79 59 46 255
|
||||
89 249 212 156 255 255 188 94 255 192 143 70 255 122 91 44 255
|
||||
90 140 0 196 128 120 0 196 128 140 0 196 128 120 0 196 128
|
||||
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
|
||||
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
|
||||
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
|
||||
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
|
||||
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
|
||||
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
|
||||
Biome Rainforest - Dark Green
|
||||
[RAINFOREST] 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
|
||||
Biome Swampland - Brown
|
||||
[SWAMPLAND] 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
|
||||
Biome Seasonal Forest - Light Green
|
||||
[SEASONAL_FOREST] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
Biome Forest - Light Gray
|
||||
[FOREST] 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
|
||||
Biome Savanna - Dark Gray
|
||||
[SAVANNA] 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
|
||||
Biome Shrubland - Yellow
|
||||
[SHRUBLAND] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
Biome Taiga - Cyan
|
||||
[TAIGA] 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
|
||||
Biome Desert - Orange
|
||||
[DESERT] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
Biome Plains - Magenta
|
||||
[PLAINS] 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
|
||||
Biome Ice Desert - Dark Blue
|
||||
[ICE_DESERT] 26 33 103 255 20 26 80 255 13 17 50 255 9 14 40 255
|
||||
Biome Tundra - White
|
||||
[TUNDRA] 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
|
||||
Biome Hell - Pink
|
||||
[HELL] 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
|
||||
Biome Sky - Blue
|
||||
[SKY] 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
|
||||
[RAINFALL-0.0] 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
|
||||
[RAINFALL-1.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.0] 38 92 255 255 30 73 204 255 19 46 127 255 15 36 102 255
|
||||
[TEMPERATURE-0.5] 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
|
||||
[TEMPERATURE-0.8] 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
|
||||
[TEMPERATURE-0.9] 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
|
||||
[TEMPERATURE-0.95] 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
|
||||
[TEMPERATURE-1.0] 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
|
||||
85 115 99 63 255 96 82 52 255 80 69 44 255 96 82 52 255
|
||||
@@ -0,0 +1,172 @@
|
||||
# All paths in this configuration file are relative to Dynmap's data-folder: minecraft_server/plugins/dynmap/
|
||||
|
||||
# Treat hiddenplayers.txt as a whitelist for players to be shown on the map? (Default false)
|
||||
display-whitelist: false
|
||||
|
||||
# How often a tile gets rendered (in seconds).
|
||||
renderinterval: 1
|
||||
|
||||
# Do render on main thread - may generate more server load, but safer and fixes broken tiles
|
||||
renderonsync: true
|
||||
|
||||
render-triggers:
|
||||
# - playermove
|
||||
# - playerjoin
|
||||
- blockplaced
|
||||
- blockbreak
|
||||
|
||||
# The path where the tile-files are placed.
|
||||
tilespath: web/tiles
|
||||
|
||||
# The path where the web-files are located.
|
||||
webpath: web
|
||||
|
||||
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
|
||||
webserver-bindaddress: 0.0.0.0
|
||||
|
||||
# The TCP-port the webserver will listen on.
|
||||
webserver-port: 8123
|
||||
|
||||
# Disables Webserver portion of Dynmap (Advanced users only)
|
||||
disable-webserver: false
|
||||
|
||||
# Writes JSON to file in the webpath
|
||||
jsonfile: false
|
||||
|
||||
# How often the json file gets written to(in seconds)
|
||||
jsonfile-interval: 1
|
||||
|
||||
# Use timesliced fullrender - takes a bit longer, but much more polite for server
|
||||
timeslicerender: true
|
||||
|
||||
# Period between tile renders for timesliced fullrender, in seconds
|
||||
timesliceinterval: 0.5
|
||||
|
||||
# The maptypes Dynmap will use to render.
|
||||
worlds:
|
||||
- name: world
|
||||
maps:
|
||||
- class: org.dynmap.flat.FlatMap
|
||||
prefix: flat
|
||||
colorscheme: default
|
||||
- class: org.dynmap.kzedmap.KzedMap
|
||||
renderers:
|
||||
- class: org.dynmap.kzedmap.DefaultTileRenderer
|
||||
prefix: t
|
||||
maximumheight: 127
|
||||
colorscheme: default
|
||||
#- class: org.dynmap.kzedmap.HighlightTileRenderer
|
||||
# prefix: ht
|
||||
# maximumheight: 127
|
||||
# colorscheme: default
|
||||
# highlight: # For highlighting multiple block-types.
|
||||
# - 56 # Highlight diamond-ore
|
||||
# - 66 # Highlight minecart track
|
||||
# highlight: 56 # For highlighting a single block-type.
|
||||
- class: org.dynmap.kzedmap.CaveTileRenderer
|
||||
prefix: ct
|
||||
maximumheight: 127
|
||||
- name: nether
|
||||
maps:
|
||||
- class: org.dynmap.flat.FlatMap
|
||||
prefix: flat
|
||||
colorscheme: default
|
||||
- class: org.dynmap.kzedmap.KzedMap
|
||||
renderers:
|
||||
- class: org.dynmap.kzedmap.DefaultTileRenderer
|
||||
prefix: nt
|
||||
maximumheight: 64
|
||||
colorscheme: default
|
||||
|
||||
web:
|
||||
# Handles the clientside updates differently only enable if using jsonfile
|
||||
jsonfile: false
|
||||
|
||||
# Interval the browser should poll for updates.
|
||||
updaterate: 2000
|
||||
|
||||
allowchat: true
|
||||
allowwebchat: true
|
||||
webchat-interval: 5
|
||||
|
||||
showplayerfacesinmenu: true
|
||||
|
||||
joinmessage: "%playername% joined"
|
||||
quitmessage: "%playername% quit"
|
||||
spammessage: "You may only chat once every %interval% seconds."
|
||||
|
||||
components:
|
||||
- type: chat
|
||||
- type: chatballoon
|
||||
focuschatballoons: false
|
||||
- type: chatbox
|
||||
showplayerfaces: true
|
||||
messagettl: 5
|
||||
- type: playermarkers
|
||||
showplayerfaces: true
|
||||
#- type: digitalclock
|
||||
- type: timeofdayclock
|
||||
showdigitalclock: true
|
||||
#showweather: true
|
||||
#- type: regions
|
||||
# name: WorldGuard
|
||||
# useworldpath: true
|
||||
# filename: regions.yml
|
||||
# basenode: regions
|
||||
# use3dregions: true
|
||||
# infowindow: '<div class="infowindow"><span style="font-size:120%;">%regionname% - %priority% (%parent%)</span><br /> Owners <span style="font-weight:bold;">%playerowners% %groupowners%</span><br />Members <span style="font-weight:bold;">%playermembers% %groupmembers%</span><br />Flags<br /><span style="font-weight:bold;">%flags%</span></div>'
|
||||
# regionstyle:
|
||||
# strokeColor: "#FF0000"
|
||||
# strokeOpacity: 0.8
|
||||
# strokeWeight: 3
|
||||
# fillColor: "#FF0000"
|
||||
# fillOpacity: 0.35
|
||||
|
||||
defaultworld: world
|
||||
worlds:
|
||||
- title: World
|
||||
name: world
|
||||
maps:
|
||||
- type: FlatMapType
|
||||
title: Flat
|
||||
name: flat
|
||||
prefix: flat
|
||||
- type: KzedMapType
|
||||
title: Surface
|
||||
name: surface
|
||||
prefix: t
|
||||
#- type: KzedMapType
|
||||
# title: Highlighted Map
|
||||
# name: highlight
|
||||
# prefix: ht
|
||||
- type: KzedMapType
|
||||
title: Cave
|
||||
name: cave
|
||||
prefix: ct
|
||||
- title: Nether
|
||||
name: nether
|
||||
maps:
|
||||
- type: FlatMapType
|
||||
title: Flat
|
||||
name: flat
|
||||
prefix: flat
|
||||
- type: KzedMapType
|
||||
title: Surface
|
||||
name: nether
|
||||
prefix: nt
|
||||
# Example:
|
||||
#- title: Other World # With what name the world is displayed.
|
||||
# name: world_other # The actual name of the world (equal to your directory-name).
|
||||
# maps:
|
||||
# - type: KzedMapType # The type (or perspective) of the map. At the moment, there are no others than KzedMapType.
|
||||
# title: Surface # The name of the map that will be displayed.
|
||||
# name: surface # The actual name of the map (should be unique for this world).
|
||||
# prefix: t # The prefix of the tile-files that are generated.
|
||||
# icon: images/block_other.png # Sets a custom icon for the map. (optional)
|
||||
# - type: KzedMapType
|
||||
# title: Cave
|
||||
# name: cave
|
||||
# prefix: ct
|
||||
# Enables debugging.
|
||||
#debuggers:
|
||||
# - class: org.dynmap.debug.LogDebugger
|
||||
@@ -2,7 +2,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.dynmap</groupId>
|
||||
<artifactId>dynmap</artifactId>
|
||||
<version>0.21</version>
|
||||
<version>0.16.1</version>
|
||||
<name>dynmap</name>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -29,12 +29,6 @@
|
||||
<descriptors>
|
||||
<descriptor>src/main/assembly/package.xml</descriptor>
|
||||
</descriptors>
|
||||
<!-- Hack for bug in maven-assembly: http://jira.codehaus.org/browse/MASSEMBLY-449 -->
|
||||
<archiverConfig>
|
||||
<fileMode>420</fileMode> <!-- 420(dec) = 644(oct) -->
|
||||
<directoryMode>493</directoryMode> <!-- 493(dec) = 755(oct) -->
|
||||
<defaultDirectoryMode>493</defaultDirectoryMode>
|
||||
</archiverConfig>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -24,11 +24,10 @@
|
||||
<outputDirectory>/dynmap/colorschemes</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>${project.basedir}/texturepacks</directory>
|
||||
<outputDirectory>/dynmap/texturepacks</outputDirectory></fileSet>
|
||||
<fileSet>
|
||||
<directory>${project.basedir}/renderdata</directory>
|
||||
<outputDirectory>/dynmap/renderdata</outputDirectory></fileSet>
|
||||
<directory>${project.basedir}</directory>
|
||||
<outputDirectory>/dynmap/</outputDirectory>
|
||||
<includes>
|
||||
<include>configuration.txt</include></includes></fileSet>
|
||||
</fileSets>
|
||||
<files>
|
||||
<file>
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.Material;
|
||||
|
||||
public class Armor {
|
||||
/**
|
||||
* http://www.minecraftwiki.net/wiki/Item_Durability#Armor_durability
|
||||
* We rely on getArmorContents() to return 4 armor pieces in the order
|
||||
* of: boots, pants, chest, helmet
|
||||
*/
|
||||
private static final int armorPoints[] = {3, 6, 8, 3};
|
||||
|
||||
public static final int getArmorPoints(Player player) {
|
||||
int currentDurability = 0;
|
||||
int baseDurability = 0;
|
||||
int baseArmorPoints = 0;
|
||||
ItemStack[] itm = new ItemStack[4];
|
||||
PlayerInventory inv = player.getInventory();
|
||||
itm[0] = inv.getBoots();
|
||||
itm[1]= inv.getLeggings();
|
||||
itm[2] = inv.getChestplate();
|
||||
itm[3] = inv.getHelmet();
|
||||
for(int i = 0; i < 4; i++) {
|
||||
if(itm[i] == null) continue;
|
||||
int dur = itm[i].getDurability();
|
||||
int max = itm[i].getType().getMaxDurability();
|
||||
if(max <= 0) continue;
|
||||
if(i == 2)
|
||||
max = max + 1; /* Always 1 too low for chestplate */
|
||||
else
|
||||
max = max - 3; /* Always 3 too high, versus how client calculates it */
|
||||
baseDurability += max;
|
||||
currentDurability += max - dur;
|
||||
baseArmorPoints += armorPoints[i];
|
||||
}
|
||||
int ap = 0;
|
||||
if(baseDurability > 0)
|
||||
ap = ((baseArmorPoints - 1) * currentDurability) / baseDurability + 1;
|
||||
return ap;
|
||||
}
|
||||
}
|
||||
@@ -4,22 +4,22 @@ import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class AsynchronousQueue<T> {
|
||||
protected static final Logger log = Logger.getLogger("Minecraft");
|
||||
|
||||
private Object lock = new Object();
|
||||
private Thread thread;
|
||||
private LinkedList<T> queue = new LinkedList<T>();
|
||||
private Set<T> set = new HashSet<T>();
|
||||
private Handler<T> handler;
|
||||
private int dequeueTime;
|
||||
private int accelDequeueTime;
|
||||
private int accelDequeueThresh;
|
||||
|
||||
public AsynchronousQueue(Handler<T> handler, int dequeueTime, int accelDequeueThresh, int accelDequeueTime) {
|
||||
|
||||
public AsynchronousQueue(Handler<T> handler, int dequeueTime) {
|
||||
this.handler = handler;
|
||||
this.dequeueTime = dequeueTime;
|
||||
this.accelDequeueTime = accelDequeueTime;
|
||||
this.accelDequeueThresh = accelDequeueThresh;
|
||||
}
|
||||
|
||||
public boolean push(T t) {
|
||||
@@ -34,10 +34,15 @@ public class AsynchronousQueue<T> {
|
||||
|
||||
private T pop() {
|
||||
synchronized (lock) {
|
||||
T t = queue.pollFirst();
|
||||
if(t != null)
|
||||
set.remove(t);
|
||||
return t;
|
||||
try {
|
||||
T t = queue.removeFirst();
|
||||
if (!set.remove(t)) {
|
||||
// This should never happen.
|
||||
}
|
||||
return t;
|
||||
} catch (NoSuchElementException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +62,7 @@ public class AsynchronousQueue<T> {
|
||||
try {
|
||||
thread.setPriority(Thread.MIN_PRIORITY);
|
||||
} catch (SecurityException e) {
|
||||
Log.info("Failed to set minimum priority for worker thread!");
|
||||
log.info("Failed to set minimum priority for worker thread!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -69,13 +74,13 @@ public class AsynchronousQueue<T> {
|
||||
Thread oldThread = thread;
|
||||
thread = null;
|
||||
|
||||
Log.info("Stopping map renderer...");
|
||||
log.info("Stopping map renderer...");
|
||||
|
||||
oldThread.interrupt();
|
||||
try {
|
||||
oldThread.join(1000);
|
||||
} catch (InterruptedException e) {
|
||||
Log.info("Waiting for map renderer to stop is interrupted");
|
||||
log.info("Waiting for map renderer to stop is interrupted");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,14 +92,11 @@ public class AsynchronousQueue<T> {
|
||||
if (t != null) {
|
||||
handler.handle(t);
|
||||
}
|
||||
if(set.size() >= accelDequeueThresh)
|
||||
sleep(accelDequeueTime);
|
||||
else
|
||||
sleep(dequeueTime);
|
||||
sleep(dequeueTime);
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
Log.severe("Exception on rendering-thread", ex);
|
||||
log.log(Level.SEVERE, "Exception on rendering-thread", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
package org.dynmap;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Cache<K, V> {
|
||||
private final int size;
|
||||
private int len;
|
||||
|
||||
private CacheNode head;
|
||||
private CacheNode tail;
|
||||
|
||||
private class CacheNode {
|
||||
public CacheNode prev;
|
||||
public CacheNode next;
|
||||
public K key;
|
||||
public V value;
|
||||
|
||||
public CacheNode(K key, V value) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
prev = null;
|
||||
next = null;
|
||||
}
|
||||
|
||||
public void unlink() {
|
||||
if (prev == null) {
|
||||
head = next;
|
||||
} else {
|
||||
prev.next = next;
|
||||
}
|
||||
|
||||
if (next == null) {
|
||||
tail = prev;
|
||||
} else {
|
||||
next.prev = prev;
|
||||
}
|
||||
|
||||
prev = null;
|
||||
next = null;
|
||||
|
||||
len--;
|
||||
}
|
||||
|
||||
public void append() {
|
||||
if (tail == null) {
|
||||
head = this;
|
||||
tail = this;
|
||||
} else {
|
||||
tail.next = this;
|
||||
prev = tail;
|
||||
tail = this;
|
||||
}
|
||||
|
||||
len++;
|
||||
}
|
||||
}
|
||||
|
||||
private HashMap<K, CacheNode> map;
|
||||
|
||||
public Cache(int size) {
|
||||
this.size = size;
|
||||
len = 0;
|
||||
|
||||
head = null;
|
||||
tail = null;
|
||||
|
||||
map = new HashMap<K, CacheNode>();
|
||||
}
|
||||
|
||||
/*
|
||||
* returns value for key, if key exists in the cache otherwise null
|
||||
*/
|
||||
public V get(K key) {
|
||||
CacheNode n = map.get(key);
|
||||
if (n == null)
|
||||
return null;
|
||||
return n.value;
|
||||
}
|
||||
|
||||
/*
|
||||
* puts a new key-value pair in the cache if the key existed already, the
|
||||
* value is updated, and the old value is returned if the key didn't exist,
|
||||
* it is added; the oldest value (now pushed out of the cache) may be
|
||||
* returned, or null if the cache isn't yet full
|
||||
*/
|
||||
public V put(K key, V value) {
|
||||
CacheNode n = map.get(key);
|
||||
if (n == null) {
|
||||
V ret = null;
|
||||
|
||||
if (len >= size) {
|
||||
CacheNode first = head;
|
||||
first.unlink();
|
||||
map.remove(first.key);
|
||||
ret = first.value;
|
||||
}
|
||||
|
||||
CacheNode add = new CacheNode(key, value);
|
||||
add.append();
|
||||
map.put(key, add);
|
||||
|
||||
return ret;
|
||||
} else {
|
||||
n.unlink();
|
||||
V old = n.value;
|
||||
n.value = value;
|
||||
n.append();
|
||||
return old;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
public class ChatEvent {
|
||||
public String source;
|
||||
public String name;
|
||||
public String message;
|
||||
public ChatEvent(String source, String name, String message) {
|
||||
this.source = source;
|
||||
this.name = name;
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
@@ -1,65 +1,66 @@
|
||||
package org.dynmap;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.json.simple.JSONAware;
|
||||
import org.json.simple.JSONStreamAware;
|
||||
|
||||
public class Client {
|
||||
public static class Update implements JSONAware, JSONStreamAware {
|
||||
public long timestamp = System.currentTimeMillis();
|
||||
public static class Update {
|
||||
public long timestamp;
|
||||
public long servertime;
|
||||
public boolean hasStorm;
|
||||
public boolean isThundering;
|
||||
public Player[] players;
|
||||
public Object[] updates;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJSONString() {
|
||||
return org.dynmap.web.Json.stringifyJson(this);
|
||||
}
|
||||
public static class Player {
|
||||
public String type = "player";
|
||||
public String name;
|
||||
public String world;
|
||||
public double x, y, z;
|
||||
|
||||
@Override
|
||||
public void writeJSONString(Writer w) throws IOException {
|
||||
// TODO: This isn't the best...
|
||||
w.write(toJSONString());
|
||||
public Player(String name, String world, double x, double y, double z) {
|
||||
this.name = ChatColor.stripColor(name);
|
||||
this.world = world;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ChatMessage extends Update {
|
||||
public static class Stamped {
|
||||
public long timestamp = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public static class ChatMessage extends Stamped {
|
||||
public String type = "chat";
|
||||
public String source;
|
||||
public String playerName;
|
||||
public String message;
|
||||
public String account;
|
||||
public String channel;
|
||||
public ChatMessage(String source, String channel, String playerName, String message, String playeraccount) {
|
||||
|
||||
public ChatMessage(String source, String playerName, String message) {
|
||||
this.source = source;
|
||||
this.playerName = ChatColor.stripColor(playerName);
|
||||
this.message = ChatColor.stripColor(message);
|
||||
this.account = playeraccount;
|
||||
this.channel = channel;
|
||||
}
|
||||
}
|
||||
|
||||
public static class PlayerJoinMessage extends Update {
|
||||
|
||||
public static class PlayerJoinMessage extends Stamped {
|
||||
public String type = "playerjoin";
|
||||
public String playerName;
|
||||
public String account;
|
||||
public PlayerJoinMessage(String playerName, String playeraccount) {
|
||||
public PlayerJoinMessage(String playerName) {
|
||||
this.playerName = ChatColor.stripColor(playerName);
|
||||
this.account = playeraccount;
|
||||
}
|
||||
}
|
||||
|
||||
public static class PlayerQuitMessage extends Update {
|
||||
|
||||
public static class PlayerQuitMessage extends Stamped {
|
||||
public String type = "playerquit";
|
||||
public String playerName;
|
||||
public String account;
|
||||
public PlayerQuitMessage(String playerName, String playeraccount) {
|
||||
public PlayerQuitMessage(String playerName) {
|
||||
this.playerName = ChatColor.stripColor(playerName);
|
||||
this.account = playeraccount;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Tile extends Update {
|
||||
public static class Tile extends Stamped {
|
||||
public String type = "tile";
|
||||
public String name;
|
||||
|
||||
@@ -67,14 +68,4 @@ public class Client {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
|
||||
public static class DayNight extends Update {
|
||||
public String type = "daynight";
|
||||
public boolean isday;
|
||||
|
||||
public DayNight(boolean isday) {
|
||||
this.isday = isday;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
import static org.dynmap.JSONUtils.a;
|
||||
import static org.dynmap.JSONUtils.s;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
public class ClientComponent extends Component {
|
||||
|
||||
public ClientComponent(final DynmapPlugin plugin, final ConfigurationNode configuration) {
|
||||
super(plugin, configuration);
|
||||
plugin.events.addListener("buildclientconfiguration", new Event.Listener<JSONObject>() {
|
||||
@Override
|
||||
public void triggered(JSONObject root) {
|
||||
buildClientConfiguration(root);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void buildClientConfiguration(JSONObject root) {
|
||||
JSONObject o = createClientConfiguration();
|
||||
a(root, "components", o);
|
||||
}
|
||||
|
||||
protected JSONObject createClientConfiguration() {
|
||||
JSONObject o = convertMap(configuration);
|
||||
o.remove("class");
|
||||
return o;
|
||||
}
|
||||
|
||||
protected static final JSONObject convertMap(Map<String, ?> m) {
|
||||
JSONObject o = new JSONObject();
|
||||
for(Map.Entry<String, ?> entry : m.entrySet()) {
|
||||
s(o, entry.getKey(), convert(entry.getValue()));
|
||||
}
|
||||
return o;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static final JSONArray convertList(List<?> l) {
|
||||
JSONArray o = new JSONArray();
|
||||
for(Object entry : l) {
|
||||
o.add(convert(entry));
|
||||
}
|
||||
return o;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static final Object convert(Object o) {
|
||||
if (o instanceof Map<?, ?>) {
|
||||
return convertMap((Map<String, ?>)o);
|
||||
} else if (o instanceof List<?>) {
|
||||
return convertList((List<?>)o);
|
||||
}
|
||||
return o;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
import static org.dynmap.JSONUtils.a;
|
||||
import static org.dynmap.JSONUtils.s;
|
||||
|
||||
import org.dynmap.Event.Listener;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class ClientConfigurationComponent extends Component {
|
||||
public ClientConfigurationComponent(final DynmapPlugin plugin, ConfigurationNode configuration) {
|
||||
super(plugin, configuration);
|
||||
plugin.events.<JSONObject>addListener("buildclientconfiguration", new Listener<JSONObject>() {
|
||||
@Override
|
||||
public void triggered(JSONObject t) {
|
||||
ConfigurationNode c = plugin.configuration;
|
||||
s(t, "updaterate", c.getFloat("updaterate", 1.0f));
|
||||
s(t, "showplayerfacesinmenu", c.getBoolean("showplayerfacesinmenu", true));
|
||||
s(t, "joinmessage", c.getString("joinmessage", "%playername% joined"));
|
||||
s(t, "quitmessage", c.getString("quitmessage", "%playername% quit"));
|
||||
s(t, "spammessage", c.getString("spammessage", "You may only chat once every %interval% seconds."));
|
||||
s(t, "webprefix", unescapeString(c.getString("webprefix", "[WEB] ")));
|
||||
s(t, "defaultzoom", c.getInteger("defaultzoom", 0));
|
||||
s(t, "sidebaropened", c.getBoolean("sidebaropened", false));
|
||||
|
||||
DynmapWorld defaultWorld = null;
|
||||
String defmap = null;
|
||||
for(DynmapWorld world : plugin.mapManager.getWorlds()) {
|
||||
if (defaultWorld == null) defaultWorld = world;
|
||||
ConfigurationNode wn = world.configuration;
|
||||
JSONObject wo = new JSONObject();
|
||||
s(wo, "name", wn.getString("name"));
|
||||
s(wo, "title", wn.getString("title"));
|
||||
s(wo, "center/x", wn.getFloat("center/x", 0.0f));
|
||||
s(wo, "center/y", wn.getFloat("center/y", 64.0f));
|
||||
s(wo, "center/z", wn.getFloat("center/z", 0.0f));
|
||||
s(wo, "bigworld", world.bigworld);
|
||||
s(wo, "extrazoomout", world.getExtraZoomOutLevels());
|
||||
a(t, "worlds", wo);
|
||||
|
||||
for(MapType mt : world.maps) {
|
||||
mt.buildClientConfiguration(wo, world);
|
||||
if(defmap == null) defmap = mt.getName();
|
||||
}
|
||||
}
|
||||
s(t, "defaultworld", c.getString("defaultworld", defaultWorld == null ? "world" : defaultWorld.world.getName()));
|
||||
s(t, "defaultmap", c.getString("defaultmap", defmap == null ? "surface" : defmap));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
import static org.dynmap.JSONUtils.a;
|
||||
import static org.dynmap.JSONUtils.s;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class ClientUpdateComponent extends Component {
|
||||
public ClientUpdateComponent(final DynmapPlugin plugin, ConfigurationNode configuration) {
|
||||
super(plugin, configuration);
|
||||
plugin.events.addListener("buildclientupdate", new Event.Listener<ClientUpdateEvent>() {
|
||||
@Override
|
||||
public void triggered(ClientUpdateEvent e) {
|
||||
buildClientUpdate(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void buildClientUpdate(ClientUpdateEvent e) {
|
||||
World world = e.world.world;
|
||||
JSONObject u = e.update;
|
||||
long since = e.timestamp;
|
||||
String worldName = world.getName();
|
||||
|
||||
s(u, "servertime", world.getTime() % 24000);
|
||||
s(u, "hasStorm", world.hasStorm());
|
||||
s(u, "isThundering", world.isThundering());
|
||||
|
||||
s(u, "players", new JSONArray());
|
||||
Player[] players = plugin.playerList.getVisiblePlayers();
|
||||
for(int i=0;i<players.length;i++) {
|
||||
Player p = players[i];
|
||||
Location pl = p.getLocation();
|
||||
JSONObject jp = new JSONObject();
|
||||
s(jp, "type", "player");
|
||||
s(jp, "name", ChatColor.stripColor(p.getDisplayName()));
|
||||
s(jp, "account", p.getName());
|
||||
/* Don't leak player location for world not visible on maps, or if sendposition disbaled */
|
||||
DynmapWorld pworld = MapManager.mapman.worldsLookup.get(p.getWorld().getName());
|
||||
/* Fix typo on 'sendpositon' to 'sendposition', keep bad one in case someone used it */
|
||||
if(configuration.getBoolean("sendposition", true) && configuration.getBoolean("sendpositon", true) &&
|
||||
(pworld != null) && pworld.sendposition) {
|
||||
s(jp, "world", p.getWorld().getName());
|
||||
s(jp, "x", pl.getX());
|
||||
s(jp, "y", pl.getY());
|
||||
s(jp, "z", pl.getZ());
|
||||
}
|
||||
else {
|
||||
s(jp, "world", "-some-other-bogus-world-");
|
||||
s(jp, "x", 0.0);
|
||||
s(jp, "y", 64.0);
|
||||
s(jp, "z", 0.0);
|
||||
}
|
||||
/* Only send health if enabled AND we're on visible world */
|
||||
if (configuration.getBoolean("sendhealth", false) && (pworld != null) && pworld.sendhealth) {
|
||||
s(jp, "health", p.getHealth());
|
||||
s(jp, "armor", Armor.getArmorPoints(p));
|
||||
}
|
||||
else {
|
||||
s(jp, "health", 0);
|
||||
s(jp, "armor", 0);
|
||||
}
|
||||
a(u, "players", jp);
|
||||
}
|
||||
|
||||
s(u, "updates", new JSONArray());
|
||||
for(Object update : plugin.mapManager.getWorldUpdates(worldName, since)) {
|
||||
a(u, "updates", (Client.Update)update);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class ClientUpdateEvent {
|
||||
public long timestamp;
|
||||
public DynmapWorld world;
|
||||
public JSONObject update;
|
||||
|
||||
public ClientUpdateEvent(long timestamp, DynmapWorld world, JSONObject update) {
|
||||
this.timestamp = timestamp;
|
||||
this.world = world;
|
||||
this.update = update;
|
||||
}
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
/**
|
||||
* Simple replacement for java.awt.Color for dynmap - it's not an invariant, so we don't make millions
|
||||
* of them during rendering
|
||||
*/
|
||||
public class Color {
|
||||
/* ARGB value */
|
||||
private int val;
|
||||
|
||||
public static final int TRANSPARENT = 0;
|
||||
|
||||
public Color(int red, int green, int blue, int alpha) {
|
||||
setRGBA(red, green, blue, alpha);
|
||||
}
|
||||
public Color(int red, int green, int blue) {
|
||||
setRGBA(red, green, blue, 0xFF);
|
||||
}
|
||||
public Color() {
|
||||
setTransparent();
|
||||
}
|
||||
public final int getRed() {
|
||||
return (val >> 16) & 0xFF;
|
||||
}
|
||||
public final int getGreen() {
|
||||
return (val >> 8) & 0xFF;
|
||||
}
|
||||
public final int getBlue() {
|
||||
return val & 0xFF;
|
||||
}
|
||||
public final int getAlpha() {
|
||||
return ((val >> 24) & 0xFF);
|
||||
}
|
||||
public final boolean isTransparent() {
|
||||
return ((val & 0xFF000000) == TRANSPARENT);
|
||||
}
|
||||
public final void setTransparent() {
|
||||
val = TRANSPARENT;
|
||||
}
|
||||
public final void setColor(Color c) {
|
||||
val = c.val;
|
||||
}
|
||||
public final void setRGBA(int red, int green, int blue, int alpha) {
|
||||
val = ((alpha & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
|
||||
}
|
||||
public final int getARGB() {
|
||||
return val;
|
||||
}
|
||||
public final void setARGB(int c) {
|
||||
val = c;
|
||||
}
|
||||
public final int getComponent(int idx) {
|
||||
return 0xFF & (val >> ((3-idx)*8));
|
||||
}
|
||||
public final void setAlpha(int v) {
|
||||
val = (val & 0x00FFFFFF) | (v << 24);
|
||||
}
|
||||
/**
|
||||
* Scale each color component, based on the corresponding component
|
||||
*/
|
||||
public final void blendColor(Color c) {
|
||||
blendColor(c.val);
|
||||
}
|
||||
/**
|
||||
* Scale each color component, based on the corresponding component
|
||||
*/
|
||||
public final void blendColor(int argb) {
|
||||
int nval = (((((val >> 24) & 0xFF) * ((argb >> 24) & 0xFF)) / 255) << 24);
|
||||
nval = nval | (((((val >> 16) & 0xFF) * ((argb >> 16) & 0xFF)) / 255) << 16);
|
||||
nval = nval | (((((val >> 8) & 0xFF) * ((argb >> 8) & 0xFF)) / 255) << 8);
|
||||
nval = nval | (((val & 0xFF) * (argb & 0xFF)) / 255);
|
||||
val = nval;
|
||||
}
|
||||
}
|
||||
@@ -1,39 +1,36 @@
|
||||
package org.dynmap;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Scanner;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.dynmap.debug.Debug;
|
||||
import org.bukkit.block.Biome;
|
||||
|
||||
public class ColorScheme {
|
||||
protected static final Logger log = Logger.getLogger("Minecraft");
|
||||
private static final HashMap<String, ColorScheme> cache = new HashMap<String, ColorScheme>();
|
||||
|
||||
|
||||
public String name;
|
||||
/* Switch to arrays - faster than map */
|
||||
public final Color[][] colors; /* [blk-type][step] */
|
||||
public final Color[][][] datacolors; /* [bkt-type][blk-dat][step] */
|
||||
public final Color[][] biomecolors; /* [Biome.ordinal][step] */
|
||||
public final Color[][] raincolors; /* [rain * 63][step] */
|
||||
public final Color[][] tempcolors; /* [temp * 63][step] */
|
||||
/* Switch to arrays - faster than map */
|
||||
public Color[][] colors; /* [blk-type][step] */
|
||||
public Color[][][] datacolors; /* [bkt-type][blk-dat][step] */
|
||||
|
||||
public ColorScheme(String name, Color[][] colors, Color[][][] datacolors, Color[][] biomecolors, Color[][] raincolors, Color[][] tempcolors) {
|
||||
public ColorScheme(String name, Color[][] colors, Color[][][] datacolors) {
|
||||
this.name = name;
|
||||
this.colors = colors;
|
||||
this.datacolors = datacolors;
|
||||
this.biomecolors = biomecolors;
|
||||
this.raincolors = raincolors;
|
||||
this.tempcolors = tempcolors;
|
||||
}
|
||||
|
||||
|
||||
private static File getColorSchemeDirectory() {
|
||||
return new File(DynmapPlugin.dataDirectory, "colorschemes");
|
||||
}
|
||||
|
||||
|
||||
public static ColorScheme getScheme(String name) {
|
||||
if (name == null)
|
||||
name = "default";
|
||||
@@ -44,16 +41,13 @@ public class ColorScheme {
|
||||
}
|
||||
return scheme;
|
||||
}
|
||||
|
||||
|
||||
public static ColorScheme loadScheme(String name) {
|
||||
File colorSchemeFile = new File(getColorSchemeDirectory(), name + ".txt");
|
||||
Color[][] colors = new Color[256][];
|
||||
Color[][][] datacolors = new Color[256][][];
|
||||
Color[][] biomecolors = new Color[Biome.values().length][];
|
||||
Color[][] raincolors = new Color[64][];
|
||||
Color[][] tempcolors = new Color[64][];
|
||||
|
||||
InputStream stream;
|
||||
boolean enab_datacolor = MapManager.mapman.doSyncRender();
|
||||
try {
|
||||
Debug.debug("Loading colors from '" + colorSchemeFile + "'...");
|
||||
stream = new FileInputStream(colorSchemeFile);
|
||||
@@ -65,93 +59,39 @@ public class ColorScheme {
|
||||
if (line.startsWith("#") || line.equals("")) {
|
||||
continue;
|
||||
}
|
||||
/* Make parser less pedantic - tabs or spaces should be fine */
|
||||
String[] split = line.split("[\t ]");
|
||||
int cnt = 0;
|
||||
for(String s: split) { if(s.length() > 0) cnt++; }
|
||||
String[] nsplit = new String[cnt];
|
||||
cnt = 0;
|
||||
for(String s: split) { if(s.length() > 0) { nsplit[cnt] = s; cnt++; } }
|
||||
split = nsplit;
|
||||
|
||||
String[] split = line.split("\t");
|
||||
if (split.length < 17) {
|
||||
continue;
|
||||
}
|
||||
Integer id;
|
||||
Integer dat = null;
|
||||
boolean isbiome = false;
|
||||
boolean istemp = false;
|
||||
boolean israin = false;
|
||||
int idx = split[0].indexOf(':');
|
||||
if(idx > 0) { /* ID:data - data color */
|
||||
id = new Integer(split[0].substring(0, idx));
|
||||
dat = new Integer(split[0].substring(idx+1));
|
||||
}
|
||||
else if(split[0].charAt(0) == '[') { /* Biome color data */
|
||||
String bio = split[0].substring(1);
|
||||
idx = bio.indexOf(']');
|
||||
if(idx >= 0) bio = bio.substring(0, idx);
|
||||
isbiome = true;
|
||||
id = -1;
|
||||
for(Biome b : Biome.values()) {
|
||||
if(b.toString().equalsIgnoreCase(bio)) {
|
||||
id = b.ordinal();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(id < 0) { /* Not biome - check for rain or temp */
|
||||
if(bio.startsWith("RAINFALL-")) {
|
||||
try {
|
||||
double v = Double.parseDouble(bio.substring(9));
|
||||
if((v >= 0) && (v <= 1.00)) {
|
||||
id = (int)(v * 63.0);
|
||||
israin = true;
|
||||
}
|
||||
} catch (NumberFormatException nfx) {
|
||||
}
|
||||
}
|
||||
else if(bio.startsWith("TEMPERATURE-")) {
|
||||
try {
|
||||
double v = Double.parseDouble(bio.substring(12));
|
||||
if((v >= 0) && (v <= 1.00)) {
|
||||
id = (int)(v * 63.0);
|
||||
istemp = true;
|
||||
}
|
||||
} catch (NumberFormatException nfx) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
id = new Integer(split[0]);
|
||||
}
|
||||
Color[] c = new Color[5];
|
||||
Color[] c = new Color[4];
|
||||
|
||||
/* store colors by raycast sequence number */
|
||||
c[0] = new Color(Integer.parseInt(split[1]), Integer.parseInt(split[2]), Integer.parseInt(split[3]), Integer.parseInt(split[4]));
|
||||
c[3] = new Color(Integer.parseInt(split[5]), Integer.parseInt(split[6]), Integer.parseInt(split[7]), Integer.parseInt(split[8]));
|
||||
c[1] = new Color(Integer.parseInt(split[9]), Integer.parseInt(split[10]), Integer.parseInt(split[11]), Integer.parseInt(split[12]));
|
||||
c[2] = new Color(Integer.parseInt(split[13]), Integer.parseInt(split[14]), Integer.parseInt(split[15]), Integer.parseInt(split[16]));
|
||||
/* Blended color - for 'smooth' option on flat map */
|
||||
c[4] = new Color((c[1].getRed()+c[3].getRed())/2, (c[1].getGreen()+c[3].getGreen())/2, (c[1].getBlue()+c[3].getBlue())/2, (c[1].getAlpha()+c[3].getAlpha())/2);
|
||||
|
||||
if(isbiome) {
|
||||
if(istemp) {
|
||||
tempcolors[id] = c;
|
||||
}
|
||||
else if(israin) {
|
||||
raincolors[id] = c;
|
||||
}
|
||||
else if((id >= 0) && (id < biomecolors.length))
|
||||
biomecolors[id] = c;
|
||||
}
|
||||
else if(dat != null) {
|
||||
Color[][] dcolor = datacolors[id]; /* Existing list? */
|
||||
if(dcolor == null) {
|
||||
dcolor = new Color[16][]; /* Make 16 index long list */
|
||||
datacolors[id] = dcolor;
|
||||
}
|
||||
if((dat >= 0) && (dat < 16)) { /* Add color to list */
|
||||
dcolor[dat] = c;
|
||||
if(dat != null) {
|
||||
if(enab_datacolor) {
|
||||
Color[][] dcolor = datacolors[id]; /* Existing list? */
|
||||
if(dcolor == null) {
|
||||
dcolor = new Color[16][]; /* Make 16 index long list */
|
||||
datacolors[id] = dcolor;
|
||||
}
|
||||
if((dat >= 0) && (dat < 16)) { /* Add color to list */
|
||||
dcolor[dat] = c;
|
||||
}
|
||||
}
|
||||
if(dat == 0) { /* Index zero is base color too */
|
||||
colors[id] = c;
|
||||
@@ -174,68 +114,12 @@ public class ColorScheme {
|
||||
}
|
||||
}
|
||||
}
|
||||
/* And interpolate any missing rain and temperature colors */
|
||||
interpolateColorTable(tempcolors);
|
||||
interpolateColorTable(raincolors);
|
||||
} catch (RuntimeException e) {
|
||||
Log.severe("Could not load colors '" + name + "' ('" + colorSchemeFile + "').", e);
|
||||
log.log(Level.SEVERE, "Could not load colors '" + name + "' ('" + colorSchemeFile + "').", e);
|
||||
return null;
|
||||
} catch (FileNotFoundException e) {
|
||||
Log.severe("Could not load colors '" + name + "' ('" + colorSchemeFile + "'): File not found.", e);
|
||||
log.log(Level.SEVERE, "Could not load colors '" + name + "' ('" + colorSchemeFile + "'): File not found.", e);
|
||||
}
|
||||
return new ColorScheme(name, colors, datacolors, biomecolors, raincolors, tempcolors);
|
||||
}
|
||||
|
||||
public static void interpolateColorTable(Color[][] c) {
|
||||
int idx = -1;
|
||||
for(int k = 0; k < c.length; k++) {
|
||||
if(c[k] == null) { /* Missing? */
|
||||
if((idx >= 0) && (k == (c.length-1))) { /* We're last - so fill forward from last color */
|
||||
for(int kk = idx+1; kk <= k; kk++) {
|
||||
c[kk] = c[idx];
|
||||
}
|
||||
}
|
||||
/* Skip - will backfill when we find next color */
|
||||
}
|
||||
else if(idx == -1) { /* No previous color, just backfill this color */
|
||||
for(int kk = 0; kk < k; kk++) {
|
||||
c[kk] = c[k];
|
||||
}
|
||||
idx = k; /* This is now last defined color */
|
||||
}
|
||||
else { /* Else, interpolate between last idx and this one */
|
||||
int cnt = c[k].length;
|
||||
for(int kk = idx+1; kk < k; kk++) {
|
||||
double interp = (double)(kk-idx)/(double)(k-idx);
|
||||
Color[] cc = new Color[cnt];
|
||||
for(int jj = 0; jj < cnt; jj++) {
|
||||
cc[jj] = new Color(
|
||||
(int)((1.0-interp)*c[idx][jj].getRed() + interp*c[k][jj].getRed()),
|
||||
(int)((1.0-interp)*c[idx][jj].getGreen() + interp*c[k][jj].getGreen()),
|
||||
(int)((1.0-interp)*c[idx][jj].getBlue() + interp*c[k][jj].getBlue()),
|
||||
(int)((1.0-interp)*c[idx][jj].getAlpha() + interp*c[k][jj].getAlpha()));
|
||||
}
|
||||
c[kk] = cc;
|
||||
}
|
||||
idx = k;
|
||||
}
|
||||
}
|
||||
}
|
||||
public Color[] getRainColor(double rain) {
|
||||
int idx = (int)(rain * 63.0);
|
||||
if((idx >= 0) && (idx < raincolors.length))
|
||||
return raincolors[idx];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
public Color[] getTempColor(double temp) {
|
||||
int idx = (int)(temp * 63.0);
|
||||
if((idx >= 0) && (idx < tempcolors.length))
|
||||
return tempcolors[idx];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
public static void reset() {
|
||||
cache.clear();
|
||||
return new ColorScheme(name, colors, datacolors);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
package org.dynmap;
|
||||
|
||||
public abstract class Component {
|
||||
protected DynmapPlugin plugin;
|
||||
protected ConfigurationNode configuration;
|
||||
public Component(DynmapPlugin plugin, ConfigurationNode configuration) {
|
||||
this.plugin = plugin;
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
}
|
||||
|
||||
/* Substitute proper values for escape sequences */
|
||||
public static String unescapeString(String v) {
|
||||
/* Replace color code &color; */
|
||||
v = v.replaceAll("&color;", "\u00A7");
|
||||
|
||||
return v;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user