# Calculate local variables
- include_tasks: calc_vars.yml

- name: Check for Minetest world file ({{ minetest_world_dir }}/world.mt)
  stat:
    path: "{{ minetest_world_dir }}/world.mt"
  register: minetest_world

- name: mkdir /library/games
  file:
    state: directory
    path: /library/games
    # owner: root
    # group: root
    # mode: '0755'

# rpi only
- include_tasks: rpi_minetest_install.yml
  when: not minetest_world.stat.exists and is_raspbian

# not rpi
- include_tasks: minetest_install.yml
  when: not minetest_world.stat.exists and not is_raspbian

- git:
    repo: https://github.com/Calinou/carbone-ng.git
    dest: "{{ minetest_game_dir }}"
    depth: 1
  when: not minetest_world.stat.exists and minetest_default_game == "carbone-ng"

- name: Give Minetest user ownership of carbone-ng
  file:
    state: directory
    path: "{{ minetest_game_dir }}"
    recurse: yes
    owner: "{{ minetest_runas_user }}"
    group: "{{ minetest_runas_group }}"
    # mode: 0755
  when: minetest_default_game == "carbone-ng"

# Install games
#- include: minetest_install_games.yml
#  with_items:
#    - name: carbone-ng
#      url: https://github.com/Calinou/carbone-ng

# Install mods
- include: minetest_install_mods.yml
  with_items:
    - name: moreblocks
      url: https://github.com/minetest-mods/moreblocks/archive/master.zip
    - name: moreores
      url: https://github.com/Calinou/moreores/archive/master.zip
    - name: basic_materials
      url: https://gitlab.com/VanessaE/basic_materials/-/archive/master/basic_materials-master.zip
    - name: mesecons
      url: https://github.com/minetest-mods/mesecons/archive/master.zip
    - name: digilines
      url: https://github.com/minetest-mods/digilines/archive/master.zip
    - name: pipeworks
      url: https://github.com/minetest-mods/pipeworks/archive/master.zip
    - name: Minetest-WorldEdit
      url: https://github.com/Uberi/Minetest-WorldEdit/archive/master.zip
  when: minetest_default_game == "minetest"

- name: Remove mod from carbone-ng that prevents our Admin name
  file:
    state: absent
    path: "{{ minetest_game_dir }}/mods/name_restrictions"
  when: minetest_default_game == "carbone-ng"


# RECORD Minetest AS INSTALLED

- name: "Set 'minetest_installed: True'"
  set_fact:
    minetest_installed: True

- name: "Add 'minetest_installed: True' to {{ iiab_state_file }}"
  lineinfile:
    path: "{{ iiab_state_file }}"    # /etc/iiab/iiab_state.yml
    regexp: '^minetest_installed'
    line: 'minetest_installed: True'
