Compare commits
118 Commits
build-45
...
v0.4.0-rc1
| Author | SHA1 | Date | |
|---|---|---|---|
| c525feb465 | |||
| e7934a1ebb | |||
| 8fc10c07a1 | |||
| 0b645d77e9 | |||
| 56093b3a55 | |||
| 1261c30724 | |||
| a592ece6e3 | |||
| a47812aadd | |||
| 6f7b041c8b | |||
| dc36d67eb7 | |||
| d45629ae29 | |||
| 61aaa0bf35 | |||
| 9217f9a5cc | |||
| 46d2274c8d | |||
| 325119b726 | |||
| 0937ac9e05 | |||
| ead87343d2 | |||
| abf3d76fdb | |||
| e6a7000440 | |||
| cec7257ea1 | |||
| 503e6e29af | |||
| 675967ce42 | |||
| 632061d2ad | |||
| 56339b076e | |||
| c1a595b773 | |||
| 914f723d1f | |||
| d45d59df9f | |||
| cfae0c1253 | |||
| 53669887dd | |||
| 4c7c887917 | |||
| daa9ed7cbc | |||
| 1553976484 | |||
| 0c870c10d5 | |||
| eea1b3692e | |||
| cb73cb7ccc | |||
| 375fdf2d80 | |||
| 63aefc7621 | |||
| d410e2c92d | |||
| ab737e7390 | |||
| 3b470ddc8a | |||
| cbd6067e8f | |||
| cc48302b36 | |||
| 1f28f8361f | |||
| 10f24b5df8 | |||
| 293236490b | |||
| bf8551e1a8 | |||
| 3afebae6bd | |||
| 326817db9a | |||
| 8f5603847e | |||
| bd091e60df | |||
| 296a64ffaa | |||
| a41a4d17cf | |||
| 692ae77af7 | |||
| 19c53fda4c | |||
| aab3e784b8 | |||
| 8d5d0d1dd7 | |||
| 910f02ca92 | |||
| 4dddea2e8c | |||
| b0085cb3e8 | |||
| e9fbaba1d6 | |||
| bb931ab95c | |||
| d3378b37a2 | |||
| e70d7a667b | |||
| 6e2d661b39 | |||
| a7b8cb980a | |||
| ce76f20074 | |||
| e38ca0d9ab | |||
| e3ca3fbd8c | |||
| 44a023006d | |||
| f3985d5363 | |||
| 6b6293f353 | |||
| 932a8b7761 | |||
| 143d9b2858 | |||
| b377a5d8d2 | |||
| 9e1e0f5543 | |||
| 88f940546b | |||
| 0df225a2de | |||
| 26b258f00f | |||
| 952a10f360 | |||
| c775f31544 | |||
| c96676f3e5 | |||
| a7d400ea7e | |||
| 2689d933e7 | |||
| 966b52f9fc | |||
| d4adbb1e47 | |||
| e84a5e9fa7 | |||
| c4b72da3ff | |||
| ac866d64a0 | |||
| 5620347ffe | |||
| 4a3500fdc0 | |||
| dedb0213c7 | |||
| ad96018c0a | |||
| efb2f20e58 | |||
| 29b047abaf | |||
| 814f8c7e83 | |||
| f28e68db62 | |||
| 63972995a1 | |||
| 5ad6ea8ad9 | |||
| 657d8f16c6 | |||
| e7c00267b1 | |||
| 5f07027faa | |||
| 4761ae7d70 | |||
| afe320786d | |||
| 733dc07863 | |||
| 5860c5009f | |||
| cd3c4ed76d | |||
| 31d967b036 | |||
| 1a693763fd | |||
| 557346548a | |||
| 38e515dea9 | |||
| 57a5426e65 | |||
| ccc3e20902 | |||
| 5003376e70 | |||
| 29d43071b5 | |||
| 318a161a3d | |||
| 766b292aec | |||
| ab6b61db59 | |||
| 4d4e1682f5 |
@@ -4,3 +4,4 @@
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.hmod binary
|
||||
*.patch -text
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# На каждый пуш: только мод (.hmod, один для всех ОС) и релиз build-<номер> с ним.
|
||||
# Раннер живёт на одной машине с Gitea и другими сервисами (2 ядра, 4 ГБ): сборка мода лёгкая —
|
||||
# один поток компиляции, низший приоритет, без системных пакетов и без кэша target.
|
||||
# Игра-форк собирается отдельно и только вручную: game.yml (Linux) и desktop.yml (macOS/Windows).
|
||||
# Игра-форк здесь не собирается: только по тегу версии (release.yml, Windows) и вручную (game.yml Linux, desktop.yml macOS).
|
||||
name: build
|
||||
|
||||
on:
|
||||
@@ -20,6 +20,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Rust
|
||||
run: |
|
||||
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --target wasm32-unknown-unknown
|
||||
@@ -28,8 +30,20 @@ jobs:
|
||||
# падало по таймауту, а сохранение вешало «Complete job» на пару минут. Инструмент собирается заново.
|
||||
- name: Форк Horizon
|
||||
run: nice -n 19 python3 tools/airdef.py fork
|
||||
# Чистая симуляция тестируется нативно (хост-таргет раннера, без WASM): регрессии из sim/regress.rs
|
||||
# и сценарии tests/scenarios.rs (NaN, налёт кончается, ТЗМ не зависают). Нужен форк: SDK подключён путём.
|
||||
- name: Проверка закреплённого checkout
|
||||
run: python3 -m unittest discover -s tools -p test_engine_checkout.py
|
||||
- name: Проверка generated assets
|
||||
run: |
|
||||
python3 -m pip install --user -r tools/requirements.txt
|
||||
python3 tools/gen_catalog.py --check
|
||||
python3 -m unittest discover -s tools -p test_sound_catalog.py
|
||||
python3 tools/gen_models.py --check
|
||||
python3 -m unittest discover -s tools -p test_model_bounds.py
|
||||
- name: Тесты ядра без SDK
|
||||
working-directory: airdef-core
|
||||
run: |
|
||||
HOST=$(rustc -vV | sed -n 's/^host: //p')
|
||||
nice -n 19 cargo test --target "$HOST"
|
||||
- name: Тесты мода
|
||||
working-directory: airdef-mod
|
||||
run: |
|
||||
@@ -46,8 +60,10 @@ jobs:
|
||||
SHA: ${{ github.sha }}
|
||||
run: |
|
||||
set -e
|
||||
mkdir -p out && cp airdef-mod/target/horizon-mod/airdef.hmod out/airdef.hmod
|
||||
BODY=$(printf 'Сборка %s (%s).\n\n- airdef.hmod — мод, для всех ОС.\n\nИгра-форк Horizon (нужна для мода): собрать у себя — python3 tools/airdef.py all, или запустить вручную workflow game (Linux) / desktop (macOS, Windows) с этим тегом.\nКак запускать: docs/INSTALL.md.' "$TAG" "$SHA")
|
||||
mkdir -p out
|
||||
cp airdef-mod/target/horizon-mod/airdef.hmod out/airdef.hmod
|
||||
cp airdef-mod/target/horizon-mod/build-identity.json out/build-identity.json
|
||||
BODY=$(printf 'Сборка %s (%s).\n\n- airdef.hmod — мод, для всех ОС.\n\nИгра-форк Horizon (нужна для мода): собрать у себя — python3 tools/airdef.py all, или скачать из большого релиза v* (Windows), или запустить вручную workflow game (Linux) / desktop (macOS) с этим тегом.\nКак запускать: docs/INSTALL.md.' "$TAG" "$SHA")
|
||||
DATA=$(BODY="$BODY" python3 -c 'import json,os;print(json.dumps({"tag_name":os.environ["TAG"],"target_commitish":os.environ["SHA"],"name":os.environ["TAG"],"body":os.environ["BODY"]}))')
|
||||
if [ -z "$TOKEN" ]; then echo "::error::нет токена: добавь секрет RELEASE_TOKEN"; exit 1; fi
|
||||
CODE=$(curl -sS -o release.json -w '%{http_code}' -X POST -H "Authorization: token $TOKEN" -H "Content-Type: application/json" "$API/releases" -d "$DATA")
|
||||
@@ -57,3 +73,4 @@ jobs:
|
||||
fi
|
||||
ID=$(python3 -c 'import json;print(json.load(open("release.json"))["id"])')
|
||||
curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@out/airdef.hmod" "$API/releases/$ID/assets?name=airdef.hmod" > /dev/null
|
||||
curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@out/build-identity.json" "$API/releases/$ID/assets?name=build-identity.json" > /dev/null
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Сборки игры-форка для macOS и Windows: запускаются вручную (Actions → desktop → Run workflow)
|
||||
# с тегом готового релиза (build-N) и дописывают свои архивы в него. Нужны раннеры с метками
|
||||
# macos-latest / windows-latest (например, act_runner в режиме host на своём Маке или ПК).
|
||||
# Сборка игры-форка для macOS: запускается вручную (Actions → desktop → Run workflow) с тегом готового
|
||||
# релиза (build-N) и дописывает свой архив в него. Нужен раннер с меткой macos-latest (например, act_runner
|
||||
# в режиме host на своём Маке). Windows собирается на сервере по тегу версии: release.yml.
|
||||
name: desktop
|
||||
|
||||
on:
|
||||
@@ -9,17 +9,12 @@ on:
|
||||
tag:
|
||||
description: Тег релиза, например build-3
|
||||
required: true
|
||||
os:
|
||||
description: macos, windows или both
|
||||
required: true
|
||||
default: both
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: never
|
||||
|
||||
jobs:
|
||||
game-macos:
|
||||
if: inputs.os == 'macos' || inputs.os == 'both'
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Проверка релиза
|
||||
@@ -46,6 +41,7 @@ jobs:
|
||||
PY
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
ref: refs/tags/${{ inputs.tag }}
|
||||
- name: Проверка коммита
|
||||
env:
|
||||
@@ -74,6 +70,10 @@ jobs:
|
||||
D=airdef-macos-arm64
|
||||
mkdir -p "$D"
|
||||
cp horizon/target/fast/horizon-client horizon/target/fast/horizon-ctl out/airdef.hmod dist/play.sh docs/INSTALL.md "$D/"
|
||||
cp airdef-mod/target/horizon-mod/build-identity.json "$D/"
|
||||
cp -R docs/licenses "$D/"
|
||||
cp horizon/THIRD_PARTY_NOTICES.md "$D/licenses/HORIZON-THIRD-PARTY-NOTICES.md"
|
||||
cp horizon/crates/horizon-client/src/acoustics/THIRD_PARTY_SPR.md "$D/licenses/THIRD_PARTY_SPR.md"
|
||||
tar czf "out/$D.tar.gz" "$D"
|
||||
- name: В релиз
|
||||
env:
|
||||
@@ -83,70 +83,3 @@ jobs:
|
||||
set -e
|
||||
# RELEASE_ID взят в шаге «Проверка релиза» (релиз build-N, созданный build.yml)
|
||||
curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@out/airdef-macos-arm64.tar.gz" "$API/releases/$RELEASE_ID/assets?name=airdef-macos-arm64.tar.gz" > /dev/null
|
||||
|
||||
game-windows:
|
||||
if: inputs.os == 'windows' || inputs.os == 'both'
|
||||
runs-on: windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
steps:
|
||||
- name: Проверка релиза
|
||||
env:
|
||||
TOKEN: ${{ secrets.RELEASE_TOKEN || gitea.token }}
|
||||
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
|
||||
TAG: ${{ inputs.tag }}
|
||||
run: |
|
||||
$ErrorActionPreference = 'Stop'
|
||||
if ($env:TAG -notmatch '^build-\d+$') { Write-Output "::error::тег '$env:TAG' не похож на build-N"; exit 1 }
|
||||
$h = @{ Authorization = "token $env:TOKEN" }
|
||||
try { $r = Invoke-RestMethod -Headers $h "$env:API/releases/tags/$env:TAG" }
|
||||
catch { Write-Output "::error::релиза с тегом $env:TAG нет: сначала дождись сборки build.yml на main"; exit 1 }
|
||||
$assets = @($r.assets | ForEach-Object { $_.name })
|
||||
if ($r.tag_name -ne $env:TAG -or $r.name -ne $env:TAG -or ($assets -notcontains 'airdef.hmod')) {
|
||||
Write-Output "::error::релиз $env:TAG не создан build.yml (нужны имя = тег и вложение airdef.hmod): чужой релиз не трогаем"; exit 1
|
||||
}
|
||||
"RELEASE_ID=$($r.id)" | Out-File -Append -Encoding utf8 $env:GITHUB_ENV
|
||||
"RELEASE_SHA=$($r.target_commitish)" | Out-File -Append -Encoding utf8 $env:GITHUB_ENV
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: refs/tags/${{ inputs.tag }}
|
||||
- name: Проверка коммита
|
||||
env:
|
||||
TAG: ${{ inputs.tag }}
|
||||
run: |
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$head = git rev-parse HEAD
|
||||
if ($env:RELEASE_SHA -match '^[0-9a-f]{40}$' -and $head -ne $env:RELEASE_SHA) { Write-Output "::error::тег $env:TAG указывает на $head, а релиз создан из $env:RELEASE_SHA"; exit 1 }
|
||||
Write-Output "собираю $env:TAG = $head"
|
||||
- name: Rust
|
||||
run: |
|
||||
if (-not (Get-Command cargo -ErrorAction SilentlyContinue)) {
|
||||
Invoke-WebRequest https://win.rustup.rs/x86_64 -OutFile rustup-init.exe
|
||||
.\rustup-init.exe -y --profile minimal
|
||||
}
|
||||
"$env:USERPROFILE\.cargo\bin" | Out-File -Append -Encoding utf8 $env:GITHUB_PATH
|
||||
- name: Форк Horizon
|
||||
run: python tools/airdef.py fork
|
||||
- name: Игра
|
||||
run: python tools/airdef.py game
|
||||
- name: Мод
|
||||
run: |
|
||||
rustup target add wasm32-unknown-unknown
|
||||
python tools/airdef.py mod
|
||||
New-Item -ItemType Directory -Force out | Out-Null
|
||||
Copy-Item airdef-mod\target\horizon-mod\airdef.hmod out\
|
||||
- name: Архив
|
||||
run: |
|
||||
$D = "airdef-windows-x86_64"
|
||||
New-Item -ItemType Directory -Force $D | Out-Null
|
||||
Copy-Item horizon\target\fast\horizon-client.exe, horizon\target\fast\horizon-ctl.exe, out\airdef.hmod, dist\play.bat, docs\INSTALL.md $D
|
||||
Compress-Archive -Path $D -DestinationPath "out\$D.zip" -Force
|
||||
- name: В релиз
|
||||
env:
|
||||
TOKEN: ${{ secrets.RELEASE_TOKEN || gitea.token }}
|
||||
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
|
||||
run: |
|
||||
# RELEASE_ID взят в шаге «Проверка релиза» (релиз build-N, созданный build.yml)
|
||||
curl.exe -sf -X POST -H "Authorization: token $env:TOKEN" -F "attachment=@out\airdef-windows-x86_64.zip" "$env:API/releases/$env:RELEASE_ID/assets?name=airdef-windows-x86_64.zip"
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ jobs:
|
||||
PY
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
ref: refs/tags/${{ inputs.tag }}
|
||||
- name: Проверка коммита
|
||||
env:
|
||||
@@ -82,6 +83,10 @@ jobs:
|
||||
D=airdef-linux-x86_64
|
||||
mkdir -p "$D" out
|
||||
cp horizon/target/fast/horizon-client horizon/target/fast/horizon-ctl airdef-mod/target/horizon-mod/airdef.hmod dist/play.sh docs/INSTALL.md "$D/"
|
||||
cp airdef-mod/target/horizon-mod/build-identity.json "$D/"
|
||||
cp -R docs/licenses "$D/"
|
||||
cp horizon/THIRD_PARTY_NOTICES.md "$D/licenses/HORIZON-THIRD-PARTY-NOTICES.md"
|
||||
cp horizon/crates/horizon-client/src/acoustics/THIRD_PARTY_SPR.md "$D/licenses/THIRD_PARTY_SPR.md"
|
||||
tar czf "out/$D.tar.gz" "$D"
|
||||
# RELEASE_ID взят в шаге «Проверка релиза» (релиз build-N, созданный build.yml)
|
||||
curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@out/$D.tar.gz" "$API/releases/$RELEASE_ID/assets?name=$D.tar.gz" > /dev/null
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
# Большой релиз: только по тегу vX.Y.Z (git tag v0.3.0 && git push origin v0.3.0) или вручную с готовым тегом.
|
||||
# Игра-форк для Windows собирается на Linux-сервере кросс-компиляцией (x86_64-pc-windows-gnu), без Windows-раннера.
|
||||
# Сервер общий (2 ядра, 4 ГБ, Gitea и боты), поэтому контейнер ограничен: при нехватке памяти убивается сборка, а не
|
||||
# сервисы. Замер 2026-10-30: 20,5 минуты, 2 ГБ памяти постоянно в потолке, у сервера не меньше 726 МБ свободно.
|
||||
# Обычные коммиты сюда не попадают: build.yml собирает только мод.
|
||||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags: ['v*']
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: Существующий тег, например v0.3.0
|
||||
required: true
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: never
|
||||
CARGO_BUILD_JOBS: "1"
|
||||
CARGO_INCREMENTAL: "0"
|
||||
CARGO_PROFILE_FAST_INCREMENTAL: "false"
|
||||
CARGO_PROFILE_FAST_DEBUG: "false"
|
||||
CARGO_PROFILE_FAST_STRIP: "true"
|
||||
TAG: ${{ inputs.tag || github.ref_name }}
|
||||
|
||||
jobs:
|
||||
windows:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: catthehacker/ubuntu:act-latest
|
||||
options: --memory=2g --memory-swap=4500m --cpus=1.5 --cpu-shares=128 --blkio-weight=100 --oom-score-adj=800
|
||||
steps:
|
||||
- name: Место на диске
|
||||
run: |
|
||||
FREE=$(df --output=avail -BG / | tail -1 | tr -dc 0-9)
|
||||
echo "свободно: ${FREE} ГБ"
|
||||
if [ "$FREE" -lt 12 ]; then echo "::error::на сервере свободно ${FREE} ГБ, нужно хотя бы 12"; exit 1; fi
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
ref: refs/tags/${{ inputs.tag || github.ref_name }}
|
||||
- name: Инструменты
|
||||
run: |
|
||||
SUDO=$(command -v sudo || true)
|
||||
$SUDO apt-get update -qq
|
||||
$SUDO apt-get install -y -qq --no-install-recommends gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 zip
|
||||
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain none
|
||||
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
||||
# Версия Rust берётся из rust-toolchain.toml.
|
||||
- name: Цели Rust
|
||||
run: rustup target add x86_64-pc-windows-gnu wasm32-unknown-unknown
|
||||
- name: Форк Horizon
|
||||
run: nice -n 19 python3 tools/airdef.py fork
|
||||
- name: Мод
|
||||
run: nice -n 19 python3 tools/airdef.py mod
|
||||
- name: Игра для Windows
|
||||
working-directory: horizon
|
||||
run: |
|
||||
# Сторож: сервер важнее сборки. Память контейнера ограничена, это на случай, если её съело что-то ещё.
|
||||
( while sleep 10; do
|
||||
AVAIL=$(awk '/MemAvailable/{print int($2/1024)}' /proc/meminfo)
|
||||
DISK=$(df --output=avail -BG / | tail -1 | tr -dc 0-9)
|
||||
if [ "$AVAIL" -lt 250 ] || [ "$DISK" -lt 6 ]; then
|
||||
echo "::error::сборка остановлена: свободно ${AVAIL} МБ памяти и ${DISK} ГБ диска"
|
||||
pkill -9 cargo; pkill -9 rustc; exit 1
|
||||
fi
|
||||
done ) &
|
||||
WATCH=$!
|
||||
nice -n 19 ionice -c3 cargo build --profile fast -p horizon-client --features mods --target x86_64-pc-windows-gnu
|
||||
kill "$WATCH"
|
||||
- name: Архив
|
||||
run: |
|
||||
set -e
|
||||
D=airdef-windows-x86_64
|
||||
T=horizon/target/x86_64-pc-windows-gnu/fast
|
||||
mkdir -p "$D" out
|
||||
cp "$T/horizon-client.exe" "$T/horizon-ctl.exe" airdef-mod/target/horizon-mod/airdef.hmod dist/play.bat docs/INSTALL.md "$D/"
|
||||
cp airdef-mod/target/horizon-mod/build-identity.json "$D/"
|
||||
cp -R docs/licenses "$D/"
|
||||
cp horizon/THIRD_PARTY_NOTICES.md "$D/licenses/HORIZON-THIRD-PARTY-NOTICES.md"
|
||||
cp horizon/crates/horizon-client/src/acoustics/THIRD_PARTY_SPR.md "$D/licenses/THIRD_PARTY_SPR.md"
|
||||
zip -qr "out/$D.zip" "$D"
|
||||
cp airdef-mod/target/horizon-mod/airdef.hmod out/
|
||||
- name: Релиз
|
||||
env:
|
||||
TOKEN: ${{ secrets.RELEASE_TOKEN || gitea.token }}
|
||||
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
|
||||
run: |
|
||||
set -e
|
||||
if [ -z "$TOKEN" ]; then echo "::error::нет токена: добавь секрет RELEASE_TOKEN"; exit 1; fi
|
||||
# Тег с дефисом (v0.3.0-rc1) выходит как предварительный релиз; уже созданный релиз тега дополняется.
|
||||
DATA=$(python3 -c 'import json,os;t=os.environ["TAG"];print(json.dumps({"tag_name":t,"name":t,"prerelease":"-" in t,"body":"Windows: распакуй airdef-windows-x86_64.zip и запусти play.bat. Нужен Minecraft Java 26.3 и лаунчер Horizon, запущенный один раз. Подробнее: docs/INSTALL.md.\n\nmacOS: сборка из исходников, python3 tools/airdef.py all."}))')
|
||||
CODE=$(curl -sS -o release.json -w '%{http_code}' -H "Authorization: token $TOKEN" "$API/releases/tags/$TAG")
|
||||
if [ "$CODE" != "200" ]; then
|
||||
CODE=$(curl -sS -o release.json -w '%{http_code}' -X POST -H "Authorization: token $TOKEN" -H "Content-Type: application/json" "$API/releases" -d "$DATA")
|
||||
if [ "$CODE" != "201" ]; then echo "::error::Gitea не создала релиз (HTTP $CODE): $(cat release.json)"; exit 1; fi
|
||||
fi
|
||||
ID=$(python3 -c 'import json;print(json.load(open("release.json"))["id"])')
|
||||
for F in airdef-windows-x86_64.zip airdef.hmod; do
|
||||
curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@out/$F" "$API/releases/$ID/assets?name=$F" > /dev/null
|
||||
done
|
||||
@@ -0,0 +1,27 @@
|
||||
# Opt-in heavy sandbox runtime tier; separate from the routine WASM contract.
|
||||
name: wasm-budget
|
||||
on:
|
||||
workflow_dispatch:
|
||||
env:
|
||||
CARGO_BUILD_JOBS: "1"
|
||||
CARGO_INCREMENTAL: "0"
|
||||
jobs:
|
||||
budget:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Rust
|
||||
run: |
|
||||
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --target wasm32-unknown-unknown
|
||||
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
||||
- name: Actual WASM budget scenario
|
||||
run: nice -n 19 python3 tools/airdef.py test-budgets
|
||||
- name: Preserve machine-readable provenance
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: wasm-budget-provenance
|
||||
path: .horizon-cache/wasm-budget-report.json
|
||||
if-no-files-found: warn
|
||||
@@ -0,0 +1,20 @@
|
||||
# Heavy sandbox runtime is opt-in on the shared 2-core runner.
|
||||
name: wasm-contract
|
||||
on:
|
||||
workflow_dispatch:
|
||||
env:
|
||||
CARGO_BUILD_JOBS: "1"
|
||||
CARGO_INCREMENTAL: "0"
|
||||
jobs:
|
||||
contract:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Rust
|
||||
run: |
|
||||
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --target wasm32-unknown-unknown
|
||||
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
||||
- name: Actual WASM contract
|
||||
run: nice -n 19 python3 tools/airdef.py test-wasm
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
horizon/
|
||||
run-home/
|
||||
.horizon-cache/
|
||||
airdef-mod/target/
|
||||
airdef-core/target/
|
||||
__pycache__/
|
||||
/out/
|
||||
.DS_Store
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "horizon"]
|
||||
path = horizon
|
||||
url = https://gitea.maoniao.team/chexit/horizon-airdef.git
|
||||
@@ -1 +0,0 @@
|
||||
b6c936f82b08798057161bdfa577e3aac53fb91e
|
||||
@@ -1,11 +1,18 @@
|
||||
# AirDef — дальнобойные дроны и ПВО для Horizon
|
||||
|
||||
Мод для Horizon (Minecraft 26.3 на Rust): Шахед-136, Герань-3, Patriot и Гепард с 3D-моделями,
|
||||
наведением ракет, слежением башен, падением сбитых дронов и эффектами взрывов.
|
||||
Клиентский sandbox-мод для Horizon (Minecraft 26.3 на Rust): налёты дронов и ракет,
|
||||
эшелонированная ПВО, раздельные батареи, наземная логистика, разведка, РЭБ, повреждения,
|
||||
повторы и экспорт видео. Характеристики и временные масштабы игровые; это не тренажёр реальных комплексов.
|
||||
|
||||
Работает на **своём форке Horizon** (`horizon/`, ветка `airdef`): в нём добавлен API отрисовки
|
||||
Работает на **[своём форке Horizon](https://gitea.maoniao.team/chexit/horizon-airdef)**
|
||||
(`horizon/` — сабмодуль, закреплённый SHA): в нём добавлен API отрисовки
|
||||
3D-моделей, которого нет в основном Horizon.
|
||||
|
||||
Рабочая ветка — **`kimi-work`**. Подробный проверенный объём и оставшаяся приёмка:
|
||||
[состояние задач](docs/IMPLEMENTATION-STATUS.md). Для передачи разработки:
|
||||
[технический журнал и handoff](docs/CODEX-HANDOFF.md). Открытый issue не означает отсутствие
|
||||
реализации: по просьбе владельца агенты оставляют комментарии, но не закрывают задачи.
|
||||
|
||||

|
||||
|
||||
## Запуск
|
||||
@@ -16,10 +23,21 @@
|
||||
Коротко, из исходников:
|
||||
|
||||
```bash
|
||||
python3 tools/airdef.py all # скачать Horizon, наложить патчи форка, собрать игру и мод, установить мод
|
||||
git switch kimi-work
|
||||
git pull --ff-only
|
||||
git submodule update --init --recursive # также выполняется командой all
|
||||
python3 tools/airdef.py all # получить закреплённый движок, собрать игру и мод, установить мод
|
||||
python3 tools/airdef.py play # запустить (аргументы игры — после: --world "Имя мира")
|
||||
```
|
||||
|
||||
`all` синхронизирует URL сабмодуля из `.gitmodules`, включая обновление со старого upstream.
|
||||
Продолжение 4 ноября: [модели, границы ядра, общий каталог, API29 и массовая акустика](docs/CONTINUATION-2026-11-04.md).
|
||||
|
||||
Диагностика в игре: `/airdef capabilities` показывает доступность API, принятие запроса и
|
||||
подготовку дыма, акустики и захвата именно этого мода. Подготовка не означает готовый GPU-кадр или MP4.
|
||||
Для разработчика: `python3 tools/airdef.py test-wasm` — лёгкий ABI-тест;
|
||||
`python3 tools/airdef.py test-budgets` — отдельный тяжёлый сценарий с JSON-отчётом.
|
||||
|
||||
Для разработки: `./install.sh` перегенерирует модели (`tools/gen_models.py`, нужен Pillow) и звуки
|
||||
(`tools/gen_sounds.py`, нужны numpy и ffmpeg), собирает и ставит мод. Сгенерированные файлы лежат в репозитории,
|
||||
так что для обычной сборки нужен только Rust.
|
||||
@@ -52,10 +70,11 @@ CI: `.gitea/workflows/build.yml` на каждый пуш собирает то
|
||||
волнами по типам), дальность старта, цели и **ПУСК**. Цели:
|
||||
- *только объекты* — всё летит по отмеченным объектам (или по игроку, если их нет);
|
||||
- *объекты и ПВО* — треть ударных средств бьёт по случайным комплексам;
|
||||
- *умный противник* — планировщик знает, где стоят комплексы и что видят их РЛС: ведёт дроны и крылатые ракеты
|
||||
- *умный противник* — планировщик использует наблюдённые контакты и последние известные позиции комплексов: ведёт дроны и крылатые ракеты
|
||||
маршрутами в обход зон поражения, низко, за рельефом и через мёртвые зоны; «Герберы» прилетают на 15 с раньше,
|
||||
чтобы оттянуть ракеты; «Ланцеты» идут по Гепардам и Панцирям, Х-22/Циркон и часть баллистики — по дальнобойным
|
||||
комплексам; всё остальное стартует со сдвигом так, чтобы прилететь одновременно.
|
||||
комплексам; на наблюдённые РЛС дальнего обнаружения выделяются 2–3 быстрых ударника (Х-22, Циркон, Искандер, Кинжал, затем Х-101,
|
||||
Герань-3, Ланцет, Шахед; не больше четверти налёта); всё остальное стартует со сдвигом так, чтобы прилететь одновременно.
|
||||
|
||||
После налёта приходит отчёт: сколько сбито и прорвалось, ракет ПВО потрачено, комплексов потеряно, урон объектам.
|
||||
|
||||
@@ -71,16 +90,39 @@ CI: `.gitea/workflows/build.yml` на каждый пуш собирает то
|
||||
|
||||
**Сохранение.** Комплексы, объекты, их повреждения и настройки сохраняются отдельно для каждого мира (и для каждого
|
||||
сервера); уничтоженный комплекс остаётся остовом и после перезахода, пока его не отремонтируют.
|
||||
Налёт в воздухе тоже сохраняется: дроны, очередь их запуска и незавершённые задания на маршрут
|
||||
восстанавливаются, и перезаход не обрывает перенацеливание. Ракеты-перехватчики в воздухе и площадки
|
||||
запуска не сохраняются; сценарий — стартовое состояние и налёт не несёт.
|
||||
|
||||
**Сеть ПВО.** Каждая единица делится целями со всеми в радиусе 1,5 км (линия связи): РЛС дальнего обнаружения
|
||||
даёт раннее предупреждение всем, пусковая без своей РЛС (P1-SUN) стреляет по чужим данным. Пушкам (Гепард,
|
||||
**Сеть ПВО.** Единицы обмениваются измеренными треками в пределах игровой связи; повреждение связи
|
||||
сокращает её дальность. Можно поставить несколько С-400/С-500 без собственной РЛС и общие радары
|
||||
поиска, сопровождения и мачтового обзора: N → «Разместить элементы батареи…».
|
||||
Поисковый радар даёт подсказку; огневой должен сам измерить цель, прежде чем разрешить пуск.
|
||||
Старая сборная конфигурация сохранена. [Команды, источники и ограничения](docs/BATTERIES-AND-COLD-LAUNCH.md).
|
||||
P1-SUN также использует чужие данные. Пушкам (Гепард,
|
||||
пушки Панциря) нужна своя цель: они стреляют только по тому, что видят сами. Уничтоженная РЛС — дыра в сети.
|
||||
|
||||
**Радиомолчание.** `/airdef radar <номер> off|on` или кнопка в карточке техники на карте
|
||||
выключает/включает собственный радар. Приём разрешённых внешних треков сохраняется; чужой трек
|
||||
не заменяет обязательное собственное сопровождение. Выключение не стирает старые сведения противника:
|
||||
он продолжает использовать последнюю наблюдённую позицию, а пуски и РЭБ могут снова раскрыть технику.
|
||||
|
||||
**Логистика.** Пока нет ни одного склада, магазины пополняются сами, как раньше. Как только поставлен склад,
|
||||
боекомплект считается: комплекс без ракет пишет «ЖДЁТ БК»; в 60 м от склада он перезаряжается прямо с него, а
|
||||
дальние обслуживают **ТЗМ**: заправляются на складе (2 перезарядки), сами едут к ждущим комплексам, ближайшим
|
||||
первым, и возвращаются. Запас склада — 30 перезарядок, он виден в сводке. Склад и ТЗМ детонируют всем грузом.
|
||||
|
||||
Ударная **RM48U у С-400** — отдельный условный игровой боеприпас, который делит четыре ячейки
|
||||
с ракетами ПВО. `/airdef ground-stock <склад> <количество>` задаёт конечный начальный запас
|
||||
sandbox-сценария, `/airdef ground-load <С-400>` загружает одну ракету рядом со складом либо
|
||||
создаёт заявку на доставку ТЗМ. Груз едет физически; снятая ракета ПВО возвращается на склад.
|
||||
Заявка и груз сохраняются в пути. `/airdef ground-unload <С-400>` выгружает ракету у склада,
|
||||
а вдали создаёт заявку на обратный вывоз ТЗМ. Одна ракета резервируется от пуска до забора;
|
||||
`/airdef ground-cancel <С-400>` отменяет ещё ожидающую доставку или вывоз.
|
||||
После забора ракета находится в машине и едет на склад. Отмена заявки не возвращает уже вывезенный груз в ПУ.
|
||||
Без склада этот ударный боеприпас сам не появляется. Бук и остальные комплексы такого профиля пока не имеют.
|
||||
Порядок подготовки, разведка и номера двух списков: [как ударить по ПУ](docs/GROUND-STRIKES.md).
|
||||
|
||||
**Перемещение.** **Пульт перемещения**: навестись на технику (выбрать), затем на точку на земле — она
|
||||
сворачивается (С-400 и другие с вертикальным пуском дольше, Гепард и Панцирь быстро), едет по рельефу и
|
||||
разворачивается; всё это время не стреляет и не светит РЛС. Или `/airdef move <номер>` — к тому месту, где ты стоишь.
|
||||
@@ -94,9 +136,12 @@ CI: `.gitea/workflows/build.yml` на каждый пуш собирает то
|
||||
**Умный противник учится.** Он запоминает, откуда его налёты сбивали, а откуда они прорывались, и следующий
|
||||
налёт ведёт с лучшего направления; помнит комплексы, выдавшие себя пуском, и станции РЭБ, и во время налёта
|
||||
перенацеливает ещё не взлетевшие Ланцеты и Шахеды на них; если цель-комплекс уничтожен, дроны идут к
|
||||
следующему известному. Дроны под обстрелом прижимаются к земле.
|
||||
следующему известному. Маршруты к новым целям достраиваются по бюджету планировщика в следующих тиках:
|
||||
необработанное задание не теряется, старый безопасный участок остаётся до готовности нового, а дрон без
|
||||
маршрута летит прямо только до ближайшего бюджета. Дроны под обстрелом прижимаются к земле.
|
||||
|
||||
**Ночь.** Ночью пушки попадают втрое хуже, если цель не освещена. Освещают **прожекторы** (луч ведёт ближайшую
|
||||
**Ночь.** Исправные пушки с собственным свежим радарным сопровождением не теряют точность из-за темноты.
|
||||
Цели освещают **прожекторы** (луч ведёт ближайшую
|
||||
цель из сети, приоритет — цели пушек) и **осветительные ракеты**: пушечные комплексы пускают их сами (раз в
|
||||
25 с на цель в темноте), игрок — **осветительным пистолетом** или `/airdef flare`. Ракета висит ~30 с и
|
||||
освещает всё вокруг на ~60–90 м.
|
||||
@@ -109,6 +154,10 @@ CI: `.gitea/workflows/build.yml` на каждый пуш собирает то
|
||||
тонмаппинг (ванильный диапазон не трогается, сжимается только то, что ярче). Источники передаются движку новым
|
||||
API мода `render.set-lights` (до 512, плавно интерполируются), режим — `render.set-lighting`.
|
||||
|
||||
В HD дымовые следы ракет немного уплотнены; число сегментов и время появления/выгорания сохранены.
|
||||
Это относится к ракетам ПВО, RM48U, крылатым, сверхзвуковым и баллистическим средствам;
|
||||
дым пожаров и слабая дымка винтовых дронов остались прежними.
|
||||
|
||||
**Сетка J** после сбития ещё 3,5 с держит камеру на сбитой цели, и комплекс в это время не пропадает из сетки.
|
||||
|
||||
**Повреждения.** Взрыв рядом с комплексом повреждает его: он хуже поворачивается, хуже видит и попадает,
|
||||
@@ -117,6 +166,11 @@ API мода `render.set-lights` (до 512, плавно интерполиру
|
||||
пострадать. Объекты (Целеуказатель или `/airdef target here`) имеют прочность, она видна в сводке. Ремонт —
|
||||
кнопкой в меню или `/airdef repair`.
|
||||
|
||||
Известные стены и рельеф ослабляют **непрямой** урон корпусу, узлам и объектам; проёмы дают
|
||||
частичное воздействие. Используется геометрия, известная перед разрушением. При неизвестной или
|
||||
устаревшей геометрии сохраняется прежний урон без защиты; поздний ответ его повторно не наносит.
|
||||
Прямое вооружённое попадание этим ослаблением не отменяется.
|
||||
|
||||
**Монитор комплекса:** клавиша **K** листает комплексы по очереди, после последнего монитор скрывается. Слева вверху показано:
|
||||
- состояние комплекса (поиск, сопровождение, доворот, захват, пуск, огонь, перезарядка, огонь запрещён);
|
||||
- его РЛС: цели, по которым он работает, красным, остальные серым, текущая цель жёлтым;
|
||||
@@ -149,13 +203,19 @@ API мода `render.set-lights` (до 512, плавно интерполиру
|
||||
Клавиши N, K, J, R и U можно переназначить в «Настройки → Моды».
|
||||
|
||||
Команды:
|
||||
- `/airdef wave <тип> [кол-во] [дальность]` — налёт на ближайшую цель. Типы: `shahed`, `geran3`, `lancet`, `gerbera`, `kh101`, `kalibr`, `kh22`, `zircon`, `iskander`, `kinzhal`, `oreshnik` и `mix` (комбинированный удар двумя секторами: «Герберы», шахеды, Герани-3, Х-101, «Калибры», Х-22, Циркон, «Искандер», «Кинжал», при 30+ — «Орешник»);
|
||||
- `/airdef wave <тип> [кол-во] [дальность]` — налёт на ближайшую цель. Дальность старта — от 60 до 4000 блоков (в меню: 200–4000); землю для площадок, которой нет в загруженных чанках, игра подгружает сама (API 22, `render.load-chunks`, пока идёт поиск), а где подгрузить нельзя (сервер) или нет пригодного места, дроны всё равно стартуют: «за картой», с высоты полёта на заказанной дальности, без площадки. Типы: `shahed`, `geran3`, `lancet`, `gerbera`, `kh101`, `kalibr`, `kh22`, `zircon`, `iskander`, `kinzhal`, `oreshnik` и `mix` (комбинированный удар двумя секторами: «Герберы», шахеды, Герани-3, Х-101, «Калибры», Х-22, Циркон, «Искандер», «Кинжал», при 30+ — «Орешник»);
|
||||
- `/airdef replay [map|full|reel|stop]` — повтор последнего налёта;
|
||||
- `/airdef replay film [best|all|N]` — фильм режиссёра: для каждого перехвата/прилёта несколько планов (комплекс, пуск, погоня за ракетой, взгляд с цели, замедленный крупный план поражения, общий план после), склейки, плавные движения камеры, камера не уходит под землю; играется в максимальном качестве (HD, мир в полном разрешении, больше шагов облаков и тумана; настройки возвращаются после);
|
||||
- `/airdef replay export [имя] [best|all|N] [fps=60] [size=1920x1080] [crf=14] [sec=N] [noaudio]` — тот же фильм кадр за кадром с фиксированным шагом (скорость компьютера не важна) в MP4 с звуком: `<HORIZON_HOME>/airdef-films/<имя>.mp4` (нужен `ffmpeg` в PATH или `HORIZON_FFMPEG`; без него — PNG-последовательность и готовая команда ffmpeg). Прогресс в чате, отмена — `/airdef replay stop`. Окно игры держите в фокусе (пауза останавливает съёмку); чат попадает в кадр.
|
||||
- `/airdef import` — перенести в текущий мир комплексы и цели из старой версии мода (до 0.2.x они были общими для всех миров);
|
||||
- `/airdef raid` — налёт, настроенный в меню; `/airdef target here` — отметить объект под ногами; `/airdef repair` — ремонт;
|
||||
- `/airdef lastchance <on|off>` — «последний шанс»: комплекс стреляет и по классу вне ролей, если цель вот-вот попадёт (по умолчанию вкл; сохраняется);
|
||||
- `/airdef sites` — известные пусковые площадки (ПУ). РЛС с прямой видимостью может заметить сам пуск и получить неточную позицию; несколько наблюдённых пусков уточняют её. Обнаруженный позже дрон даёт только слабое предположение об обратном курсе: скрытые координаты площадки и время невидимого старта не используются. Повторные треки одного полёта не создают ложную точность.
|
||||
- `/airdef strike <номер ПУ>` — ручной удар по разведанной площадке из готового физического С-400 с отдельно загруженной RM48U (игровой профиль, #118). Четыре ячейки делятся с боезапасом ПВО; приказ резервирует носитель и ячейку, открывает крышку и списывает одну ударную ракету при выбросе. Выбирается готовый комплекс с наибольшим остатком RM48U, затем ближайший к цели. Есть открытие ТПК, выброс, отложенное включение двигателя и разгон, ограниченная игровая траектория, столкновения и запись пуска. Несуществующее «ПВО площадки» не перехватывает ракету по броску вероятности.
|
||||
- `/airdef ground-stock <номер склада> <количество>` — задать остаток RM48U для sandbox-сценария (по умолчанию 0). `/airdef ground-load <номер С-400>` загружает одну ракету у склада либо заказывает ТЗМ; `ground-unload` возвращает её у склада либо заказывает вывоз; `ground-cancel` отменяет ожидающую заявку. Доставка и обратный вывоз через ТЗМ реализованы, запас и груз сохраняются. [Пошаговый пример](docs/GROUND-STRIKES.md). Совместимость профиля основана на [публикации ГУР](https://gur.gov.ua/content/warsanctions-hur-mo-rozkryvaie-budovu-komponentnu-bazu-ta-pidpryiemstva-kooperatsii-z-vyrobnytstva-udarnykh-raket-rm48u.html); это сообщение ведомства, не независимая сертификация. Дальность, форма полёта и оформление условны для Minecraft.
|
||||
- `/airdef deploy s400_launcher` и `s500_launcher` — отдельные пусковые без своей РЛС; `radar_search`, `radar_track`, `radar_height` — обзорная, сопровождающая и мачтовая игровые РЛС. Они также доступны через меню N → «Разместить элементы батареи…». `/airdef battery` показывает состав и связь; `/airdef battery <номер> integrated|launcher` меняет конфигурацию, `/airdef radar <номер> multi|search|engagement|height` — роль отдельной РЛС. Обзорная РЛС передаёт подсказки; станция сопровождения должна сама получить свежее измерение, чтобы разрешить пуск. Старые С-400/С-500 сохраняют упрощённую сборную конфигурацию. [Устройство игровой батареи и пуска](docs/BATTERIES-AND-COLD-LAUNCH.md).
|
||||
- `/airdef roles` — показать, по каким классам целей работает каждый комплекс; `/airdef roles <patriot|gepard|pantsir|s400|s500|all> <классы|default>` — задать (классы через запятую: `drone`, `jet`, `cruise`, `supersonic`, `ballistic` или `all`), например `/airdef roles s400 cruise,ballistic`;
|
||||
- `/airdef doctrine` — доктрины комплексов (#47; в меню N: «Доктрины…»): `/airdef doctrine <номер|all> reserve <K>` — держать K ракет для срочных целей (баллистика или до удара меньше 12 с); `salvo eco|normal|heavy` — сколько перехватчиков на цель (только базовые / как обычно / на один больше); `sector <центр°> <полуширина°>` или `sector off` — сектор ответственности (0° — север); `guard <объект№>[,<№>]` или `guard off` — стрелять только по тому, что идёт на охраняемые объекты (отметка: `/airdef target here`). По умолчанию ограничений нет; последний шанс сильнее доктрины; `/airdef why <номер>` называет, какая настройка остановила или разрешила пуск; сохраняется с миром и сценариями. Карта охраны и пробелов в ней — вместе с картой (#48).
|
||||
- `/airdef deploy <patriot|gepard|pantsir|s400|s500>` — поставить комплекс в 8 блоках перед собой;
|
||||
- `/airdef hold on|off` — запретить или разрешить ПВО огонь, удобно для съёмки ударов;
|
||||
- `/airdef damage on|off` — разрушать ли ландшафт взрывами (через TNT, нужны читы);
|
||||
@@ -192,24 +252,42 @@ API мода `render.set-lights` (до 512, плавно интерполиру
|
||||
|
||||
| ПВО | Вооружение | Дальность |
|
||||
|---|---|---|
|
||||
| Patriot | 4 × PAC-3, пусковая разворачивается на цель | 10–300 |
|
||||
| Гепард | 2 × 35 мм, башня и стволы со слежением и упреждением, 160 очередей | 90 (слежение с 130) |
|
||||
| Панцирь-С1 | 12 × 57Э6 и 2 × 30 мм; модуль поворачивается, пакеты и стволы поднимаются | ракеты 25–150, пушки 60 |
|
||||
| С-400 | 4 × 48Н6, вертикальный холодный старт, РЛС обзора на прицепе | 30–480 |
|
||||
| С-500 | 4 × 77Н6, холодный старт, самые быстрые ракеты | 40–700 |
|
||||
| IRIS-T SLM | 8 ракет, вертикальный пуск, быстрые и манёвренные | 15–400 |
|
||||
| NASAMS | 6 × AMRAAM, наводимая пусковая на прицепе | 10–300 |
|
||||
| Бук-М2 | 4 × 9М317 на направляющих, башня с РЛС подсвета | 20–450 |
|
||||
| Тор-М2 | 8 × 9М338 вертикально из башни, быстрая реакция против дронов | 8–160 |
|
||||
| P1-SUN | 8 дронов-перехватчиков против Шахедов и Герань; своей РЛС нет — стреляет по данным сети | 5–450 |
|
||||
| Patriot | 4 × PAC-3, пусковая разворачивается на цель | 10–450 |
|
||||
| Гепард | 2 × 35 мм, башня и стволы со слежением и упреждением, 160 очередей | 135 (слежение с 195) |
|
||||
| Панцирь-С1 | 12 × 57Э6 и 2 × 30 мм; модуль поворачивается, пакеты и стволы поднимаются | ракеты 25–225, пушки 90 |
|
||||
| С-400 | 4 × 48Н6, вертикальный холодный старт, РЛС обзора на прицепе | 30–720 |
|
||||
| С-500 | 2 × 77Н6, холодный старт, самые быстрые ракеты | 40–1050 |
|
||||
| IRIS-T SLM | 8 ракет, вертикальный пуск, быстрые и манёвренные | 15–600 |
|
||||
| NASAMS | 6 × AMRAAM, наводимая пусковая на прицепе | 10–450 |
|
||||
| Бук-М2 | 4 × 9М317 на направляющих, башня с РЛС подсвета | 20–675 |
|
||||
| Тор-М2 | 8 × 9М338 вертикально из башни, быстрая реакция против дронов | 8–240 |
|
||||
| P1-SUN | 8 дронов-перехватчиков против Шахедов и Герань; своей РЛС нет — стреляет по данным сети | 5–675 |
|
||||
|
||||
Обслуживающая техника (тоже пультами или `/airdef deploy <ключ>`): **РЛС дальнего обнаружения** (`radar`,
|
||||
видит на 1,7 км с высокой мачты, хуже прячутся за рельефом), **склад боеприпасов** (`depot`), **ТЗМ** (`tzm`),
|
||||
видит на 2,5 км с высокой мачты, хуже прячутся за рельефом), **склад боеприпасов** (`depot`), **ТЗМ** (`tzm`),
|
||||
**станция РЭБ** (`ew`), **прожектор** (`light`). Новые комплексы: `irist`, `nasams`, `buk`, `tor`, `p1sun`.
|
||||
|
||||
**Согласование огня.** Комплексы делят цели между собой: на обычную цель идёт одна ракета, на баллистическую две,
|
||||
пушки расходятся по разным целям. Первыми бьют по самым опасным (быстрым и тяжёлым) целям, при этом ложные
|
||||
«Герберы» выглядят для них как настоящие. Шанс поражения падает, если цель быстрее перехватчика.
|
||||
**Согласование огня.** Комплексы делят цели между собой: на обычную цель идёт одна ракета, на баллистическую две; чем ближе цель к своей точке попадания,
|
||||
тем больше перехватчиков разрешено на неё сразу (за ~12 с до удара ещё один, за ~5 с — ещё один). Комплекс, у которого кончились ракеты
|
||||
или идёт перезарядка, цель не держит; тот, кто не смог навестись за ~2 с, отпускает её другим. Пушки расходятся по разным целям. Первыми бьют по самым опасным (быстрым и тяжёлым) целям, при этом ложные
|
||||
«Герберы» выглядят для них как настоящие. Геометрия встречи проверяется по движению обоих объектов
|
||||
за тик, а остаточный шанс учитывает фактическую скорость перехватчика.
|
||||
|
||||
**Энергетика перехватчика.** Сначала ракета выходит из ТПК без двигателя: у С-400 это 1,0 с,
|
||||
у С-500 — 1,2 с; только потом в её текущей точке зажигается факел, и тяга плавно нарастает.
|
||||
После выброса ракета разгоняется, но двигатель работает конечное игровое время. После выгорания
|
||||
ракета летит по инерции, теряет скорость и манёвренность; при недостаточной скорости сопровождение
|
||||
срывается. Факел, звук двигателя и новый дым прекращаются при выгорании и в live, и в повторе;
|
||||
уже созданный дым продолжает рассеиваться. У ракет с горячим (рельсовым) пуском тяга тоже
|
||||
нарастает плавно, но холодного выброса нет; электрический P1-SUN не получает ракетную струю.
|
||||
|
||||
**Последний шанс** (`/airdef lastchance on|off`, по умолчанию вкл). Комплекс стреляет и по классу целей вне своих ролей
|
||||
(С-400, С-500 и Patriot по умолчанию не бьют дроны), если цель долетит до своей точки меньше чем за 10 с и на ней ещё нет
|
||||
ничьего перехватчика. Комплексу с пустыми ролями (огонь запрещён) это не касается. `/airdef why` пишет «последний шанс».
|
||||
|
||||
**Дальний пуск по РЛС.** С-400, С-500 и Patriot могут стрелять дальше своей дальности (до 1,6×) по цели, которую держит
|
||||
свежим треком РЛС дальнего обнаружения в радиусе связи: не чаще раза в 15 с, при не менее чем половине боезапаса, только по
|
||||
своим ролям и только пока в обычной дальности нет цели; шанс поражения на краю вдвое ниже. `/airdef why`: «дальний пуск по РЛС».
|
||||
|
||||
**Роли по умолчанию** (в сводке в квадратных скобках: Д — дроны, Г — реактивные, К — крылатые, С — сверхзвуковые,
|
||||
Б — баллистика): Гепард ДГК, Панцирь ДГКС, Patriot ГКСБ, С-400 ГКСБ, С-500 СБ. Сбитый дрон падает с остатком скорости, и его боевая часть
|
||||
@@ -221,6 +299,12 @@ API мода `render.set-lights` (до 512, плавно интерполиру
|
||||
У каждого объекта свой звук и своя дальность слышимости (`attenuation_distance` в `sounds.json`):
|
||||
- **двигатели:** двухтактный мопед шахеда (220 м), турбина Герани-3, электромотор Ланцета, тяжёлый рёв крылатых ракет (320 м),
|
||||
ракетный рёв Х-22, Циркона и перехватчиков, нарастающий визг падающей баллистики и её ударная волна (700–900 м);
|
||||
Двигатели дронов и ракет — **постоянные источники звука** (API 20, `render.sound-sources`, #95): один источник на
|
||||
объект идёт за его настоящей позицией, зажигается с нарастанием, при сбитии «захлёбывается» (тон падает, громкость
|
||||
гаснет за секунду) и замолкает вместе с объектом; в повторе и экспорте источники берутся из записанных траекторий и
|
||||
времени повтора (перемотка и смена плана пересоздают их). Одновременно звучат 24 ближайших и громких, остальные
|
||||
«виртуальные». Взрывы, пуски и выстрелы остались разовыми, с задержкой по скорости звука. Баллистика (визг при
|
||||
падении) тоже разовая. Зацикливается устойчивая часть файла (начало и затухание в конце обрезаны), стык — 50 мс.
|
||||
- **пуски:** хлопок и рвущийся рёв Patriot, свистящий старт Панциря, глухой газовый выброс и затем огромный рёв С-400,
|
||||
у С-500 ещё ниже и дольше (до 1 км);
|
||||
- **пушки:** тяжёлые 35-мм очереди Гепарда и частые 30-мм Панциря;
|
||||
@@ -246,16 +330,18 @@ API мода `render.set-lights` (до 512, плавно интерполиру
|
||||
## Устройство
|
||||
|
||||
```
|
||||
HORIZON_COMMIT коммит апстрима Horizon, на который накладываются патчи
|
||||
horizon-patches/ изменения форка (git format-patch); tools/airdef.py fork собирает из них horizon/
|
||||
horizon/ форк (не в репозитории; ветка airdef). Что в нём меняется:
|
||||
.gitmodules URL отдельного репозитория движка
|
||||
horizon/ git submodule: точный SHA форка Horizon. Что в нём меняется:
|
||||
crates/horizon-mod-sdk/wit/horizon.wit render.set-models, spawn-particles, play-sound,
|
||||
query-ground / ground
|
||||
crates/horizon-mods/src/runtime.rs хост этих функций
|
||||
crates/horizon-client/src/game/mod_models.rs интерполяция и отрисовка моделей, частицы
|
||||
crates/horizon-client/src/gfx/mod_post.rs пост-проход мода: render.set-post / set-params
|
||||
airdef-mod/ сам мод: Rust → WebAssembly
|
||||
src/sim.rs симуляция: дроны, ракеты, ПВО, эффекты (20 тиков/с)
|
||||
airdef-core/ SDK-free сборка общего ядра; использует те же исходники sim, без копии
|
||||
airdef-mod/ адаптер: Rust → WebAssembly
|
||||
src/sim/mod.rs симуляция: дроны, ракеты, ПВО, эффекты (20 тиков/с)
|
||||
src/sim/battery.rs конфигурации пусковых и роли общей РЛС
|
||||
src/sim/launch.rs резервирование ячеек и анимация крышек ТПК
|
||||
src/lib.rs предметы, команды, сохранение, передача в движок
|
||||
src/panel.rs сводка, src/radar.rs — радар, src/monitor.rs — монитор комплекса
|
||||
assets/airdef/sounds звуки (генерирует tools/gen_sounds.py)
|
||||
@@ -275,11 +361,17 @@ run-home/ тестовая игровая папка (для пров
|
||||
Модели — обычные блочные JSON-модели, по одной на часть: корпус, винт, башня, стволы. Их генерирует
|
||||
`tools/gen_models.py`. Координаты элементов должны быть в пределах −16..32, иначе Horizon отбросит модель.
|
||||
|
||||
Рельеф мод узнаёт через `render.query-ground`: присылает колонки, а движок отвечает высотой по карте
|
||||
высот на следующем тике.
|
||||
Рельеф и коллизии приходят асинхронно через ground/ray/section queries. Высотной карты недостаточно
|
||||
для точного попадания: известные блоки и формы проверяются отдельно; ожидание/Unknown не считается
|
||||
доказанным свободным путём. Историческое отображение повтора отделено от live-геометрии симуляции.
|
||||
|
||||
## Известные ограничения
|
||||
|
||||
- Для [#122](https://gitea.maoniao.team/chexit/airdef/issues/122) воспроизведено и исправлено исчерпание fuel при массовых взрывах:
|
||||
каждый взрыв больше не обходит всю карту высот. Проверка на конкретном Windows-компьютере ещё нужна;
|
||||
прирост FPS этим исправлением не обещается.
|
||||
- Мод клиентский: дроны и ПВО видит только тот, у кого он стоит. Мультиплеер не поддерживается.
|
||||
- Окно Horizon на macOS не рисует кадры, пока оно перекрыто другими окнами (это поведение движка).
|
||||
- Шейдер работает, только если не включён шейдер-пак Horizon (они взаимоисключающие).
|
||||
|
||||
Разработка и обновление закреплённого движка: [docs/ENGINE.md](docs/ENGINE.md).
|
||||
|
||||
Generated
+16
@@ -0,0 +1,16 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "airdef-core"
|
||||
version = "0.2.0"
|
||||
dependencies = [
|
||||
"glam",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glam"
|
||||
version = "0.30.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "19fc433e8437a212d1b6f1e68c7824af3aed907da60afa994e7f542d18d12aa9"
|
||||
@@ -0,0 +1,13 @@
|
||||
[package]
|
||||
name = "airdef-core"
|
||||
version = "0.2.0"
|
||||
edition = "2024"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
glam = "0.30"
|
||||
|
||||
[features]
|
||||
test-fixtures = []
|
||||
|
||||
[workspace]
|
||||
@@ -0,0 +1,13 @@
|
||||
# AirDef headless simulation
|
||||
|
||||
This package compiles the same `airdef-mod/src/sim` source as the game adapter, with `glam` as its only dependency. A checkout does not need the Horizon submodule to build or run it:
|
||||
|
||||
```sh
|
||||
cargo test --manifest-path airdef-core/Cargo.toml
|
||||
cargo run --manifest-path airdef-core/Cargo.toml --release --example sim_run -- --list
|
||||
cargo run --manifest-path airdef-core/Cargo.toml --release --example sim_run -- --scenario big-smart
|
||||
```
|
||||
|
||||
The shared scenario harness runs for both packages. Adapter integration tests for layout and smoke stay in `airdef-mod`; `core_boundary` verifies the public type facade and deterministic combat trace.
|
||||
|
||||
This is an incremental boundary: the simulation still produces rendering and audio declarations and formats some UI text. Moving those outputs and diagnostics to adapters, remain follow-up work. The mod re-exports `airdef_core::sim` as its existing public facade.
|
||||
@@ -0,0 +1,8 @@
|
||||
//! The enemy-picture bench (#127) without building the Horizon SDK.
|
||||
extern crate airdef_core as airdef;
|
||||
#[path = "../../airdef-mod/examples/intel_bench.rs"]
|
||||
mod bench;
|
||||
|
||||
fn main() {
|
||||
bench::main();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
//! Run the same native scenario CLI without building the Horizon SDK.
|
||||
extern crate airdef_core as airdef;
|
||||
#[path = "../../airdef-mod/examples/sim_run/main.rs"]
|
||||
mod runner;
|
||||
|
||||
fn main() {
|
||||
runner::main();
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
//! SDK-independent build of the same simulation used by the AirDef adapter.
|
||||
//!
|
||||
//! The source remains shared while the domain/presentation boundary is extracted;
|
||||
//! no generated copy can drift from the mod's simulation.
|
||||
#[path = "../../airdef-mod/src/sim/mod.rs"]
|
||||
pub mod sim;
|
||||
@@ -0,0 +1,166 @@
|
||||
//! The mod's headless scenarios run against the SDK-independent package too.
|
||||
extern crate airdef_core as airdef;
|
||||
#[path = "../../airdef-mod/examples/sim_run/harness.rs"]
|
||||
mod harness;
|
||||
|
||||
fn check(sc: harness::Scenario) -> harness::Report {
|
||||
let r = harness::run(&sc);
|
||||
let problems = r.problems();
|
||||
assert!(problems.is_empty(), "scenario {} failed: {problems:?}\n{}", r.name, r.text());
|
||||
assert!(r.launched > 0);
|
||||
r
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn big_smart_raid_on_61_systems() {
|
||||
let r = check(harness::big_smart());
|
||||
assert_eq!(r.units, 61);
|
||||
assert!(r.fired > 0 && r.ground_queries > 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn logistics_trucks_depot_and_raid() {
|
||||
let r = check(harness::logistics());
|
||||
assert!(r.truck_busy_ticks > 0 && r.fired > 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ew_and_adaptive_enemy_over_three_raids() {
|
||||
assert_eq!(check(harness::ew_adaptive()).raids_ended, 3);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn same_seed_same_result() {
|
||||
let a = harness::run(&harness::logistics());
|
||||
let b = harness::run(&harness::logistics());
|
||||
assert_eq!((a.ticks_run, a.launched, a.kills, a.hits, a.fired, a.ground_queries), (b.ticks_run, b.launched, b.kills, b.hits, b.fired, b.ground_queries));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn overlapping_mass_strikes_on_flat_world() {
|
||||
use airdef::sim::{Aim, Approach, DroneKind as D, Ground, Out, RaidOrder, Sam, Sim};
|
||||
use glam::DVec3;
|
||||
let sc = harness::big_smart();
|
||||
let terrain = harness::Terrain::Flat(70);
|
||||
let mut sim = Sim::new(sc.seed);
|
||||
sim.damage = false;
|
||||
for unit in &sc.units {
|
||||
let id = sim.id();
|
||||
sim.sams.push(Sam::new(id, unit.kind, DVec3::new(unit.pos.x, 70.0, unit.pos.z), unit.heading));
|
||||
}
|
||||
sim.targets = vec![DVec3::new(0.0, 70.0, 0.0)];
|
||||
sim.target_health = vec![100.0];
|
||||
// Exact composition of the menu's "Массированный удар" preset.
|
||||
let order = RaidOrder { kinds: vec![(D::Gerbera, 8), (D::Shahed, 12), (D::Geran3, 4), (D::Kh101, 4), (D::Kalibr, 4), (D::Kh22, 2), (D::Iskander, 2)], approach: Approach::AllSides, aim: Aim::Smart, dist: 4000.0 };
|
||||
let mut ground = Ground::default();
|
||||
let mut pending = Vec::new();
|
||||
let mut out = Out::default();
|
||||
let targets = sim.targets.clone();
|
||||
assert_eq!(sim.order_raid(&order, &targets, &mut out), 36);
|
||||
let mut second = false;
|
||||
let mut peak = 0;
|
||||
for now in 1..=12000 {
|
||||
if !second && !sim.planning() {
|
||||
assert_eq!(sim.order_raid(&order, &targets, &mut out), 36);
|
||||
second = true;
|
||||
}
|
||||
ground.answer(std::mem::take(&mut pending), now);
|
||||
out = Out::default();
|
||||
sim.step(&mut ground, None, &mut out);
|
||||
let wanted = ground.take_wanted();
|
||||
pending = wanted.into_iter().map(|(x, z)| (x, z, 70)).collect();
|
||||
let sections = ground.world.take_wanted(now);
|
||||
ground.world.serve(&terrain, sections, now);
|
||||
peak = peak.max(sim.drones.iter().filter(|d| d.alive()).count());
|
||||
assert!(sim.drones.iter().all(|d| d.pos.is_finite() && d.vel.is_finite()));
|
||||
if sim.launched >= 72 && peak > 36 { break; }
|
||||
}
|
||||
eprintln!("overlapping mass strikes: launched {}, peak airborne {peak}", sim.launched);
|
||||
assert!(second && sim.launched >= 72, "second raid failed to launch; launched {}", sim.launched);
|
||||
assert!(peak > 36, "raids never overlapped; peak {peak}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn overlapping_oreshnik_splits_are_recorded() {
|
||||
use airdef::sim::{Aim, Approach, DroneKind, Ground, Out, RaidOrder, Sim};
|
||||
use glam::DVec3;
|
||||
let mut sim = Sim::new(1);
|
||||
sim.damage = false;
|
||||
let targets = vec![DVec3::new(0.0, 70.0, 0.0)];
|
||||
sim.targets = targets.clone();
|
||||
sim.target_health = vec![100.0];
|
||||
let order = RaidOrder { kinds: vec![(DroneKind::Oreshnik, 40)], approach: Approach::Sector, aim: Aim::Objects, dist: 2600.0 };
|
||||
let terrain = harness::Terrain::Flat(70);
|
||||
let mut ground = Ground::default();
|
||||
let mut pending = Vec::new();
|
||||
let mut out = Out::default();
|
||||
assert_eq!(sim.order_raid(&order, &targets, &mut out), 40);
|
||||
let mut second = false;
|
||||
let mut peak = 0;
|
||||
let mut peak_subs = 0;
|
||||
for now in 1..=10000 {
|
||||
if !second && !sim.planning() {
|
||||
assert_eq!(sim.order_raid(&order, &targets, &mut out), 40);
|
||||
second = true;
|
||||
}
|
||||
ground.answer(std::mem::take(&mut pending), now);
|
||||
out = Out::default();
|
||||
sim.step(&mut ground, None, &mut out);
|
||||
pending = ground.take_wanted().into_iter().map(|(x, z)| (x, z, 70)).collect();
|
||||
let sections = ground.world.take_wanted(now);
|
||||
ground.world.serve(&terrain, sections, now);
|
||||
peak = peak.max(sim.drones.iter().filter(|d| d.alive()).count());
|
||||
peak_subs = peak_subs.max(sim.drones.iter().filter(|d| d.alive() && d.kind == DroneKind::OreshnikSub).count());
|
||||
assert!(sim.drones.iter().all(|d| d.pos.is_finite() && d.vel.is_finite()));
|
||||
if second && sim.launched >= 80 && !sim.replays.is_empty() { break; }
|
||||
}
|
||||
eprintln!("overlapping oreshnik: launched {}, peak airborne {peak}, peak submunitions {peak_subs}, replays {}", sim.launched, sim.replays.len());
|
||||
assert_eq!(sim.launched, 2880);
|
||||
assert!(peak_subs > 36, "expected many simultaneous submunitions");
|
||||
assert!(!sim.replays.is_empty(), "recording did not finish");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn two_maximum_menu_raids_with_answered_flat_terrain() {
|
||||
use airdef::sim::{Aim, Approach, Ground, Out, RaidOrder, Sam, Sim, catalog::RAID_KINDS};
|
||||
use glam::DVec3;
|
||||
let sc = harness::big_smart();
|
||||
let terrain = harness::Terrain::Flat(70);
|
||||
let mut sim = Sim::new(sc.seed);
|
||||
for unit in &sc.units {
|
||||
let id = sim.id();
|
||||
sim.sams.push(Sam::new(id, unit.kind, DVec3::new(unit.pos.x, 70.0, unit.pos.z), unit.heading));
|
||||
}
|
||||
let targets = vec![DVec3::new(0.0, 70.0, 0.0)];
|
||||
sim.targets = targets.clone();
|
||||
sim.target_health = vec![100.0];
|
||||
// The maximum selectable by the menu: 40 for each raid kind.
|
||||
let order = RaidOrder { kinds: RAID_KINDS.iter().copied().map(|kind| (kind, 40)).collect(), approach: Approach::AllSides, aim: Aim::Smart, dist: 300.0 };
|
||||
let expected = RAID_KINDS.len() as u32 * 40;
|
||||
let mut ground = Ground::default();
|
||||
let mut pending = Vec::new();
|
||||
let mut out = Out::default();
|
||||
assert_eq!(sim.order_raid(&order, &targets, &mut out), expected);
|
||||
let mut second = false;
|
||||
let mut overlap = false;
|
||||
let mut peak = 0;
|
||||
for now in 1..=5000 {
|
||||
if !second && !sim.planning() {
|
||||
overlap = !sim.queue.is_empty() || sim.drones.iter().any(|d| d.alive());
|
||||
assert_eq!(sim.order_raid(&order, &targets, &mut out), expected);
|
||||
second = true;
|
||||
}
|
||||
ground.answer(std::mem::take(&mut pending), now);
|
||||
out = Out::default();
|
||||
sim.step(&mut ground, None, &mut out);
|
||||
pending = ground.take_wanted().into_iter().map(|(x, z)| (x, z, 70)).collect();
|
||||
let sections = ground.world.take_wanted(now);
|
||||
ground.world.serve(&terrain, sections, now);
|
||||
peak = peak.max(sim.drones.iter().filter(|d| d.alive()).count());
|
||||
assert!(sim.drones.iter().all(|d| d.pos.is_finite() && d.vel.is_finite()));
|
||||
if second && sim.launched >= expected * 2 && !sim.replays.is_empty() { break; }
|
||||
}
|
||||
eprintln!("max menu raids: requested {}, launched {}, peak {peak}, replays {}", expected * 2, sim.launched, sim.replays.len());
|
||||
assert!(second && overlap && sim.launched >= expected * 2 && peak > 40);
|
||||
assert!(!sim.replays.is_empty(), "raid recording did not finish");
|
||||
}
|
||||
Generated
+8
@@ -6,10 +6,18 @@ version = 4
|
||||
name = "airdef"
|
||||
version = "0.2.0"
|
||||
dependencies = [
|
||||
"airdef-core",
|
||||
"glam",
|
||||
"horizon-mod-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "airdef-core"
|
||||
version = "0.2.0"
|
||||
dependencies = [
|
||||
"glam",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.104"
|
||||
|
||||
@@ -9,9 +9,13 @@ description = "AirDef: long-range drones and air defence for the AirDef fork of
|
||||
crate-type = ["cdylib", "rlib"]
|
||||
|
||||
[dependencies]
|
||||
airdef-core = { path = "../airdef-core" }
|
||||
horizon-mod-sdk = { path = "../horizon/crates/horizon-mod-sdk" }
|
||||
glam = "0.30"
|
||||
|
||||
[dev-dependencies]
|
||||
airdef-core = { path = "../airdef-core", features = ["test-fixtures"] }
|
||||
|
||||
[profile.release]
|
||||
opt-level = "s"
|
||||
lto = true
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "airdef:block/radar_mast"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "airdef:block/radar_mast_burnt"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "airdef:block/rm48u"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "airdef:block/tpk_cap"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "airdef:block/tpk_cap_burnt"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,10 +30,13 @@
|
||||
"block.airdef.s400_tubes": "ТПК 48Н6",
|
||||
"block.airdef.s500_chassis": "Шасси С-500",
|
||||
"block.airdef.s500_tubes": "ТПК 77Н6",
|
||||
"block.airdef.tpk_cap": "Крышка ТПК (анимация)",
|
||||
"block.airdef.radar_mast": "Радиомачта (секция высоты)",
|
||||
"block.airdef.radar_trailer": "Прицеп РЛС",
|
||||
"block.airdef.radar_panel": "РЛС обзора",
|
||||
"block.airdef.m57e6": "57Э6",
|
||||
"block.airdef.m48n6": "48Н6",
|
||||
"block.airdef.rm48u": "RM48U (игровой профиль)",
|
||||
"block.airdef.m77n6": "77Н6",
|
||||
"block.airdef.kalibr": "Калибр",
|
||||
"block.airdef.kh22": "Х-22",
|
||||
@@ -76,6 +79,8 @@
|
||||
"block.airdef.s400_tubes_burnt": "ТПК 48Н6 (остов)",
|
||||
"block.airdef.s500_chassis_burnt": "Шасси С-500 (остов)",
|
||||
"block.airdef.s500_tubes_burnt": "ТПК 77Н6 (остов)",
|
||||
"block.airdef.tpk_cap_burnt": "Крышка ТПК (анимация) (остов)",
|
||||
"block.airdef.radar_mast_burnt": "Радиомачта (секция высоты) (остов)",
|
||||
"block.airdef.irist_chassis_burnt": "Шасси IRIS-T SLM (остов)",
|
||||
"block.airdef.irist_tubes_burnt": "Пакет IRIS-T (остов)",
|
||||
"block.airdef.nasams_trailer_burnt": "Прицеп NASAMS (остов)",
|
||||
|
||||
@@ -30,10 +30,13 @@
|
||||
"block.airdef.s400_tubes": "ТПК 48Н6",
|
||||
"block.airdef.s500_chassis": "Шасси С-500",
|
||||
"block.airdef.s500_tubes": "ТПК 77Н6",
|
||||
"block.airdef.tpk_cap": "Крышка ТПК (анимация)",
|
||||
"block.airdef.radar_mast": "Радиомачта (секция высоты)",
|
||||
"block.airdef.radar_trailer": "Прицеп РЛС",
|
||||
"block.airdef.radar_panel": "РЛС обзора",
|
||||
"block.airdef.m57e6": "57Э6",
|
||||
"block.airdef.m48n6": "48Н6",
|
||||
"block.airdef.rm48u": "RM48U (игровой профиль)",
|
||||
"block.airdef.m77n6": "77Н6",
|
||||
"block.airdef.kalibr": "Калибр",
|
||||
"block.airdef.kh22": "Х-22",
|
||||
@@ -76,6 +79,8 @@
|
||||
"block.airdef.s400_tubes_burnt": "ТПК 48Н6 (остов)",
|
||||
"block.airdef.s500_chassis_burnt": "Шасси С-500 (остов)",
|
||||
"block.airdef.s500_tubes_burnt": "ТПК 77Н6 (остов)",
|
||||
"block.airdef.tpk_cap_burnt": "Крышка ТПК (анимация) (остов)",
|
||||
"block.airdef.radar_mast_burnt": "Радиомачта (секция высоты) (остов)",
|
||||
"block.airdef.irist_chassis_burnt": "Шасси IRIS-T SLM (остов)",
|
||||
"block.airdef.irist_tubes_burnt": "Пакет IRIS-T (остов)",
|
||||
"block.airdef.nasams_trailer_burnt": "Прицеп NASAMS (остов)",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4,8 +4,7 @@
|
||||
"missile_ru": "airdef:block/missile_ru",
|
||||
"booster": "airdef:block/booster",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"ru_green_s31": "airdef:block/ru_green_s31",
|
||||
"ru_green": "airdef:block/ru_green",
|
||||
"pilot_olive": "airdef:block/pilot_olive",
|
||||
"particle": "airdef:block/missile_ru"
|
||||
},
|
||||
"elements": [
|
||||
@@ -844,7 +843,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_s31"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -853,7 +852,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_s31"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -862,7 +861,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -871,7 +870,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -880,7 +879,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s31"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -889,9 +888,9 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s31"
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
"missile_ru_b": "airdef:block/missile_ru_b",
|
||||
"booster_b": "airdef:block/booster_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"ru_green_s31_b": "airdef:block/ru_green_s31_b",
|
||||
"ru_green_b": "airdef:block/ru_green_b",
|
||||
"pilot_olive_b": "airdef:block/pilot_olive_b",
|
||||
"particle": "airdef:block/missile_ru_b"
|
||||
},
|
||||
"elements": [
|
||||
@@ -844,7 +843,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_s31_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -853,7 +852,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_s31_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -862,7 +861,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -871,7 +870,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -880,7 +879,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s31_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -889,9 +888,9 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s31_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"ru_green_s21": "airdef:block/ru_green_s21",
|
||||
"ru_green_s22": "airdef:block/ru_green_s22",
|
||||
"pilot_olive": "airdef:block/pilot_olive",
|
||||
"radar_face": "airdef:block/radar_face",
|
||||
"ru_green": "airdef:block/ru_green",
|
||||
"particle": "airdef:block/ru_green_s21"
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"metal": "airdef:block/metal",
|
||||
"particle": "airdef:block/pilot_olive"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
9.0,
|
||||
7.0,
|
||||
20.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -25,36 +25,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -63,7 +63,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s22"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -72,7 +72,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s22"
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.0,
|
||||
7.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
10.0,
|
||||
18.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -83,7 +151,7 @@
|
||||
-10.0
|
||||
],
|
||||
"to": [
|
||||
15.0,
|
||||
11.0,
|
||||
14.0,
|
||||
-4.0
|
||||
],
|
||||
@@ -92,7 +160,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#radar_face"
|
||||
@@ -101,7 +169,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#radar_face"
|
||||
@@ -128,7 +196,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#radar_face"
|
||||
@@ -137,7 +205,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#radar_face"
|
||||
@@ -146,14 +214,14 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.0,
|
||||
9.0,
|
||||
6.0
|
||||
0.0,
|
||||
1.0,
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
11.0,
|
||||
18.0
|
||||
16.0,
|
||||
3.0,
|
||||
-3.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
@@ -163,7 +231,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -172,7 +240,75 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.0,
|
||||
7.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
-2.0,
|
||||
9.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -181,7 +317,7 @@
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -190,27 +326,95 @@
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
18.0,
|
||||
7.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
9.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"ru_green_s21_b": "airdef:block/ru_green_s21_b",
|
||||
"ru_green_s22_b": "airdef:block/ru_green_s22_b",
|
||||
"pilot_olive_b": "airdef:block/pilot_olive_b",
|
||||
"radar_face_b": "airdef:block/radar_face_b",
|
||||
"ru_green_b": "airdef:block/ru_green_b",
|
||||
"particle": "airdef:block/ru_green_s21_b"
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"metal_b": "airdef:block/metal_b",
|
||||
"particle": "airdef:block/pilot_olive_b"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
9.0,
|
||||
7.0,
|
||||
20.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -25,36 +25,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -63,7 +63,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s22_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -72,7 +72,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s22_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.0,
|
||||
7.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
10.0,
|
||||
18.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -83,7 +151,7 @@
|
||||
-10.0
|
||||
],
|
||||
"to": [
|
||||
15.0,
|
||||
11.0,
|
||||
14.0,
|
||||
-4.0
|
||||
],
|
||||
@@ -92,7 +160,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#radar_face_b"
|
||||
@@ -101,7 +169,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#radar_face_b"
|
||||
@@ -128,7 +196,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#radar_face_b"
|
||||
@@ -137,7 +205,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
10.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#radar_face_b"
|
||||
@@ -146,14 +214,14 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.0,
|
||||
9.0,
|
||||
6.0
|
||||
0.0,
|
||||
1.0,
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
11.0,
|
||||
18.0
|
||||
16.0,
|
||||
3.0,
|
||||
-3.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
@@ -163,7 +231,7 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -172,7 +240,75 @@
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.0,
|
||||
7.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
-2.0,
|
||||
9.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -181,7 +317,7 @@
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -190,27 +326,95 @@
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
18.0,
|
||||
7.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
9.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"textures": {
|
||||
"concrete": "airdef:block/concrete",
|
||||
"crate": "airdef:block/crate",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"tube_cap": "airdef:block/tube_cap",
|
||||
"tube": "airdef:block/tube",
|
||||
"particle": "airdef:block/concrete"
|
||||
@@ -78,22 +79,22 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-12.0,
|
||||
-13.0,
|
||||
2.0,
|
||||
-12.0
|
||||
-13.0
|
||||
],
|
||||
"to": [
|
||||
0.0,
|
||||
10.0,
|
||||
0.0
|
||||
1.0,
|
||||
12.0,
|
||||
1.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
},
|
||||
@@ -101,8 +102,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
},
|
||||
@@ -110,8 +111,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
},
|
||||
@@ -119,8 +120,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
},
|
||||
@@ -128,8 +129,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
},
|
||||
@@ -137,8 +138,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
}
|
||||
@@ -146,21 +147,21 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-12.0,
|
||||
-13.0,
|
||||
2.0,
|
||||
4.0
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
0.0,
|
||||
1.0,
|
||||
10.0,
|
||||
16.0
|
||||
17.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -169,7 +170,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -178,7 +179,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -187,7 +188,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -196,8 +197,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
},
|
||||
@@ -205,8 +206,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
}
|
||||
@@ -214,21 +215,21 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
4.0,
|
||||
3.0,
|
||||
2.0,
|
||||
-12.0
|
||||
-13.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
17.0,
|
||||
10.0,
|
||||
0.0
|
||||
1.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -237,7 +238,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -246,7 +247,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -255,7 +256,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
@@ -264,8 +265,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
},
|
||||
@@ -273,13 +274,149 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-14.0,
|
||||
2.0,
|
||||
27.0
|
||||
],
|
||||
"to": [
|
||||
30.0,
|
||||
5.0,
|
||||
29.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-14.0,
|
||||
2.0,
|
||||
-14.0
|
||||
],
|
||||
"to": [
|
||||
-12.0,
|
||||
5.0,
|
||||
28.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
16
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
16
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.0,
|
||||
@@ -485,4 +622,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"textures": {
|
||||
"concrete_b": "airdef:block/concrete_b",
|
||||
"crate_b": "airdef:block/crate_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"tube_cap_b": "airdef:block/tube_cap_b",
|
||||
"tube_b": "airdef:block/tube_b",
|
||||
"particle": "airdef:block/concrete_b"
|
||||
@@ -78,22 +79,22 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-12.0,
|
||||
-13.0,
|
||||
2.0,
|
||||
-12.0
|
||||
-13.0
|
||||
],
|
||||
"to": [
|
||||
0.0,
|
||||
10.0,
|
||||
0.0
|
||||
1.0,
|
||||
12.0,
|
||||
1.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
},
|
||||
@@ -101,8 +102,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
},
|
||||
@@ -110,8 +111,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
},
|
||||
@@ -119,8 +120,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
8.0
|
||||
14.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
},
|
||||
@@ -128,8 +129,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
},
|
||||
@@ -137,8 +138,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
}
|
||||
@@ -146,21 +147,21 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-12.0,
|
||||
-13.0,
|
||||
2.0,
|
||||
4.0
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
0.0,
|
||||
1.0,
|
||||
10.0,
|
||||
16.0
|
||||
17.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -169,7 +170,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -178,7 +179,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -187,7 +188,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -196,8 +197,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
},
|
||||
@@ -205,8 +206,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
}
|
||||
@@ -214,21 +215,21 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
4.0,
|
||||
3.0,
|
||||
2.0,
|
||||
-12.0
|
||||
-13.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
17.0,
|
||||
10.0,
|
||||
0.0
|
||||
1.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -237,7 +238,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -246,7 +247,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -255,7 +256,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
@@ -264,8 +265,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
},
|
||||
@@ -273,13 +274,149 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#crate_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-14.0,
|
||||
2.0,
|
||||
27.0
|
||||
],
|
||||
"to": [
|
||||
30.0,
|
||||
5.0,
|
||||
29.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-14.0,
|
||||
2.0,
|
||||
-14.0
|
||||
],
|
||||
"to": [
|
||||
-12.0,
|
||||
5.0,
|
||||
28.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
16
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
16
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.0,
|
||||
@@ -485,4 +622,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"bare_barrel": "airdef:block/bare_barrel",
|
||||
"flecktarn": "airdef:block/flecktarn",
|
||||
"pilot_nato": "airdef:block/pilot_nato",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"particle": "airdef:block/bare_barrel"
|
||||
},
|
||||
@@ -162,7 +162,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -171,7 +171,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -180,7 +180,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -189,7 +189,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -198,7 +198,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -207,7 +207,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -230,7 +230,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -239,7 +239,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -248,7 +248,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -257,7 +257,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -266,7 +266,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -275,7 +275,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -416,4 +416,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"bare_barrel_b": "airdef:block/bare_barrel_b",
|
||||
"flecktarn_b": "airdef:block/flecktarn_b",
|
||||
"pilot_nato_b": "airdef:block/pilot_nato_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"particle": "airdef:block/bare_barrel_b"
|
||||
},
|
||||
@@ -162,7 +162,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -171,7 +171,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -180,7 +180,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -189,7 +189,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -198,7 +198,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -207,7 +207,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -230,7 +230,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
@@ -239,7 +239,7 @@
|
||||
5.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -248,7 +248,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -257,7 +257,7 @@
|
||||
12.0,
|
||||
5.5
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -266,7 +266,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -275,7 +275,7 @@
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -348,4 +348,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,25 +1,23 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"flecktarn_s21": "airdef:block/flecktarn_s21",
|
||||
"flecktarn": "airdef:block/flecktarn",
|
||||
"pilot_nato": "airdef:block/pilot_nato",
|
||||
"radar_face": "airdef:block/radar_face",
|
||||
"metal": "airdef:block/metal",
|
||||
"mk_de": "airdef:block/mk_de",
|
||||
"bare_antenna": "airdef:block/bare_antenna",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"particle": "airdef:block/flecktarn_s21"
|
||||
"mk_de": "airdef:block/mk_de",
|
||||
"particle": "airdef:block/pilot_nato"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
-4.0,
|
||||
0.0,
|
||||
-6.0
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
12.0,
|
||||
5.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -28,36 +26,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn_s21"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn_s21"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -66,7 +64,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn_s21"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -75,7 +73,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn_s21"
|
||||
"texture": "#pilot_nato"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.5,
|
||||
5.0,
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
18.5,
|
||||
12.0,
|
||||
15.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_nato"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -87,7 +153,7 @@
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
14.0,
|
||||
13.0,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -96,36 +162,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -134,7 +200,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -143,7 +209,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn"
|
||||
"texture": "#pilot_nato"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -218,7 +284,7 @@
|
||||
{
|
||||
"from": [
|
||||
7.0,
|
||||
14.0,
|
||||
13.0,
|
||||
10.0
|
||||
],
|
||||
"to": [
|
||||
@@ -232,7 +298,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
@@ -241,7 +307,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
@@ -250,7 +316,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
@@ -259,7 +325,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
@@ -285,150 +351,168 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
20.0,
|
||||
3.0,
|
||||
-5.5
|
||||
-4.7,
|
||||
4.8,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
20.119999999999997,
|
||||
6.5,
|
||||
1.5
|
||||
-2.5,
|
||||
10.7,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.2,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.2,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.2,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.2,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
}
|
||||
},
|
||||
"rotation": {
|
||||
"angle": 22.5,
|
||||
"axis": "z",
|
||||
"origin": [
|
||||
-3.6,
|
||||
7.75,
|
||||
5.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.119999999999997,
|
||||
3.0,
|
||||
-5.5
|
||||
18.5,
|
||||
4.8,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
-4.0,
|
||||
6.5,
|
||||
1.5
|
||||
20.7,
|
||||
10.7,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.1999999999999993,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.1999999999999993,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.1999999999999993,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.1999999999999993,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de"
|
||||
"texture": "#pilot_nato"
|
||||
}
|
||||
},
|
||||
"rotation": {
|
||||
"angle": -22.5,
|
||||
"axis": "z",
|
||||
"origin": [
|
||||
19.6,
|
||||
7.75,
|
||||
5.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.5,
|
||||
14.0,
|
||||
0.0,
|
||||
13.05,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
10.5,
|
||||
14.8,
|
||||
7.0
|
||||
5.0,
|
||||
13.7,
|
||||
8.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
@@ -436,143 +520,75 @@
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.8000000000000007
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#metal"
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.8000000000000007
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#metal"
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.8000000000000007
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#metal"
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.8000000000000007
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#metal"
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
14.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
3.0,
|
||||
16.0,
|
||||
6.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_antenna"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_antenna"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_antenna"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_antenna"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#bare_antenna"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#bare_antenna"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.800000000000001,
|
||||
7.0,
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
-4.0,
|
||||
10.0,
|
||||
-2.0
|
||||
13.05,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
15.0,
|
||||
13.7,
|
||||
8.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -580,8 +596,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -589,8 +605,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -598,8 +614,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -607,8 +623,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -616,8 +632,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
@@ -625,207 +641,139 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
20.0,
|
||||
7.0,
|
||||
-5.0
|
||||
18.5,
|
||||
6.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
20.8,
|
||||
10.0,
|
||||
-2.0
|
||||
18.619999999999997,
|
||||
9.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
0.25,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
0.25,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
6.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
6.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.800000000000001,
|
||||
7.0,
|
||||
-1.5
|
||||
-2.6199999999999974,
|
||||
6.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
-4.0,
|
||||
10.0,
|
||||
0.5
|
||||
-2.5,
|
||||
9.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
0.25,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
0.25,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
2.0
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
2.0
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
20.0,
|
||||
7.0,
|
||||
-1.5
|
||||
],
|
||||
"to": [
|
||||
20.8,
|
||||
10.0,
|
||||
0.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
"texture": "#mk_de"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +1,23 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"flecktarn_s21_b": "airdef:block/flecktarn_s21_b",
|
||||
"flecktarn_b": "airdef:block/flecktarn_b",
|
||||
"pilot_nato_b": "airdef:block/pilot_nato_b",
|
||||
"radar_face_b": "airdef:block/radar_face_b",
|
||||
"metal_b": "airdef:block/metal_b",
|
||||
"mk_de_b": "airdef:block/mk_de_b",
|
||||
"bare_antenna_b": "airdef:block/bare_antenna_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"particle": "airdef:block/flecktarn_s21_b"
|
||||
"mk_de_b": "airdef:block/mk_de_b",
|
||||
"particle": "airdef:block/pilot_nato_b"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
-4.0,
|
||||
0.0,
|
||||
-6.0
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
12.0,
|
||||
5.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -28,36 +26,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn_s21_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn_s21_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
12.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -66,7 +64,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn_s21_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -75,7 +73,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn_s21_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.5,
|
||||
5.0,
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
18.5,
|
||||
12.0,
|
||||
15.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
7.0
|
||||
],
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_nato_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -87,7 +153,7 @@
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
14.0,
|
||||
13.0,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -96,36 +162,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -134,7 +200,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -143,7 +209,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#flecktarn_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -218,7 +284,7 @@
|
||||
{
|
||||
"from": [
|
||||
7.0,
|
||||
14.0,
|
||||
13.0,
|
||||
10.0
|
||||
],
|
||||
"to": [
|
||||
@@ -232,7 +298,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
@@ -241,7 +307,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
@@ -250,7 +316,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
@@ -259,7 +325,7 @@
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
4.0
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
@@ -285,226 +351,244 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
20.0,
|
||||
3.0,
|
||||
-5.5
|
||||
-4.7,
|
||||
4.8,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
20.119999999999997,
|
||||
6.5,
|
||||
1.5
|
||||
-2.5,
|
||||
10.7,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.2,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.2,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.2,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.2,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
}
|
||||
},
|
||||
"rotation": {
|
||||
"angle": 22.5,
|
||||
"axis": "z",
|
||||
"origin": [
|
||||
-3.6,
|
||||
7.75,
|
||||
5.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.119999999999997,
|
||||
3.0,
|
||||
-5.5
|
||||
18.5,
|
||||
4.8,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
-4.0,
|
||||
6.5,
|
||||
1.5
|
||||
20.7,
|
||||
10.7,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.1999999999999993,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
2.1999999999999993,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
16,
|
||||
5.8999999999999995
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.1999999999999993,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
2.1999999999999993,
|
||||
16
|
||||
],
|
||||
"texture": "#mk_de_b"
|
||||
"texture": "#pilot_nato_b"
|
||||
}
|
||||
},
|
||||
"rotation": {
|
||||
"angle": -22.5,
|
||||
"axis": "z",
|
||||
"origin": [
|
||||
19.6,
|
||||
7.75,
|
||||
5.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
14.0,
|
||||
5.0
|
||||
0.0,
|
||||
13.05,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
3.0,
|
||||
16.0,
|
||||
6.0
|
||||
5.0,
|
||||
13.7,
|
||||
8.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
5.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#bare_antenna_b"
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
5.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#bare_antenna_b"
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#bare_antenna_b"
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#bare_antenna_b"
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
1.0
|
||||
5.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#bare_antenna_b"
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
1.0
|
||||
5.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#bare_antenna_b"
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.800000000000001,
|
||||
7.0,
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
-4.0,
|
||||
10.0,
|
||||
-2.0
|
||||
13.05,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
15.0,
|
||||
13.7,
|
||||
8.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -512,8 +596,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -521,8 +605,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -530,8 +614,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
6.0,
|
||||
0.6499999999999986
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -539,8 +623,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -548,8 +632,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
5.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
@@ -557,139 +641,71 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
20.0,
|
||||
7.0,
|
||||
-5.0
|
||||
-2.6199999999999974,
|
||||
6.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
20.8,
|
||||
10.0,
|
||||
-2.0
|
||||
-2.5,
|
||||
9.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
0.25,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
"texture": "#mk_de_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
0.25,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
"texture": "#mk_de_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
6.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
"texture": "#mk_de_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
6.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
"texture": "#mk_de_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
"texture": "#mk_de_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-4.800000000000001,
|
||||
7.0,
|
||||
-1.5
|
||||
],
|
||||
"to": [
|
||||
-4.0,
|
||||
10.0,
|
||||
0.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.8000000000000007,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
"texture": "#mk_de_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -686,6 +686,142 @@
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-1.9,
|
||||
0.0,
|
||||
-2.0
|
||||
],
|
||||
"to": [
|
||||
17.9,
|
||||
9.0,
|
||||
-1.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-1.9,
|
||||
0.0,
|
||||
22.0
|
||||
],
|
||||
"to": [
|
||||
17.9,
|
||||
9.0,
|
||||
22.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -686,6 +686,142 @@
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-1.9,
|
||||
0.0,
|
||||
-2.0
|
||||
],
|
||||
"to": [
|
||||
17.9,
|
||||
9.0,
|
||||
-1.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-1.9,
|
||||
0.0,
|
||||
22.0
|
||||
],
|
||||
"to": [
|
||||
17.9,
|
||||
9.0,
|
||||
22.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -741,8 +741,8 @@
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
22.0,
|
||||
7.6,
|
||||
13.55,
|
||||
7.5,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -750,8 +750,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
0.6999999999999993
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -759,8 +759,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
0.6999999999999993
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -769,7 +769,7 @@
|
||||
0,
|
||||
0,
|
||||
9.0,
|
||||
0.6999999999999993
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -778,7 +778,7 @@
|
||||
0,
|
||||
0,
|
||||
9.0,
|
||||
0.6999999999999993
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -786,7 +786,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
3.0500000000000007,
|
||||
9.0
|
||||
],
|
||||
"texture": "#kh101"
|
||||
@@ -795,7 +795,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
3.0500000000000007,
|
||||
9.0
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
@@ -804,13 +804,13 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-6.0,
|
||||
2.4499999999999993,
|
||||
6.9,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
5.5,
|
||||
7.6,
|
||||
7.5,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -818,8 +818,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
0.6999999999999993
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -827,8 +827,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
0.6999999999999993
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -837,7 +837,7 @@
|
||||
0,
|
||||
0,
|
||||
9.0,
|
||||
0.6999999999999993
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -846,7 +846,7 @@
|
||||
0,
|
||||
0,
|
||||
9.0,
|
||||
0.6999999999999993
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -854,7 +854,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
3.0500000000000007,
|
||||
9.0
|
||||
],
|
||||
"texture": "#kh101"
|
||||
@@ -863,7 +863,7 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.5,
|
||||
3.0500000000000007,
|
||||
9.0
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
@@ -872,22 +872,22 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
22.0,
|
||||
13.5,
|
||||
6.9,
|
||||
5.0
|
||||
2.65
|
||||
],
|
||||
"to": [
|
||||
28.5,
|
||||
7.4,
|
||||
11.0
|
||||
16.55,
|
||||
7.5,
|
||||
10.88
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
0.5
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -895,8 +895,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
0.5
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -904,8 +904,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.5
|
||||
8.23,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -913,8 +913,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.5
|
||||
8.23,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -922,8 +922,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
6.0
|
||||
3.0500000000000007,
|
||||
8.23
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -931,8 +931,552 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
6.0
|
||||
3.0500000000000007,
|
||||
8.23
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-0.5500000000000007,
|
||||
6.9,
|
||||
2.65
|
||||
],
|
||||
"to": [
|
||||
2.5,
|
||||
7.5,
|
||||
10.88
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.23,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.23,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
8.23
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
8.23
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
16.5,
|
||||
6.9,
|
||||
3.3
|
||||
],
|
||||
"to": [
|
||||
19.55,
|
||||
7.5,
|
||||
10.76
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.46,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.46,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
7.46
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
7.46
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-3.5500000000000007,
|
||||
6.9,
|
||||
3.3
|
||||
],
|
||||
"to": [
|
||||
-0.5,
|
||||
7.5,
|
||||
10.76
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.46,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.46,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
7.46
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
7.46
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
19.5,
|
||||
6.9,
|
||||
3.95
|
||||
],
|
||||
"to": [
|
||||
22.55,
|
||||
7.5,
|
||||
10.64
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.69,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.69,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
6.69
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
6.69
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-6.550000000000001,
|
||||
6.9,
|
||||
3.95
|
||||
],
|
||||
"to": [
|
||||
-3.5,
|
||||
7.5,
|
||||
10.64
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.69,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.69,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
6.69
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
6.69
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
22.5,
|
||||
6.9,
|
||||
4.6
|
||||
],
|
||||
"to": [
|
||||
25.55,
|
||||
7.5,
|
||||
10.52
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.92,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.92,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
5.92
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
5.92
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-9.55,
|
||||
6.9,
|
||||
4.6
|
||||
],
|
||||
"to": [
|
||||
-6.5,
|
||||
7.5,
|
||||
10.52
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.92,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.92,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
5.92
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0500000000000007,
|
||||
5.92
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
25.5,
|
||||
6.9,
|
||||
5.25
|
||||
],
|
||||
"to": [
|
||||
28.5,
|
||||
7.5,
|
||||
10.4
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.15,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.15,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
5.15
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
5.15
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
@@ -942,20 +1486,20 @@
|
||||
"from": [
|
||||
-12.5,
|
||||
6.9,
|
||||
5.0
|
||||
5.25
|
||||
],
|
||||
"to": [
|
||||
-6.0,
|
||||
7.4,
|
||||
11.0
|
||||
-9.5,
|
||||
7.5,
|
||||
10.4
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
0.5
|
||||
3.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -963,8 +1507,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
0.5
|
||||
3.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -972,8 +1516,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.5
|
||||
5.15,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -981,8 +1525,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.5
|
||||
5.15,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -990,8 +1534,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
6.0
|
||||
3.0,
|
||||
5.15
|
||||
],
|
||||
"texture": "#kh101"
|
||||
},
|
||||
@@ -999,8 +1543,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.5,
|
||||
6.0
|
||||
3.0,
|
||||
5.15
|
||||
],
|
||||
"texture": "#kh101_belly"
|
||||
}
|
||||
@@ -1551,4 +2095,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -550,6 +550,142 @@
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.6,
|
||||
0.0,
|
||||
-2.0
|
||||
],
|
||||
"to": [
|
||||
15.4,
|
||||
9.0,
|
||||
-1.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.6,
|
||||
0.0,
|
||||
22.0
|
||||
],
|
||||
"to": [
|
||||
15.4,
|
||||
9.0,
|
||||
22.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -550,6 +550,142 @@
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.6,
|
||||
0.0,
|
||||
-2.0
|
||||
],
|
||||
"to": [
|
||||
15.4,
|
||||
9.0,
|
||||
-1.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.6,
|
||||
0.0,
|
||||
22.0
|
||||
],
|
||||
"to": [
|
||||
15.4,
|
||||
9.0,
|
||||
22.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.8,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -2,9 +2,7 @@
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"tubes6": "airdef:block/tubes6",
|
||||
"ru_green": "airdef:block/ru_green",
|
||||
"ru_green_s21": "airdef:block/ru_green_s21",
|
||||
"ru_green_s12": "airdef:block/ru_green_s12",
|
||||
"pilot_olive": "airdef:block/pilot_olive",
|
||||
"bare_barrel": "airdef:block/bare_barrel",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"particle": "airdef:block/tubes6"
|
||||
@@ -38,7 +36,7 @@
|
||||
8.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -47,7 +45,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -56,7 +54,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -65,7 +63,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -74,7 +72,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12"
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -106,7 +104,7 @@
|
||||
8.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -115,7 +113,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -124,7 +122,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -133,7 +131,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -142,7 +140,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12"
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -555,4 +553,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"tubes6_b": "airdef:block/tubes6_b",
|
||||
"ru_green_b": "airdef:block/ru_green_b",
|
||||
"ru_green_s21_b": "airdef:block/ru_green_s21_b",
|
||||
"ru_green_s12_b": "airdef:block/ru_green_s12_b",
|
||||
"pilot_olive_b": "airdef:block/pilot_olive_b",
|
||||
"bare_barrel_b": "airdef:block/bare_barrel_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"particle": "airdef:block/tubes6_b"
|
||||
@@ -38,7 +36,7 @@
|
||||
8.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -47,7 +45,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -56,7 +54,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -65,7 +63,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -74,7 +72,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -106,7 +104,7 @@
|
||||
8.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -115,7 +113,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -124,7 +122,7 @@
|
||||
16,
|
||||
10.0
|
||||
],
|
||||
"texture": "#ru_green_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -133,7 +131,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -142,7 +140,7 @@
|
||||
8.0,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_s12_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -555,4 +553,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,24 +1,23 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"ru_green": "airdef:block/ru_green",
|
||||
"pilot_olive": "airdef:block/pilot_olive",
|
||||
"radar_face": "airdef:block/radar_face",
|
||||
"metal": "airdef:block/metal",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"metal": "airdef:block/metal",
|
||||
"bare_lamp": "airdef:block/bare_lamp",
|
||||
"mk_ru": "airdef:block/mk_ru",
|
||||
"particle": "airdef:block/ru_green"
|
||||
"particle": "airdef:block/pilot_olive"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
-2.0,
|
||||
0.0,
|
||||
-6.0
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
10.0,
|
||||
7.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -27,36 +26,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -65,7 +64,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -74,7 +73,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.0,
|
||||
7.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
10.0,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -146,6 +213,74 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
1.0,
|
||||
-6.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
11.0,
|
||||
-5.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
7.0,
|
||||
@@ -216,12 +351,12 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.0,
|
||||
1.0,
|
||||
10.0,
|
||||
8.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
15.0,
|
||||
12.0,
|
||||
16.0
|
||||
],
|
||||
@@ -230,19 +365,19 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -251,7 +386,7 @@
|
||||
8.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -260,25 +395,25 @@
|
||||
8.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#ru_green"
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -417,210 +552,6 @@
|
||||
"texture": "#bare_lamp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
1.0,
|
||||
12.0,
|
||||
10.0
|
||||
],
|
||||
"to": [
|
||||
15.0,
|
||||
12.6,
|
||||
15.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
18.0,
|
||||
3.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
18.119999999999997,
|
||||
6.5,
|
||||
3.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.1199999999999974,
|
||||
3.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
-2.0,
|
||||
6.5,
|
||||
3.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
],
|
||||
"texture": "#mk_ru"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"ru_green_b": "airdef:block/ru_green_b",
|
||||
"pilot_olive_b": "airdef:block/pilot_olive_b",
|
||||
"radar_face_b": "airdef:block/radar_face_b",
|
||||
"metal_b": "airdef:block/metal_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"bare_lamp_b": "airdef:block/bare_lamp_b",
|
||||
"mk_ru_b": "airdef:block/mk_ru_b",
|
||||
"particle": "airdef:block/ru_green_b"
|
||||
"metal_b": "airdef:block/metal_b",
|
||||
"particle": "airdef:block/pilot_olive_b"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
-2.0,
|
||||
0.0,
|
||||
-6.0
|
||||
-5.0
|
||||
],
|
||||
"to": [
|
||||
18.0,
|
||||
10.0,
|
||||
7.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -27,36 +25,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
10.0
|
||||
7.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -65,7 +63,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -74,7 +72,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.0,
|
||||
7.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
10.0,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
3.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -146,6 +212,74 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
1.0,
|
||||
-6.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
11.0,
|
||||
-5.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
7.0,
|
||||
@@ -216,12 +350,12 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.0,
|
||||
1.0,
|
||||
10.0,
|
||||
8.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
15.0,
|
||||
12.0,
|
||||
16.0
|
||||
],
|
||||
@@ -230,19 +364,19 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
@@ -251,7 +385,7 @@
|
||||
8.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
@@ -260,25 +394,25 @@
|
||||
8.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
14.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#ru_green_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -349,210 +483,6 @@
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.0,
|
||||
10.5,
|
||||
-4.4
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
12.5,
|
||||
-4.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_lamp_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_lamp_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.40000000000000036,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_lamp_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.40000000000000036,
|
||||
2.0
|
||||
],
|
||||
"texture": "#bare_lamp_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
0.40000000000000036
|
||||
],
|
||||
"texture": "#bare_lamp_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
0.40000000000000036
|
||||
],
|
||||
"texture": "#bare_lamp_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
1.0,
|
||||
12.0,
|
||||
10.0
|
||||
],
|
||||
"to": [
|
||||
15.0,
|
||||
12.6,
|
||||
15.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
0.5999999999999996
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
14.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-2.1199999999999974,
|
||||
3.0,
|
||||
-4.0
|
||||
],
|
||||
"to": [
|
||||
-2.0,
|
||||
6.5,
|
||||
3.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.5
|
||||
],
|
||||
"texture": "#mk_ru_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
],
|
||||
"texture": "#mk_ru_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
7.0
|
||||
],
|
||||
"texture": "#mk_ru_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,418 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"metal": "airdef:block/metal",
|
||||
"particle": "airdef:block/dark_metal"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
4.0,
|
||||
0.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
12.0,
|
||||
3.0,
|
||||
12.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.5,
|
||||
3.0,
|
||||
5.5
|
||||
],
|
||||
"to": [
|
||||
10.5,
|
||||
18.0,
|
||||
10.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
4.5,
|
||||
18.0,
|
||||
4.5
|
||||
],
|
||||
"to": [
|
||||
11.5,
|
||||
21.0,
|
||||
11.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
7.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
7.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.5,
|
||||
21.0,
|
||||
6.5
|
||||
],
|
||||
"to": [
|
||||
9.5,
|
||||
30.0,
|
||||
9.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.5,
|
||||
30.0,
|
||||
5.5
|
||||
],
|
||||
"to": [
|
||||
10.5,
|
||||
32.0,
|
||||
10.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
7.0,
|
||||
31.5,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
9.0,
|
||||
32.0,
|
||||
9.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,418 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"metal_b": "airdef:block/metal_b",
|
||||
"particle": "airdef:block/dark_metal_b"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
4.0,
|
||||
0.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
12.0,
|
||||
3.0,
|
||||
12.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.5,
|
||||
3.0,
|
||||
5.5
|
||||
],
|
||||
"to": [
|
||||
10.5,
|
||||
18.0,
|
||||
10.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
4.5,
|
||||
18.0,
|
||||
4.5
|
||||
],
|
||||
"to": [
|
||||
11.5,
|
||||
21.0,
|
||||
11.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
7.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
7.0,
|
||||
7.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.5,
|
||||
21.0,
|
||||
6.5
|
||||
],
|
||||
"to": [
|
||||
9.5,
|
||||
30.0,
|
||||
9.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
9.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.5,
|
||||
30.0,
|
||||
5.5
|
||||
],
|
||||
"to": [
|
||||
10.5,
|
||||
32.0,
|
||||
10.5
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
7.0,
|
||||
31.5,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
9.0,
|
||||
32.0,
|
||||
9.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
0.5
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -19,15 +19,6 @@
|
||||
32.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
9.5,
|
||||
9.5
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
@@ -87,15 +78,6 @@
|
||||
32.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
9.5,
|
||||
9.5
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
|
||||
@@ -19,15 +19,6 @@
|
||||
32.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
9.5,
|
||||
9.5
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
@@ -87,15 +78,6 @@
|
||||
32.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
9.5,
|
||||
9.5
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"metal": "airdef:block/metal",
|
||||
"particle": "airdef:block/dark_metal"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
1.0,
|
||||
0.0,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
3.0,
|
||||
14.0
|
||||
15.0,
|
||||
2.0,
|
||||
15.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -30,8 +31,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -39,8 +40,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -48,8 +49,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -57,8 +58,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -66,8 +67,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
@@ -75,8 +76,76 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.0,
|
||||
3.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
4.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.0,
|
||||
4.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
@@ -90,7 +159,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -99,7 +168,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -108,7 +177,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -117,7 +186,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
@@ -140,6 +209,142 @@
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
8.0,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
3.0,
|
||||
14.0,
|
||||
9.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
13.0,
|
||||
8.0,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
14.0,
|
||||
9.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,27 +2,28 @@
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"metal_b": "airdef:block/metal_b",
|
||||
"particle": "airdef:block/dark_metal_b"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
1.0,
|
||||
0.0,
|
||||
2.0
|
||||
1.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
3.0,
|
||||
14.0
|
||||
15.0,
|
||||
2.0,
|
||||
15.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -30,8 +31,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -39,8 +40,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -48,8 +49,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
3.0
|
||||
14.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -57,8 +58,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -66,8 +67,8 @@
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
14.0,
|
||||
14.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
@@ -75,8 +76,76 @@
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.0,
|
||||
3.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
4.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
6.0,
|
||||
4.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
@@ -90,7 +159,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -99,7 +168,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -108,7 +177,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -117,7 +186,7 @@
|
||||
0,
|
||||
0,
|
||||
4.0,
|
||||
9.0
|
||||
8.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
@@ -140,6 +209,74 @@
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
2.0,
|
||||
8.0,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
3.0,
|
||||
14.0,
|
||||
9.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"texture": "#metal_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"textures": {
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"lamp": "airdef:block/lamp",
|
||||
"metal": "airdef:block/metal",
|
||||
"particle": "airdef:block/dark_metal"
|
||||
},
|
||||
"elements": [
|
||||
@@ -74,6 +75,74 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
4.0,
|
||||
2.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
12.0,
|
||||
14.0,
|
||||
12.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
3.5,
|
||||
@@ -141,6 +210,74 @@
|
||||
"texture": "#lamp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
14.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
15.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
1.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
1.0
|
||||
],
|
||||
"texture": "#metal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,6 +74,74 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
4.0,
|
||||
2.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
12.0,
|
||||
14.0,
|
||||
12.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
12.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
8.0,
|
||||
12.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
3.5,
|
||||
@@ -143,4 +211,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,11 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"ru_khaki_s21": "airdef:block/ru_khaki_s21",
|
||||
"ru_khaki_s22": "airdef:block/ru_khaki_s22",
|
||||
"pilot_olive": "airdef:block/pilot_olive",
|
||||
"radar_face": "airdef:block/radar_face",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"tube_cap": "airdef:block/tube_cap",
|
||||
"particle": "airdef:block/ru_khaki_s21"
|
||||
"particle": "airdef:block/pilot_olive"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
@@ -17,7 +16,7 @@
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
16.0,
|
||||
12.0,
|
||||
22.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -26,36 +25,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -64,7 +63,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_khaki_s22"
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -73,7 +72,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_khaki_s22"
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-3.0,
|
||||
12.0,
|
||||
-3.0
|
||||
],
|
||||
"to": [
|
||||
19.0,
|
||||
16.0,
|
||||
21.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -758,4 +825,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"ru_khaki_s21_b": "airdef:block/ru_khaki_s21_b",
|
||||
"ru_khaki_s22_b": "airdef:block/ru_khaki_s22_b",
|
||||
"pilot_olive_b": "airdef:block/pilot_olive_b",
|
||||
"radar_face_b": "airdef:block/radar_face_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"tube_cap_b": "airdef:block/tube_cap_b",
|
||||
"particle": "airdef:block/ru_khaki_s21_b"
|
||||
"particle": "airdef:block/pilot_olive_b"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
@@ -17,7 +16,7 @@
|
||||
],
|
||||
"to": [
|
||||
20.0,
|
||||
16.0,
|
||||
12.0,
|
||||
22.0
|
||||
],
|
||||
"faces": {
|
||||
@@ -26,36 +25,36 @@
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
12.0
|
||||
],
|
||||
"texture": "#ru_khaki_s21_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
@@ -64,7 +63,7 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_khaki_s22_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
@@ -73,7 +72,75 @@
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#ru_khaki_s22_b"
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
-3.0,
|
||||
12.0,
|
||||
-3.0
|
||||
],
|
||||
"to": [
|
||||
19.0,
|
||||
16.0,
|
||||
21.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
4.0
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#pilot_olive_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -622,4 +689,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,282 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"tube_cap": "airdef:block/tube_cap",
|
||||
"dark_metal": "airdef:block/dark_metal",
|
||||
"particle": "airdef:block/tube_cap"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
2.5,
|
||||
0.0,
|
||||
7.7
|
||||
],
|
||||
"to": [
|
||||
13.5,
|
||||
16.0,
|
||||
8.25
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.0,
|
||||
2.5,
|
||||
7.7
|
||||
],
|
||||
"to": [
|
||||
2.5,
|
||||
13.5,
|
||||
8.25
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
13.5,
|
||||
2.5,
|
||||
7.7
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
13.5,
|
||||
8.25
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
8.25
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
8.3
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.25
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.25
|
||||
],
|
||||
"texture": "#dark_metal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,282 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"tube_cap_b": "airdef:block/tube_cap_b",
|
||||
"dark_metal_b": "airdef:block/dark_metal_b",
|
||||
"particle": "airdef:block/tube_cap_b"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
2.5,
|
||||
0.0,
|
||||
7.7
|
||||
],
|
||||
"to": [
|
||||
13.5,
|
||||
16.0,
|
||||
8.25
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
16
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
11.0,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0.0,
|
||||
2.5,
|
||||
7.7
|
||||
],
|
||||
"to": [
|
||||
2.5,
|
||||
13.5,
|
||||
8.25
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
13.5,
|
||||
2.5,
|
||||
7.7
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
13.5,
|
||||
8.25
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.5499999999999998,
|
||||
11.0
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
2.5,
|
||||
0.5499999999999998
|
||||
],
|
||||
"texture": "#tube_cap_b"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
8.25
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
8.3
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
0.25,
|
||||
6.0
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.25
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
6.0,
|
||||
0.25
|
||||
],
|
||||
"texture": "#dark_metal_b"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 91 B |
Binary file not shown.
|
After Width: | Height: | Size: 91 B |
Binary file not shown.
|
After Width: | Height: | Size: 91 B |
Binary file not shown.
|
After Width: | Height: | Size: 91 B |
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"template": "minecraft:stone",
|
||||
"item": false
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user