clock.txt 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. msg("dev", "§bclock §rwurde geladen.");
  2. list.new("clock0");
  3. list.add(clock0, "0:0");
  4. list.add(clock0, "0:1");
  5. list.add(clock0, "0:2");
  6. list.add(clock0, "0:3");
  7. list.add(clock0, "0:4");
  8. list.new("clocktype0");
  9. list.add(clocktype0, "STONEBRICK");
  10. list.add(clocktype0, "STONEBRICK");
  11. list.add(clocktype0, "STONEBRICK");
  12. list.add(clocktype0, "STONEBRICK");
  13. list.add(clocktype0, "STONEBRICK");
  14. list.new("clock1");
  15. list.add(clock1, "0:0");
  16. list.add(clock1, "0:1");
  17. list.add(clock1, "0:2");
  18. list.add(clock1, "1:2");
  19. list.add(clock1, "1:3");
  20. list.add(clock1, "1:4");
  21. list.new("clocktype1");
  22. list.add(clocktype1, "STONEBRICK");
  23. list.add(clocktype1, "STONEBRICK");
  24. list.add(clocktype1, "STONE_BRICK_STAIRS:1");
  25. list.add(clocktype1, "STONE_BRICK_STAIRS:4");
  26. list.add(clocktype1, "STONEBRICK");
  27. list.add(clocktype1, "STONE_BRICK_STAIRS:1");
  28. list.new("clock2");
  29. list.add(clock2, "0:0");
  30. list.add(clock2, "1:0");
  31. list.add(clock2, "2:0");
  32. list.add(clock2, "1:1");
  33. list.add(clock2, "2:1");
  34. list.add(clock2, "3:1");
  35. list.add(clock2, "4:1");
  36. list.add(clock2, "4:2");
  37. list.new("clocktype2");
  38. list.add(clocktype2, "STONEBRICK");
  39. list.add(clocktype2, "STONEBRICK");
  40. list.add(clocktype2, "STONE_SLAB:13");
  41. list.add(clocktype2, "STONE_SLAB:5");
  42. list.add(clocktype2, "STONE_BRICK_STAIRS:1");
  43. list.add(clocktype2, "STONEBRICK");
  44. list.add(clocktype2, "STONE_BRICK_STAIRS:4");
  45. list.add(clocktype2, "STONE_SLAB:5");
  46. list.new("clock3");
  47. list.add(clock3, "0:0");
  48. list.add(clock3, "1:0");
  49. list.add(clock3, "2:0");
  50. list.add(clock3, "3:0");
  51. list.add(clock3, "4:0");
  52. list.new("clocktype3");
  53. list.add(clocktype3, "STONEBRICK");
  54. list.add(clocktype3, "STONEBRICK");
  55. list.add(clocktype3, "STONEBRICK");
  56. list.add(clocktype3, "STONEBRICK");
  57. list.add(clocktype3, "STONEBRICK");
  58. list.new("clock4");
  59. list.add(clock4, "0:0");
  60. list.add(clock4, "1:0");
  61. list.add(clock4, "2:0");
  62. list.add(clock4, "1:-1");
  63. list.add(clock4, "2:-1");
  64. list.add(clock4, "3:-1");
  65. list.add(clock4, "4:-1");
  66. list.add(clock4, "4:-2");
  67. list.new("clocktype4");
  68. list.add(clocktype4, "STONEBRICK");
  69. list.add(clocktype4, "STONEBRICK");
  70. list.add(clocktype4, "STONE_SLAB:5");
  71. list.add(clocktype4, "STONE_SLAB:13");
  72. list.add(clocktype4, "STONE_BRICK_STAIRS:5");
  73. list.add(clocktype4, "STONEBRICK");
  74. list.add(clocktype4, "STONE_BRICK_STAIRS");
  75. list.add(clocktype4, "STONE_SLAB:13");
  76. list.new("clock5");
  77. list.add(clock5, "0:0");
  78. list.add(clock5, "0:-1");
  79. list.add(clock5, "0:-2");
  80. list.add(clock5, "1:-2");
  81. list.add(clock5, "1:-3");
  82. list.add(clock5, "1:-4");
  83. list.new("clocktype5");
  84. list.add(clocktype5, "STONEBRICK");
  85. list.add(clocktype5, "STONEBRICK");
  86. list.add(clocktype5, "STONE_BRICK_STAIRS:5");
  87. list.add(clocktype5, "STONE_BRICK_STAIRS");
  88. list.add(clocktype5, "STONEBRICK");
  89. list.add(clocktype5, "STONE_BRICK_STAIRS:5");
  90. list.new("clock6");
  91. list.add(clock6, "0:0");
  92. list.add(clock6, "0:-1");
  93. list.add(clock6, "0:-2");
  94. list.add(clock6, "0:-3");
  95. list.add(clock6, "0:-4");
  96. list.new("clocktype6");
  97. list.add(clocktype6, "STONEBRICK");
  98. list.add(clocktype6, "STONEBRICK");
  99. list.add(clocktype6, "STONEBRICK");
  100. list.add(clocktype6, "STONEBRICK");
  101. list.add(clocktype6, "STONEBRICK");
  102. list.new("clock7");
  103. list.add(clock7, "0:0");
  104. list.add(clock7, "0:-1");
  105. list.add(clock7, "0:-2");
  106. list.add(clock7, "-1:-2");
  107. list.add(clock7, "-1:-3");
  108. list.add(clock7, "-1:-4");
  109. list.new("clocktype7");
  110. list.add(clocktype7, "STONEBRICK");
  111. list.add(clocktype7, "STONEBRICK");
  112. list.add(clocktype7, "STONE_BRICK_STAIRS:4");
  113. list.add(clocktype7, "STONE_BRICK_STAIRS:1");
  114. list.add(clocktype7, "STONEBRICK");
  115. list.add(clocktype7, "STONE_BRICK_STAIRS:4");
  116. list.new("clock8");
  117. list.add(clock8, "0:0");
  118. list.add(clock8, "-1:0");
  119. list.add(clock8, "-2:0");
  120. list.add(clock8, "-1:-1");
  121. list.add(clock8, "-2:-1");
  122. list.add(clock8, "-3:-1");
  123. list.add(clock8, "-4:-1");
  124. list.add(clock8, "-4:-2");
  125. list.new("clocktype8");
  126. list.add(clocktype8, "STONEBRICK");
  127. list.add(clocktype8, "STONEBRICK");
  128. list.add(clocktype8, "STONE_SLAB:5");
  129. list.add(clocktype8, "STONE_SLAB:13");
  130. list.add(clocktype8, "STONE_BRICK_STAIRS:4");
  131. list.add(clocktype8, "STONEBRICK");
  132. list.add(clocktype8, "STONE_BRICK_STAIRS:1");
  133. list.add(clocktype8, "STONE_SLAB:13");
  134. list.new("clock9");
  135. list.add(clock9, "0:0");
  136. list.add(clock9, "-1:0");
  137. list.add(clock9, "-2:0");
  138. list.add(clock9, "-3:0");
  139. list.add(clock9, "-4:0");
  140. list.new("clocktype9");
  141. list.add(clocktype9, "STONEBRICK");
  142. list.add(clocktype9, "STONEBRICK");
  143. list.add(clocktype9, "STONEBRICK");
  144. list.add(clocktype9, "STONEBRICK");
  145. list.add(clocktype9, "STONEBRICK");
  146. list.new("clock10");
  147. list.add(clock10, "0:0");
  148. list.add(clock10, "-1:0");
  149. list.add(clock10, "-2:0");
  150. list.add(clock10, "-1:1");
  151. list.add(clock10, "-2:1");
  152. list.add(clock10, "-3:1");
  153. list.add(clock10, "-4:1");
  154. list.add(clock10, "-4:2");
  155. list.new("clocktype10");
  156. list.add(clocktype10, "STONEBRICK");
  157. list.add(clocktype10, "STONEBRICK");
  158. list.add(clocktype10, "STONE_BRICK_STAIRS:5");
  159. list.add(clocktype10, "STONE_SLAB:5");
  160. list.add(clocktype10, "STONE_BRICK_STAIRS");
  161. list.add(clocktype10, "STONEBRICK");
  162. list.add(clocktype10, "STONE_BRICK_STAIRS:5");
  163. list.add(clocktype10, "STONE_SLAB:5");
  164. list.new("clock11");
  165. list.add(clock11, "0:0");
  166. list.add(clock11, "0:1");
  167. list.add(clock11, "0:2");
  168. list.add(clock11, "-1:2");
  169. list.add(clock11, "-1:3");
  170. list.add(clock11, "-1:4");
  171. list.new("clocktype11");
  172. list.add(clocktype11, "STONEBRICK");
  173. list.add(clocktype11, "STONEBRICK");
  174. list.add(clocktype11, "STONE_BRICK_STAIRS");
  175. list.add(clocktype11, "STONE_BRICK_STAIRS:5");
  176. list.add(clocktype11, "STONEBRICK");
  177. list.add(clocktype11, "STONE_BRICK_STAIRS");
  178. list.new("middleloc");
  179. list.add(middleloc, read.location("rpg:13265:133:-7552")); //süden
  180. list.add(middleloc, read.location("rpg:13265:133:-7568")); //norden
  181. list.add(middleloc, read.location("rpg:13257:133:-7560")); //westen
  182. list.add(middleloc, read.location("rpg:13273:133:-7560")); //osten
  183. map.new("northsouth");
  184. map.add(northsouth, 0, 1);
  185. map.add(northsouth, 1, 0);
  186. map.add(northsouth, 4, 5);
  187. map.add(northsouth, 5, 4);
  188. map.new("northeast");
  189. map.add(northeast, 0, 2);
  190. map.add(northeast, 1, 3);
  191. map.add(northeast, 4, 6);
  192. map.add(northeast, 5, 7);
  193. map.new("northwest");
  194. map.add(northwest, 0, 3);
  195. map.add(northwest, 1, 2);
  196. map.add(northwest, 4, 7);
  197. map.add(northwest, 5, 6);
  198. air = read.item("AIR");
  199. worldtime = loc.getTime(list.getIndex(middleloc, 0));
  200. while(worldtime >= 24000) {
  201. worldtime -= 24000;
  202. reset();
  203. }
  204. hour = math.roundDown(worldtime / 1000);
  205. while(hour >= 24) {
  206. hour -= 24;
  207. reset();
  208. }
  209. difftime2 = 24000 - worldtime;
  210. difftime1 = 24000 - ((hour + 1) * 1000);
  211. difftime = difftime2 - difftime1;
  212. @updateclock
  213. i = -1;
  214. while(inc("i") < list.getSize(middleloc)) {
  215. loc = list.getIndex(middleloc, i);
  216. h = -5;
  217. while(h < 5) {
  218. v = -5;
  219. while(v < 5) {
  220. if(i < 2) {
  221. block.set(loc.mod(loc, h, v, 0), air);
  222. } else {
  223. block.set(loc.mod(loc, 0, v, h), air);
  224. }
  225. reset();
  226. inc("v");
  227. }
  228. inc("h");
  229. }
  230. }
  231. worldtime = loc.getTime(list.getIndex(middleloc, 0));
  232. while(worldtime >= 24000) {
  233. worldtime -= 24000;
  234. reset();
  235. }
  236. hour = math.roundDown(worldtime / 1000) + 6;
  237. while(hour >= 12) {
  238. hour -= 12;
  239. reset();
  240. }
  241. list1 = getVar(concat("clock", hour));
  242. list2 = getVar(concat("clocktype", hour));
  243. hfactor = 1;
  244. i = -1;
  245. while(inc("i") < list.getSize(middleloc)) {
  246. loc = list.getIndex(middleloc, i);
  247. j = -1;
  248. while(inc("j") < list.getSize(list1)) {
  249. text.split("splitlist1", ":", list.getIndex(list1, j));
  250. h = list.getIndex(splitlist1, 0) * hfactor;
  251. v = list.getIndex(splitlist1, 1);
  252. text.split("splitlist2", ":", list.getIndex(list2, j));
  253. type = list.getIndex(splitlist2, 0);
  254. if(list.getSize(splitlist2) > 1) {
  255. value = list.getIndex(splitlist2, 1);
  256. } else {
  257. value = 0;
  258. }
  259. if(i == 0) { //süden
  260. if(type == "STONE_BRICK_STAIRS") {
  261. value = map.get(northsouth, value);
  262. }
  263. block.set(loc.mod(loc, h, v, 0), read.item(concat(type, ":", value)));
  264. }
  265. if(i == 1) { //norden
  266. block.set(loc.mod(loc, h, v, 0), read.item(concat(type, ":", value)));
  267. }
  268. if(i == 2) { //westen
  269. if(type == "STONE_BRICK_STAIRS") {
  270. value = map.get(northwest, value);
  271. }
  272. block.set(loc.mod(loc, 0, v, h), read.item(concat(type, ":", value)));
  273. }
  274. if(i == 3) { //osten
  275. if(type == "STONE_BRICK_STAIRS") {
  276. value = map.get(northeast, value);
  277. }
  278. block.set(loc.mod(loc, 0, v, h), read.item(concat(type, ":", value)));
  279. }
  280. reset();
  281. }
  282. if(hfactor == 1) {
  283. hfactor = -1;
  284. } else {
  285. hfactor = 1;
  286. }
  287. }
  288. if(difftime != null) {
  289. sgoto(difftime, "updateclock");
  290. difftime = null;
  291. } else {
  292. sgoto(1000, "updateclock");
  293. }
  294. @wait
  295. wait();
  296. goto("wait");