mc_dot_art_maker 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (410) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +40 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +34 -0
  5. data/LICENSE +21 -0
  6. data/README.md +1 -0
  7. data/Rakefile +6 -0
  8. data/example/make_dot_art/make_dot_art.rb +9 -0
  9. data/example/make_dot_art/output/mosaic/test_image.png +0 -0
  10. data/example/make_dot_art/output/schematic/test_image.schematic +0 -0
  11. data/example/make_dot_art/output/texture/test_image.png +0 -0
  12. data/example/make_dot_art/src/test_image.jpg +0 -0
  13. data/lib/mc_dot_art_maker/block.rb +60 -0
  14. data/lib/mc_dot_art_maker/block_list.rb +471 -0
  15. data/lib/mc_dot_art_maker/cell.rb +31 -0
  16. data/lib/mc_dot_art_maker/schematic_helper.rb +167 -0
  17. data/lib/mc_dot_art_maker/seed.schematic +0 -0
  18. data/lib/mc_dot_art_maker/table.rb +147 -0
  19. data/lib/mc_dot_art_maker/textures/anvil_base.png +0 -0
  20. data/lib/mc_dot_art_maker/textures/anvil_top_damaged_0.png +0 -0
  21. data/lib/mc_dot_art_maker/textures/anvil_top_damaged_1.png +0 -0
  22. data/lib/mc_dot_art_maker/textures/anvil_top_damaged_2.png +0 -0
  23. data/lib/mc_dot_art_maker/textures/beacon.png +0 -0
  24. data/lib/mc_dot_art_maker/textures/bed_feet_end.png +0 -0
  25. data/lib/mc_dot_art_maker/textures/bed_feet_side.png +0 -0
  26. data/lib/mc_dot_art_maker/textures/bed_feet_top.png +0 -0
  27. data/lib/mc_dot_art_maker/textures/bed_head_end.png +0 -0
  28. data/lib/mc_dot_art_maker/textures/bed_head_side.png +0 -0
  29. data/lib/mc_dot_art_maker/textures/bed_head_top.png +0 -0
  30. data/lib/mc_dot_art_maker/textures/bedrock.png +0 -0
  31. data/lib/mc_dot_art_maker/textures/bookshelf.png +0 -0
  32. data/lib/mc_dot_art_maker/textures/brewing_stand.png +0 -0
  33. data/lib/mc_dot_art_maker/textures/brewing_stand_base.png +0 -0
  34. data/lib/mc_dot_art_maker/textures/brick.png +0 -0
  35. data/lib/mc_dot_art_maker/textures/cactus_bottom.png +0 -0
  36. data/lib/mc_dot_art_maker/textures/cactus_side.png +0 -0
  37. data/lib/mc_dot_art_maker/textures/cactus_top.png +0 -0
  38. data/lib/mc_dot_art_maker/textures/cake_bottom.png +0 -0
  39. data/lib/mc_dot_art_maker/textures/cake_inner.png +0 -0
  40. data/lib/mc_dot_art_maker/textures/cake_side.png +0 -0
  41. data/lib/mc_dot_art_maker/textures/cake_top.png +0 -0
  42. data/lib/mc_dot_art_maker/textures/carrots_stage_0.png +0 -0
  43. data/lib/mc_dot_art_maker/textures/carrots_stage_1.png +0 -0
  44. data/lib/mc_dot_art_maker/textures/carrots_stage_2.png +0 -0
  45. data/lib/mc_dot_art_maker/textures/carrots_stage_3.png +0 -0
  46. data/lib/mc_dot_art_maker/textures/cauldron_bottom.png +0 -0
  47. data/lib/mc_dot_art_maker/textures/cauldron_inner.png +0 -0
  48. data/lib/mc_dot_art_maker/textures/cauldron_side.png +0 -0
  49. data/lib/mc_dot_art_maker/textures/cauldron_top.png +0 -0
  50. data/lib/mc_dot_art_maker/textures/clay.png +0 -0
  51. data/lib/mc_dot_art_maker/textures/coal_block.png +0 -0
  52. data/lib/mc_dot_art_maker/textures/coal_ore.png +0 -0
  53. data/lib/mc_dot_art_maker/textures/coarse_dirt.png +0 -0
  54. data/lib/mc_dot_art_maker/textures/cobblestone.png +0 -0
  55. data/lib/mc_dot_art_maker/textures/cobblestone_mossy.png +0 -0
  56. data/lib/mc_dot_art_maker/textures/cocoa_stage_0.png +0 -0
  57. data/lib/mc_dot_art_maker/textures/cocoa_stage_1.png +0 -0
  58. data/lib/mc_dot_art_maker/textures/cocoa_stage_2.png +0 -0
  59. data/lib/mc_dot_art_maker/textures/command_block.png +0 -0
  60. data/lib/mc_dot_art_maker/textures/comparator_off.png +0 -0
  61. data/lib/mc_dot_art_maker/textures/comparator_on.png +0 -0
  62. data/lib/mc_dot_art_maker/textures/crafting_table_front.png +0 -0
  63. data/lib/mc_dot_art_maker/textures/crafting_table_side.png +0 -0
  64. data/lib/mc_dot_art_maker/textures/crafting_table_top.png +0 -0
  65. data/lib/mc_dot_art_maker/textures/daylight_detector_inverted_top.png +0 -0
  66. data/lib/mc_dot_art_maker/textures/daylight_detector_side.png +0 -0
  67. data/lib/mc_dot_art_maker/textures/daylight_detector_top.png +0 -0
  68. data/lib/mc_dot_art_maker/textures/deadbush.png +0 -0
  69. data/lib/mc_dot_art_maker/textures/destroy_stage_0.png +0 -0
  70. data/lib/mc_dot_art_maker/textures/destroy_stage_1.png +0 -0
  71. data/lib/mc_dot_art_maker/textures/destroy_stage_2.png +0 -0
  72. data/lib/mc_dot_art_maker/textures/destroy_stage_3.png +0 -0
  73. data/lib/mc_dot_art_maker/textures/destroy_stage_4.png +0 -0
  74. data/lib/mc_dot_art_maker/textures/destroy_stage_5.png +0 -0
  75. data/lib/mc_dot_art_maker/textures/destroy_stage_6.png +0 -0
  76. data/lib/mc_dot_art_maker/textures/destroy_stage_7.png +0 -0
  77. data/lib/mc_dot_art_maker/textures/destroy_stage_8.png +0 -0
  78. data/lib/mc_dot_art_maker/textures/destroy_stage_9.png +0 -0
  79. data/lib/mc_dot_art_maker/textures/diamond_block.png +0 -0
  80. data/lib/mc_dot_art_maker/textures/diamond_ore.png +0 -0
  81. data/lib/mc_dot_art_maker/textures/dirt.png +0 -0
  82. data/lib/mc_dot_art_maker/textures/dirt_podzol_side.png +0 -0
  83. data/lib/mc_dot_art_maker/textures/dirt_podzol_top.png +0 -0
  84. data/lib/mc_dot_art_maker/textures/dispenser_front_horizontal.png +0 -0
  85. data/lib/mc_dot_art_maker/textures/dispenser_front_vertical.png +0 -0
  86. data/lib/mc_dot_art_maker/textures/door_acacia_lower.png +0 -0
  87. data/lib/mc_dot_art_maker/textures/door_acacia_upper.png +0 -0
  88. data/lib/mc_dot_art_maker/textures/door_birch_lower.png +0 -0
  89. data/lib/mc_dot_art_maker/textures/door_birch_upper.png +0 -0
  90. data/lib/mc_dot_art_maker/textures/door_dark_oak_lower.png +0 -0
  91. data/lib/mc_dot_art_maker/textures/door_dark_oak_upper.png +0 -0
  92. data/lib/mc_dot_art_maker/textures/door_iron_lower.png +0 -0
  93. data/lib/mc_dot_art_maker/textures/door_iron_upper.png +0 -0
  94. data/lib/mc_dot_art_maker/textures/door_jungle_lower.png +0 -0
  95. data/lib/mc_dot_art_maker/textures/door_jungle_upper.png +0 -0
  96. data/lib/mc_dot_art_maker/textures/door_spruce_lower.png +0 -0
  97. data/lib/mc_dot_art_maker/textures/door_spruce_upper.png +0 -0
  98. data/lib/mc_dot_art_maker/textures/door_wood_lower.png +0 -0
  99. data/lib/mc_dot_art_maker/textures/door_wood_upper.png +0 -0
  100. data/lib/mc_dot_art_maker/textures/double_plant_fern_bottom.png +0 -0
  101. data/lib/mc_dot_art_maker/textures/double_plant_fern_top.png +0 -0
  102. data/lib/mc_dot_art_maker/textures/double_plant_grass_bottom.png +0 -0
  103. data/lib/mc_dot_art_maker/textures/double_plant_grass_top.png +0 -0
  104. data/lib/mc_dot_art_maker/textures/double_plant_paeonia_bottom.png +0 -0
  105. data/lib/mc_dot_art_maker/textures/double_plant_paeonia_top.png +0 -0
  106. data/lib/mc_dot_art_maker/textures/double_plant_rose_bottom.png +0 -0
  107. data/lib/mc_dot_art_maker/textures/double_plant_rose_top.png +0 -0
  108. data/lib/mc_dot_art_maker/textures/double_plant_sunflower_back.png +0 -0
  109. data/lib/mc_dot_art_maker/textures/double_plant_sunflower_bottom.png +0 -0
  110. data/lib/mc_dot_art_maker/textures/double_plant_sunflower_front.png +0 -0
  111. data/lib/mc_dot_art_maker/textures/double_plant_sunflower_top.png +0 -0
  112. data/lib/mc_dot_art_maker/textures/double_plant_syringa_bottom.png +0 -0
  113. data/lib/mc_dot_art_maker/textures/double_plant_syringa_top.png +0 -0
  114. data/lib/mc_dot_art_maker/textures/dragon_egg.png +0 -0
  115. data/lib/mc_dot_art_maker/textures/dropper_front_horizontal.png +0 -0
  116. data/lib/mc_dot_art_maker/textures/dropper_front_vertical.png +0 -0
  117. data/lib/mc_dot_art_maker/textures/emerald_block.png +0 -0
  118. data/lib/mc_dot_art_maker/textures/emerald_ore.png +0 -0
  119. data/lib/mc_dot_art_maker/textures/enchanting_table_bottom.png +0 -0
  120. data/lib/mc_dot_art_maker/textures/enchanting_table_side.png +0 -0
  121. data/lib/mc_dot_art_maker/textures/enchanting_table_top.png +0 -0
  122. data/lib/mc_dot_art_maker/textures/end_stone.png +0 -0
  123. data/lib/mc_dot_art_maker/textures/endframe_eye.png +0 -0
  124. data/lib/mc_dot_art_maker/textures/endframe_side.png +0 -0
  125. data/lib/mc_dot_art_maker/textures/endframe_top.png +0 -0
  126. data/lib/mc_dot_art_maker/textures/farmland_dry.png +0 -0
  127. data/lib/mc_dot_art_maker/textures/farmland_wet.png +0 -0
  128. data/lib/mc_dot_art_maker/textures/fern.png +0 -0
  129. data/lib/mc_dot_art_maker/textures/fire_layer_0.png +0 -0
  130. data/lib/mc_dot_art_maker/textures/fire_layer_0.png.mcmeta +38 -0
  131. data/lib/mc_dot_art_maker/textures/fire_layer_1.png +0 -0
  132. data/lib/mc_dot_art_maker/textures/fire_layer_1.png.mcmeta +3 -0
  133. data/lib/mc_dot_art_maker/textures/flower_allium.png +0 -0
  134. data/lib/mc_dot_art_maker/textures/flower_blue_orchid.png +0 -0
  135. data/lib/mc_dot_art_maker/textures/flower_dandelion.png +0 -0
  136. data/lib/mc_dot_art_maker/textures/flower_houstonia.png +0 -0
  137. data/lib/mc_dot_art_maker/textures/flower_oxeye_daisy.png +0 -0
  138. data/lib/mc_dot_art_maker/textures/flower_paeonia.png +0 -0
  139. data/lib/mc_dot_art_maker/textures/flower_pot.png +0 -0
  140. data/lib/mc_dot_art_maker/textures/flower_rose.png +0 -0
  141. data/lib/mc_dot_art_maker/textures/flower_tulip_orange.png +0 -0
  142. data/lib/mc_dot_art_maker/textures/flower_tulip_pink.png +0 -0
  143. data/lib/mc_dot_art_maker/textures/flower_tulip_red.png +0 -0
  144. data/lib/mc_dot_art_maker/textures/flower_tulip_white.png +0 -0
  145. data/lib/mc_dot_art_maker/textures/furnace_front_off.png +0 -0
  146. data/lib/mc_dot_art_maker/textures/furnace_front_on.png +0 -0
  147. data/lib/mc_dot_art_maker/textures/furnace_side.png +0 -0
  148. data/lib/mc_dot_art_maker/textures/furnace_top.png +0 -0
  149. data/lib/mc_dot_art_maker/textures/glass.png +0 -0
  150. data/lib/mc_dot_art_maker/textures/glass_black.png +0 -0
  151. data/lib/mc_dot_art_maker/textures/glass_blue.png +0 -0
  152. data/lib/mc_dot_art_maker/textures/glass_brown.png +0 -0
  153. data/lib/mc_dot_art_maker/textures/glass_cyan.png +0 -0
  154. data/lib/mc_dot_art_maker/textures/glass_gray.png +0 -0
  155. data/lib/mc_dot_art_maker/textures/glass_green.png +0 -0
  156. data/lib/mc_dot_art_maker/textures/glass_light_blue.png +0 -0
  157. data/lib/mc_dot_art_maker/textures/glass_lime.png +0 -0
  158. data/lib/mc_dot_art_maker/textures/glass_magenta.png +0 -0
  159. data/lib/mc_dot_art_maker/textures/glass_orange.png +0 -0
  160. data/lib/mc_dot_art_maker/textures/glass_pane_top.png +0 -0
  161. data/lib/mc_dot_art_maker/textures/glass_pane_top_black.png +0 -0
  162. data/lib/mc_dot_art_maker/textures/glass_pane_top_blue.png +0 -0
  163. data/lib/mc_dot_art_maker/textures/glass_pane_top_brown.png +0 -0
  164. data/lib/mc_dot_art_maker/textures/glass_pane_top_cyan.png +0 -0
  165. data/lib/mc_dot_art_maker/textures/glass_pane_top_gray.png +0 -0
  166. data/lib/mc_dot_art_maker/textures/glass_pane_top_green.png +0 -0
  167. data/lib/mc_dot_art_maker/textures/glass_pane_top_light_blue.png +0 -0
  168. data/lib/mc_dot_art_maker/textures/glass_pane_top_lime.png +0 -0
  169. data/lib/mc_dot_art_maker/textures/glass_pane_top_magenta.png +0 -0
  170. data/lib/mc_dot_art_maker/textures/glass_pane_top_orange.png +0 -0
  171. data/lib/mc_dot_art_maker/textures/glass_pane_top_pink.png +0 -0
  172. data/lib/mc_dot_art_maker/textures/glass_pane_top_purple.png +0 -0
  173. data/lib/mc_dot_art_maker/textures/glass_pane_top_red.png +0 -0
  174. data/lib/mc_dot_art_maker/textures/glass_pane_top_silver.png +0 -0
  175. data/lib/mc_dot_art_maker/textures/glass_pane_top_white.png +0 -0
  176. data/lib/mc_dot_art_maker/textures/glass_pane_top_yellow.png +0 -0
  177. data/lib/mc_dot_art_maker/textures/glass_pink.png +0 -0
  178. data/lib/mc_dot_art_maker/textures/glass_purple.png +0 -0
  179. data/lib/mc_dot_art_maker/textures/glass_red.png +0 -0
  180. data/lib/mc_dot_art_maker/textures/glass_silver.png +0 -0
  181. data/lib/mc_dot_art_maker/textures/glass_white.png +0 -0
  182. data/lib/mc_dot_art_maker/textures/glass_yellow.png +0 -0
  183. data/lib/mc_dot_art_maker/textures/glowstone.png +0 -0
  184. data/lib/mc_dot_art_maker/textures/gold_block.png +0 -0
  185. data/lib/mc_dot_art_maker/textures/gold_ore.png +0 -0
  186. data/lib/mc_dot_art_maker/textures/grass_side.png +0 -0
  187. data/lib/mc_dot_art_maker/textures/grass_side_overlay.png +0 -0
  188. data/lib/mc_dot_art_maker/textures/grass_side_snowed.png +0 -0
  189. data/lib/mc_dot_art_maker/textures/grass_top.png +0 -0
  190. data/lib/mc_dot_art_maker/textures/gravel.png +0 -0
  191. data/lib/mc_dot_art_maker/textures/hardened_clay.png +0 -0
  192. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_black.png +0 -0
  193. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_blue.png +0 -0
  194. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_brown.png +0 -0
  195. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_cyan.png +0 -0
  196. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_gray.png +0 -0
  197. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_green.png +0 -0
  198. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_light_blue.png +0 -0
  199. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_lime.png +0 -0
  200. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_magenta.png +0 -0
  201. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_orange.png +0 -0
  202. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_pink.png +0 -0
  203. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_purple.png +0 -0
  204. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_red.png +0 -0
  205. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_silver.png +0 -0
  206. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_white.png +0 -0
  207. data/lib/mc_dot_art_maker/textures/hardened_clay_stained_yellow.png +0 -0
  208. data/lib/mc_dot_art_maker/textures/hay_block_side.png +0 -0
  209. data/lib/mc_dot_art_maker/textures/hay_block_top.png +0 -0
  210. data/lib/mc_dot_art_maker/textures/hopper_inside.png +0 -0
  211. data/lib/mc_dot_art_maker/textures/hopper_outside.png +0 -0
  212. data/lib/mc_dot_art_maker/textures/hopper_top.png +0 -0
  213. data/lib/mc_dot_art_maker/textures/ice.png +0 -0
  214. data/lib/mc_dot_art_maker/textures/ice_packed.png +0 -0
  215. data/lib/mc_dot_art_maker/textures/iron_bars.png +0 -0
  216. data/lib/mc_dot_art_maker/textures/iron_block.png +0 -0
  217. data/lib/mc_dot_art_maker/textures/iron_ore.png +0 -0
  218. data/lib/mc_dot_art_maker/textures/iron_trapdoor.png +0 -0
  219. data/lib/mc_dot_art_maker/textures/itemframe_background.png +0 -0
  220. data/lib/mc_dot_art_maker/textures/jukebox_side.png +0 -0
  221. data/lib/mc_dot_art_maker/textures/jukebox_top.png +0 -0
  222. data/lib/mc_dot_art_maker/textures/ladder.png +0 -0
  223. data/lib/mc_dot_art_maker/textures/lapis_block.png +0 -0
  224. data/lib/mc_dot_art_maker/textures/lapis_ore.png +0 -0
  225. data/lib/mc_dot_art_maker/textures/lava_flow.png +0 -0
  226. data/lib/mc_dot_art_maker/textures/lava_flow.png.mcmeta +5 -0
  227. data/lib/mc_dot_art_maker/textures/lava_still.png +0 -0
  228. data/lib/mc_dot_art_maker/textures/lava_still.png.mcmeta +45 -0
  229. data/lib/mc_dot_art_maker/textures/leaves_acacia.png +0 -0
  230. data/lib/mc_dot_art_maker/textures/leaves_big_oak.png +0 -0
  231. data/lib/mc_dot_art_maker/textures/leaves_birch.png +0 -0
  232. data/lib/mc_dot_art_maker/textures/leaves_jungle.png +0 -0
  233. data/lib/mc_dot_art_maker/textures/leaves_oak.png +0 -0
  234. data/lib/mc_dot_art_maker/textures/leaves_spruce.png +0 -0
  235. data/lib/mc_dot_art_maker/textures/lever.png +0 -0
  236. data/lib/mc_dot_art_maker/textures/log_acacia.png +0 -0
  237. data/lib/mc_dot_art_maker/textures/log_acacia_top.png +0 -0
  238. data/lib/mc_dot_art_maker/textures/log_big_oak.png +0 -0
  239. data/lib/mc_dot_art_maker/textures/log_big_oak_top.png +0 -0
  240. data/lib/mc_dot_art_maker/textures/log_birch.png +0 -0
  241. data/lib/mc_dot_art_maker/textures/log_birch_top.png +0 -0
  242. data/lib/mc_dot_art_maker/textures/log_jungle.png +0 -0
  243. data/lib/mc_dot_art_maker/textures/log_jungle_top.png +0 -0
  244. data/lib/mc_dot_art_maker/textures/log_oak.png +0 -0
  245. data/lib/mc_dot_art_maker/textures/log_oak_top.png +0 -0
  246. data/lib/mc_dot_art_maker/textures/log_spruce.png +0 -0
  247. data/lib/mc_dot_art_maker/textures/log_spruce_top.png +0 -0
  248. data/lib/mc_dot_art_maker/textures/melon_side.png +0 -0
  249. data/lib/mc_dot_art_maker/textures/melon_stem_connected.png +0 -0
  250. data/lib/mc_dot_art_maker/textures/melon_stem_disconnected.png +0 -0
  251. data/lib/mc_dot_art_maker/textures/melon_top.png +0 -0
  252. data/lib/mc_dot_art_maker/textures/mob_spawner.png +0 -0
  253. data/lib/mc_dot_art_maker/textures/mushroom_block_inside.png +0 -0
  254. data/lib/mc_dot_art_maker/textures/mushroom_block_skin_brown.png +0 -0
  255. data/lib/mc_dot_art_maker/textures/mushroom_block_skin_red.png +0 -0
  256. data/lib/mc_dot_art_maker/textures/mushroom_block_skin_stem.png +0 -0
  257. data/lib/mc_dot_art_maker/textures/mushroom_brown.png +0 -0
  258. data/lib/mc_dot_art_maker/textures/mushroom_red.png +0 -0
  259. data/lib/mc_dot_art_maker/textures/mycelium_side.png +0 -0
  260. data/lib/mc_dot_art_maker/textures/mycelium_top.png +0 -0
  261. data/lib/mc_dot_art_maker/textures/nether_brick.png +0 -0
  262. data/lib/mc_dot_art_maker/textures/nether_wart_stage_0.png +0 -0
  263. data/lib/mc_dot_art_maker/textures/nether_wart_stage_1.png +0 -0
  264. data/lib/mc_dot_art_maker/textures/nether_wart_stage_2.png +0 -0
  265. data/lib/mc_dot_art_maker/textures/netherrack.png +0 -0
  266. data/lib/mc_dot_art_maker/textures/noteblock.png +0 -0
  267. data/lib/mc_dot_art_maker/textures/obsidian.png +0 -0
  268. data/lib/mc_dot_art_maker/textures/piston_bottom.png +0 -0
  269. data/lib/mc_dot_art_maker/textures/piston_inner.png +0 -0
  270. data/lib/mc_dot_art_maker/textures/piston_side.png +0 -0
  271. data/lib/mc_dot_art_maker/textures/piston_top_normal.png +0 -0
  272. data/lib/mc_dot_art_maker/textures/piston_top_sticky.png +0 -0
  273. data/lib/mc_dot_art_maker/textures/planks_acacia.png +0 -0
  274. data/lib/mc_dot_art_maker/textures/planks_big_oak.png +0 -0
  275. data/lib/mc_dot_art_maker/textures/planks_birch.png +0 -0
  276. data/lib/mc_dot_art_maker/textures/planks_jungle.png +0 -0
  277. data/lib/mc_dot_art_maker/textures/planks_oak.png +0 -0
  278. data/lib/mc_dot_art_maker/textures/planks_spruce.png +0 -0
  279. data/lib/mc_dot_art_maker/textures/portal.png +0 -0
  280. data/lib/mc_dot_art_maker/textures/portal.png.mcmeta +3 -0
  281. data/lib/mc_dot_art_maker/textures/potatoes_stage_0.png +0 -0
  282. data/lib/mc_dot_art_maker/textures/potatoes_stage_1.png +0 -0
  283. data/lib/mc_dot_art_maker/textures/potatoes_stage_2.png +0 -0
  284. data/lib/mc_dot_art_maker/textures/potatoes_stage_3.png +0 -0
  285. data/lib/mc_dot_art_maker/textures/prismarine_bricks.png +0 -0
  286. data/lib/mc_dot_art_maker/textures/prismarine_dark.png +0 -0
  287. data/lib/mc_dot_art_maker/textures/prismarine_rough.png +0 -0
  288. data/lib/mc_dot_art_maker/textures/prismarine_rough.png.mcmeta +30 -0
  289. data/lib/mc_dot_art_maker/textures/pumpkin_face_off.png +0 -0
  290. data/lib/mc_dot_art_maker/textures/pumpkin_face_on.png +0 -0
  291. data/lib/mc_dot_art_maker/textures/pumpkin_side.png +0 -0
  292. data/lib/mc_dot_art_maker/textures/pumpkin_stem_connected.png +0 -0
  293. data/lib/mc_dot_art_maker/textures/pumpkin_stem_disconnected.png +0 -0
  294. data/lib/mc_dot_art_maker/textures/pumpkin_top.png +0 -0
  295. data/lib/mc_dot_art_maker/textures/quartz_block_bottom.png +0 -0
  296. data/lib/mc_dot_art_maker/textures/quartz_block_chiseled.png +0 -0
  297. data/lib/mc_dot_art_maker/textures/quartz_block_chiseled_top.png +0 -0
  298. data/lib/mc_dot_art_maker/textures/quartz_block_lines.png +0 -0
  299. data/lib/mc_dot_art_maker/textures/quartz_block_lines_top.png +0 -0
  300. data/lib/mc_dot_art_maker/textures/quartz_block_side.png +0 -0
  301. data/lib/mc_dot_art_maker/textures/quartz_block_top.png +0 -0
  302. data/lib/mc_dot_art_maker/textures/quartz_ore.png +0 -0
  303. data/lib/mc_dot_art_maker/textures/rail_activator.png +0 -0
  304. data/lib/mc_dot_art_maker/textures/rail_activator_powered.png +0 -0
  305. data/lib/mc_dot_art_maker/textures/rail_detector.png +0 -0
  306. data/lib/mc_dot_art_maker/textures/rail_detector_powered.png +0 -0
  307. data/lib/mc_dot_art_maker/textures/rail_golden.png +0 -0
  308. data/lib/mc_dot_art_maker/textures/rail_golden_powered.png +0 -0
  309. data/lib/mc_dot_art_maker/textures/rail_normal.png +0 -0
  310. data/lib/mc_dot_art_maker/textures/rail_normal_turned.png +0 -0
  311. data/lib/mc_dot_art_maker/textures/red_sand.png +0 -0
  312. data/lib/mc_dot_art_maker/textures/red_sandstone_bottom.png +0 -0
  313. data/lib/mc_dot_art_maker/textures/red_sandstone_carved.png +0 -0
  314. data/lib/mc_dot_art_maker/textures/red_sandstone_normal.png +0 -0
  315. data/lib/mc_dot_art_maker/textures/red_sandstone_smooth.png +0 -0
  316. data/lib/mc_dot_art_maker/textures/red_sandstone_top.png +0 -0
  317. data/lib/mc_dot_art_maker/textures/redstone_block.png +0 -0
  318. data/lib/mc_dot_art_maker/textures/redstone_dust_cross.png +0 -0
  319. data/lib/mc_dot_art_maker/textures/redstone_dust_cross_overlay.png +0 -0
  320. data/lib/mc_dot_art_maker/textures/redstone_dust_line.png +0 -0
  321. data/lib/mc_dot_art_maker/textures/redstone_dust_line_overlay.png +0 -0
  322. data/lib/mc_dot_art_maker/textures/redstone_lamp_off.png +0 -0
  323. data/lib/mc_dot_art_maker/textures/redstone_lamp_on.png +0 -0
  324. data/lib/mc_dot_art_maker/textures/redstone_ore.png +0 -0
  325. data/lib/mc_dot_art_maker/textures/redstone_torch_off.png +0 -0
  326. data/lib/mc_dot_art_maker/textures/redstone_torch_on.png +0 -0
  327. data/lib/mc_dot_art_maker/textures/reeds.png +0 -0
  328. data/lib/mc_dot_art_maker/textures/repeater_off.png +0 -0
  329. data/lib/mc_dot_art_maker/textures/repeater_on.png +0 -0
  330. data/lib/mc_dot_art_maker/textures/sand.png +0 -0
  331. data/lib/mc_dot_art_maker/textures/sandstone_bottom.png +0 -0
  332. data/lib/mc_dot_art_maker/textures/sandstone_carved.png +0 -0
  333. data/lib/mc_dot_art_maker/textures/sandstone_normal.png +0 -0
  334. data/lib/mc_dot_art_maker/textures/sandstone_smooth.png +0 -0
  335. data/lib/mc_dot_art_maker/textures/sandstone_top.png +0 -0
  336. data/lib/mc_dot_art_maker/textures/sapling_acacia.png +0 -0
  337. data/lib/mc_dot_art_maker/textures/sapling_birch.png +0 -0
  338. data/lib/mc_dot_art_maker/textures/sapling_jungle.png +0 -0
  339. data/lib/mc_dot_art_maker/textures/sapling_oak.png +0 -0
  340. data/lib/mc_dot_art_maker/textures/sapling_roofed_oak.png +0 -0
  341. data/lib/mc_dot_art_maker/textures/sapling_spruce.png +0 -0
  342. data/lib/mc_dot_art_maker/textures/sea_lantern.png +0 -0
  343. data/lib/mc_dot_art_maker/textures/sea_lantern.png.mcmeta +5 -0
  344. data/lib/mc_dot_art_maker/textures/slime.png +0 -0
  345. data/lib/mc_dot_art_maker/textures/snow.png +0 -0
  346. data/lib/mc_dot_art_maker/textures/soul_sand.png +0 -0
  347. data/lib/mc_dot_art_maker/textures/sponge.png +0 -0
  348. data/lib/mc_dot_art_maker/textures/sponge_wet.png +0 -0
  349. data/lib/mc_dot_art_maker/textures/stone.png +0 -0
  350. data/lib/mc_dot_art_maker/textures/stone_andesite.png +0 -0
  351. data/lib/mc_dot_art_maker/textures/stone_andesite_smooth.png +0 -0
  352. data/lib/mc_dot_art_maker/textures/stone_diorite.png +0 -0
  353. data/lib/mc_dot_art_maker/textures/stone_diorite_smooth.png +0 -0
  354. data/lib/mc_dot_art_maker/textures/stone_granite.png +0 -0
  355. data/lib/mc_dot_art_maker/textures/stone_granite_smooth.png +0 -0
  356. data/lib/mc_dot_art_maker/textures/stone_slab_side.png +0 -0
  357. data/lib/mc_dot_art_maker/textures/stone_slab_top.png +0 -0
  358. data/lib/mc_dot_art_maker/textures/stonebrick.png +0 -0
  359. data/lib/mc_dot_art_maker/textures/stonebrick_carved.png +0 -0
  360. data/lib/mc_dot_art_maker/textures/stonebrick_cracked.png +0 -0
  361. data/lib/mc_dot_art_maker/textures/stonebrick_mossy.png +0 -0
  362. data/lib/mc_dot_art_maker/textures/tallgrass.png +0 -0
  363. data/lib/mc_dot_art_maker/textures/tnt_bottom.png +0 -0
  364. data/lib/mc_dot_art_maker/textures/tnt_side.png +0 -0
  365. data/lib/mc_dot_art_maker/textures/tnt_top.png +0 -0
  366. data/lib/mc_dot_art_maker/textures/torch_on.png +0 -0
  367. data/lib/mc_dot_art_maker/textures/trapdoor.png +0 -0
  368. data/lib/mc_dot_art_maker/textures/trip_wire.png +0 -0
  369. data/lib/mc_dot_art_maker/textures/trip_wire_source.png +0 -0
  370. data/lib/mc_dot_art_maker/textures/vine.png +0 -0
  371. data/lib/mc_dot_art_maker/textures/water_flow.png +0 -0
  372. data/lib/mc_dot_art_maker/textures/water_flow.png.mcmeta +3 -0
  373. data/lib/mc_dot_art_maker/textures/water_still.png +0 -0
  374. data/lib/mc_dot_art_maker/textures/water_still.png.mcmeta +5 -0
  375. data/lib/mc_dot_art_maker/textures/waterlily.png +0 -0
  376. data/lib/mc_dot_art_maker/textures/web.png +0 -0
  377. data/lib/mc_dot_art_maker/textures/wheat_stage_0.png +0 -0
  378. data/lib/mc_dot_art_maker/textures/wheat_stage_1.png +0 -0
  379. data/lib/mc_dot_art_maker/textures/wheat_stage_2.png +0 -0
  380. data/lib/mc_dot_art_maker/textures/wheat_stage_3.png +0 -0
  381. data/lib/mc_dot_art_maker/textures/wheat_stage_4.png +0 -0
  382. data/lib/mc_dot_art_maker/textures/wheat_stage_5.png +0 -0
  383. data/lib/mc_dot_art_maker/textures/wheat_stage_6.png +0 -0
  384. data/lib/mc_dot_art_maker/textures/wheat_stage_7.png +0 -0
  385. data/lib/mc_dot_art_maker/textures/wool_colored_black.png +0 -0
  386. data/lib/mc_dot_art_maker/textures/wool_colored_blue.png +0 -0
  387. data/lib/mc_dot_art_maker/textures/wool_colored_brown.png +0 -0
  388. data/lib/mc_dot_art_maker/textures/wool_colored_cyan.png +0 -0
  389. data/lib/mc_dot_art_maker/textures/wool_colored_gray.png +0 -0
  390. data/lib/mc_dot_art_maker/textures/wool_colored_green.png +0 -0
  391. data/lib/mc_dot_art_maker/textures/wool_colored_light_blue.png +0 -0
  392. data/lib/mc_dot_art_maker/textures/wool_colored_lime.png +0 -0
  393. data/lib/mc_dot_art_maker/textures/wool_colored_magenta.png +0 -0
  394. data/lib/mc_dot_art_maker/textures/wool_colored_orange.png +0 -0
  395. data/lib/mc_dot_art_maker/textures/wool_colored_pink.png +0 -0
  396. data/lib/mc_dot_art_maker/textures/wool_colored_purple.png +0 -0
  397. data/lib/mc_dot_art_maker/textures/wool_colored_red.png +0 -0
  398. data/lib/mc_dot_art_maker/textures/wool_colored_silver.png +0 -0
  399. data/lib/mc_dot_art_maker/textures/wool_colored_white.png +0 -0
  400. data/lib/mc_dot_art_maker/textures/wool_colored_yellow.png +0 -0
  401. data/lib/mc_dot_art_maker/utils.rb +23 -0
  402. data/mc_dot_art_maker.gemspec +18 -0
  403. data/test/palette.png +0 -0
  404. data/test/test_block_palette.rb +8 -0
  405. data/test/test_dither_method.rb +9 -0
  406. data/test/test_image.jpg +0 -0
  407. data/test/test_image_FloydSteinbergDitherMethod.png +0 -0
  408. data/test/test_image_NoDitherMethod.png +0 -0
  409. data/test/test_image_RiemersmaDitherMethod.png +0 -0
  410. metadata +409 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e647cb6b158caef77e8110159ad53ce75e900864
