guides.lua 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. local modp = minetest.get_modpath("lottblocks")
  2. local function guide_on_use(itemstack, user)
  3. local player_name = user:get_player_name()
  4. local data = minetest.registered_items[itemstack:get_name()].text
  5. title = data.title
  6. text = data.text
  7. owner = data.owner
  8. background = data.background or "gui_elfbg.png"
  9. local formspec = "size[8,8]" ..
  10. "background[8,8;1,1;" .. background .. ";true]"..
  11. "label[0.5,0.5;by " .. owner .. "]" ..
  12. "label[0.4,0;" .. minetest.colorize("yellow", minetest.formspec_escape(title)) .. "]" ..
  13. "textarea[0.5,1.5;7.5,7;;" ..
  14. minetest.formspec_escape(text) .. ";]"
  15. minetest.show_formspec(player_name, "lottother:guide", formspec)
  16. end
  17. minetest.register_craftitem("lottblocks:palantir_guide", {
  18. description = "Palantir Guidebook",
  19. inventory_image = "default_book.png^[colorize:darkblue:100",
  20. groups = {book = 1, forbidden = 1},
  21. stack_max = 1,
  22. text = minetest.deserialize(dofile(modp.."/guide_text/palantir_guide.lua")),
  23. on_use = function(itemstack, user)
  24. guide_on_use(itemstack, user)
  25. end,
  26. })
  27. minetest.register_craft({
  28. type = "shapeless",
  29. output = "lottblocks:palantir_guide",
  30. recipe = {"default:book", "lottblocks:palantir"},
  31. replacements = {{"lottblocks:palantir", "lottblocks:palantir"}}
  32. })
  33. minetest.register_craftitem("lottblocks:ring_guide", {
  34. description = "Ring Guidebook Vol I",
  35. inventory_image = "default_book.png^[colorize:pink:100",
  36. groups = {book = 1, forbidden = 1},
  37. stack_max = 1,
  38. text = minetest.deserialize(dofile(modp.."/guide_text/ring_guide.lua")),
  39. on_use = function(itemstack, user)
  40. guide_on_use(itemstack, user)
  41. end,
  42. })
  43. minetest.register_craftitem("lottblocks:ring_guide_2", {
  44. description = "Ring Guidebook Vol II",
  45. inventory_image = "default_book.png^[colorize:pink:100",
  46. groups = {book = 1, forbidden = 1},
  47. stack_max = 1,
  48. text = minetest.deserialize(dofile(modp.."/guide_text/ring_guide_2.lua")),
  49. on_use = function(itemstack, user)
  50. guide_on_use(itemstack, user)
  51. end,
  52. })
  53. minetest.register_craftitem("lottblocks:deep_depths", {
  54. description = "Deep Depths",
  55. inventory_image = "default_book.png^[colorize:black:200",
  56. groups = {book = 1, forbidden = 1},
  57. stack_max = 1,
  58. text = minetest.deserialize(dofile(modp.."/guide_text/deep_depths.lua")),
  59. on_use = function(itemstack, user)
  60. guide_on_use(itemstack, user)
  61. end,
  62. })
  63. minetest.register_craftitem("lottblocks:farmer_handbook", {
  64. description = "Hobbit Farmer Essentials Vol I",
  65. inventory_image = "default_book.png^[colorize:green:100",
  66. groups = {book = 1, forbidden = 1},
  67. stack_max = 1,
  68. text = minetest.deserialize(dofile(modp.."/guide_text/farmer_handbook.lua")),
  69. on_use = function(itemstack, user)
  70. guide_on_use(itemstack, user)
  71. end,
  72. })
  73. minetest.register_craftitem("lottblocks:farmer_handbook_2", {
  74. description = "Hobbit Farmer Essentials Vol II",
  75. inventory_image = "default_book.png^[colorize:green:100",
  76. groups = {book = 1, forbidden = 1},
  77. stack_max = 1,
  78. text = minetest.deserialize(dofile(modp.."/guide_text/farmer_handbook_2.lua")),
  79. on_use = function(itemstack, user)
  80. guide_on_use(itemstack, user)
  81. end,
  82. })
  83. minetest.register_craftitem("lottblocks:miner_handbook", {
  84. description = "Dwarven Miner Handbook Vol I",
  85. inventory_image = "default_book.png^[colorize:grey:150",
  86. groups = {book = 1, forbidden = 1},
  87. stack_max = 1,
  88. text = minetest.deserialize(dofile(modp.."/guide_text/miner_handbook.lua")),
  89. on_use = function(itemstack, user)
  90. guide_on_use(itemstack, user)
  91. end,
  92. })
  93. minetest.register_craftitem("lottblocks:miner_handbook_2", {
  94. description = "Dwarven Miner Handbook Vol II",
  95. inventory_image = "default_book.png^[colorize:grey:150",
  96. groups = {book = 1, forbidden = 1},
  97. stack_max = 1,
  98. text = minetest.deserialize(dofile(modp.."/guide_text/miner_handbook_2.lua")),
  99. on_use = function(itemstack, user)
  100. guide_on_use(itemstack, user)
  101. end,
  102. })
  103. minetest.register_craftitem("lottblocks:miner_handbook_3", {
  104. description = "Dwarven Miner Handbook Vol III",
  105. inventory_image = "default_book.png^[colorize:grey:150",
  106. groups = {book = 1, forbidden = 1},
  107. stack_max = 1,
  108. text = minetest.deserialize(dofile(modp.."/guide_text/miner_handbook_3.lua")),
  109. on_use = function(itemstack, user)
  110. guide_on_use(itemstack, user)
  111. end,
  112. })
  113. minetest.register_craftitem("lottblocks:explorer_guide", {
  114. description = "Explorers' Guide Vol I",
  115. inventory_image = "default_book.png^[colorize:red:100",
  116. groups = {book = 1, forbidden = 1},
  117. stack_max = 1,
  118. text = minetest.deserialize(dofile(modp.."/guide_text/explorer_guide.lua")),
  119. on_use = function(itemstack, user)
  120. guide_on_use(itemstack, user)
  121. end,
  122. })
  123. minetest.register_craftitem("lottblocks:explorer_guide_2", {
  124. description = "Explorers' Guide Vol II",
  125. inventory_image = "default_book.png^[colorize:red:100",
  126. groups = {book = 1, forbidden = 1},
  127. stack_max = 1,
  128. text = minetest.deserialize(dofile(modp.."/guide_text/explorer_guide_2.lua")),
  129. on_use = function(itemstack, user)
  130. guide_on_use(itemstack, user)
  131. end,
  132. })
  133. minetest.register_craftitem("lottblocks:explorer_guide_3", {
  134. description = "Explorers' Guide Vol III",
  135. inventory_image = "default_book.png^[colorize:red:100",
  136. groups = {book = 1, forbidden = 1},
  137. stack_max = 1,
  138. text = minetest.deserialize(dofile(modp.."/guide_text/explorer_guide_3.lua")),
  139. on_use = function(itemstack, user)
  140. guide_on_use(itemstack, user)
  141. end,
  142. })
  143. minetest.register_craftitem("lottblocks:brewing_guide", {
  144. description = "Art of Barrel Brewing",
  145. inventory_image = "default_book.png^[colorize:orange:150",
  146. groups = {book = 1, forbidden = 1},
  147. stack_max = 1,
  148. text = minetest.deserialize(dofile(modp.."/guide_text/brewing_guide.lua")),
  149. on_use = function(itemstack, user)
  150. guide_on_use(itemstack, user)
  151. end,
  152. })
  153. minetest.register_craftitem("lottblocks:brewing_guide_2", {
  154. description = "Art of Potion Brewing",
  155. inventory_image = "default_book.png^[colorize:orange:150",
  156. groups = {book = 1, forbidden = 1},
  157. stack_max = 1,
  158. text = minetest.deserialize(dofile(modp.."/guide_text/brewing_guide_2.lua")),
  159. on_use = function(itemstack, user)
  160. guide_on_use(itemstack, user)
  161. end,
  162. })