Advertisement
Guest User

AbyssAPI reworked

a guest
Nov 18th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Necronomicons
  2. var Necronomicons = {    
  3. //CONTAINERS
  4. Books:[],
  5. connections: [{x: 3, z: 0}, {x: -3, z: 0}, {x: 0, z: 3}, {x: 0, z: -3},{x: 2, z: 2}, {x: -2, z: 2}, {x: 2, z: -2}, {x: -2, z: -2}],
  6.  
  7. //REGISTRATION
  8. setUpAsNecronomicon:function(params){
  9. if(!params.id)  
  10. return Logger.LogError("{setUpAsNecronomicon} params.id должен быть строкой", "Necronomicons");
  11. if(!params.name)  
  12. return Logger.LogError("{setUpAsNecronomicon} params.name должен быть строкой", "Necronomicons");
  13. if(!params.texture)  
  14. return Logger.LogError("{setUpAsNecronomicon} params.name должен быть строкой", "Necronomicons");            
  15. if(!params.maxPE)  
  16. return Logger.LogError("{setUpAsNecronomicon} params.maxPE должен быть числом", "Necronomicons");
  17. if(!params.PEvalue)  
  18. return Logger.LogError("{setUpAsNecronomicon} params.maxPE должен быть числом", "Necronomicons");
  19. if(!params.tier)  
  20. return Logger.LogError("{setUpAsNecronomicon} params.tier должен быть числом", "Necronomicons");
  21. if(!params.isChragable)  
  22. return Logger.LogError("{setUpAsNecronomicon} params.isChragable должен присутсвовать", "Necronomicons");
  23. Books.push(params);
  24. },      
  25. setUpNecronomicons:function(){
  26.    var Books = this.Books;
  27.      for(var i in Books){
  28.        var Book = Book[i];  
  29.          IDRegistry.genItemID(Book.id);
  30.            Item.createItem(Book.id, Book.name, Book.texture,{isTech:false,stack:1});
  31.              Item.setMaxDamage(Book.id, Book.maxPE + 1);  
  32.         }
  33. },
  34.      
  35. //NRG
  36. addPEToStorage:function(ni,value){
  37. this.decreasePEFromItem(ni, value);
  38.  
  39.  
  40.    
  41. },
  42. getBookData:function(idb){    
  43.    for(var t in this.Books){
  44.      if(this.Books[t].id == idb){  
  45.        return this.Books[t];
  46.         }
  47.    }
  48. },
  49. getPEFromItem:function(item){
  50.    var data = this.getBookData(item);
  51.      if(!data){
  52.        return 0;
  53.         }
  54.        return Math.min(data.maxPE - item.data, data.PEvalue);
  55. },
  56. decreasePEFromItem: function(item, count){    
  57.    if(this.getPEFromItem(item) != 0 && this.getPEFromItem(item) >= count){
  58.        return this.getItemData(item.id).PEvalue - count;
  59.         }
  60. },  
  61. //STRUCTURE
  62. getStructure:function(altar, block, coords){
  63.    var connections = this.connections;
  64.      for(var i in connections){
  65.        var connect = connections[i];
  66.          if(World.getBlock(coords.x + connect.x, coords.y, coords.z + connect.z).id == block){
  67.           World.destroyBlock(coords.x + connect.x, coords.y, coords.z + connect.z, false);    
  68.            World.setBlock(coords.x + connect.x, coords.y, coords.z + connect.z, altar, 0);
  69.       }else{
  70.            Game.message("Structure or check code is invalid please rebuild structure");
  71.             }
  72.         }
  73. },
  74. connectToAltar:function(altar,ni){
  75.    Item.registerUseFunction(ni, function(coords, item, block){
  76.      if(World.getBlockID() == altar){
  77.           //addPEToStorage(altar,pe);    
  78.         }
  79.    });    
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement