herobrine.txt 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. event.load("block_break");
  2. //event.load("human_damage");
  3. event.load("entity_spawn");
  4. herobrines = set.new();
  5. msg.string("dev", "§bHerobrine §rloaded.");
  6. @main
  7. wait();
  8. if(event == "entity_spawn") {
  9. if(!entity.isHuman(entity)) {
  10. goto("main");
  11. }
  12. if(human.getName(entity) != "Herobrine") {
  13. goto("main");
  14. }
  15. if(set.contains(herobrines, entity)) {
  16. goto("main");
  17. }
  18. entity.remove(entity);
  19. goto("main");
  20. }
  21. if(event == "human_damage") {
  22. if(set.contains(herobrines, human)) {
  23. if(entity == null) {
  24. goto("main");
  25. }
  26. if(!isLiving(entity)) {
  27. goto("main");
  28. }
  29. living.damage(entity, 10, damage.get("thorns", human));
  30. }
  31. goto("main");
  32. }
  33. if(event == "block_break") {
  34. player_loc = entity.getLocation(player);
  35. world_name = world.getName(loc.getWorld(player_loc));
  36. if(!world.isSurvName(world_name)) {
  37. goto("main");
  38. }
  39. r = math.random(1, 15000);
  40. if(r == 1) {
  41. spawnHerobrine(player_loc);
  42. }
  43. goto("main");
  44. }
  45. goto("main");
  46. function spawnHerobrine(player_loc) {
  47. dist = math.random(4, 20);
  48. alpha = math.random(0, 360);
  49. alpha *= math.pi() / 180;
  50. x = math.round(math.sin(alpha) * dist) + 0.5;
  51. z = math.round(math.cos(alpha) * dist) + 0.5;
  52. hero_loc = loc.mod(player_loc, x, 0, z);
  53. y = 319;
  54. loc.setY(hero_loc, y);
  55. while(y > -64 && block.isAir(block.get(hero_loc))) {
  56. loc.setY(hero_loc, y);
  57. y--;
  58. }
  59. loc.addY(hero_loc, 1);
  60. ent = human.spawn(hero_loc, "Herobrine");
  61. human.setSkin(ent, "ewogICJ0aW1lc3RhbXAiIDogMTYyMjMwNDY0MjU3MSwKICAicHJvZmlsZUlkIiA6ICI0NWY3YTJlNjE3ODE0YjJjODAwODM5MmRmN2IzNWY0ZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJfSnVzdERvSXQiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTUyM2UxZjA2ZDhlMTM5OWMwNjhhYTU3NjhmMDUzMDI1N2FhYjIxYTM0ZTk1NTY5MzNlNjM0NTUxODY0MjVhNiIKICAgIH0KICB9Cn0=", "PAL4UKYIgCe3RwmxfT6p05DDqc0kW2HTvlNNRuP3npXyuL68Hifjtiuu6OiJ/IQ/YGsjKf3Ni219teFFBJqEUJNEskC7CWnJxHWRq/WkSNDJXVKvBW6JjOYN607HSlBhifn4ZAxasol0bqVRURVG+0BwDUHXIGy4LRSu10/SLhsAmvwKhwYJiQ1xgnerqfzeWmPQSDZOo30Fxo6jNRnJ7v0VBGR8awImOfVsKE3SuEeys47U5AqXrHIp88s36aGOsIa0Bs6NHutW/L6Wbg9BHGUs93NGnjP9jxXizhGITF45KBXNl7gXPPjMnK7/CGOTuxuABc+MVAptB4cHCksnfaSMexryluQuwzWzOJTX1NCMGlYFREDq4c3GgVWJ7Yo2xWOwcy+XZxJXNchQ5/vzA3dv+XdU4zcD93OOhuv9PDoUTlmQgLFQLFbxM6Bq6cSQg3Wybi7wO6jQzBIVpZaswrOo/wgHuXbDkA9rv5uONjQQbKHJQjVjgIrbbUpX3+Kh4MkgBEUztxNvbgbt5RK0knwtYhscKDyrP5AAwp9CX6JnmbKXIRVWtx6b3JNPYC9I6FtBCoGxo6OfHl3f/okncszIh+40Sif3IdMrW+H5g3MxMkn5eHP4nOHRL24izlLUM52gS/TUgpG0dJrG6XMOR3w6KqTxcT/4vyxwlmJ+iDg=");
  62. human.setAi(ent, 1);
  63. human.canMove(ent, true);
  64. living.setEquip(ent, slot.getHand(), item.create("IRON_SWORD", 1, null, null));
  65. set.add($herobrines, ent);
  66. }