30 lines
		
	
	
		
			740 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			740 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| function tlen(T)
 | |
|     local count = 0
 | |
|     for _ in pairs(T) do count = count + 1 end
 | |
|     return count
 | |
| end
 | |
| 
 | |
| function copyPrototype(type, name, newName)
 | |
|     if not data.raw[type][name] then
 | |
|         error("type " .. type .. " " .. name .. " doesn't exist")
 | |
|     end
 | |
|     local p = table.deepcopy(data.raw[type][name])
 | |
|     p.name = newName
 | |
|     if p.minable and p.minable.result then
 | |
|         p.minable.result = newName
 | |
|     end
 | |
|     if p.place_result then
 | |
|         p.place_result = newName
 | |
|     end
 | |
|     if p.result then
 | |
|         p.result = newName
 | |
|     end
 | |
|     if p.results then
 | |
|         for _, result in pairs(p.results) do
 | |
|             if result.name == name then
 | |
|                 result.name = newName
 | |
|             end
 | |
|         end
 | |
|     end
 | |
|     return p
 | |
| end |