'; return $ret; } function render_item_icon($name) { global $mtdata; if ($name) { $qty = null; $e = explode(' ', $name); if (count($e) > 1) { $name = $e[0]; $qty = $e[1]; } $data = get_item_image_data($name, 32); $ret = ''.$data['alt'].''; if ($qty) $ret .= '
'.$qty.'
'; if ($data['group']) $ret .= '
G
'; $ret .= '
'; } $ret = '
'.$ret.'
'; return $ret; } function render_item($name) { global $mtdata; if ($name) { if ($groupname = is_group($name)) { $description = 'Group '.$groupname; $url = url_group($groupname); } else { $description = $mtdata['items'][$name]['description']; $url = url_item($name); } $ret = '
'.render_item_icon($name).'
'.$description.'
'; } return $ret; } function render_craft($craft) { switch($craft['type']) { case 'normal' : $display = 'craft'; $method = 'Crafting'; break; case 'shapeless' : $display = 'craft'; $method = 'Crafting (shapeless)'; break; case 'toolrepair' : $display = 'craft'; $method = 'Repairing'; break; case 'cooking' : $display = 'other'; $method = 'Cooking'; if ($craft['cooktime']) $method .= ' ('.$craft['cooktime'].' sec)'; break; case 'alloy' : $display = 'other'; $method = 'Alloying'; break; default : $display = 'other'; $method = $craft['type'].' (?)'; } $ret = '
'; if ($display == 'craft') { $ret .= '
'.render_item_icon($craft['inputs'][0]).' '.render_item_icon($craft['inputs'][1]).' '.render_item_icon($craft['inputs'][2]).'
'.render_item_icon($craft['inputs'][3]).' '.render_item_icon($craft['inputs'][4]).' '.render_item_icon($craft['inputs'][5]).'
'.render_item_icon($craft['inputs'][6]).' '.render_item_icon($craft['inputs'][7]).' '.render_item_icon($craft['inputs'][8]).'
'; } else { $ret .= ''; foreach ($craft['inputs'] as $item) { $ret .= ''; } $ret .= '
'.render_item_icon($item).'
'; } $ret.= '
'.$method.'
'.render_item_icon($craft['output']).'
'; return $ret; } function render_item_page($itemname) { global $mtdata; if (array_key_exists($itemname, $mtdata['items'])) { $item = $mtdata['items'][$itemname]; $ret = '[index]

'.$item['description'].'

'; $e = explode(':', $item['name']); $ret.= '
'.render_item_image($itemname).'
'.$item['description'].'
Item string'.$item['name'].'
Mod'.$e[0].'
Type'.$item['type'].'
Groups'; if (count($item['groups'])) { foreach ($item['groups'] as $group => $level) { $ret.= ''.$group.' ('.$level.')
'; } } else $ret.= "

None

"; $ret.= '

Craft recipies

'; if (count($item['crafts']) == 0) $ret.= '

None

'; else foreach ($item['crafts'] as $craft) { $ret.= '

'.render_craft($craft).'

'; } $ret.= '

Usages

'; if (count($item['usages']) == 0) $ret.= '

None

'; else foreach ($item['usages'] as $craft) { $ret.= '

'.render_craft($craft).'

'; } } else { $ret = '

Item '.$itemname.' not found !

'; } return $ret; } function render_group_page($groupname) { global $mtdata; if (array_key_exists($groupname, $mtdata['groups'])) { $group = $mtdata['groups'][$groupname]; $ret = '[index]

'; if ($group['item_image']) $ret.= render_item_icon('group:'.$groupname, 128).' '; $ret.= 'Group '.$groupname.'

Items in group

'; if (count($group['items']) == 0) $ret.= '

None

'; else foreach ($group['items'] as $itemname) { if ($mtdata['items'][$itemname]['description']) $ret.= render_item($itemname).' '; } $ret.= '

Usages

'; if (count($group['usages']) == 0) $ret.= '

None

'; else foreach ($group['usages'] as $craft) { $ret.= '

'.render_craft($craft).'

'; } } else { $ret = '

Group '.$groupname.' not found !

'; } return $ret; } function render_item_index() { global $mtdata; $ret = "

Item index

"; foreach ($mtdata['items'] as $name => $item){ if ($item['description'] && $name != 'air' && !array_key_exists('not_in_creative_inventory', $item['groups'])) { $ret.= render_item($name); } } return $ret; } $q=$_GET["q"]; $type=$_GET["type"]; // If a group is asked instead of an item, change to group page if ($type == 'item' && substr($q, 0, 6) == 'group:') { $type == 'group'; $q = substr($q, 7); } $starttime = new DateTime(); echo ' '; switch ($type) { case 'item': echo render_item_page($q); break; case 'group': echo render_group_page($q); break; case 'test': echo mytest(); break; default: echo render_item_index(); } $endtime = new DateTime( ); $diff = $starttime->diff( $endtime ); echo "Elapsed time ".$diff->format( '%H:%I:%S' ); echo ''; ?>