Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Necronomicons = {
- //CONTAINERS
- Books:[],
- 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}],
- //REGISTRATION
- setUpAsNecronomicon:function(params){
- if(!params.id)
- return Logger.LogError("{setUpAsNecronomicon} params.id должен быть строкой", "Necronomicons");
- if(!params.name)
- return Logger.LogError("{setUpAsNecronomicon} params.name должен быть строкой", "Necronomicons");
- if(!params.texture)
- return Logger.LogError("{setUpAsNecronomicon} params.name должен быть строкой", "Necronomicons");
- if(!params.maxPE)
- return Logger.LogError("{setUpAsNecronomicon} params.maxPE должен быть числом", "Necronomicons");
- if(!params.PEvalue)
- return Logger.LogError("{setUpAsNecronomicon} params.maxPE должен быть числом", "Necronomicons");
- if(!params.tier)
- return Logger.LogError("{setUpAsNecronomicon} params.tier должен быть числом", "Necronomicons");
- if(!params.isChragable)
- return Logger.LogError("{setUpAsNecronomicon} params.isChragable должен присутсвовать", "Necronomicons");
- Books.push(params);
- },
- setUpNecronomicons:function(){
- var Books = this.Books;
- for(var i in Books){
- var Book = Book[i];
- IDRegistry.genItemID(Book.id);
- Item.createItem(Book.id, Book.name, Book.texture,{isTech:false,stack:1});
- Item.setMaxDamage(Book.id, Book.maxPE + 1);
- }
- },
- //NRG
- addPEToStorage:function(ni,value){
- this.decreasePEFromItem(ni, value);
- },
- getBookData:function(idb){
- for(var t in this.Books){
- if(this.Books[t].id == idb){
- return this.Books[t];
- }
- }
- },
- getPEFromItem:function(item){
- var data = this.getBookData(item);
- if(!data){
- return 0;
- }
- return Math.min(data.maxPE - item.data, data.PEvalue);
- },
- decreasePEFromItem: function(item, count){
- if(this.getPEFromItem(item) != 0 && this.getPEFromItem(item) >= count){
- return this.getItemData(item.id).PEvalue - count;
- }
- },
- //STRUCTURE
- getStructure:function(altar, block, coords){
- var connections = this.connections;
- for(var i in connections){
- var connect = connections[i];
- if(World.getBlock(coords.x + connect.x, coords.y, coords.z + connect.z).id == block){
- World.destroyBlock(coords.x + connect.x, coords.y, coords.z + connect.z, false);
- World.setBlock(coords.x + connect.x, coords.y, coords.z + connect.z, altar, 0);
- }else{
- Game.message("Structure or check code is invalid please rebuild structure");
- }
- }
- },
- connectToAltar:function(altar,ni){
- Item.registerUseFunction(ni, function(coords, item, block){
- var coords = coords.relative;
- if(World.getBlockID(coords.x,coords.y,coords.z) == altar){
- //addPEToStorage(altar,pe);
- }
- });
- }
- }
- Callback.addCallback("PostLoaded", function(){
- Necronomicons.setUpNecronomicons();
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement