Compare commits

...

46 Commits

Author SHA1 Message Date
chexit 557346548a Interceptors blow up only before blocks a probe confirms, not on a tree-top height; low flights hold height over unknown land
build / mod (push) Successful in 8m54s
release / windows (push) Successful in 22m27s
In a clean real game with 15 systems: interceptors scrubbed at relief 58 to 2, kills 33 to 46 of 82. Smart raids from 2500 blocks: crashes 10 to 3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 03:03:31 +03:00
chexit 38e515dea9 Flights over unknown land hold a safe height, air starts wait for the land, systems and aims settle on the surface; map labels, filters, coverage by terrain and scenes
build / mod (push) Successful in 8m34s
Far raids over mountains with a 300-block known disc: crashes from 19 to 2 of 368 (mixed), 22 to about 9 (smart). Balance tests gain hilly land.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 02:19:31 +03:00
chexit 57a5426e65 Strikes on launch sites, command map and placement editor, fire doctrines, ground routes, acoustics switch and reverb
build / mod (push) Successful in 4m13s
#101: radars locate sites from launches, /airdef sites, /airdef strike; sites launch slower (15/25/50 ticks) so a strike can come in time. #48: M opens the map on the network's picture, with an editor. #47: guard, sector, reserve and salvo per system. #94: vehicles route round slopes and water and say when they cannot get through. #96: reverb, and a menu switch for the acoustics. #92: generated files are validated before the swap, repo map.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 00:59:03 +03:00
chexit ccc3e20902 Playtest fixes: smoke by engine, searchlights, far launch sites that load their chunks, air defence balance, last chance and radar-cued shots, radars in smart raids, echo, Windows release build from a tag
build / mod (push) Successful in 4m4s
release / windows (push) Successful in 23m13s
Smoke: one rule by engine, no heat on trails, no trail on P1-SUN. Searchlights: two lamps a target, off with an empty sky. Halos fade before their reach and their sum is limited. Launch sites load chunks through the server thread, go off-map as a last resort, and reach 4000 blocks. Air defence: ranges x1.5, shots grow with urgency, claims released, /airdef lastchance, long shots on a big radar's tracks. Build: rust-toolchain.toml, airdef.py check, generator manifest and --check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 23:44:14 +03:00
chexit 5003376e70 Acoustics stage 1: mod plays near sounds when the engine muffles, band-energy check tool (#96, fork patch 39)
build / mod (push) Successful in 3m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 22:09:23 +03:00
chexit 29d43071b5 Track the mod's item and block declarations: the fork's gitignore also matched data/airdef/horizon
build / mod (push) Successful in 3m50s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 19:12:04 +03:00
chexit 318a161a3d HD clouds no longer warp while walking (fork patch 38)
build / mod (push) Successful in 3m50s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 19:07:38 +03:00
chexit 766b292aec Continuous engine sound on drones and missiles, live and in replays, through persistent sound sources (#95, fork patch 37)
build / mod (push) Successful in 3m51s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 16:10:24 +03:00
chexit ab6b61db59 Acoustics porting plan from Sound Physics Remastered 453654e (#96 stage 1)
build / mod (push) Successful in 3m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:54:01 +03:00
chexit 4d4e1682f5 Windows build: patches and the fork keep LF, packer rebuilt when the fork changes; install notes
build / mod (push) Successful in 3m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:49:57 +03:00
chexit 545d4777e8 Kill outcomes: falling hull, breakup or air detonation by weapon and target, recorded for replays (#97)
build / mod (push) Successful in 3m54s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:47:03 +03:00
chexit f16bc2387f /airdef command tree with typed arguments, live scenario names and generated help (#98, fork patch 36)
build / mod (push) Successful in 3m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:43:11 +03:00
chexit 9bc94fa8aa Raids launch from real sites: 1, 2 or 4-5 sides, stock and launch queue, land first, then nearer land, then barges on water (#100)
build / mod (push) Successful in 3m50s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:36:43 +03:00
chexit 0f5c4136f3 Replays: smoke rebuilt from the recording, recorded objects and searchlights, film cut in true order, export sessions guarded, gun camera above water; export keeps its last frames; hd_bench no longer excuses strong flicker (#76-#84, fork patch 35)
build / mod (push) Successful in 3m49s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:19:32 +03:00
chexit 51f9609327 Distinct item icons: a silhouette per item and category instead of one remote (#99)
build / mod (push) Successful in 3m50s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:07:54 +03:00
chexit 3265eb63d2 HD: coloured shadows, rain ripples, film motion blur and depth of field (fork patch 34)
build / mod (push) Successful in 3m46s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:01:09 +03:00
chexit b43d471706 Combat fixes: exact-ray answers tied to their segment and block (#73), no fuse kill through a wall while waiting (#74), seeker needs confirmed sight and stops reading true velocity (#75), combat RNG and ids independent of graphics (#85), saved layouts validated whole before the scene is touched, refused autosave kept (#86)
build / mod (push) Successful in 3m48s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:57:19 +03:00
chexit 2eb6763d03 Brighter paint, rebuilt drones and cruise missiles, vehicle detail and markings; one-line part status in the summary panel (#55)
build / mod (push) Successful in 4m8s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:40:27 +03:00
chexit 438d68d50f Replays show SAMs and the world as it was at raid time, film clock for exports; clouds and fog polish; shared texture generator, new missile bodies, octagonal wheels, tracked sides, charred wrecks (#55 part 1) (fork patch 33)
build / mod (push) Successful in 3m54s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:30:39 +03:00
chexit 76f680eba6 Searchlights with real spot lights and volumetric beams (#60); replay director: several angles per event, slow-motion kills, /airdef replay film and export to MP4 (#58) (fork patch 32)
build / mod (push) Successful in 3m32s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 09:28:13 +03:00
chexit 8a12225ba1 Replays in full HD with shader effects driven by the recording (#56), recorded clock survives gaps (#57), cinematic intercepts: layered sound with travel delay, big flash, light burst, exposure punch, shock ring (#51) (fork patch 31)
build / mod (push) Successful in 3m21s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 03:59:47 +03:00
chexit 4bab572293 HD smoke trails as smooth ribbons (fork patch 30)
build / mod (push) Successful in 3m21s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 03:44:45 +03:00
chexit f43fa5ee66 Clouds occlude by depth, world-anchored noise, visual-only replay time (fork patch 29; #67, #68, #70)
build / mod (push) Successful in 3m29s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 03:26:10 +03:00
chexit 336ae9f7cc gitignore the smoke agent's test home
build / mod (push) Successful in 3m22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 03:17:21 +03:00
chexit 5f8bff31b9 Smoke and trails from the mod (#54), materials, wetness and wind in HD (fork patch 28); collisions and guidance: unknown is not clear (#61), cache invalidation and ageing (#62, #64), exact rays for partial blocks (#63), raids use the accuracy profiles (#65), interceptors guide on tracks and seekers (#66), fires and their effects bounded (#69)
build / mod (push) Successful in 3m20s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 03:17:11 +03:00
chexit 3ced60e84f hd_bench: time and weather frozen per shot, several stills per shot, moving pixels (water, clouds, leaves) kept out of the baseline score, warm-up, engine hash in the report (#71)
build / mod (push) Successful in 3m18s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 02:54:01 +03:00
chexit 6f3fc644bc Terrain-aware flight: drones look 8 s ahead and climb in time, the planner prices terrain, SAMs hold fire at targets masked by terrain (long-range ones loft over ridges), interceptors keep clear of the land or self-destruct in the air
build / mod (push) Successful in 3m24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:39:44 +03:00
chexit 9075717872 HD split into modules (#45, fork patch 26); clouds no longer jump at x or z = 0 (patch 27)
build / mod (push) Successful in 3m21s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:22:19 +03:00
chexit e3148bf458 HD render fixes (#35-#39, #41) and replay time of day (#57) (fork patch 25); radar scan cycles with ageing tracks (#46), damage to individual system parts (#50), long-lasting fires (#52)
build / mod (push) Successful in 3m22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:56:15 +03:00
chexit d0b9498aaf tools/hd_bench.py: a graphics test range — fixed shots in Polygon and Hills, before/after diffs against a baseline, still-frame flicker, GPU time and per-pass budget, a Markdown report (#44)
build / mod (push) Successful in 3m27s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:32:53 +03:00
chexit 8065f2225c Sunsets, volumetric clouds and fog in HD (fork patch 23, #53); missiles and drones collide with the world through new world queries (patch 24, API level 12; #42, #43); a direct hit destroys a system, strikes scatter by kind with a small miss chance (#49, #59)
build / mod (push) Successful in 3m24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:44:59 +03:00
chexit a8551b5c28 CI: game and desktop builds check out exactly inputs.tag, verify its release was made by build.yml from that commit, and upload only to it (#40)
build / mod (push) Successful in 3m24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:20:57 +03:00
chexit f443f0a94a HD water darker and clearer, higher ripples (fork patch 22)
build / mod (push) Successful in 3m23s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 19:02:16 +03:00
chexit e33daac636 HD sky, atmosphere and warmer soft sunlight; lighter rippled water (fork patch 21); doc updated
build / mod (push) Successful in 3m20s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 18:38:20 +03:00
chexit 661c852bbf HD water darker, without the vanilla texture (fork patch 20)
build / mod (push) Successful in 3m18s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:56:05 +03:00
chexit 428713d4bc HD water: reflections, refraction, depth colour, sun glint (fork patch 19); doc updated
build / mod (push) Successful in 3m22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:47:52 +03:00
chexit 5839da129a HD: temporal upscaler and the near-shadow flicker fixed (fork patch 18); doc updated
build / mod (push) Successful in 3m17s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:20:08 +03:00
chexit ab4a7899af TAA and cheaper shadows in HD (patch 16), model handles in the mod API so the mod sends no model names each tick (patch 17, #30); doc updated
build / mod (push) Successful in 3m25s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:02:30 +03:00
chexit 65dd84646a docs: HD renderer architecture, status and plan, kept up to date for handover
build / mod (push) Successful in 3m20s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:55:15 +03:00
chexit ed2db8523b Shaders, profiling and the rest of the issues: GTAO and HD GPU pass timing in the fork (patch 15; #9), explosion effects culled early per pixel (#11), a native sim runner with scenario tests run in CI (#8), named scenarios (#17), /airdef why and failure counters in raid reports (#18), IRIS-T and AMRAAM models and launch sounds by kind (#28)
build / mod (push) Successful in 3m24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:43:48 +03:00
chexit 67a2a523b4 P2/P3 issues: network-fed launchers priced into smart routes (#4), stable blast light ids (#15), retargeted smart drones replanned round the defences (#21), sim tick without per-unit clones and linear scans (#26), ground cache swept rarely (#31), Oreshnik pieces keep their sector (#32), drives with acceleration and fire only once aimed (#33), radar monitor range (#19), delayed sound volume (#22), world change clears transient state (#23), score line always shown (#24), replay map without full paths (#25), text fit by bisection (#27), docs (#29), glow occlusion by ray distance (#14), blasts composited nearest first (#16)
build / mod (push) Successful in 2m26s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:28:24 +03:00
chexit a806635681 HD lights culled per tile (fork patch 14; #10)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:25:44 +03:00
chexit 0092ec64a9 HD renderer: cached bind groups, shadow casters only (fork patch 13; #12, #13)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:19:53 +03:00
chexit e08fc65ac8 P1 issues: ground queries keep room for unknown land (#1), a destroyed truck frees its job (#2), trucks follow a system that moved (#3), repair cancels cook-offs (#5), a failed save is retried and autosaves are paced (#6, #7), a combined system reloads when either weapon is spent (#20), munitions go down to the land left under a destroyed target (#34); regression tests from the issues
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:18:33 +03:00
chexit 90379f6e17 Fixes from review: replays found by raid number, no fired-count underflow, one raid planned at a time, repair resets waiting and marches, clear removes cook-offs and flares, beams reach their targets, tracer direction never NaN, the fork's previous branch always kept
build / mod (push) Successful in 2m24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 14:29:38 +03:00
chexit bb35975642 Fixes from review: one missile per target when systems fire in the same tick, moves and ammunition saved, searchlight spot and lighting once the beam is on, retargeting only for smart raids, no free reloads after the last depot falls, fork rebuilt when its commit or patches change
build / mod (push) Successful in 2m24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 14:25:14 +03:00
494 changed files with 130865 additions and 7043 deletions
+1
View File
@@ -4,3 +4,4 @@
*.png binary
*.jpg binary
*.hmod binary
*.patch -text
+9 -2
View File
@@ -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:
@@ -28,6 +28,13 @@ jobs:
# падало по таймауту, а сохранение вешало «Complete job» на пару минут. Инструмент собирается заново.
- name: Форк Horizon
run: nice -n 19 python3 tools/airdef.py fork
# Чистая симуляция тестируется нативно (хост-таргет раннера, без WASM): регрессии из sim/regress.rs
# и сценарии tests/scenarios.rs (NaN, налёт кончается, ТЗМ не зависают). Нужен форк: SDK подключён путём.
- name: Тесты мода
working-directory: airdef-mod
run: |
HOST=$(rustc -vV | sed -n 's/^host: //p')
nice -n 19 cargo test --target "$HOST"
- name: Мод
run: nice -n 19 python3 tools/airdef.py mod
- name: Релиз
@@ -40,7 +47,7 @@ jobs:
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")
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")
+37 -53
View File
@@ -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,20 +9,47 @@ 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: Проверка релиза
env:
TOKEN: ${{ secrets.RELEASE_TOKEN || gitea.token }}
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
TAG: ${{ inputs.tag }}
run: |
set -e
if ! [[ "$TAG" =~ ^build-[0-9]+$ ]]; then echo "::error::тег '$TAG' не похож на build-N"; exit 1; fi
REL_JSON=$(mktemp)
CODE=$(curl -s -o "$REL_JSON" -w '%{http_code}' -H "Authorization: token $TOKEN" "$API/releases/tags/$TAG")
if [ "$CODE" != "200" ]; then echo "::error::релиза с тегом $TAG нет (HTTP $CODE): сначала дождись сборки build.yml на main"; exit 1; fi
python3 - "$TAG" "$REL_JSON" <<'PY'
import json, os, sys
tag, path = sys.argv[1], sys.argv[2]
r = json.load(open(path))
assets = [a.get('name') for a in (r.get('assets') or [])]
if r.get('tag_name') != tag or r.get('name') != tag or 'airdef.hmod' not in assets:
print('::error::релиз %s не создан build.yml (нужны имя = тег и вложение airdef.hmod): чужой релиз не трогаем' % tag)
sys.exit(1)
with open(os.environ['GITHUB_ENV'], 'a') as f:
f.write('RELEASE_ID=%s\nRELEASE_SHA=%s\n' % (r['id'], r.get('target_commitish', '')))
PY
- uses: actions/checkout@v4
with:
ref: refs/tags/${{ inputs.tag }}
- name: Проверка коммита
env:
TAG: ${{ inputs.tag }}
run: |
set -e
HEAD_SHA=$(git rev-parse HEAD)
if [[ "$RELEASE_SHA" =~ ^[0-9a-f]{40}$ ]] && [ "$HEAD_SHA" != "$RELEASE_SHA" ]; then echo "::error::тег $TAG указывает на $HEAD_SHA, а релиз создан из $RELEASE_SHA"; exit 1; fi
echo "собираю $TAG = $HEAD_SHA"
- name: Rust
run: |
command -v cargo || curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
@@ -47,50 +74,7 @@ jobs:
env:
TOKEN: ${{ secrets.RELEASE_TOKEN || gitea.token }}
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
TAG: ${{ inputs.tag }}
run: |
set -e
ID=$(curl -sf -H "Authorization: token $TOKEN" "$API/releases/tags/$TAG" | python3 -c 'import json,sys;print(json.load(sys.stdin)["id"])')
curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@out/airdef-macos-arm64.tar.gz" "$API/releases/$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:
- uses: actions/checkout@v4
- 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 }}
TAG: ${{ inputs.tag }}
run: |
$h = @{ Authorization = "token $env:TOKEN" }
$id = (Invoke-RestMethod -Headers $h "$env:API/releases/tags/$env:TAG").id
curl.exe -sf -X POST -H "Authorization: token $env:TOKEN" -F "attachment=@out\airdef-windows-x86_64.zip" "$env:API/releases/$id/assets?name=airdef-windows-x86_64.zip"
# 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
+34 -3
View File
@@ -25,7 +25,39 @@ jobs:
FREE=$(df --output=avail -BG / | tail -1 | tr -dc 0-9)
echo "свободно: ${FREE} ГБ"
if [ "$FREE" -lt 15 ]; then echo "::error::на сервере свободно ${FREE} ГБ, нужно хотя бы 15: сборка игры забьёт диск и уронит Gitea"; exit 1; fi
- name: Проверка релиза
env:
TOKEN: ${{ secrets.RELEASE_TOKEN || gitea.token }}
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
TAG: ${{ inputs.tag }}
run: |
set -e
if ! [[ "$TAG" =~ ^build-[0-9]+$ ]]; then echo "::error::тег '$TAG' не похож на build-N"; exit 1; fi
REL_JSON=$(mktemp)
CODE=$(curl -s -o "$REL_JSON" -w '%{http_code}' -H "Authorization: token $TOKEN" "$API/releases/tags/$TAG")
if [ "$CODE" != "200" ]; then echo "::error::релиза с тегом $TAG нет (HTTP $CODE): сначала дождись сборки build.yml на main"; exit 1; fi
python3 - "$TAG" "$REL_JSON" <<'PY'
import json, os, sys
tag, path = sys.argv[1], sys.argv[2]
r = json.load(open(path))
assets = [a.get('name') for a in (r.get('assets') or [])]
if r.get('tag_name') != tag or r.get('name') != tag or 'airdef.hmod' not in assets:
print('::error::релиз %s не создан build.yml (нужны имя = тег и вложение airdef.hmod): чужой релиз не трогаем' % tag)
sys.exit(1)
with open(os.environ['GITHUB_ENV'], 'a') as f:
f.write('RELEASE_ID=%s\nRELEASE_SHA=%s\n' % (r['id'], r.get('target_commitish', '')))
PY
- uses: actions/checkout@v4
with:
ref: refs/tags/${{ inputs.tag }}
- name: Проверка коммита
env:
TAG: ${{ inputs.tag }}
run: |
set -e
HEAD_SHA=$(git rev-parse HEAD)
if [[ "$RELEASE_SHA" =~ ^[0-9a-f]{40}$ ]] && [ "$HEAD_SHA" != "$RELEASE_SHA" ]; then echo "::error::тег $TAG указывает на $HEAD_SHA, а релиз создан из $RELEASE_SHA"; exit 1; fi
echo "собираю $TAG = $HEAD_SHA"
- name: Системные библиотеки
run: |
SUDO=$(command -v sudo || true)
@@ -45,12 +77,11 @@ jobs:
env:
TOKEN: ${{ secrets.RELEASE_TOKEN || gitea.token }}
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
TAG: ${{ inputs.tag }}
run: |
set -e
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/"
tar czf "out/$D.tar.gz" "$D"
ID=$(curl -sf -H "Authorization: token $TOKEN" "$API/releases/tags/$TAG" | python3 -c 'import json,sys;print(json.load(sys.stdin)["id"])')
curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@out/$D.tar.gz" "$API/releases/$ID/assets?name=$D.tar.gz" > /dev/null
# 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
+96
View File
@@ -0,0 +1,96 @@
# Большой релиз: только по тегу 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:
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/"
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
+3 -1
View File
@@ -1,7 +1,9 @@
horizon/
/horizon/
run-home/
.horizon-cache/
airdef-mod/target/
__pycache__/
/out/
.DS_Store
run-home-bench/
run-home-smoke/
+50 -20
View File
@@ -11,6 +11,7 @@
## Запуск
Пошаговый гайд для Windows и macOS (готовая сборка из релиза или сборка из исходников): [docs/INSTALL.md](docs/INSTALL.md).
Устройство HD-рендера, его статус и план доработки: [docs/HD-RENDERER.md](docs/HD-RENDERER.md).
Коротко, из исходников:
@@ -23,9 +24,12 @@ python3 tools/airdef.py play # запустить (аргументы игр
(`tools/gen_sounds.py`, нужны numpy и ffmpeg), собирает и ставит мод. Сгенерированные файлы лежат в репозитории,
так что для обычной сборки нужен только Rust.
CI: `.gitea/workflows/build.yml` на каждый пуш собирает мод и игру для Linux, а пуш в `main` публикует релиз
`build-N`; `.gitea/workflows/desktop.yml` (запуск вручную с тегом релиза) собирает игру для macOS и Windows на
раннерах с метками `macos-latest` / `windows-latest` и дописывает архивы в релиз.
CI: `.gitea/workflows/build.yml` на каждый пуш собирает только мод (`airdef.hmod`), а пуш в `main` публикует его
релизом `build-N`. Игру-форк собирают вручную: `.gitea/workflows/game.yml` (Linux) и `.gitea/workflows/desktop.yml`
(macOS и Windows, на раннерах с метками `macos-latest` / `windows-latest`); оба запускаются из Actions с тегом
готового релиза `build-N`. Перед сборкой workflow проверяет, что такой релиз создан `build.yml` (имя релиза = тег,
есть `airdef.hmod`), иначе падает с ошибкой; затем выкачивает ровно коммит этого тега (а не ветку, с которой запущен),
сверяет его с коммитом релиза и дописывает архивы только в этот релиз.
## Как играть
@@ -51,7 +55,8 @@ CI: `.gitea/workflows/build.yml` на каждый пуш собирает мо
- *умный противник* — планировщик знает, где стоят комплексы и что видят их РЛС: ведёт дроны и крылатые ракеты
маршрутами в обход зон поражения, низко, за рельефом и через мёртвые зоны; «Герберы» прилетают на 15 с раньше,
чтобы оттянуть ракеты; «Ланцеты» идут по Гепардам и Панцирям, Х-22/Циркон и часть баллистики — по дальнобойным
комплексам; всё остальное стартует со сдвигом так, чтобы прилететь одновременно.
комплексам; на каждую РЛС дальнего обнаружения идут 2–3 быстрых ударника (Х-22, Циркон, Искандер, Кинжал, затем Х-101,
Герань-3, Ланцет, Шахед; не больше четверти налёта); всё остальное стартует со сдвигом так, чтобы прилететь одновременно.
После налёта приходит отчёт: сколько сбито и прорвалось, ракет ПВО потрачено, комплексов потеряно, урон объектам.
@@ -68,7 +73,7 @@ CI: `.gitea/workflows/build.yml` на каждый пуш собирает мо
**Сохранение.** Комплексы, объекты, их повреждения и настройки сохраняются отдельно для каждого мира (и для каждого
сервера); уничтоженный комплекс остаётся остовом и после перезахода, пока его не отремонтируют.
**Сеть ПВО.** Каждая единица делится целями со всеми в радиусе 1,5 км (линия связи): РЛС дальнего обнаружения
**Сеть ПВО.** Каждая единица делится целями со всеми в радиусе 2,25 км (линия связи): РЛС дальнего обнаружения
даёт раннее предупреждение всем, пусковая без своей РЛС (P1-SUN) стреляет по чужим данным. Пушкам (Гепард,
пушки Панциря) нужна своя цель: они стреляют только по тому, что видят сами. Уничтоженная РЛС — дыра в сети.
@@ -130,7 +135,7 @@ API мода `render.set-lights` (до 512, плавно интерполиру
перехватчиков (жёлтые), сбития (x), прилёты, шкала времени с событиями; время идёт само, колесо мыши перематывает;
- **повтор момента** — клик по событию в списке: «призраки» дронов и ракет снова летят в мире, камера идёт за
целью, потом за перехватчиком (или смотрит из пушки, со стороны на прилёт), в момент сбития время замедляется;
- **полный повтор** — весь налёт, камера-режиссёр сама выбирает, за чем следить; колесо — скорость (×0.5–×16);
- **полный повтор** — весь налёт, камера-режиссёр сама выбирает, за чем следить; колесо — перемотка, стрелки — скорость;
- **лучшие моменты** — нарезка до 8 самых интересных событий (перехват баллистики и гиперзвука, поражения
объектов, потерянные комплексы, разделение «Орешника») с титрами и замедлением; колесо листает моменты.
@@ -145,11 +150,21 @@ 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 <номер ПУ>` — ответный удар по ПУ (#101, «удары по ПУ»). Как это играется:
- **Разведка без волшебства.** Площадку находит только работающая РЛС: либо пуск в её досягаемости (низкая цель: радиогоризонт и холмы решают) даёт точечное наблюдение, либо собственный трек вылетевшей цели «указывает назад» лучом в пару градусов, а время полёта с момента пуска (тревоги) на скорости цели даёт дальность (±8% и секунда времени пуска); у баллистической ракеты дуга точнее. Две РЛС, держащие одну цель, дают два наблюдения. Наблюдения сводятся методом наименьших квадратов, ответ всегда с кругом ошибки (90%), он сужается с каждым пуском. Если места не получилось (круг шире 800 блоков или есть только лучи вдоль одной линии), известен только **азимут** (на скопе метка «N?» на краю), удар невозможен. С местом: ромб на скопе (круг ошибки пунктиром) или метка на краю; в панели строка «Известных ПУ…». Далёкие площадки (километры) открываются грубо (сотни блоков) и бить их почти бесполезно, пока не накопятся пуски.
- **Удар.** Ударных ракет мало (3 в запасе, максимум 4, новая за 5 минут), дальность до 4500 блоков; стартуют оттуда, где вы стоите, летят 4 блока в тик (2 км за 25 с) в точку *оценки*. На подлёте ракету может сбить ПВО противника: у ПУ её нет (40%), лёгкая (35%, сбивает в 30%) или тяжёлая (25%, 65%), у баллистических батарей тяжёлая чаще; узнаёте только по итогу. Разброс ракеты 14 блоков; решает истинное расстояние до ПУ: до 35 блоков — **уничтожена** (запас сгорел и рвётся, отложенные запуски отменены, огонь и дымящийся остов, взрыв общим кодом), до 90 — **подавлена** на 30 с (пуски отложены, не отменены), дальше — **промах**, воронка рядом, ПУ цела: очередь за попадание в соседний грунт не списывается. Плохо известную ПУ (круг в сотни блоков) бить почти бесполезно.
- **Вне карты.** ПУ без земли (нет загруженной карты) тоже находится: азимут и дальность по трекам, но не рисуется. Удар, который попал бы, прекращает её пуски («результат не виден»); промах теряется.
- **Цена выбора.** Ракета запаса не вернётся, пока летит, налёт идёт: близкие площадки не остановить, далёкие (крылатые и баллистические за 2–4 км) успеваете, но для этого нужны РЛС с обзором в сторону налёта и риск промаха или ПВО противника. Отчёт налёта называет сорванные пуски: «Налёт сорван ударами по ПУ (№…): не взлетело N из заявленных M».
- Запись: удар попадает в журнал повтора (строка и взрыв/огонь на карте), сами ПУ в повторе не рисуются. Запас ракет входит в сохранение и сценарий (`strikes <запас> <тиков до следующей>`). Все числа механики в одной таблице `TUNE` в `src/sim/strike.rs`.
- `/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, нужны читы);
@@ -186,25 +201,34 @@ 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 | 4 × 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 с, отпускает её другим. Пушки расходятся по разным целям. Первыми бьют по самым опасным (быстрым и тяжёлым) целям, при этом ложные
«Герберы» выглядят для них как настоящие. Шанс поражения падает, если цель быстрее перехватчика.
**Последний шанс** (`/airdef lastchance on|off`, по умолчанию вкл). Комплекс стреляет и по классу целей вне своих ролей
(С-400, С-500 и Patriot по умолчанию не бьют дроны), если цель долетит до своей точки меньше чем за 10 с и на ней ещё нет
ничьего перехватчика. Комплексу с пустыми ролями (огонь запрещён) это не касается. `/airdef why` пишет «последний шанс».
**Дальний пуск по РЛС.** С-400, С-500 и Patriot могут стрелять дальше своей дальности (до 1,6×) по цели, которую держит
свежим треком РЛС дальнего обнаружения в радиусе связи: не чаще раза в 15 с, при не менее чем половине боезапаса, только по
своим ролям и только пока в обычной дальности нет цели; шанс поражения на краю вдвое ниже. `/airdef why`: «дальний пуск по РЛС».
**Роли по умолчанию** (в сводке в квадратных скобках: Д — дроны, Г — реактивные, К — крылатые, С — сверхзвуковые,
Б — баллистика): Гепард ДГК, Панцирь ДГКС, Patriot ГКСБ, С-400 ГКСБ, С-500 СБ. Сбитый дрон падает с остатком скорости, и его боевая часть
может сдетонировать на земле.
@@ -215,6 +239,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-мм Панциря;
+5
View File
@@ -0,0 +1,5 @@
Status of terrain-aware flight (not committed):
- Done: sim/terrain.rs (look-ahead terrain following, dive only down a clear line, interceptor steer/loft/self-destruct, launch predicate), planner relief pricing + spawn above land (raid.rs), SAM launch check + why line (mod.rs, why.rs), Tally.scrubbed, world.probe, harness terrain fixes, 6 new tests in regress.rs. Build has no warnings; cargo test passes (43 + 4).
- Numbers (6 seeds, sim_run big-smart): hills:70:100:140 crashes 13 -> 3, hills:70:150:120 29 -> 2, default hills 2 -> 2 (all terminal-dive near-target by Kh101/Kalibr).
- Half-done / known: terminal dive of slow-turning cruise missiles still sometimes hits ground 7-20 blocks short of target; hills:70:150:120 tick max 38 ms / p95 2 ms (planner terrain phase + ground queries) not profiled; not tested in game.
- Next: tune dive geometry for Kh101/Kalibr, profile the planner's 1024-columns-per-tick height requests, optional in-game check.
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/amraam_missile"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/barge"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/buk_chassis_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/buk_rails_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/buk_turret_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/depot_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/ew_truck_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/gepard_guns_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/gepard_hull_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/gepard_turret_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/irist_chassis_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/irist_missile"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/irist_tubes_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/launch_ramp"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/launcher_truck"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/nasams_launcher_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/nasams_trailer_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/p1sun_launcher_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/pantsir_pack_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/pantsir_truck_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/pantsir_turret_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/patriot_launcher_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/patriot_trailer_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/radar_truck_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/s400_chassis_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/s400_tubes_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/s500_chassis_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/s500_tubes_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/searchlight_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/searchlight_head_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/tor_chassis_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/tor_turret_burnt"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "airdef:block/tzm_truck_burnt"
}
}
}
+33
View File
@@ -4,6 +4,8 @@
"block.airdef.geran3": "Герань-3",
"block.airdef.geran3_flame": "Факел",
"block.airdef.pac3": "PAC-3 MSE",
"block.airdef.irist_missile": "IRIS-T SLM",
"block.airdef.amraam_missile": "AMRAAM",
"block.airdef.flame": "Факел",
"block.airdef.patriot_launcher": "ПУ M903",
"block.airdef.patriot_truck": "Тягач",
@@ -53,12 +55,43 @@
"block.airdef.radar_truck": "Шасси РЛС",
"block.airdef.depot": "Склад боеприпасов",
"block.airdef.tzm_truck": "Транспортно-заряжающая машина",
"block.airdef.barge": "Баржа",
"block.airdef.launch_ramp": "Рампа запуска дронов",
"block.airdef.launcher_truck": "Пусковая машина ракет",
"block.airdef.ew_truck": "Станция РЭБ",
"block.airdef.searchlight": "Прожектор",
"block.airdef.searchlight_head": "Голова прожектора",
"block.airdef.beam": "Луч прожектора",
"block.airdef.flare": "Осветительная ракета",
"block.airdef.reentry": "Боевой блок",
"block.airdef.patriot_trailer_burnt": "Полуприцеп (остов)",
"block.airdef.patriot_launcher_burnt": "ПУ M903 (остов)",
"block.airdef.gepard_hull_burnt": "Корпус Гепарда (остов)",
"block.airdef.gepard_turret_burnt": "Башня Гепарда (остов)",
"block.airdef.gepard_guns_burnt": "Пушки Гепарда (остов)",
"block.airdef.pantsir_truck_burnt": "Шасси Панциря (остов)",
"block.airdef.pantsir_turret_burnt": "Модуль Панциря (остов)",
"block.airdef.pantsir_pack_burnt": "Ракеты и пушки Панциря (остов)",
"block.airdef.s400_chassis_burnt": "Шасси С-400 (остов)",
"block.airdef.s400_tubes_burnt": "ТПК 48Н6 (остов)",
"block.airdef.s500_chassis_burnt": "Шасси С-500 (остов)",
"block.airdef.s500_tubes_burnt": "ТПК 77Н6 (остов)",
"block.airdef.irist_chassis_burnt": "Шасси IRIS-T SLM (остов)",
"block.airdef.irist_tubes_burnt": "Пакет IRIS-T (остов)",
"block.airdef.nasams_trailer_burnt": "Прицеп NASAMS (остов)",
"block.airdef.nasams_launcher_burnt": "Пусковая NASAMS (остов)",
"block.airdef.buk_chassis_burnt": "Шасси Бука (остов)",
"block.airdef.buk_turret_burnt": "Башня Бука (остов)",
"block.airdef.buk_rails_burnt": "Ракеты Бука (остов)",
"block.airdef.tor_chassis_burnt": "Шасси Тора (остов)",
"block.airdef.tor_turret_burnt": "Башня Тора (остов)",
"block.airdef.p1sun_launcher_burnt": "Пусковая P1-SUN (остов)",
"block.airdef.radar_truck_burnt": "Шасси РЛС (остов)",
"block.airdef.depot_burnt": "Склад боеприпасов (остов)",
"block.airdef.tzm_truck_burnt": "Транспортно-заряжающая машина (остов)",
"block.airdef.ew_truck_burnt": "Станция РЭБ (остов)",
"block.airdef.searchlight_burnt": "Прожектор (остов)",
"block.airdef.searchlight_head_burnt": "Голова прожектора (остов)",
"item.airdef.designator": "Целеуказатель",
"item.airdef.launch_shahed": "Пуск: Шахед-136",
"item.airdef.launch_geran3": "Пуск: Герань-3",
+33
View File
@@ -4,6 +4,8 @@
"block.airdef.geran3": "Герань-3",
"block.airdef.geran3_flame": "Факел",
"block.airdef.pac3": "PAC-3 MSE",
"block.airdef.irist_missile": "IRIS-T SLM",
"block.airdef.amraam_missile": "AMRAAM",
"block.airdef.flame": "Факел",
"block.airdef.patriot_launcher": "ПУ M903",
"block.airdef.patriot_truck": "Тягач",
@@ -53,12 +55,43 @@
"block.airdef.radar_truck": "Шасси РЛС",
"block.airdef.depot": "Склад боеприпасов",
"block.airdef.tzm_truck": "Транспортно-заряжающая машина",
"block.airdef.barge": "Баржа",
"block.airdef.launch_ramp": "Рампа запуска дронов",
"block.airdef.launcher_truck": "Пусковая машина ракет",
"block.airdef.ew_truck": "Станция РЭБ",
"block.airdef.searchlight": "Прожектор",
"block.airdef.searchlight_head": "Голова прожектора",
"block.airdef.beam": "Луч прожектора",
"block.airdef.flare": "Осветительная ракета",
"block.airdef.reentry": "Боевой блок",
"block.airdef.patriot_trailer_burnt": "Полуприцеп (остов)",
"block.airdef.patriot_launcher_burnt": "ПУ M903 (остов)",
"block.airdef.gepard_hull_burnt": "Корпус Гепарда (остов)",
"block.airdef.gepard_turret_burnt": "Башня Гепарда (остов)",
"block.airdef.gepard_guns_burnt": "Пушки Гепарда (остов)",
"block.airdef.pantsir_truck_burnt": "Шасси Панциря (остов)",
"block.airdef.pantsir_turret_burnt": "Модуль Панциря (остов)",
"block.airdef.pantsir_pack_burnt": "Ракеты и пушки Панциря (остов)",
"block.airdef.s400_chassis_burnt": "Шасси С-400 (остов)",
"block.airdef.s400_tubes_burnt": "ТПК 48Н6 (остов)",
"block.airdef.s500_chassis_burnt": "Шасси С-500 (остов)",
"block.airdef.s500_tubes_burnt": "ТПК 77Н6 (остов)",
"block.airdef.irist_chassis_burnt": "Шасси IRIS-T SLM (остов)",
"block.airdef.irist_tubes_burnt": "Пакет IRIS-T (остов)",
"block.airdef.nasams_trailer_burnt": "Прицеп NASAMS (остов)",
"block.airdef.nasams_launcher_burnt": "Пусковая NASAMS (остов)",
"block.airdef.buk_chassis_burnt": "Шасси Бука (остов)",
"block.airdef.buk_turret_burnt": "Башня Бука (остов)",
"block.airdef.buk_rails_burnt": "Ракеты Бука (остов)",
"block.airdef.tor_chassis_burnt": "Шасси Тора (остов)",
"block.airdef.tor_turret_burnt": "Башня Тора (остов)",
"block.airdef.p1sun_launcher_burnt": "Пусковая P1-SUN (остов)",
"block.airdef.radar_truck_burnt": "Шасси РЛС (остов)",
"block.airdef.depot_burnt": "Склад боеприпасов (остов)",
"block.airdef.tzm_truck_burnt": "Транспортно-заряжающая машина (остов)",
"block.airdef.ew_truck_burnt": "Станция РЭБ (остов)",
"block.airdef.searchlight_burnt": "Прожектор (остов)",
"block.airdef.searchlight_head_burnt": "Голова прожектора (остов)",
"item.airdef.designator": "Целеуказатель",
"item.airdef.launch_shahed": "Пуск: Шахед-136",
"item.airdef.launch_geran3": "Пуск: Герань-3",
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,896 @@
{
"ambientocclusion": false,
"textures": {
"dark_metal": "airdef:block/dark_metal",
"metal": "airdef:block/metal",
"ru_khaki_s31": "airdef:block/ru_khaki_s31",
"ru_khaki_s33": "airdef:block/ru_khaki_s33",
"particle": "airdef:block/dark_metal"
},
"elements": [
{
"from": [
-16.0,
0.0,
-16.0
],
"to": [
32.0,
3.0,
32.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,
16,
3.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#dark_metal"
}
}
},
{
"from": [
-16.0,
3.0,
-16.0
],
"to": [
32.0,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
1.0
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
16,
1.0
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
16,
1.0
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
16,
1.0
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#metal"
}
}
},
{
"from": [
-15.0,
3.0,
-15.0
],
"to": [
31.0,
4.4,
31.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
1.4000000000000004
],
"texture": "#ru_khaki_s31"
},
"south": {
"uv": [
0,
0,
16,
1.4000000000000004
],
"texture": "#ru_khaki_s31"
},
"east": {
"uv": [
0,
0,
16,
1.4000000000000004
],
"texture": "#ru_khaki_s31"
},
"west": {
"uv": [
0,
0,
16,
1.4000000000000004
],
"texture": "#ru_khaki_s31"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_khaki_s33"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_khaki_s33"
}
}
},
{
"from": [
-16.0,
4.0,
-16.0
],
"to": [
-14.0,
6.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
16,
2.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": [
30.0,
4.0,
-16.0
],
"to": [
32.0,
6.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
16,
2.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": [
-16.0,
4.0,
30.0
],
"to": [
32.0,
6.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
16,
2.0
],
"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": [
-16.0,
4.0,
-16.0
],
"to": [
32.0,
6.0,
-14.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
16,
2.0
],
"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": [
-12.0,
4.4,
-10.0
],
"to": [
-9.0,
6.5,
-7.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
}
}
},
{
"from": [
25.0,
4.4,
-10.0
],
"to": [
28.0,
6.5,
-7.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
}
}
},
{
"from": [
-12.0,
4.4,
8.0
],
"to": [
-9.0,
6.5,
11.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
}
}
},
{
"from": [
25.0,
4.4,
8.0
],
"to": [
28.0,
6.5,
11.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
}
}
},
{
"from": [
-12.0,
4.4,
26.0
],
"to": [
-9.0,
6.5,
29.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
}
}
},
{
"from": [
25.0,
4.4,
26.0
],
"to": [
28.0,
6.5,
29.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
3.0,
2.0999999999999996
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#metal"
}
}
}
]
}
@@ -1,10 +1,18 @@
{
"ambientocclusion": false,
"textures": {
"ru_green_s21": "airdef:block/ru_green_s21",
"ru_green_s31": "airdef:block/ru_green_s31",
"ru_green_s23": "airdef:block/ru_green_s23",
"ru_green": "airdef:block/ru_green",
"dark_metal": "airdef:block/dark_metal",
"bare_nozzle": "airdef:block/bare_nozzle",
"track": "airdef:block/track",
"particle": "airdef:block/ru_green"
"track_side_s31": "airdef:block/track_side_s31",
"ru_green_s13": "airdef:block/ru_green_s13",
"bare_lamp": "airdef:block/bare_lamp",
"mk_ru2": "airdef:block/mk_ru2",
"particle": "airdef:block/ru_green_s21"
},
"elements": [
{
@@ -26,7 +34,7 @@
16,
11.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"south": {
"uv": [
@@ -35,7 +43,7 @@
16,
11.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"east": {
"uv": [
@@ -44,7 +52,7 @@
16,
11.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"west": {
"uv": [
@@ -53,7 +61,7 @@
16,
11.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"up": {
"uv": [
@@ -62,7 +70,7 @@
16,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s23"
},
"down": {
"uv": [
@@ -71,7 +79,7 @@
16,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s23"
}
}
},
@@ -94,7 +102,7 @@
16,
6.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"south": {
"uv": [
@@ -103,7 +111,7 @@
16,
6.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"east": {
"uv": [
@@ -130,7 +138,7 @@
16,
2.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"down": {
"uv": [
@@ -139,10 +147,87 @@
16,
2.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
}
}
},
{
"from": [
-9.0,
10.0,
-15.0
],
"to": [
25.0,
14.0,
-12.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#ru_green_s21"
},
"south": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#ru_green_s21"
},
"east": {
"uv": [
0,
0,
3.0,
4.0
],
"texture": "#ru_green"
},
"west": {
"uv": [
0,
0,
3.0,
4.0
],
"texture": "#ru_green"
},
"up": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#ru_green_s21"
},
"down": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#ru_green_s21"
}
},
"rotation": {
"angle": -22.5,
"axis": "x",
"origin": [
8.0,
12.0,
-13.5
]
}
},
{
"from": [
-8.0,
@@ -211,6 +296,142 @@
}
}
},
{
"from": [
-5.0,
15.2,
24.0
],
"to": [
21.0,
15.8,
31.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
0.6000000000000014
],
"texture": "#bare_nozzle"
},
"south": {
"uv": [
0,
0,
16,
0.6000000000000014
],
"texture": "#bare_nozzle"
},
"east": {
"uv": [
0,
0,
7.0,
0.6000000000000014
],
"texture": "#bare_nozzle"
},
"west": {
"uv": [
0,
0,
7.0,
0.6000000000000014
],
"texture": "#bare_nozzle"
},
"up": {
"uv": [
0,
0,
16,
7.0
],
"texture": "#bare_nozzle"
},
"down": {
"uv": [
0,
0,
16,
7.0
],
"texture": "#bare_nozzle"
}
}
},
{
"from": [
-1.0,
15.0,
-10.0
],
"to": [
9.0,
16.0,
-4.0
],
"faces": {
"north": {
"uv": [
0,
0,
10.0,
1.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
10.0,
1.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
6.0,
1.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
6.0,
1.0
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
10.0,
6.0
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
10.0,
6.0
],
"texture": "#dark_metal"
}
}
},
{
"from": [
-14.0,
@@ -248,7 +469,7 @@
16,
9.0
],
"texture": "#track"
"texture": "#track_side_s31"
},
"west": {
"uv": [
@@ -257,7 +478,7 @@
16,
9.0
],
"texture": "#track"
"texture": "#track_side_s31"
},
"up": {
"uv": [
@@ -316,7 +537,7 @@
16,
9.0
],
"texture": "#track"
"texture": "#track_side_s31"
},
"west": {
"uv": [
@@ -325,7 +546,7 @@
16,
9.0
],
"texture": "#track"
"texture": "#track_side_s31"
},
"up": {
"uv": [
@@ -384,7 +605,7 @@
16,
5.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"west": {
"uv": [
@@ -393,7 +614,7 @@
16,
5.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"up": {
"uv": [
@@ -402,7 +623,7 @@
4.5,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s13"
},
"down": {
"uv": [
@@ -411,7 +632,7 @@
4.5,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s13"
}
}
},
@@ -452,7 +673,7 @@
16,
5.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"west": {
"uv": [
@@ -461,7 +682,7 @@
16,
5.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"up": {
"uv": [
@@ -470,7 +691,7 @@
4.5,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s13"
},
"down": {
"uv": [
@@ -479,7 +700,483 @@
4.5,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s13"
}
}
},
{
"from": [
-4.0,
11.0,
-16.0
],
"to": [
-1.0,
13.0,
-15.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0
],
"texture": "#bare_lamp"
},
"south": {
"uv": [
0,
0,
3.0,
2.0
],
"texture": "#bare_lamp"
},
"east": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#bare_lamp"
},
"west": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#bare_lamp"
},
"up": {
"uv": [
0,
0,
3.0,
1.0
],
"texture": "#bare_lamp"
},
"down": {
"uv": [
0,
0,
3.0,
1.0
],
"texture": "#bare_lamp"
}
}
},
{
"from": [
17.0,
11.0,
-16.0
],
"to": [
20.0,
13.0,
-15.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
2.0
],
"texture": "#bare_lamp"
},
"south": {
"uv": [
0,
0,
3.0,
2.0
],
"texture": "#bare_lamp"
},
"east": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#bare_lamp"
},
"west": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#bare_lamp"
},
"up": {
"uv": [
0,
0,
3.0,
1.0
],
"texture": "#bare_lamp"
},
"down": {
"uv": [
0,
0,
3.0,
1.0
],
"texture": "#bare_lamp"
}
}
},
{
"from": [
26.0,
11.0,
0.0
],
"to": [
26.12,
14.5,
8.0
],
"faces": {
"north": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_ru2"
},
"south": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_ru2"
},
"east": {
"uv": [
0,
0,
8.0,
3.5
],
"texture": "#mk_ru2"
},
"west": {
"uv": [
0,
0,
8.0,
3.5
],
"texture": "#mk_ru2"
},
"up": {
"uv": [
0,
0,
0.25,
8.0
],
"texture": "#mk_ru2"
},
"down": {
"uv": [
0,
0,
0.25,
8.0
],
"texture": "#mk_ru2"
}
}
},
{
"from": [
-10.120000000000001,
11.0,
0.0
],
"to": [
-10.0,
14.5,
8.0
],
"faces": {
"north": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_ru2"
},
"south": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_ru2"
},
"east": {
"uv": [
0,
0,
8.0,
3.5
],
"texture": "#mk_ru2"
},
"west": {
"uv": [
0,
0,
8.0,
3.5
],
"texture": "#mk_ru2"
},
"up": {
"uv": [
0,
0,
0.25,
8.0
],
"texture": "#mk_ru2"
},
"down": {
"uv": [
0,
0,
0.25,
8.0
],
"texture": "#mk_ru2"
}
}
},
{
"from": [
3.0,
16.0,
2.0
],
"to": [
7.0,
17.4,
8.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
4.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
6.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
6.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
4.0,
6.0
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
4.0,
6.0
],
"texture": "#dark_metal"
}
}
},
{
"from": [
9.0,
16.0,
2.0
],
"to": [
13.0,
17.4,
8.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
4.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
6.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
6.0,
1.3999999999999986
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
4.0,
6.0
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
4.0,
6.0
],
"texture": "#dark_metal"
}
}
},
{
"from": [
5.0,
16.0,
-8.0
],
"to": [
11.0,
17.0,
-4.0
],
"faces": {
"north": {
"uv": [
0,
0,
6.0,
1.0
],
"texture": "#bare_lamp"
},
"south": {
"uv": [
0,
0,
6.0,
1.0
],
"texture": "#bare_lamp"
},
"east": {
"uv": [
0,
0,
4.0,
1.0
],
"texture": "#bare_lamp"
},
"west": {
"uv": [
0,
0,
4.0,
1.0
],
"texture": "#bare_lamp"
},
"up": {
"uv": [
0,
0,
6.0,
4.0
],
"texture": "#bare_lamp"
},
"down": {
"uv": [
0,
0,
6.0,
4.0
],
"texture": "#bare_lamp"
}
}
}
File diff suppressed because it is too large Load Diff
@@ -4,6 +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",
"particle": "airdef:block/missile_ru"
},
@@ -843,7 +844,7 @@
16,
2.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"south": {
"uv": [
@@ -852,7 +853,7 @@
16,
2.0
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"east": {
"uv": [
@@ -879,7 +880,7 @@
16,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
},
"down": {
"uv": [
@@ -888,7 +889,7 @@
16,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s31"
}
}
}
@@ -0,0 +1,897 @@
{
"ambientocclusion": false,
"textures": {
"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",
"particle": "airdef:block/missile_ru_b"
},
"elements": [
{
"from": [
-10.5,
4.0,
-16.0
],
"to": [
-7.5,
7.0,
26.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"east": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"west": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"up": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
}
}
},
{
"from": [
-10.8,
3.5,
20.0
],
"to": [
-7.2,
7.5,
27.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.6000000000000005,
4.0
],
"texture": "#booster_b"
},
"south": {
"uv": [
0,
0,
3.6000000000000005,
4.0
],
"texture": "#booster_b"
},
"east": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"west": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"up": {
"uv": [
0,
0,
3.6000000000000005,
7.0
],
"texture": "#booster_b"
},
"down": {
"uv": [
0,
0,
3.6000000000000005,
7.0
],
"texture": "#booster_b"
}
}
},
{
"from": [
-9.5,
2.0,
-6.0
],
"to": [
-8.5,
4.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
-4.5,
4.0,
-16.0
],
"to": [
-1.5,
7.0,
26.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"east": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"west": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"up": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
}
}
},
{
"from": [
-4.8,
3.5,
20.0
],
"to": [
-1.2,
7.5,
27.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.5999999999999996,
4.0
],
"texture": "#booster_b"
},
"south": {
"uv": [
0,
0,
3.5999999999999996,
4.0
],
"texture": "#booster_b"
},
"east": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"west": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"up": {
"uv": [
0,
0,
3.5999999999999996,
7.0
],
"texture": "#booster_b"
},
"down": {
"uv": [
0,
0,
3.5999999999999996,
7.0
],
"texture": "#booster_b"
}
}
},
{
"from": [
-3.5,
2.0,
-6.0
],
"to": [
-2.5,
4.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
11.5,
4.0,
-16.0
],
"to": [
14.5,
7.0,
26.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"east": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"west": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"up": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
}
}
},
{
"from": [
11.2,
3.5,
20.0
],
"to": [
14.8,
7.5,
27.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.6000000000000014,
4.0
],
"texture": "#booster_b"
},
"south": {
"uv": [
0,
0,
3.6000000000000014,
4.0
],
"texture": "#booster_b"
},
"east": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"west": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"up": {
"uv": [
0,
0,
3.6000000000000014,
7.0
],
"texture": "#booster_b"
},
"down": {
"uv": [
0,
0,
3.6000000000000014,
7.0
],
"texture": "#booster_b"
}
}
},
{
"from": [
12.5,
2.0,
-6.0
],
"to": [
13.5,
4.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
17.5,
4.0,
-16.0
],
"to": [
20.5,
7.0,
26.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#missile_ru_b"
},
"east": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"west": {
"uv": [
0,
0,
16,
3.0
],
"texture": "#missile_ru_b"
},
"up": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#missile_ru_b"
}
}
},
{
"from": [
17.2,
3.5,
20.0
],
"to": [
20.8,
7.5,
27.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.6000000000000014,
4.0
],
"texture": "#booster_b"
},
"south": {
"uv": [
0,
0,
3.6000000000000014,
4.0
],
"texture": "#booster_b"
},
"east": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"west": {
"uv": [
0,
0,
7.0,
4.0
],
"texture": "#booster_b"
},
"up": {
"uv": [
0,
0,
3.6000000000000014,
7.0
],
"texture": "#booster_b"
},
"down": {
"uv": [
0,
0,
3.6000000000000014,
7.0
],
"texture": "#booster_b"
}
}
},
{
"from": [
18.5,
2.0,
-6.0
],
"to": [
19.5,
4.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
1.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
-12.0,
0.0,
-2.0
],
"to": [
28.0,
2.0,
14.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_s31_b"
},
"south": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_s31_b"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_b"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_green_s31_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_green_s31_b"
}
}
}
]
}
@@ -1,9 +1,11 @@
{
"ambientocclusion": false,
"textures": {
"ru_green": "airdef:block/ru_green",
"ru_green_s21": "airdef:block/ru_green_s21",
"ru_green_s22": "airdef:block/ru_green_s22",
"radar_face": "airdef:block/radar_face",
"particle": "airdef:block/ru_green"
"ru_green": "airdef:block/ru_green",
"particle": "airdef:block/ru_green_s21"
},
"elements": [
{
@@ -25,7 +27,7 @@
16,
9.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"south": {
"uv": [
@@ -34,7 +36,7 @@
16,
9.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"east": {
"uv": [
@@ -43,7 +45,7 @@
16,
9.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"west": {
"uv": [
@@ -52,7 +54,7 @@
16,
9.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"up": {
"uv": [
@@ -61,7 +63,7 @@
16,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s22"
},
"down": {
"uv": [
@@ -70,7 +72,7 @@
16,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s22"
}
}
},
@@ -0,0 +1,216 @@
{
"ambientocclusion": false,
"textures": {
"ru_green_s21_b": "airdef:block/ru_green_s21_b",
"ru_green_s22_b": "airdef:block/ru_green_s22_b",
"radar_face_b": "airdef:block/radar_face_b",
"ru_green_b": "airdef:block/ru_green_b",
"particle": "airdef:block/ru_green_s21_b"
},
"elements": [
{
"from": [
-4.0,
0.0,
-4.0
],
"to": [
20.0,
9.0,
20.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
9.0
],
"texture": "#ru_green_s21_b"
},
"south": {
"uv": [
0,
0,
16,
9.0
],
"texture": "#ru_green_s21_b"
},
"east": {
"uv": [
0,
0,
16,
9.0
],
"texture": "#ru_green_s21_b"
},
"west": {
"uv": [
0,
0,
16,
9.0
],
"texture": "#ru_green_s21_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_green_s22_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_green_s22_b"
}
}
},
{
"from": [
1.0,
2.0,
-10.0
],
"to": [
15.0,
14.0,
-4.0
],
"faces": {
"north": {
"uv": [
0,
0,
14.0,
12.0
],
"texture": "#radar_face_b"
},
"south": {
"uv": [
0,
0,
14.0,
12.0
],
"texture": "#radar_face_b"
},
"east": {
"uv": [
0,
0,
6.0,
12.0
],
"texture": "#radar_face_b"
},
"west": {
"uv": [
0,
0,
6.0,
12.0
],
"texture": "#radar_face_b"
},
"up": {
"uv": [
0,
0,
14.0,
6.0
],
"texture": "#radar_face_b"
},
"down": {
"uv": [
0,
0,
14.0,
6.0
],
"texture": "#radar_face_b"
}
}
},
{
"from": [
-2.0,
9.0,
6.0
],
"to": [
18.0,
11.0,
18.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_b"
},
"south": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_b"
},
"east": {
"uv": [
0,
0,
12.0,
2.0
],
"texture": "#ru_green_b"
},
"west": {
"uv": [
0,
0,
12.0,
2.0
],
"texture": "#ru_green_b"
},
"up": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#ru_green_b"
},
"down": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#ru_green_b"
}
}
}
]
}
@@ -3,8 +3,8 @@
"textures": {
"concrete": "airdef:block/concrete",
"crate": "airdef:block/crate",
"tube": "airdef:block/tube",
"tube_cap": "airdef:block/tube_cap",
"tube": "airdef:block/tube",
"particle": "airdef:block/concrete"
},
"elements": [
@@ -0,0 +1,488 @@
{
"ambientocclusion": false,
"textures": {
"concrete_b": "airdef:block/concrete_b",
"crate_b": "airdef:block/crate_b",
"tube_cap_b": "airdef:block/tube_cap_b",
"tube_b": "airdef:block/tube_b",
"particle": "airdef:block/concrete_b"
},
"elements": [
{
"from": [
-14.0,
0.0,
-14.0
],
"to": [
30.0,
2.0,
30.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#concrete_b"
},
"south": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#concrete_b"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#concrete_b"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#concrete_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#concrete_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#concrete_b"
}
}
},
{
"from": [
-12.0,
2.0,
-12.0
],
"to": [
0.0,
10.0,
0.0
],
"faces": {
"north": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"south": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"east": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"west": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"up": {
"uv": [
0,
0,
12.0,
12.0
],
"texture": "#crate_b"
},
"down": {
"uv": [
0,
0,
12.0,
12.0
],
"texture": "#crate_b"
}
}
},
{
"from": [
-12.0,
2.0,
4.0
],
"to": [
0.0,
10.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"south": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"east": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"west": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"up": {
"uv": [
0,
0,
12.0,
12.0
],
"texture": "#crate_b"
},
"down": {
"uv": [
0,
0,
12.0,
12.0
],
"texture": "#crate_b"
}
}
},
{
"from": [
4.0,
2.0,
-12.0
],
"to": [
16.0,
10.0,
0.0
],
"faces": {
"north": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"south": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"east": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"west": {
"uv": [
0,
0,
12.0,
8.0
],
"texture": "#crate_b"
},
"up": {
"uv": [
0,
0,
12.0,
12.0
],
"texture": "#crate_b"
},
"down": {
"uv": [
0,
0,
12.0,
12.0
],
"texture": "#crate_b"
}
}
},
{
"from": [
6.0,
2.0,
6.0
],
"to": [
28.0,
7.0,
10.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
4.0,
5.0
],
"texture": "#tube_b"
},
"west": {
"uv": [
0,
0,
4.0,
5.0
],
"texture": "#tube_b"
},
"up": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#tube_b"
},
"down": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#tube_b"
}
}
},
{
"from": [
6.0,
7.0,
6.0
],
"to": [
28.0,
12.0,
10.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
4.0,
5.0
],
"texture": "#tube_b"
},
"west": {
"uv": [
0,
0,
4.0,
5.0
],
"texture": "#tube_b"
},
"up": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#tube_b"
},
"down": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#tube_b"
}
}
},
{
"from": [
6.0,
12.0,
6.0
],
"to": [
28.0,
17.0,
10.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
4.0,
5.0
],
"texture": "#tube_b"
},
"west": {
"uv": [
0,
0,
4.0,
5.0
],
"texture": "#tube_b"
},
"up": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#tube_b"
},
"down": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#tube_b"
}
}
}
]
}
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": {
"lamp": "airdef:block/lamp",
"antenna": "airdef:block/antenna",
"bare_antenna": "airdef:block/bare_antenna",
"particle": "airdef:block/lamp"
},
"elements": [
@@ -93,7 +93,7 @@
0.8000000000000007,
6.5
],
"texture": "#antenna"
"texture": "#bare_antenna"
},
"south": {
"uv": [
@@ -102,7 +102,7 @@
0.8000000000000007,
6.5
],
"texture": "#antenna"
"texture": "#bare_antenna"
},
"east": {
"uv": [
@@ -111,7 +111,7 @@
0.8000000000000007,
6.5
],
"texture": "#antenna"
"texture": "#bare_antenna"
},
"west": {
"uv": [
@@ -120,7 +120,7 @@
0.8000000000000007,
6.5
],
"texture": "#antenna"
"texture": "#bare_antenna"
},
"up": {
"uv": [
@@ -129,7 +129,7 @@
0.8000000000000007,
0.8000000000000007
],
"texture": "#antenna"
"texture": "#bare_antenna"
},
"down": {
"uv": [
@@ -138,7 +138,7 @@
0.8000000000000007,
0.8000000000000007
],
"texture": "#antenna"
"texture": "#bare_antenna"
}
}
}
@@ -1,9 +1,9 @@
{
"ambientocclusion": false,
"textures": {
"dish": "airdef:block/dish",
"bare_dish": "airdef:block/bare_dish",
"metal": "airdef:block/metal",
"particle": "airdef:block/dish"
"particle": "airdef:block/bare_dish"
},
"elements": [
{
@@ -25,7 +25,7 @@
16,
8.0
],
"texture": "#dish"
"texture": "#bare_dish"
},
"south": {
"uv": [
@@ -34,7 +34,7 @@
16,
8.0
],
"texture": "#dish"
"texture": "#bare_dish"
},
"east": {
"uv": [
@@ -43,7 +43,7 @@
2.0,
8.0
],
"texture": "#dish"
"texture": "#bare_dish"
},
"west": {
"uv": [
@@ -52,7 +52,7 @@
2.0,
8.0
],
"texture": "#dish"
"texture": "#bare_dish"
},
"up": {
"uv": [
@@ -61,7 +61,7 @@
16,
2.0
],
"texture": "#dish"
"texture": "#bare_dish"
},
"down": {
"uv": [
@@ -70,7 +70,7 @@
16,
2.0
],
"texture": "#dish"
"texture": "#bare_dish"
}
}
},
@@ -1,10 +1,10 @@
{
"ambientocclusion": false,
"textures": {
"barrel": "airdef:block/barrel",
"bare_barrel": "airdef:block/bare_barrel",
"flecktarn": "airdef:block/flecktarn",
"dark_metal": "airdef:block/dark_metal",
"particle": "airdef:block/barrel"
"particle": "airdef:block/bare_barrel"
},
"elements": [
{
@@ -26,7 +26,7 @@
2.5,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"south": {
"uv": [
@@ -35,7 +35,7 @@
2.5,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"east": {
"uv": [
@@ -44,7 +44,7 @@
16,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"west": {
"uv": [
@@ -53,7 +53,7 @@
16,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"up": {
"uv": [
@@ -62,7 +62,7 @@
2.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"down": {
"uv": [
@@ -71,7 +71,7 @@
2.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
}
}
},
@@ -94,7 +94,7 @@
2.5,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"south": {
"uv": [
@@ -103,7 +103,7 @@
2.5,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"east": {
"uv": [
@@ -112,7 +112,7 @@
16,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"west": {
"uv": [
@@ -121,7 +121,7 @@
16,
2.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"up": {
"uv": [
@@ -130,7 +130,7 @@
2.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"down": {
"uv": [
@@ -139,7 +139,7 @@
2.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
}
}
},
@@ -0,0 +1,351 @@
{
"ambientocclusion": false,
"textures": {
"bare_barrel_b": "airdef:block/bare_barrel_b",
"flecktarn_b": "airdef:block/flecktarn_b",
"dark_metal_b": "airdef:block/dark_metal_b",
"particle": "airdef:block/bare_barrel_b"
},
"elements": [
{
"from": [
-8.0,
5.0,
-16.0
],
"to": [
-5.5,
7.5,
12.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.5,
2.5
],
"texture": "#bare_barrel_b"
},
"south": {
"uv": [
0,
0,
2.5,
2.5
],
"texture": "#bare_barrel_b"
},
"east": {
"uv": [
0,
0,
16,
2.5
],
"texture": "#bare_barrel_b"
},
"west": {
"uv": [
0,
0,
16,
2.5
],
"texture": "#bare_barrel_b"
},
"up": {
"uv": [
0,
0,
2.5,
16
],
"texture": "#bare_barrel_b"
},
"down": {
"uv": [
0,
0,
2.5,
16
],
"texture": "#bare_barrel_b"
}
}
},
{
"from": [
21.5,
5.0,
-16.0
],
"to": [
24.0,
7.5,
12.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.5,
2.5
],
"texture": "#bare_barrel_b"
},
"south": {
"uv": [
0,
0,
2.5,
2.5
],
"texture": "#bare_barrel_b"
},
"east": {
"uv": [
0,
0,
16,
2.5
],
"texture": "#bare_barrel_b"
},
"west": {
"uv": [
0,
0,
16,
2.5
],
"texture": "#bare_barrel_b"
},
"up": {
"uv": [
0,
0,
2.5,
16
],
"texture": "#bare_barrel_b"
},
"down": {
"uv": [
0,
0,
2.5,
16
],
"texture": "#bare_barrel_b"
}
}
},
{
"from": [
-9.0,
3.5,
2.0
],
"to": [
-4.0,
9.0,
14.0
],
"faces": {
"north": {
"uv": [
0,
0,
5.0,
5.5
],
"texture": "#flecktarn_b"
},
"south": {
"uv": [
0,
0,
5.0,
5.5
],
"texture": "#flecktarn_b"
},
"east": {
"uv": [
0,
0,
12.0,
5.5
],
"texture": "#flecktarn_b"
},
"west": {
"uv": [
0,
0,
12.0,
5.5
],
"texture": "#flecktarn_b"
},
"up": {
"uv": [
0,
0,
5.0,
12.0
],
"texture": "#flecktarn_b"
},
"down": {
"uv": [
0,
0,
5.0,
12.0
],
"texture": "#flecktarn_b"
}
}
},
{
"from": [
20.0,
3.5,
2.0
],
"to": [
25.0,
9.0,
14.0
],
"faces": {
"north": {
"uv": [
0,
0,
5.0,
5.5
],
"texture": "#flecktarn_b"
},
"south": {
"uv": [
0,
0,
5.0,
5.5
],
"texture": "#flecktarn_b"
},
"east": {
"uv": [
0,
0,
12.0,
5.5
],
"texture": "#flecktarn_b"
},
"west": {
"uv": [
0,
0,
12.0,
5.5
],
"texture": "#flecktarn_b"
},
"up": {
"uv": [
0,
0,
5.0,
12.0
],
"texture": "#flecktarn_b"
},
"down": {
"uv": [
0,
0,
5.0,
12.0
],
"texture": "#flecktarn_b"
}
}
},
{
"from": [
-8.5,
4.5,
-16.0
],
"to": [
-5.0,
8.0,
-13.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
3.5
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
3.5,
3.5
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
3.0,
3.5
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
3.0,
3.5
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
3.5,
3.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.5,
3.0
],
"texture": "#dark_metal_b"
}
}
}
]
}
@@ -1,11 +1,15 @@
{
"ambientocclusion": false,
"textures": {
"flecktarn_s21": "airdef:block/flecktarn_s21",
"flecktarn_s31": "airdef:block/flecktarn_s31",
"flecktarn_s23": "airdef:block/flecktarn_s23",
"flecktarn": "airdef:block/flecktarn",
"dark_metal": "airdef:block/dark_metal",
"metal": "airdef:block/metal",
"track": "airdef:block/track",
"particle": "airdef:block/flecktarn"
"flecktarn_s13": "airdef:block/flecktarn_s13",
"particle": "airdef:block/flecktarn_s21"
},
"elements": [
{
@@ -27,7 +31,7 @@
16,
13.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"south": {
"uv": [
@@ -36,7 +40,7 @@
16,
13.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"east": {
"uv": [
@@ -45,7 +49,7 @@
16,
13.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s31"
},
"west": {
"uv": [
@@ -54,7 +58,7 @@
16,
13.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s31"
},
"up": {
"uv": [
@@ -63,7 +67,7 @@
16,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s23"
},
"down": {
"uv": [
@@ -72,7 +76,7 @@
16,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s23"
}
}
},
@@ -95,7 +99,7 @@
16,
8.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"south": {
"uv": [
@@ -104,7 +108,7 @@
16,
8.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"east": {
"uv": [
@@ -131,7 +135,7 @@
16,
4.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"down": {
"uv": [
@@ -140,7 +144,7 @@
16,
4.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
}
}
},
@@ -453,7 +457,7 @@
16,
5.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s31"
},
"west": {
"uv": [
@@ -462,7 +466,7 @@
16,
5.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s31"
},
"up": {
"uv": [
@@ -471,7 +475,7 @@
4.5,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s13"
},
"down": {
"uv": [
@@ -480,7 +484,7 @@
4.5,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s13"
}
}
},
@@ -521,7 +525,7 @@
16,
5.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s31"
},
"west": {
"uv": [
@@ -530,7 +534,7 @@
16,
5.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s31"
},
"up": {
"uv": [
@@ -539,7 +543,7 @@
4.5,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s13"
},
"down": {
"uv": [
@@ -548,7 +552,7 @@
4.5,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s13"
}
}
}
@@ -0,0 +1,560 @@
{
"ambientocclusion": false,
"textures": {
"flecktarn_s21_b": "airdef:block/flecktarn_s21_b",
"flecktarn_s31_b": "airdef:block/flecktarn_s31_b",
"flecktarn_s23_b": "airdef:block/flecktarn_s23_b",
"flecktarn_b": "airdef:block/flecktarn_b",
"dark_metal_b": "airdef:block/dark_metal_b",
"metal_b": "airdef:block/metal_b",
"track_b": "airdef:block/track_b",
"flecktarn_s13_b": "airdef:block/flecktarn_s13_b",
"particle": "airdef:block/flecktarn_s21_b"
},
"elements": [
{
"from": [
-10.0,
4.0,
-12.0
],
"to": [
26.0,
17.0,
30.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
13.0
],
"texture": "#flecktarn_s21_b"
},
"south": {
"uv": [
0,
0,
16,
13.0
],
"texture": "#flecktarn_s21_b"
},
"east": {
"uv": [
0,
0,
16,
13.0
],
"texture": "#flecktarn_s31_b"
},
"west": {
"uv": [
0,
0,
16,
13.0
],
"texture": "#flecktarn_s31_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#flecktarn_s23_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#flecktarn_s23_b"
}
}
},
{
"from": [
-10.0,
4.0,
-16.0
],
"to": [
26.0,
12.0,
-12.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
8.0
],
"texture": "#flecktarn_s21_b"
},
"south": {
"uv": [
0,
0,
16,
8.0
],
"texture": "#flecktarn_s21_b"
},
"east": {
"uv": [
0,
0,
4.0,
8.0
],
"texture": "#flecktarn_b"
},
"west": {
"uv": [
0,
0,
4.0,
8.0
],
"texture": "#flecktarn_b"
},
"up": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#flecktarn_s21_b"
},
"down": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#flecktarn_s21_b"
}
}
},
{
"from": [
-8.0,
17.0,
18.0
],
"to": [
24.0,
18.0,
30.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
1.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
16,
1.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
12.0,
1.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
12.0,
1.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
-6.0,
17.0,
-10.0
],
"to": [
4.0,
18.0,
-4.0
],
"faces": {
"north": {
"uv": [
0,
0,
10.0,
1.0
],
"texture": "#metal_b"
},
"south": {
"uv": [
0,
0,
10.0,
1.0
],
"texture": "#metal_b"
},
"east": {
"uv": [
0,
0,
6.0,
1.0
],
"texture": "#metal_b"
},
"west": {
"uv": [
0,
0,
6.0,
1.0
],
"texture": "#metal_b"
},
"up": {
"uv": [
0,
0,
10.0,
6.0
],
"texture": "#metal_b"
},
"down": {
"uv": [
0,
0,
10.0,
6.0
],
"texture": "#metal_b"
}
}
},
{
"from": [
-14.0,
0.0,
-14.0
],
"to": [
-10.0,
10.0,
31.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
10.0
],
"texture": "#track_b"
},
"south": {
"uv": [
0,
0,
4.0,
10.0
],
"texture": "#track_b"
},
"east": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#track_b"
},
"west": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#track_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#track_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#track_b"
}
}
},
{
"from": [
26.0,
0.0,
-14.0
],
"to": [
30.0,
10.0,
31.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
10.0
],
"texture": "#track_b"
},
"south": {
"uv": [
0,
0,
4.0,
10.0
],
"texture": "#track_b"
},
"east": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#track_b"
},
"west": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#track_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#track_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#track_b"
}
}
},
{
"from": [
-14.5,
6.0,
-14.0
],
"to": [
-10.0,
11.0,
31.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.5,
5.0
],
"texture": "#flecktarn_b"
},
"south": {
"uv": [
0,
0,
4.5,
5.0
],
"texture": "#flecktarn_b"
},
"east": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#flecktarn_s31_b"
},
"west": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#flecktarn_s31_b"
},
"up": {
"uv": [
0,
0,
4.5,
16
],
"texture": "#flecktarn_s13_b"
},
"down": {
"uv": [
0,
0,
4.5,
16
],
"texture": "#flecktarn_s13_b"
}
}
},
{
"from": [
26.0,
6.0,
-14.0
],
"to": [
30.5,
11.0,
31.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.5,
5.0
],
"texture": "#flecktarn_b"
},
"south": {
"uv": [
0,
0,
4.5,
5.0
],
"texture": "#flecktarn_b"
},
"east": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#flecktarn_s31_b"
},
"west": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#flecktarn_s31_b"
},
"up": {
"uv": [
0,
0,
4.5,
16
],
"texture": "#flecktarn_s13_b"
},
"down": {
"uv": [
0,
0,
4.5,
16
],
"texture": "#flecktarn_s13_b"
}
}
}
]
}
@@ -1,10 +1,14 @@
{
"ambientocclusion": false,
"textures": {
"flecktarn_s21": "airdef:block/flecktarn_s21",
"flecktarn": "airdef:block/flecktarn",
"radar_face": "airdef:block/radar_face",
"metal": "airdef:block/metal",
"particle": "airdef:block/flecktarn"
"mk_de": "airdef:block/mk_de",
"bare_antenna": "airdef:block/bare_antenna",
"dark_metal": "airdef:block/dark_metal",
"particle": "airdef:block/flecktarn_s21"
},
"elements": [
{
@@ -26,7 +30,7 @@
16,
12.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"south": {
"uv": [
@@ -35,7 +39,7 @@
16,
12.0
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"east": {
"uv": [
@@ -62,7 +66,7 @@
16,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
},
"down": {
"uv": [
@@ -71,7 +75,7 @@
16,
16
],
"texture": "#flecktarn"
"texture": "#flecktarn_s21"
}
}
},
@@ -278,6 +282,550 @@
"texture": "#metal"
}
}
},
{
"from": [
20.0,
3.0,
-5.5
],
"to": [
20.119999999999997,
6.5,
1.5
],
"faces": {
"north": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de"
},
"south": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de"
},
"east": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de"
},
"west": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de"
},
"up": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de"
},
"down": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de"
}
}
},
{
"from": [
-4.119999999999997,
3.0,
-5.5
],
"to": [
-4.0,
6.5,
1.5
],
"faces": {
"north": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de"
},
"south": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de"
},
"east": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de"
},
"west": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de"
},
"up": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de"
},
"down": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de"
}
}
},
{
"from": [
5.5,
14.0,
2.0
],
"to": [
10.5,
14.8,
7.0
],
"faces": {
"north": {
"uv": [
0,
0,
5.0,
0.8000000000000007
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
5.0,
0.8000000000000007
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
5.0,
0.8000000000000007
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
5.0,
0.8000000000000007
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
5.0,
5.0
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
5.0,
5.0
],
"texture": "#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
],
"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,
3.0,
3.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
0.8000000000000007,
3.0
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
0.8000000000000007,
3.0
],
"texture": "#dark_metal"
}
}
},
{
"from": [
20.0,
7.0,
-5.0
],
"to": [
20.8,
10.0,
-2.0
],
"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,
3.0,
3.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
0.8000000000000007,
3.0
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
0.8000000000000007,
3.0
],
"texture": "#dark_metal"
}
}
},
{
"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"
},
"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"
}
}
},
{
"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"
}
}
}
]
}
@@ -0,0 +1,695 @@
{
"ambientocclusion": false,
"textures": {
"flecktarn_s21_b": "airdef:block/flecktarn_s21_b",
"flecktarn_b": "airdef:block/flecktarn_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"
},
"elements": [
{
"from": [
-4.0,
0.0,
-6.0
],
"to": [
20.0,
12.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#flecktarn_s21_b"
},
"south": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#flecktarn_s21_b"
},
"east": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#flecktarn_b"
},
"west": {
"uv": [
0,
0,
16,
12.0
],
"texture": "#flecktarn_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#flecktarn_s21_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#flecktarn_s21_b"
}
}
},
{
"from": [
-2.0,
12.0,
-2.0
],
"to": [
18.0,
14.0,
14.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#flecktarn_b"
},
"south": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#flecktarn_b"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#flecktarn_b"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#flecktarn_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#flecktarn_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#flecktarn_b"
}
}
},
{
"from": [
3.0,
4.0,
-10.0
],
"to": [
13.0,
12.0,
-6.0
],
"faces": {
"north": {
"uv": [
0,
0,
10.0,
8.0
],
"texture": "#radar_face_b"
},
"south": {
"uv": [
0,
0,
10.0,
8.0
],
"texture": "#radar_face_b"
},
"east": {
"uv": [
0,
0,
4.0,
8.0
],
"texture": "#radar_face_b"
},
"west": {
"uv": [
0,
0,
4.0,
8.0
],
"texture": "#radar_face_b"
},
"up": {
"uv": [
0,
0,
10.0,
4.0
],
"texture": "#radar_face_b"
},
"down": {
"uv": [
0,
0,
10.0,
4.0
],
"texture": "#radar_face_b"
}
}
},
{
"from": [
7.0,
14.0,
10.0
],
"to": [
9.0,
18.0,
12.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
4.0
],
"texture": "#metal_b"
},
"south": {
"uv": [
0,
0,
2.0,
4.0
],
"texture": "#metal_b"
},
"east": {
"uv": [
0,
0,
2.0,
4.0
],
"texture": "#metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
4.0
],
"texture": "#metal_b"
},
"up": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#metal_b"
},
"down": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#metal_b"
}
}
},
{
"from": [
20.0,
3.0,
-5.5
],
"to": [
20.119999999999997,
6.5,
1.5
],
"faces": {
"north": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de_b"
},
"south": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de_b"
},
"east": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de_b"
},
"west": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de_b"
},
"up": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de_b"
},
"down": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de_b"
}
}
},
{
"from": [
-4.119999999999997,
3.0,
-5.5
],
"to": [
-4.0,
6.5,
1.5
],
"faces": {
"north": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de_b"
},
"south": {
"uv": [
0,
0,
0.25,
3.5
],
"texture": "#mk_de_b"
},
"east": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de_b"
},
"west": {
"uv": [
0,
0,
7.0,
3.5
],
"texture": "#mk_de_b"
},
"up": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de_b"
},
"down": {
"uv": [
0,
0,
0.25,
7.0
],
"texture": "#mk_de_b"
}
}
},
{
"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_b"
},
"south": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#bare_antenna_b"
},
"east": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#bare_antenna_b"
},
"west": {
"uv": [
0,
0,
1.0,
2.0
],
"texture": "#bare_antenna_b"
},
"up": {
"uv": [
0,
0,
1.0,
1.0
],
"texture": "#bare_antenna_b"
},
"down": {
"uv": [
0,
0,
1.0,
1.0
],
"texture": "#bare_antenna_b"
}
}
},
{
"from": [
-4.800000000000001,
7.0,
-5.0
],
"to": [
-4.0,
10.0,
-2.0
],
"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,
3.0,
3.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
0.8000000000000007,
3.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
0.8000000000000007,
3.0
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
20.0,
7.0,
-5.0
],
"to": [
20.8,
10.0,
-2.0
],
"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,
3.0,
3.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
0.8000000000000007,
3.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
0.8000000000000007,
3.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"
}
}
}
]
}
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
@@ -1,10 +1,10 @@
{
"ambientocclusion": false,
"textures": {
"canister": "airdef:block/canister",
"tube_cap": "airdef:block/tube_cap",
"canister": "airdef:block/canister",
"dark_metal": "airdef:block/dark_metal",
"particle": "airdef:block/canister"
"particle": "airdef:block/tube_cap"
},
"elements": [
{
@@ -0,0 +1,691 @@
{
"ambientocclusion": false,
"textures": {
"tube_cap_b": "airdef:block/tube_cap_b",
"canister_b": "airdef:block/canister_b",
"dark_metal_b": "airdef:block/dark_metal_b",
"particle": "airdef:block/tube_cap_b"
},
"elements": [
{
"from": [
-1.5,
0.0,
-16.0
],
"to": [
2.5,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
-1.5,
5.0,
-16.0
],
"to": [
2.5,
9.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
3.5,
0.0,
-16.0
],
"to": [
7.5,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
3.5,
5.0,
-16.0
],
"to": [
7.5,
9.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
8.5,
0.0,
-16.0
],
"to": [
12.5,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
8.5,
5.0,
-16.0
],
"to": [
12.5,
9.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
13.5,
0.0,
-16.0
],
"to": [
17.5,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
13.5,
5.0,
-16.0
],
"to": [
17.5,
9.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
-2.5,
0.0,
26.0
],
"to": [
18.5,
9.0,
28.0
],
"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,
2.0,
9.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
9.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": [
-2.5,
0.0,
-2.0
],
"to": [
18.5,
9.0,
0.0
],
"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,
2.0,
9.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
9.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"
}
}
}
]
}
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
+610 -88
View File
@@ -2,20 +2,21 @@
"ambientocclusion": false,
"textures": {
"lancet": "airdef:block/lancet",
"intake": "airdef:block/intake",
"bare_lamp": "airdef:block/bare_lamp",
"dark_metal": "airdef:block/dark_metal",
"prop": "airdef:block/prop",
"particle": "airdef:block/lancet"
},
"elements": [
{
"from": [
6.875,
6.875,
7.170068602879533,
7.170068602879533,
-16.0
],
"to": [
9.125,
9.125,
8.829931397120468,
8.829931397120468,
-14.0
],
"faces": {
@@ -23,8 +24,8 @@
"uv": [
0,
0,
2.25,
2.25
1.6598627942409356,
1.6598627942409356
],
"texture": "#lancet"
},
@@ -32,8 +33,8 @@
"uv": [
0,
0,
2.25,
2.25
1.6598627942409356,
1.6598627942409356
],
"texture": "#lancet"
},
@@ -42,7 +43,7 @@
0,
0,
2.0,
2.25
1.6598627942409356
],
"texture": "#lancet"
},
@@ -51,7 +52,7 @@
0,
0,
2.0,
2.25
1.6598627942409356
],
"texture": "#lancet"
},
@@ -59,7 +60,7 @@
"uv": [
0,
0,
2.25,
1.6598627942409356,
2.0
],
"texture": "#lancet"
@@ -68,7 +69,7 @@
"uv": [
0,
0,
2.25,
1.6598627942409356,
2.0
],
"texture": "#lancet"
@@ -77,13 +78,90 @@
},
{
"from": [
6.625,
6.625,
7.170068602879533,
7.170068602879533,
-15.97
],
"to": [
8.829931397120468,
8.829931397120468,
-14.03
],
"faces": {
"north": {
"uv": [
0,
0,
1.6598627942409356,
1.6598627942409356
],
"texture": "#lancet"
},
"south": {
"uv": [
0,
0,
1.6598627942409356,
1.6598627942409356
],
"texture": "#lancet"
},
"east": {
"uv": [
0,
0,
1.9400000000000013,
1.6598627942409356
],
"texture": "#lancet"
},
"west": {
"uv": [
0,
0,
1.9400000000000013,
1.6598627942409356
],
"texture": "#lancet"
},
"up": {
"uv": [
0,
0,
1.6598627942409356,
1.9400000000000013
],
"texture": "#lancet"
},
"down": {
"uv": [
0,
0,
1.6598627942409356,
1.9400000000000013
],
"texture": "#lancet"
}
},
"rotation": {
"angle": 45,
"axis": "z",
"origin": [
8.0,
8.0,
-15.0
]
}
},
{
"from": [
6.647973576320755,
6.647973576320755,
-14.0
],
"to": [
9.375,
9.375,
9.352026423679245,
9.352026423679245,
-12.0
],
"faces": {
@@ -91,8 +169,8 @@
"uv": [
0,
0,
2.75,
2.75
2.70405284735849,
2.70405284735849
],
"texture": "#lancet"
},
@@ -100,8 +178,8 @@
"uv": [
0,
0,
2.75,
2.75
2.70405284735849,
2.70405284735849
],
"texture": "#lancet"
},
@@ -110,7 +188,7 @@
0,
0,
2.0,
2.75
2.70405284735849
],
"texture": "#lancet"
},
@@ -119,7 +197,7 @@
0,
0,
2.0,
2.75
2.70405284735849
],
"texture": "#lancet"
},
@@ -127,7 +205,7 @@
"uv": [
0,
0,
2.75,
2.70405284735849,
2.0
],
"texture": "#lancet"
@@ -136,7 +214,7 @@
"uv": [
0,
0,
2.75,
2.70405284735849,
2.0
],
"texture": "#lancet"
@@ -145,22 +223,22 @@
},
{
"from": [
6.375,
6.375,
-12.0
6.647973576320755,
6.647973576320755,
-13.97
],
"to": [
9.625,
9.625,
-10.0
9.352026423679245,
9.352026423679245,
-12.03
],
"faces": {
"north": {
"uv": [
0,
0,
3.25,
3.25
2.70405284735849,
2.70405284735849
],
"texture": "#lancet"
},
@@ -168,8 +246,85 @@
"uv": [
0,
0,
3.25,
3.25
2.70405284735849,
2.70405284735849
],
"texture": "#lancet"
},
"east": {
"uv": [
0,
0,
1.9400000000000013,
2.70405284735849
],
"texture": "#lancet"
},
"west": {
"uv": [
0,
0,
1.9400000000000013,
2.70405284735849
],
"texture": "#lancet"
},
"up": {
"uv": [
0,
0,
2.70405284735849,
1.9400000000000013
],
"texture": "#lancet"
},
"down": {
"uv": [
0,
0,
2.70405284735849,
1.9400000000000013
],
"texture": "#lancet"
}
},
"rotation": {
"angle": 45,
"axis": "z",
"origin": [
8.0,
8.0,
-13.0
]
}
},
{
"from": [
6.256233448150251,
6.256233448150251,
-12.0
],
"to": [
9.743766551849749,
9.743766551849749,
-10.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.487533103699498,
3.487533103699498
],
"texture": "#lancet"
},
"south": {
"uv": [
0,
0,
3.487533103699498,
3.487533103699498
],
"texture": "#lancet"
},
@@ -178,7 +333,7 @@
0,
0,
2.0,
3.25
3.487533103699498
],
"texture": "#lancet"
},
@@ -187,7 +342,7 @@
0,
0,
2.0,
3.25
3.487533103699498
],
"texture": "#lancet"
},
@@ -195,7 +350,7 @@
"uv": [
0,
0,
3.25,
3.487533103699498,
2.0
],
"texture": "#lancet"
@@ -204,7 +359,7 @@
"uv": [
0,
0,
3.25,
3.487533103699498,
2.0
],
"texture": "#lancet"
@@ -213,13 +368,90 @@
},
{
"from": [
6.2,
6.2,
6.256233448150251,
6.256233448150251,
-11.97
],
"to": [
9.743766551849749,
9.743766551849749,
-10.03
],
"faces": {
"north": {
"uv": [
0,
0,
3.487533103699498,
3.487533103699498
],
"texture": "#lancet"
},
"south": {
"uv": [
0,
0,
3.487533103699498,
3.487533103699498
],
"texture": "#lancet"
},
"east": {
"uv": [
0,
0,
1.9400000000000013,
3.487533103699498
],
"texture": "#lancet"
},
"west": {
"uv": [
0,
0,
1.9400000000000013,
3.487533103699498
],
"texture": "#lancet"
},
"up": {
"uv": [
0,
0,
3.487533103699498,
1.9400000000000013
],
"texture": "#lancet"
},
"down": {
"uv": [
0,
0,
3.487533103699498,
1.9400000000000013
],
"texture": "#lancet"
}
},
"rotation": {
"angle": 45,
"axis": "z",
"origin": [
8.0,
8.0,
-11.0
]
}
},
{
"from": [
6.1522,
6.1522,
-10.0
],
"to": [
9.8,
9.8,
9.8478,
9.8478,
20.0
],
"faces": {
@@ -227,8 +459,8 @@
"uv": [
0,
0,
3.6000000000000005,
3.6000000000000005
3.6955999999999998,
3.6955999999999998
],
"texture": "#lancet"
},
@@ -236,8 +468,8 @@
"uv": [
0,
0,
3.6000000000000005,
3.6000000000000005
3.6955999999999998,
3.6955999999999998
],
"texture": "#lancet"
},
@@ -246,7 +478,7 @@
0,
0,
16,
3.6000000000000005
3.6955999999999998
],
"texture": "#lancet"
},
@@ -255,7 +487,7 @@
0,
0,
16,
3.6000000000000005
3.6955999999999998
],
"texture": "#lancet"
},
@@ -263,7 +495,7 @@
"uv": [
0,
0,
3.6000000000000005,
3.6955999999999998,
16
],
"texture": "#lancet"
@@ -272,78 +504,155 @@
"uv": [
0,
0,
3.6000000000000005,
3.6955999999999998,
16
],
"texture": "#lancet"
}
}
},
{
"from": [
6.1522,
6.1522,
-9.97
],
"to": [
9.8478,
9.8478,
19.97
],
"faces": {
"north": {
"uv": [
0,
0,
3.6955999999999998,
3.6955999999999998
],
"texture": "#lancet"
},
"south": {
"uv": [
0,
0,
3.6955999999999998,
3.6955999999999998
],
"texture": "#lancet"
},
"east": {
"uv": [
0,
0,
16,
3.6955999999999998
],
"texture": "#lancet"
},
"west": {
"uv": [
0,
0,
16,
3.6955999999999998
],
"texture": "#lancet"
},
"up": {
"uv": [
0,
0,
3.6955999999999998,
16
],
"texture": "#lancet"
},
"down": {
"uv": [
0,
0,
3.6955999999999998,
16
],
"texture": "#lancet"
}
},
"rotation": {
"angle": 45,
"axis": "z",
"origin": [
8.0,
8.0,
4.999999999999999
]
}
},
{
"from": [
6.8,
4.8,
5.2,
-14.0
],
"to": [
9.2,
6.4,
-9.0
],
"to": [
9.2,
6.2,
-5.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.3999999999999995,
1.4000000000000004
1.2000000000000002
],
"texture": "#intake"
"texture": "#bare_lamp"
},
"south": {
"uv": [
0,
0,
2.3999999999999995,
1.4000000000000004
1.2000000000000002
],
"texture": "#intake"
"texture": "#bare_lamp"
},
"east": {
"uv": [
0,
0,
4.0,
1.4000000000000004
5.0,
1.2000000000000002
],
"texture": "#intake"
"texture": "#bare_lamp"
},
"west": {
"uv": [
0,
0,
4.0,
1.4000000000000004
5.0,
1.2000000000000002
],
"texture": "#intake"
"texture": "#bare_lamp"
},
"up": {
"uv": [
0,
0,
2.3999999999999995,
4.0
5.0
],
"texture": "#intake"
"texture": "#bare_lamp"
},
"down": {
"uv": [
0,
0,
2.3999999999999995,
4.0
5.0
],
"texture": "#intake"
"texture": "#bare_lamp"
}
}
},
@@ -657,22 +966,22 @@
},
{
"from": [
6.8,
6.8,
6.61415,
6.61415,
20.0
],
"to": [
9.2,
9.2,
22.0
9.38585,
9.38585,
24.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.3999999999999995,
2.3999999999999995
2.771699999999999,
2.771699999999999
],
"texture": "#dark_metal"
},
@@ -680,8 +989,8 @@
"uv": [
0,
0,
2.3999999999999995,
2.3999999999999995
2.771699999999999,
2.771699999999999
],
"texture": "#dark_metal"
},
@@ -689,8 +998,8 @@
"uv": [
0,
0,
2.0,
2.3999999999999995
4.0,
2.771699999999999
],
"texture": "#dark_metal"
},
@@ -698,8 +1007,8 @@
"uv": [
0,
0,
2.0,
2.3999999999999995
4.0,
2.771699999999999
],
"texture": "#dark_metal"
},
@@ -707,8 +1016,8 @@
"uv": [
0,
0,
2.3999999999999995,
2.0
2.771699999999999,
4.0
],
"texture": "#dark_metal"
},
@@ -716,12 +1025,225 @@
"uv": [
0,
0,
2.3999999999999995,
2.0
2.771699999999999,
4.0
],
"texture": "#dark_metal"
}
}
},
{
"from": [
6.61415,
6.61415,
20.03
],
"to": [
9.38585,
9.38585,
23.97
],
"faces": {
"north": {
"uv": [
0,
0,
2.771699999999999,
2.771699999999999
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
2.771699999999999,
2.771699999999999
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
3.9399999999999977,
2.771699999999999
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
3.9399999999999977,
2.771699999999999
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
2.771699999999999,
3.9399999999999977
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
2.771699999999999,
3.9399999999999977
],
"texture": "#dark_metal"
}
},
"rotation": {
"angle": 45,
"axis": "z",
"origin": [
8.0,
8.0,
22.0
]
}
},
{
"from": [
3.0,
7.85,
24.0
],
"to": [
13.0,
8.15,
24.5
],
"faces": {
"north": {
"uv": [
0,
0,
10.0,
0.3000000000000007
],
"texture": "#prop"
},
"south": {
"uv": [
0,
0,
10.0,
0.3000000000000007
],
"texture": "#prop"
},
"east": {
"uv": [
0,
0,
0.5,
0.3000000000000007
],
"texture": "#prop"
},
"west": {
"uv": [
0,
0,
0.5,
0.3000000000000007
],
"texture": "#prop"
},
"up": {
"uv": [
0,
0,
10.0,
0.5
],
"texture": "#prop"
},
"down": {
"uv": [
0,
0,
10.0,
0.5
],
"texture": "#prop"
}
}
},
{
"from": [
7.85,
3.0,
24.0
],
"to": [
8.15,
13.0,
24.5
],
"faces": {
"north": {
"uv": [
0,
0,
0.3000000000000007,
10.0
],
"texture": "#prop"
},
"south": {
"uv": [
0,
0,
0.3000000000000007,
10.0
],
"texture": "#prop"
},
"east": {
"uv": [
0,
0,
0.5,
10.0
],
"texture": "#prop"
},
"west": {
"uv": [
0,
0,
0.5,
10.0
],
"texture": "#prop"
},
"up": {
"uv": [
0,
0,
0.3000000000000007,
0.5
],
"texture": "#prop"
},
"down": {
"uv": [
0,
0,
0.3000000000000007,
0.5
],
"texture": "#prop"
}
}
}
]
}
@@ -0,0 +1,709 @@
{
"ambientocclusion": false,
"textures": {
"dark_metal": "airdef:block/dark_metal",
"metal": "airdef:block/metal",
"ru_khaki": "airdef:block/ru_khaki",
"particle": "airdef:block/dark_metal"
},
"elements": [
{
"from": [
1.0,
0.0,
-6.0
],
"to": [
15.0,
2.0,
30.0
],
"faces": {
"north": {
"uv": [
0,
0,
14.0,
2.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
14.0,
2.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
14.0,
16
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
14.0,
16
],
"texture": "#dark_metal"
}
}
},
{
"from": [
6.0,
2.0,
0.0
],
"to": [
10.0,
4.0,
26.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
2.0
],
"texture": "#metal"
},
"south": {
"uv": [
0,
0,
4.0,
2.0
],
"texture": "#metal"
},
"east": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#metal"
}
}
},
{
"from": [
3.0,
9.0,
-14.0
],
"to": [
5.0,
11.0,
30.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,
16,
2.0
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
2.0,
16
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
2.0,
16
],
"texture": "#metal"
}
},
"rotation": {
"angle": 22.5,
"axis": "x",
"origin": [
4.0,
10.0,
8.0
]
}
},
{
"from": [
11.0,
9.0,
-14.0
],
"to": [
13.0,
11.0,
30.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,
16,
2.0
],
"texture": "#metal"
},
"west": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#metal"
},
"up": {
"uv": [
0,
0,
2.0,
16
],
"texture": "#metal"
},
"down": {
"uv": [
0,
0,
2.0,
16
],
"texture": "#metal"
}
},
"rotation": {
"angle": 22.5,
"axis": "x",
"origin": [
12.0,
10.0,
8.0
]
}
},
{
"from": [
3.0,
0.0,
-1.0
],
"to": [
5.0,
12.0,
1.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
12.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
2.0,
12.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
2.0,
12.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
2.0,
12.0
],
"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"
}
}
},
{
"from": [
11.0,
0.0,
-1.0
],
"to": [
13.0,
12.0,
1.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
12.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
2.0,
12.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
2.0,
12.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
2.0,
12.0
],
"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"
}
}
},
{
"from": [
3.0,
0.0,
17.0
],
"to": [
5.0,
6.0,
19.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
6.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
2.0,
6.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
2.0,
6.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
2.0,
6.0
],
"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"
}
}
},
{
"from": [
11.0,
0.0,
17.0
],
"to": [
13.0,
6.0,
19.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
6.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
2.0,
6.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
2.0,
6.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
2.0,
6.0
],
"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"
}
}
},
{
"from": [
4.0,
10.0,
24.0
],
"to": [
12.0,
14.0,
30.0
],
"faces": {
"north": {
"uv": [
0,
0,
8.0,
4.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
8.0,
4.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
6.0,
4.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
6.0,
4.0
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
8.0,
6.0
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
8.0,
6.0
],
"texture": "#dark_metal"
}
}
},
{
"from": [
1.0,
2.0,
28.0
],
"to": [
15.0,
6.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
14.0,
4.0
],
"texture": "#ru_khaki"
},
"south": {
"uv": [
0,
0,
14.0,
4.0
],
"texture": "#ru_khaki"
},
"east": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#ru_khaki"
},
"west": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#ru_khaki"
},
"up": {
"uv": [
0,
0,
14.0,
4.0
],
"texture": "#ru_khaki"
},
"down": {
"uv": [
0,
0,
14.0,
4.0
],
"texture": "#ru_khaki"
}
}
}
]
}
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
@@ -1,10 +1,10 @@
{
"ambientocclusion": false,
"textures": {
"canister": "airdef:block/canister",
"tube_cap": "airdef:block/tube_cap",
"canister": "airdef:block/canister",
"dark_metal": "airdef:block/dark_metal",
"particle": "airdef:block/canister"
"particle": "airdef:block/tube_cap"
},
"elements": [
{
@@ -0,0 +1,555 @@
{
"ambientocclusion": false,
"textures": {
"tube_cap_b": "airdef:block/tube_cap_b",
"canister_b": "airdef:block/canister_b",
"dark_metal_b": "airdef:block/dark_metal_b",
"particle": "airdef:block/tube_cap_b"
},
"elements": [
{
"from": [
1.0,
0.0,
-16.0
],
"to": [
5.0,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
1.0,
5.0,
-16.0
],
"to": [
5.0,
9.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
6.0,
0.0,
-16.0
],
"to": [
10.0,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
6.0,
5.0,
-16.0
],
"to": [
10.0,
9.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
11.0,
0.0,
-16.0
],
"to": [
15.0,
4.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
11.0,
5.0,
-16.0
],
"to": [
15.0,
9.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#tube_cap_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#canister_b"
},
"up": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
},
"down": {
"uv": [
0,
0,
4.0,
16
],
"texture": "#canister_b"
}
}
},
{
"from": [
0.0,
0.0,
26.0
],
"to": [
16.0,
9.0,
28.0
],
"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,
2.0,
9.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
9.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": [
0.0,
0.0,
-2.0
],
"to": [
16.0,
9.0,
0.0
],
"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,
2.0,
9.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
9.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"
}
}
}
]
}
@@ -1,11 +1,13 @@
{
"ambientocclusion": false,
"textures": {
"nato_green": "airdef:block/nato_green",
"nato_green_s21": "airdef:block/nato_green_s21",
"nato_green_s22": "airdef:block/nato_green_s22",
"dark_metal": "airdef:block/dark_metal",
"metal": "airdef:block/metal",
"tire": "airdef:block/tire",
"particle": "airdef:block/nato_green"
"hub": "airdef:block/hub",
"particle": "airdef:block/nato_green_s21"
},
"elements": [
{
@@ -27,7 +29,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"south": {
"uv": [
@@ -36,7 +38,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"east": {
"uv": [
@@ -45,7 +47,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"west": {
"uv": [
@@ -54,7 +56,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"up": {
"uv": [
@@ -63,7 +65,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s22"
},
"down": {
"uv": [
@@ -72,7 +74,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s22"
}
}
},
@@ -215,13 +217,13 @@
{
"from": [
-9.0,
0.0,
4.0
0.3424499999999995,
3.3424499999999995
],
"to": [
-5.5,
9.0,
11.0
8.65755,
11.65755
],
"faces": {
"north": {
@@ -229,7 +231,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -238,7 +240,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -246,26 +248,26 @@
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
},
@@ -274,7 +276,7 @@
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
}
@@ -283,13 +285,13 @@
{
"from": [
21.5,
0.0,
4.0
0.3424499999999995,
3.3424499999999995
],
"to": [
25.0,
9.0,
11.0
8.65755,
11.65755
],
"faces": {
"north": {
@@ -297,7 +299,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -306,7 +308,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -314,26 +316,26 @@
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
},
@@ -342,22 +344,176 @@
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
}
}
},
{
"from": [
-8.97,
0.3424499999999995,
3.3424499999999995
],
"to": [
-5.53,
8.65755,
11.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-7.25,
4.5,
7.5
]
}
},
{
"from": [
21.53,
0.3424499999999995,
3.3424499999999995
],
"to": [
24.97,
8.65755,
11.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
23.25,
4.5,
7.5
]
}
},
{
"from": [
-9.0,
0.0,
14.0
0.3424499999999995,
13.34245
],
"to": [
-5.5,
9.0,
21.0
8.65755,
21.65755
],
"faces": {
"north": {
@@ -365,7 +521,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -374,7 +530,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -382,26 +538,26 @@
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
},
@@ -410,7 +566,7 @@
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
}
@@ -419,13 +575,13 @@
{
"from": [
21.5,
0.0,
14.0
0.3424499999999995,
13.34245
],
"to": [
25.0,
9.0,
21.0
8.65755,
21.65755
],
"faces": {
"north": {
@@ -433,7 +589,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -442,7 +598,7 @@
0,
0,
3.5,
9.0
8.315100000000001
],
"texture": "#tire"
},
@@ -450,26 +606,26 @@
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
7.0,
9.0
8.315100000000001,
8.315100000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
},
@@ -478,11 +634,165 @@
0,
0,
3.5,
7.0
8.315100000000001
],
"texture": "#tire"
}
}
},
{
"from": [
-8.97,
0.3424499999999995,
13.34245
],
"to": [
-5.53,
8.65755,
21.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-7.25,
4.5,
17.5
]
}
},
{
"from": [
21.53,
0.3424499999999995,
13.34245
],
"to": [
24.97,
8.65755,
21.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
23.25,
4.5,
17.5
]
}
}
]
}
@@ -0,0 +1,798 @@
{
"ambientocclusion": false,
"textures": {
"nato_green_s21_b": "airdef:block/nato_green_s21_b",
"nato_green_s22_b": "airdef:block/nato_green_s22_b",
"dark_metal_b": "airdef:block/dark_metal_b",
"metal_b": "airdef:block/metal_b",
"tire_b": "airdef:block/tire_b",
"hub_b": "airdef:block/hub_b",
"particle": "airdef:block/nato_green_s21_b"
},
"elements": [
{
"from": [
-6.0,
5.0,
-10.0
],
"to": [
22.0,
9.0,
26.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#nato_green_s21_b"
},
"south": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#nato_green_s21_b"
},
"east": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#nato_green_s21_b"
},
"west": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#nato_green_s21_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#nato_green_s22_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#nato_green_s22_b"
}
}
},
{
"from": [
-4.0,
9.0,
10.0
],
"to": [
20.0,
13.0,
24.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
14.0,
4.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
14.0,
4.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
16,
14.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
16,
14.0
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
6.0,
3.0,
-16.0
],
"to": [
10.0,
6.0,
-10.0
],
"faces": {
"north": {
"uv": [
0,
0,
4.0,
3.0
],
"texture": "#metal_b"
},
"south": {
"uv": [
0,
0,
4.0,
3.0
],
"texture": "#metal_b"
},
"east": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#metal_b"
},
"west": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#metal_b"
},
"up": {
"uv": [
0,
0,
4.0,
6.0
],
"texture": "#metal_b"
},
"down": {
"uv": [
0,
0,
4.0,
6.0
],
"texture": "#metal_b"
}
}
},
{
"from": [
-9.0,
0.3424499999999995,
3.3424499999999995
],
"to": [
-5.5,
8.65755,
11.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
}
}
},
{
"from": [
21.5,
0.3424499999999995,
3.3424499999999995
],
"to": [
25.0,
8.65755,
11.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
}
}
},
{
"from": [
-8.97,
0.3424499999999995,
3.3424499999999995
],
"to": [
-5.53,
8.65755,
11.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-7.25,
4.5,
7.5
]
}
},
{
"from": [
21.53,
0.3424499999999995,
3.3424499999999995
],
"to": [
24.97,
8.65755,
11.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
23.25,
4.5,
7.5
]
}
},
{
"from": [
-9.0,
0.3424499999999995,
13.34245
],
"to": [
-5.5,
8.65755,
21.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
}
}
},
{
"from": [
21.5,
0.3424499999999995,
13.34245
],
"to": [
25.0,
8.65755,
21.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.315100000000001
],
"texture": "#tire_b"
}
}
},
{
"from": [
-8.97,
0.3424499999999995,
13.34245
],
"to": [
-5.53,
8.65755,
21.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.315100000000001
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-7.25,
4.5,
17.5
]
}
},
{
"from": [
21.53,
0.3424499999999995,
13.34245
],
"to": [
24.97,
8.65755,
21.65755
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.315100000000001,
8.315100000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.315100000000001
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
23.25,
4.5,
17.5
]
}
}
]
}
@@ -1,9 +1,9 @@
{
"ambientocclusion": false,
"textures": {
"dark_metal": "airdef:block/dark_metal",
"tube_cap": "airdef:block/tube_cap",
"particle": "airdef:block/dark_metal"
"dark_metal": "airdef:block/dark_metal",
"particle": "airdef:block/tube_cap"
},
"elements": [
{
@@ -0,0 +1,690 @@
{
"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": [
0.5,
0.0,
-16.0
],
"to": [
3.5,
3.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
0.5,
4.0,
-16.0
],
"to": [
3.5,
7.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
4.5,
0.0,
-16.0
],
"to": [
7.5,
3.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
4.5,
4.0,
-16.0
],
"to": [
7.5,
7.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
8.5,
0.0,
-16.0
],
"to": [
11.5,
3.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
8.5,
4.0,
-16.0
],
"to": [
11.5,
7.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
12.5,
0.0,
-16.0
],
"to": [
15.5,
3.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
12.5,
4.0,
-16.0
],
"to": [
15.5,
7.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_b"
},
"south": {
"uv": [
0,
0,
3.0,
3.0
],
"texture": "#tube_cap_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,
3.0,
16
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
3.0,
16
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
-0.5,
0.0,
26.0
],
"to": [
16.5,
7.0,
28.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
7.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
16,
7.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
2.0,
7.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
7.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": [
-0.5,
0.0,
-2.0
],
"to": [
16.5,
7.0,
0.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
7.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
16,
7.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
2.0,
7.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
7.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"
}
}
}
]
}
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,13 @@
{
"ambientocclusion": false,
"textures": {
"ru_green": "airdef:block/ru_green",
"tubes6": "airdef:block/tubes6",
"barrel": "airdef:block/barrel",
"ru_green": "airdef:block/ru_green",
"ru_green_s21": "airdef:block/ru_green_s21",
"ru_green_s12": "airdef:block/ru_green_s12",
"bare_barrel": "airdef:block/bare_barrel",
"dark_metal": "airdef:block/dark_metal",
"particle": "airdef:block/ru_green"
"particle": "airdef:block/tubes6"
},
"elements": [
{
@@ -45,7 +47,7 @@
16,
10.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"west": {
"uv": [
@@ -54,7 +56,7 @@
16,
10.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"up": {
"uv": [
@@ -63,7 +65,7 @@
8.0,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s12"
},
"down": {
"uv": [
@@ -72,7 +74,7 @@
8.0,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s12"
}
}
},
@@ -113,7 +115,7 @@
16,
10.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"west": {
"uv": [
@@ -122,7 +124,7 @@
16,
10.0
],
"texture": "#ru_green"
"texture": "#ru_green_s21"
},
"up": {
"uv": [
@@ -131,7 +133,7 @@
8.0,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s12"
},
"down": {
"uv": [
@@ -140,7 +142,7 @@
8.0,
16
],
"texture": "#ru_green"
"texture": "#ru_green_s12"
}
}
},
@@ -163,7 +165,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"south": {
"uv": [
@@ -172,7 +174,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"east": {
"uv": [
@@ -181,7 +183,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"west": {
"uv": [
@@ -190,7 +192,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"up": {
"uv": [
@@ -199,7 +201,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"down": {
"uv": [
@@ -208,7 +210,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
}
}
},
@@ -231,7 +233,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"south": {
"uv": [
@@ -240,7 +242,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"east": {
"uv": [
@@ -249,7 +251,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"west": {
"uv": [
@@ -258,7 +260,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"up": {
"uv": [
@@ -267,7 +269,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"down": {
"uv": [
@@ -276,7 +278,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
}
}
},
@@ -299,7 +301,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"south": {
"uv": [
@@ -308,7 +310,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"east": {
"uv": [
@@ -317,7 +319,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"west": {
"uv": [
@@ -326,7 +328,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"up": {
"uv": [
@@ -335,7 +337,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"down": {
"uv": [
@@ -344,7 +346,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
}
}
},
@@ -367,7 +369,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"south": {
"uv": [
@@ -376,7 +378,7 @@
1.5,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"east": {
"uv": [
@@ -385,7 +387,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"west": {
"uv": [
@@ -394,7 +396,7 @@
16,
1.5
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"up": {
"uv": [
@@ -403,7 +405,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
},
"down": {
"uv": [
@@ -412,7 +414,7 @@
1.5,
16
],
"texture": "#barrel"
"texture": "#bare_barrel"
}
}
},
@@ -0,0 +1,558 @@
{
"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",
"bare_barrel_b": "airdef:block/bare_barrel_b",
"dark_metal_b": "airdef:block/dark_metal_b",
"particle": "airdef:block/tubes6_b"
},
"elements": [
{
"from": [
-11.0,
2.0,
-16.0
],
"to": [
-3.0,
12.0,
12.0
],
"faces": {
"north": {
"uv": [
0,
0,
8.0,
10.0
],
"texture": "#tubes6_b"
},
"south": {
"uv": [
0,
0,
8.0,
10.0
],
"texture": "#ru_green_b"
},
"east": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_s21_b"
},
"west": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_s21_b"
},
"up": {
"uv": [
0,
0,
8.0,
16
],
"texture": "#ru_green_s12_b"
},
"down": {
"uv": [
0,
0,
8.0,
16
],
"texture": "#ru_green_s12_b"
}
}
},
{
"from": [
19.0,
2.0,
-16.0
],
"to": [
27.0,
12.0,
12.0
],
"faces": {
"north": {
"uv": [
0,
0,
8.0,
10.0
],
"texture": "#tubes6_b"
},
"south": {
"uv": [
0,
0,
8.0,
10.0
],
"texture": "#ru_green_b"
},
"east": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_s21_b"
},
"west": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_s21_b"
},
"up": {
"uv": [
0,
0,
8.0,
16
],
"texture": "#ru_green_s12_b"
},
"down": {
"uv": [
0,
0,
8.0,
16
],
"texture": "#ru_green_s12_b"
}
}
},
{
"from": [
-9.5,
12.5,
-16.0
],
"to": [
-8.0,
14.0,
6.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"south": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"east": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"west": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"up": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
},
"down": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
}
}
},
{
"from": [
24.0,
12.5,
-16.0
],
"to": [
25.5,
14.0,
6.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"south": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"east": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"west": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"up": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
},
"down": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
}
}
},
{
"from": [
-6.5,
12.5,
-16.0
],
"to": [
-5.0,
14.0,
6.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"south": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"east": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"west": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"up": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
},
"down": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
}
}
},
{
"from": [
21.0,
12.5,
-16.0
],
"to": [
22.5,
14.0,
6.0
],
"faces": {
"north": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"south": {
"uv": [
0,
0,
1.5,
1.5
],
"texture": "#bare_barrel_b"
},
"east": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"west": {
"uv": [
0,
0,
16,
1.5
],
"texture": "#bare_barrel_b"
},
"up": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
},
"down": {
"uv": [
0,
0,
1.5,
16
],
"texture": "#bare_barrel_b"
}
}
},
{
"from": [
-10.0,
12.0,
2.0
],
"to": [
-4.0,
15.0,
10.0
],
"faces": {
"north": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
6.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,
6.0,
8.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
6.0,
8.0
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
20.0,
12.0,
2.0
],
"to": [
26.0,
15.0,
10.0
],
"faces": {
"north": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
6.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,
6.0,
8.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
6.0,
8.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
@@ -4,6 +4,9 @@
"ru_green": "airdef:block/ru_green",
"radar_face": "airdef:block/radar_face",
"metal": "airdef:block/metal",
"dark_metal": "airdef:block/dark_metal",
"bare_lamp": "airdef:block/bare_lamp",
"mk_ru": "airdef:block/mk_ru",
"particle": "airdef:block/ru_green"
},
"elements": [
@@ -278,6 +281,346 @@
"texture": "#ru_green"
}
}
},
{
"from": [
5.0,
10.0,
-4.0
],
"to": [
11.0,
13.0,
0.0
],
"faces": {
"north": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#dark_metal"
},
"south": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#dark_metal"
},
"east": {
"uv": [
0,
0,
4.0,
3.0
],
"texture": "#dark_metal"
},
"west": {
"uv": [
0,
0,
4.0,
3.0
],
"texture": "#dark_metal"
},
"up": {
"uv": [
0,
0,
6.0,
4.0
],
"texture": "#dark_metal"
},
"down": {
"uv": [
0,
0,
6.0,
4.0
],
"texture": "#dark_metal"
}
}
},
{
"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"
},
"south": {
"uv": [
0,
0,
4.0,
2.0
],
"texture": "#bare_lamp"
},
"east": {
"uv": [
0,
0,
0.40000000000000036,
2.0
],
"texture": "#bare_lamp"
},
"west": {
"uv": [
0,
0,
0.40000000000000036,
2.0
],
"texture": "#bare_lamp"
},
"up": {
"uv": [
0,
0,
4.0,
0.40000000000000036
],
"texture": "#bare_lamp"
},
"down": {
"uv": [
0,
0,
4.0,
0.40000000000000036
],
"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"
}
}
}
]
}
@@ -0,0 +1,558 @@
{
"ambientocclusion": false,
"textures": {
"ru_green_b": "airdef:block/ru_green_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"
},
"elements": [
{
"from": [
-2.0,
0.0,
-6.0
],
"to": [
18.0,
10.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_b"
},
"south": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_b"
},
"east": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_b"
},
"west": {
"uv": [
0,
0,
16,
10.0
],
"texture": "#ru_green_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_green_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#ru_green_b"
}
}
},
{
"from": [
1.0,
1.0,
-11.0
],
"to": [
15.0,
11.0,
-6.0
],
"faces": {
"north": {
"uv": [
0,
0,
14.0,
10.0
],
"texture": "#radar_face_b"
},
"south": {
"uv": [
0,
0,
14.0,
10.0
],
"texture": "#radar_face_b"
},
"east": {
"uv": [
0,
0,
5.0,
10.0
],
"texture": "#radar_face_b"
},
"west": {
"uv": [
0,
0,
5.0,
10.0
],
"texture": "#radar_face_b"
},
"up": {
"uv": [
0,
0,
14.0,
5.0
],
"texture": "#radar_face_b"
},
"down": {
"uv": [
0,
0,
14.0,
5.0
],
"texture": "#radar_face_b"
}
}
},
{
"from": [
7.0,
10.0,
4.0
],
"to": [
9.0,
17.0,
6.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
7.0
],
"texture": "#metal_b"
},
"south": {
"uv": [
0,
0,
2.0,
7.0
],
"texture": "#metal_b"
},
"east": {
"uv": [
0,
0,
2.0,
7.0
],
"texture": "#metal_b"
},
"west": {
"uv": [
0,
0,
2.0,
7.0
],
"texture": "#metal_b"
},
"up": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#metal_b"
},
"down": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#metal_b"
}
}
},
{
"from": [
0.0,
10.0,
8.0
],
"to": [
16.0,
12.0,
16.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_b"
},
"south": {
"uv": [
0,
0,
16,
2.0
],
"texture": "#ru_green_b"
},
"east": {
"uv": [
0,
0,
8.0,
2.0
],
"texture": "#ru_green_b"
},
"west": {
"uv": [
0,
0,
8.0,
2.0
],
"texture": "#ru_green_b"
},
"up": {
"uv": [
0,
0,
16,
8.0
],
"texture": "#ru_green_b"
},
"down": {
"uv": [
0,
0,
16,
8.0
],
"texture": "#ru_green_b"
}
}
},
{
"from": [
5.0,
10.0,
-4.0
],
"to": [
11.0,
13.0,
0.0
],
"faces": {
"north": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
6.0,
3.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
4.0,
3.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
4.0,
3.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
6.0,
4.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
6.0,
4.0
],
"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
@@ -1,11 +1,14 @@
{
"ambientocclusion": false,
"textures": {
"nato_green_s21": "airdef:block/nato_green_s21",
"nato_green_s22": "airdef:block/nato_green_s22",
"nato_green": "airdef:block/nato_green",
"radar_face": "airdef:block/radar_face",
"metal": "airdef:block/metal",
"tire": "airdef:block/tire",
"particle": "airdef:block/nato_green"
"hub": "airdef:block/hub",
"particle": "airdef:block/nato_green_s21"
},
"elements": [
{
@@ -27,7 +30,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"south": {
"uv": [
@@ -36,7 +39,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"east": {
"uv": [
@@ -45,7 +48,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"west": {
"uv": [
@@ -54,7 +57,7 @@
16,
4.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"up": {
"uv": [
@@ -63,7 +66,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s22"
},
"down": {
"uv": [
@@ -72,7 +75,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s22"
}
}
},
@@ -95,7 +98,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"south": {
"uv": [
@@ -104,7 +107,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"east": {
"uv": [
@@ -131,7 +134,7 @@
16,
14.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"down": {
"uv": [
@@ -140,7 +143,7 @@
16,
14.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
}
}
},
@@ -283,13 +286,13 @@
{
"from": [
-9.0,
0.0,
14.0
0.35006000000000004,
13.750060000000001
],
"to": [
-5.5,
9.0,
22.0
8.84994,
22.24994
],
"faces": {
"north": {
@@ -297,7 +300,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -306,7 +309,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -314,26 +317,26 @@
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
},
@@ -342,7 +345,7 @@
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
}
@@ -351,13 +354,13 @@
{
"from": [
21.5,
0.0,
14.0
0.35006000000000004,
13.750060000000001
],
"to": [
25.0,
9.0,
22.0
8.84994,
22.24994
],
"faces": {
"north": {
@@ -365,7 +368,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -374,7 +377,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -382,26 +385,26 @@
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
},
@@ -410,11 +413,165 @@
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
}
}
},
{
"from": [
-8.97,
0.35006000000000004,
13.750060000000001
],
"to": [
-5.53,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-7.25,
4.6,
18.0
]
}
},
{
"from": [
21.53,
0.35006000000000004,
13.750060000000001
],
"to": [
24.97,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
23.25,
4.6,
18.0
]
}
}
]
}
@@ -1,11 +1,14 @@
{
"ambientocclusion": false,
"textures": {
"nato_green": "airdef:block/nato_green",
"nato_green_s21": "airdef:block/nato_green_s21",
"nato_green_s31": "airdef:block/nato_green_s31",
"nato_green_s23": "airdef:block/nato_green_s23",
"metal": "airdef:block/metal",
"dark_metal": "airdef:block/dark_metal",
"tire": "airdef:block/tire",
"particle": "airdef:block/nato_green"
"hub": "airdef:block/hub",
"particle": "airdef:block/nato_green_s21"
},
"elements": [
{
@@ -27,7 +30,7 @@
16,
5.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"south": {
"uv": [
@@ -36,7 +39,7 @@
16,
5.0
],
"texture": "#nato_green"
"texture": "#nato_green_s21"
},
"east": {
"uv": [
@@ -45,7 +48,7 @@
16,
5.0
],
"texture": "#nato_green"
"texture": "#nato_green_s31"
},
"west": {
"uv": [
@@ -54,7 +57,7 @@
16,
5.0
],
"texture": "#nato_green"
"texture": "#nato_green_s31"
},
"up": {
"uv": [
@@ -63,7 +66,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s23"
},
"down": {
"uv": [
@@ -72,7 +75,7 @@
16,
16
],
"texture": "#nato_green"
"texture": "#nato_green_s23"
}
}
},
@@ -215,13 +218,13 @@
{
"from": [
-10.0,
0.0,
14.0
0.35006000000000004,
13.750060000000001
],
"to": [
-6.5,
9.0,
22.0
8.84994,
22.24994
],
"faces": {
"north": {
@@ -229,7 +232,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -238,7 +241,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -246,26 +249,26 @@
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
},
@@ -274,7 +277,7 @@
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
}
@@ -283,13 +286,13 @@
{
"from": [
22.5,
0.0,
14.0
0.35006000000000004,
13.750060000000001
],
"to": [
26.0,
9.0,
22.0
8.84994,
22.24994
],
"faces": {
"north": {
@@ -297,7 +300,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -306,7 +309,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -314,26 +317,26 @@
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
},
@@ -342,22 +345,176 @@
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
}
}
},
{
"from": [
-9.97,
0.35006000000000004,
13.750060000000001
],
"to": [
-6.53,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-8.25,
4.6,
18.0
]
}
},
{
"from": [
22.53,
0.35006000000000004,
13.750060000000001
],
"to": [
25.97,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
24.25,
4.6,
18.0
]
}
},
{
"from": [
-10.0,
0.0,
23.0
0.35006000000000004,
22.75006
],
"to": [
-6.5,
9.0,
31.0
8.84994,
31.24994
],
"faces": {
"north": {
@@ -365,7 +522,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -374,7 +531,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -382,26 +539,26 @@
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
},
@@ -410,7 +567,7 @@
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
}
@@ -419,13 +576,13 @@
{
"from": [
22.5,
0.0,
23.0
0.35006000000000004,
22.75006
],
"to": [
26.0,
9.0,
31.0
8.84994,
31.24994
],
"faces": {
"north": {
@@ -433,7 +590,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -442,7 +599,7 @@
0,
0,
3.5,
9.0
8.499880000000001
],
"texture": "#tire"
},
@@ -450,26 +607,26 @@
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.0,
9.0
8.499879999999997,
8.499880000000001
],
"texture": "#tire"
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
},
@@ -478,12 +635,166 @@
0,
0,
3.5,
8.0
8.499879999999997
],
"texture": "#tire"
}
}
},
{
"from": [
-9.97,
0.35006000000000004,
22.75006
],
"to": [
-6.53,
8.84994,
31.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-8.25,
4.6,
27.0
]
}
},
{
"from": [
22.53,
0.35006000000000004,
22.75006
],
"to": [
25.97,
8.84994,
31.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
24.25,
4.6,
27.0
]
}
},
{
"from": [
-9.0,
@@ -0,0 +1,867 @@
{
"ambientocclusion": false,
"textures": {
"nato_green_s21_b": "airdef:block/nato_green_s21_b",
"nato_green_s31_b": "airdef:block/nato_green_s31_b",
"nato_green_s23_b": "airdef:block/nato_green_s23_b",
"metal_b": "airdef:block/metal_b",
"dark_metal_b": "airdef:block/dark_metal_b",
"tire_b": "airdef:block/tire_b",
"hub_b": "airdef:block/hub_b",
"particle": "airdef:block/nato_green_s21_b"
},
"elements": [
{
"from": [
-7.0,
6.0,
-16.0
],
"to": [
23.0,
11.0,
32.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#nato_green_s21_b"
},
"south": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#nato_green_s21_b"
},
"east": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#nato_green_s31_b"
},
"west": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#nato_green_s31_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#nato_green_s23_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#nato_green_s23_b"
}
}
},
{
"from": [
-1.0,
11.0,
14.0
],
"to": [
17.0,
16.0,
30.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#metal_b"
},
"south": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#metal_b"
},
"east": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#metal_b"
},
"west": {
"uv": [
0,
0,
16,
5.0
],
"texture": "#metal_b"
},
"up": {
"uv": [
0,
0,
16,
16
],
"texture": "#metal_b"
},
"down": {
"uv": [
0,
0,
16,
16
],
"texture": "#metal_b"
}
}
},
{
"from": [
-8.0,
3.0,
-16.0
],
"to": [
24.0,
7.0,
-12.0
],
"faces": {
"north": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#dark_metal_b"
},
"south": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#dark_metal_b"
},
"east": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#dark_metal_b"
},
"west": {
"uv": [
0,
0,
4.0,
4.0
],
"texture": "#dark_metal_b"
},
"up": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#dark_metal_b"
},
"down": {
"uv": [
0,
0,
16,
4.0
],
"texture": "#dark_metal_b"
}
}
},
{
"from": [
-10.0,
0.35006000000000004,
13.750060000000001
],
"to": [
-6.5,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
}
}
},
{
"from": [
22.5,
0.35006000000000004,
13.750060000000001
],
"to": [
26.0,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
}
}
},
{
"from": [
-9.97,
0.35006000000000004,
13.750060000000001
],
"to": [
-6.53,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-8.25,
4.6,
18.0
]
}
},
{
"from": [
22.53,
0.35006000000000004,
13.750060000000001
],
"to": [
25.97,
8.84994,
22.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
24.25,
4.6,
18.0
]
}
},
{
"from": [
-10.0,
0.35006000000000004,
22.75006
],
"to": [
-6.5,
8.84994,
31.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
}
}
},
{
"from": [
22.5,
0.35006000000000004,
22.75006
],
"to": [
26.0,
8.84994,
31.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.5,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.5,
8.499879999999997
],
"texture": "#tire_b"
}
}
},
{
"from": [
-9.97,
0.35006000000000004,
22.75006
],
"to": [
-6.53,
8.84994,
31.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4400000000000004,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4400000000000004,
8.499879999999997
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
-8.25,
4.6,
27.0
]
}
},
{
"from": [
22.53,
0.35006000000000004,
22.75006
],
"to": [
25.97,
8.84994,
31.24994
],
"faces": {
"north": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire_b"
},
"south": {
"uv": [
0,
0,
3.4399999999999977,
8.499880000000001
],
"texture": "#tire_b"
},
"east": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"west": {
"uv": [
0,
0,
8.499879999999997,
8.499880000000001
],
"texture": "#hub_b"
},
"up": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire_b"
},
"down": {
"uv": [
0,
0,
3.4399999999999977,
8.499879999999997
],
"texture": "#tire_b"
}
},
"rotation": {
"angle": 45,
"axis": "x",
"origin": [
24.25,
4.6,
27.0
]
}
},
{
"from": [
-9.0,
0.0,
-6.0
],
"to": [
-7.0,
6.0,
-4.0
],
"faces": {
"north": {
"uv": [
0,
0,
2.0,
6.0
],
"texture": "#metal_b"
},
"south": {
"uv": [
0,
0,
2.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,
2.0,
2.0
],
"texture": "#metal_b"
},
"down": {
"uv": [
0,
0,
2.0,
2.0
],
"texture": "#metal_b"
}
}
}
]
}
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More