4
- data.tar.gz: ac662468729d8d20450fb1a9ebc97accccff5c03
3
+ metadata.gz: 12d8b03a232b53da9cef0598799a8b710cc8d11b
4
+ data.tar.gz: 4d25b4c6b405d9237df9219fde588940885014b4
5
5
  SHA512:
6
- metadata.gz: fcb70c06230775c89a86e437d93ad0bc9fd8225bae3c3163b96f20be9b920b5ab7914a013f200ae56cba94c9e6f170091e541e4325637c109f09dab6099dc8aa
7
- data.tar.gz: bab8eeed8c099ef7e05934eec31beb0f94bf89fc2f4a952e99e651ce1616e55b28154a5a59e367ca9a6ed819b5d7c136bab5f6a191114a7ad1b445905ed51670
6
+ metadata.gz: 40a26755f3562acbeac29773b552c1c2587bcf1a6028984f74df8a5b505572f9b96b1fb370fdaff61568f5d001d6eb219a187cc0931499d47f72936456eeb012
7
+ data.tar.gz: 05e8a2004ecd9cd659438b8fb982efae1ccc7006d000b7a8d15a0f3d9b60d4144d5372206bd1430a5a9c8a2bad25e8b34b48a2adb7b608b7fd26b1976a2eaa26
data/.gitignore ADDED
@@ -0,0 +1,40 @@
1
+ *.gem
2
+ *.rbc
3
+ *.DS_Store
4
+ /.config
5
+ /coverage/
6
+ /InstalledFiles
7
+ /pkg/
8
+ /spec/reports/
9
+ /spec/examples.txt
10
+ /test/tmp/
11
+ /test/version_tmp/
12
+ /tmp/
13
+
14
+
15
+
16
+
17
+ ## Specific to RubyMotion:
18
+ .dat*
19
+ .repl_history
20
+ build/
21
+
22
+ ## Documentation cache and generated files:
23
+ /.yardoc/
24
+ /_yardoc/
25
+ /doc/
26
+ /rdoc/
27
+
28
+ ## Environment normalization:
29
+ /.bundle/
30
+ /vendor/bundle
31
+ /lib/bundler/man/
32
+
33
+ # for a library or gem, you might want to ignore these files since the code is
34
+ # intended to run in multiple environments; otherwise, check them in:
35
+ # Gemfile.lock
36
+ # .ruby-version
37
+ # .ruby-gemset
38
+
39
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
40
+ .rvmrc
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+ gem 'color-rgb'
3
+ gem 'rmagick'
4
+ gem 'nbt_utils'
5
+ gem 'rspec'
6
+ # gem 'parallel'
data/Gemfile.lock ADDED
@@ -0,0 +1,34 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ bindata (1.8.3)
5
+ color-rgb (0.0.2)
6
+ diff-lcs (1.2.5)
7
+ nbt_utils (0.0.4)
8
+ bindata (~> 1.3)
9
+ rmagick (2.15.4)
10
+ rspec (3.4.0)
11
+ rspec-core (~> 3.4.0)
12
+ rspec-expectations (~> 3.4.0)
13
+ rspec-mocks (~> 3.4.0)
14
+ rspec-core (3.4.4)
15
+ rspec-support (~> 3.4.0)
16
+ rspec-expectations (3.4.0)
17
+ diff-lcs (>= 1.2.0, < 2.0)
18
+ rspec-support (~> 3.4.0)
19
+ rspec-mocks (3.4.1)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.4.0)
22
+ rspec-support (3.4.1)
23
+
24
+ PLATFORMS
25
+ ruby
26
+
27
+ DEPENDENCIES
28
+ color-rgb
29
+ nbt_utils
30
+ rmagick
31
+ rspec
32
+
33
+ BUNDLED WITH
34
+ 1.11.2
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Kumassy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1 @@
1
+ # MCDotArtMaker
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,9 @@
1
+ require_relative '../../lib/mc_dot_art_maker'
2
+
3
+ Dir::entries("src").reject{|e| e[0]=='.'}.each do |entry|
4
+ table = MCDotArtMaker::Table.new("src/#{entry}")
5
+ base = entry.split('.').first
6
+ table.texture_image.write "output/texture/#{base}.png"
7
+ table.mosaic_image.write "output/mosaic/#{base}.png"
8
+ table.write_schematic "output/schematic/#{base}.schematic"
9
+ end
@@ -0,0 +1,60 @@
1
+ module Color
2
+ class RGB
3
+ def ==(other)
4
+ @r == other.r && @g == other.g && @b == other.b
5
+ end
6
+ def eql?(other)
7
+ @r.eql?(other.r) && @g.eql?(other.g) && @b.eql?(other.b)
8
+ end
9
+ def hash
10
+ code = 17
11
+ code = 37*code + @r.hash
12
+ code = 37*code + @g.hash
13
+ code = 37*code + @b.hash
14
+ code
15
+ end
16
+ end
17
+ end
18
+
19
+ module MCDotArtMaker
20
+ TEXTURE_SIZE = 16
21
+ class Block
22
+ attr_reader :name,:id,:data,:texture,:color
23
+ # - name - ブロック名 e.g. :orange_wool
24
+ # - id - id e.g. 35
25
+ # - data - data e.g. 1
26
+ # - texture - ブロックのテクスチャ
27
+ # - color - テクスチャの平均色
28
+ def initialize(n,i,d,r,g,b,tx)
29
+ @name = n
30
+ @id = i
31
+ @data = d
32
+ @color = Color::RGB.new(r, g, b)
33
+ @texture = tx.resize(TEXTURE_SIZE,TEXTURE_SIZE)
34
+ end
35
+ def to_lab
36
+ @color.to_lab
37
+ end
38
+ def to_rmagic_color
39
+ # p "calc color :#{@color.r} #{@color.g} #{@color.b}"
40
+ Magick::Pixel.new(@color.r*256, @color.g*256, @color.b*256)
41
+ end
42
+
43
+ def hash
44
+ code = 17
45
+ code = 37*code + @name.hash
46
+ code = 37*code + @id.hash
47
+ code = 37*code + @data.hash
48
+ code = 37*code + @texture.hash
49
+ code = 37*code + @color.hash
50
+ code
51
+ end
52
+ def eql?(other)
53
+ @name.eql?(other.name) &&
54
+ @id.eql?(other.id) &&
55
+ @data.eql?(other.data) &&
56
+ @texture.eql?(other.texture) &&
57
+ @color.eql?(other.color)
58
+ end
59
+ end
60
+ end